diff --git a/.azure-pipelines/BranchProtectionForPrivateRepo.yml b/.azure-pipelines/BranchProtectionForPrivateRepo.yml
index a826a8ecf271..6bec0d4acad7 100644
--- a/.azure-pipelines/BranchProtectionForPrivateRepo.yml
+++ b/.azure-pipelines/BranchProtectionForPrivateRepo.yml
@@ -1,7 +1,5 @@
jobs:
- job: "BranchProtectionForPrivateRepo"
- pool:
- vmImage: 'Ubuntu 16.04'
condition: and(variables['PRIVATE'], eq(variables['System.PullRequest.TargetBranch'], 'main'))
steps:
- script: '>&2 echo "the branch is protected"'
diff --git a/.azure-pipelines/ShouldSendPRToMain.yml b/.azure-pipelines/ShouldSendPRToMain.yml
index d139949faeb0..3b934969a841 100644
--- a/.azure-pipelines/ShouldSendPRToMain.yml
+++ b/.azure-pipelines/ShouldSendPRToMain.yml
@@ -1,7 +1,5 @@
jobs:
- job: "ShouldSendPRToMain"
- pool:
- vmImage: 'Ubuntu 16.04'
condition: eq(variables['System.PullRequest.TargetBranch'], 'master')
steps:
- script: '>&2 echo "##vso[task.logissue type=error]Please edit the pull request to targeting new default branch main"'
diff --git a/.azure-pipelines/azure-pipelines-data-container.yml b/.azure-pipelines/azure-pipelines-data-container.yml
index 78a12603fcf6..ae1d6b974235 100644
--- a/.azure-pipelines/azure-pipelines-data-container.yml
+++ b/.azure-pipelines/azure-pipelines-data-container.yml
@@ -7,7 +7,7 @@ schedules:
always: true
pool:
- vmImage: 'Ubuntu-16.04'
+ vmImage: 'Ubuntu-20.04'
variables:
IMAGE_TAG_PREFIX: $[format('1.0.{0:HHm}', pipeline.startTime)]
diff --git a/.github/issue_assignment.yml b/.github/issue_assignment.yml
index f794ce633f5c..839820d7b4e8 100644
--- a/.github/issue_assignment.yml
+++ b/.github/issue_assignment.yml
@@ -1,11 +1,6 @@
---
-- rule:
- booleanFilterExpression: "needs-triage"
+- rule:
+ booleanFilterExpression: "APIStewardshipBoard-ReviewRequested"
assignees:
- - raych1
- - akning-ms
- - leni-msft
- - ruowan
- - jianyexi
- - zhenglaizhang
+ - mikekistler
diff --git a/.github/pull_request_assignment.yml b/.github/pull_request_assignment.yml
index e112f1c151a0..ff4330ea4ac5 100644
--- a/.github/pull_request_assignment.yml
+++ b/.github/pull_request_assignment.yml
@@ -189,4 +189,5 @@
- chunyu3
- changlong-liu
- msyyc
- - qwordy
+ - qiaozha
+ - weidong
diff --git a/.github/sla.yml b/.github/sla.yml
index e05150f63622..15e3a82e8870 100644
--- a/.github/sla.yml
+++ b/.github/sla.yml
@@ -84,3 +84,18 @@
to: ${AUTHOR}
cc:
- cplatsdkdev@microsoft.com
+
+- scheduleTask:
+ action: sendEmail
+ scope: pull_request
+ name: "send email for synapse PR"
+ trigger:
+ - path
+ args:
+ message: '
Dear Synapse Swagger reviewers,
Please check the PR ${URL} . You receive the email because the PR is making changes in the Synapse's path of the Azure REST Api Specs repository.
This PR need to be reviewed, please feel free to leave comments.
DO NOT REPLY: This email was automatically sent. Please send an email to synapsecodereview@microsoft.com if you have any questions.
'
+ targetPaths:
+ - "specification/synapse/**"
+ subject: "[Action Required] Please review the PR ${URL}"
+ to: synapsecodereview@microsoft.com
+ cc:
+ - ${AUTHOR}
diff --git a/CODEOWNERS b/CODEOWNERS
index e336f554bac8..793aa84bcda7 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -30,7 +30,7 @@
/specification/documentdb/ @dmakwana
/specification/domainservices/ @jihochang
/specification/eventgrid/ @Kishp01 @ahamad-MS
-/specification/eventhub/ @v-ajnava
+/specification/eventhub/ @v-ajnava @dsouzaarun @damodaravadhani
/specification/features/ @stankovski
/specification/graphrbac/ @lmazuel @yugangw-msft @amarzavery
/specification/hdinsight/ @pulkittomar @wawon-msft
@@ -59,24 +59,24 @@
/specification/recoveryservicesbackup/ @dheerendrarathor
/specification/recoveryservicessiterecovery/ @avneeshrai
/specification/redis/ @siddharthchatrolams @timlovellsmith
-/specification/relay/ @sethmanheim @v-ajnava
+/specification/relay/ @v-ajnava @dsouzaarun @damodaravadhani
/specification/resources/ @Azure/arm-template-deployments @rajshah11 @vivsriaus
/specification/scheduler/ @pinwang81
/specification/search/data-plane/ @brjohnstmsft @arv100kri @bleroy @AlexGhiondea @Mohit-Chakraborty
/specification/search/resource-manager/ @abhi1509 @tjacobhi
/specification/serialconsole/ @amitchat @craigw @asinn826
/specification/service-map/ @daveirwin1
-/specification/servicebus/ @sazeesha @v-ajnava
+/specification/servicebus/ @v-ajnava @dsouzaarun @damodaravadhani
/specification/servicefabric/ @juhacket @samedder
/specification/sql/ @jamestao @ericshape @apurvans
-/specification/storage/ @jasonyang-msft @xiaonlimsft @kasobol-msft
-/specification/storage/data-plane/ @kasobol-msft @seanmcc-msft
+/specification/storage/ @jasonyang-msft @xiaonlimsft
+/specification/storage/data-plane/ @seanmcc-msft
/specification/storageimportexport/ @leoz-ms
/specification/storagesync/ @ankushbindlish2
/specification/storsimple8000series/ @manaas-microsoft
/specification/streamanalytics/ @atpham256
/specification/subscriptions/ @navysingla
-/specification/synapse/ @idear1203
+/specification/synapse/ @idear1203 @wonner
/specification/timeseriesinsights/ @sandshadow
/specification/trafficmanager/ @allencal @hrkulkarmsft
/specification/web/ @naveedaz @Azure/azure-app-service-control-plane
@@ -85,4 +85,4 @@
/specification/**/resource-manager/**/readme.az.md @jsntcy @qiaozha
/specification/**/resource-manager/**/readme.cli.md @jsntcy @qiaozha
/specification/**/resource-manager/**/readme.go.md @ArcturusZhang
-/specification/**/resource-manager/**/readme.python.md @jsntcy @msyyc @zhangyan133 @RAY-316 @00Kai0
+/specification/**/resource-manager/**/readme.python.md @msyyc @RAY-316 @BigCat20196
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 96faf6d58c8a..3bbdde1f7b21 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -1,5 +1,8 @@
name: "Azure OpenAPI"
+pool:
+ vmImage: 'Ubuntu-20.04'
+
trigger:
branches:
include:
@@ -19,4 +22,4 @@ variables:
jobs:
- template: .azure-pipelines/BranchProtectionForPrivateRepo.yml
-- template: .azure-pipelines/ShouldSendPRToMain.yml
\ No newline at end of file
+- template: .azure-pipelines/ShouldSendPRToMain.yml
diff --git a/cSpell.json b/cSpell.json
index 28ac16da7eae..36737a9bcf4c 100644
--- a/cSpell.json
+++ b/cSpell.json
@@ -834,7 +834,7 @@
]
},
{
- "filename": "**/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-03-01-preview/confluent.json",
+ "filename": "**/specification/confluent/resource-manager/Microsoft.Confluent/preview/*/confluent.json",
"words": [
"orgvalidate"
]
@@ -845,6 +845,12 @@
"Orignal",
"Seleted"
]
+ },
+ {
+ "filename": "**/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/iotdps.json",
+ "words": [
+ "Messsage"
+ ]
}
]
}
diff --git a/custom-words.txt b/custom-words.txt
index 9c862ae29be5..8a82526fe146 100644
--- a/custom-words.txt
+++ b/custom-words.txt
@@ -23,6 +23,7 @@ acquisitionid
acrapi
ACSSMS
actionplans
+activedirectory
activityruns
actualcost
actuser
@@ -103,6 +104,7 @@ apimproperties
apimquotas
apimregions
apimreports
+apimschema
apimsubscriptions
apimtagresources
apimtags
@@ -123,6 +125,7 @@ appinsights
applynetworkconfigurationupdates
appservice
appsettings
+Appsource
appteststorage
appxmanifest
Appxmanifest
@@ -146,6 +149,7 @@ asyncinfo
asyncoperation
atascada
attestationcollateral
+attestationmechanism
attributerule
audiodata
Auditd
@@ -313,6 +317,7 @@ cancelpipelinerun
canonicalized
Carbonite
carretera
+catalogapi
catenate
catenated
caverphone
@@ -339,6 +344,7 @@ checkin
checkmark
checknameavailability
checkpointing
+Chttp
CIDR
CIDRs
CIFS
@@ -352,6 +358,7 @@ classificationrules
clfs
Clickthrough
clientaccesspolicy
+clientencryptionkeys
clienterror
clientgroup
clientlib
@@ -421,6 +428,7 @@ Corda
coreml
Corent
Cortana
+Cosell
cosmosdb
costcenter
costinsights
@@ -630,6 +638,8 @@ Edgenode
edgenodes
EDIFACT
EDMX
+EIRP
+eirpd
Einsteinweg
Ekaterinburg
ekus
@@ -680,6 +690,7 @@ exceptiontype
exfiltrate
Exfiltration
experimentids
+expiresin
Explainability
explicitlist
exportconfiguration
@@ -704,6 +715,7 @@ FarmBeats
fatherable
faultable
fconfig
+Fcontoso
FDID
fearthecowboy
featurecapabilities
@@ -732,11 +744,13 @@ findsimilars
findsquare
firmwares
Flexera
+Flowlet
fluentd
forceclosehandles
forestsummary
formrecognizer
FPGA
+Fpushpins
fqdn
FQDNs
Français
@@ -794,6 +808,7 @@ getkey
getmaptile
getprivateendpointconnection
getprivatelinkresources
+getrotationpolicy
getsas
getskus
getssotoken
@@ -810,6 +825,8 @@ Gloo
gltf
gluster
glusterfs
+gmsa
+Gmsa
GOARCH
GPUMIG
GPUP
@@ -820,6 +837,7 @@ GRANTACE
granularities
graphrbac
Greenplum
+groundstation
Groupby
groupedby
GRPC
@@ -850,6 +868,7 @@ Headnode
healthbot
healthcareapis
healthstatus
+hecto
Heatbeat
heatmap
HHMM
@@ -1032,6 +1051,9 @@ kubelet
Kubelet
kubenet
kubernetes
+Kustomization
+kustomizations
+Kustomizations
kusto
kustooperations
kvset
@@ -1054,6 +1076,8 @@ leavingpool
LEDs
legalhold
Lfot
+LHCP
+Lhcp
libtrust
lifecycle
lifecycles
@@ -1142,6 +1166,7 @@ mapreduce
mariadb
Marketo
marketplaceagreementsapi
+marketplacecatalog
marketplaceordering
maxclients
maxcoordinates
@@ -1219,6 +1244,7 @@ MSAZRDE
MSAZRUSGO
MSCONCAT
mscv
+msdb
MSGETACLSTATUS
MSGETFILESTATUS
msix
@@ -1365,11 +1391,13 @@ Onboards
ondemand
ondemandgc
onmachine
+omex
onmicrosoft
ONNX
Onprem
Onprem
onpremises
+ONVIF
oobe
Oozie
openapi
@@ -1386,6 +1414,7 @@ operationsmanagement
operationstatuses
opid
oplog
+Optedin
Optimised
Optimiser
Optimisers
@@ -1689,6 +1718,8 @@ REVOKEACE
RGBARGBA
RGBRGB
rgname
+RHCP
+Rhcp
rhel
RIRs
rmem
@@ -1750,10 +1781,12 @@ Scame
scanability
scanrulesets
ScheduleType
+schemagroups
SCMS
SCOM
scopemap
SCSV
+SCVMM
SDDL
sdks
SDWAN
@@ -1803,6 +1836,7 @@ SETEXPIRY
setissuers
SETOWNER
SETPERMISSION
+setrotationpolicy
setsas
setvpnclientipsecparameters
sfhealthid
@@ -2014,6 +2048,7 @@ tasksuccess
Taxii
Tcpkeepalive
Tebibytes
+tempdb
templated
templatelink
templeton
@@ -2310,6 +2345,7 @@ Wmem
wordprocessingml
workbooktemplates
Workernode
+workitemsource
workloadmonitor
workspaces
workspace's
@@ -2368,8 +2404,34 @@ multislot
noAddressPrefixes
serviceTagChangeNumber
Tebibytes
+shortcodes
+programbriefs
+passcode
+bursty
privatelinkservicesforpowerbi
-Obuscated
NodePool
hnsonmigration
-aborthnsonmigration
\ No newline at end of file
+aborthnsonmigration
+lsilogic
+buslogic
+pvscsi
+lsilogicsas
+ipsettings
+linklayer
+Ctlr
+vcenters
+Mwarev
+pmem
+rawphysical
+rawvirtual
+sesparse
+blobstorage
+dataexplorer
+servicebusqueue
+servicebustopic
+dataexports
+stackset
+CSPM
+autoprovisioning
+schemagroups
+videoanalyzer
\ No newline at end of file
diff --git a/documentation/Getting started with OpenAPI specifications.md b/documentation/Getting started with OpenAPI specifications.md
index 438d60ea1bf9..9c7b7e746cbf 100644
--- a/documentation/Getting started with OpenAPI specifications.md
+++ b/documentation/Getting started with OpenAPI specifications.md
@@ -9,7 +9,9 @@ Currently, we only support `OpenAPI Specification 2.0` or `Swagger V2.0`.
### Helpful Resources
* **[`Understanding the GitHub flow`](https://guides.github.com/introduction/flow/)**
-* **[`Microsoft REST-API guidelines`](https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md)**
+* **[`Microsoft REST-API guidelines`](https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md)**]
+* **[`Resource Provider Guidelines`](https://aka.ms/rpguidelines)**
+* **[`Sample directory structure for swagger`](https://github.com/Azure/azure-rest-api-specs/wiki#directory-structure)**
* **[`Structure of a Swagger specification`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/creating-swagger.md)**
* **[`Sample Swagger specification`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json)**
* **[`Sample Readme.md`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/samplefiles/samplereadme.md)**
@@ -19,5 +21,5 @@ Currently, we only support `OpenAPI Specification 2.0` or `Swagger V2.0`.
* [`Validation checks through automated tools`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/openapi-authoring-automated-guidelines.md)
* [`Validation checks done manually`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/openapi-authoring-manual-guidelines.md)
* [`OAV Validation checks`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/Semantic-and-Model-Violations-Reference.md)
-* **[`Breaking Changes guidelines`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/Breaking%20changes%20guidelines.md)**
+* **[`Breaking Changes guidelines`](https://aka.ms/AzBreakingChangesPolicy)**
* **[`x-ms-examples`](https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/x-ms-examples.md)**
diff --git a/documentation/Semantic-and-Model-Violations-Reference.md b/documentation/Semantic-and-Model-Violations-Reference.md
index 82c945ca8bc5..51c0f93ca342 100644
--- a/documentation/Semantic-and-Model-Violations-Reference.md
+++ b/documentation/Semantic-and-Model-Violations-Reference.md
@@ -64,6 +64,9 @@ This document lists the set of automated rules that can be validated against swa
| [SCHEMA_VALIDATION_FAILED](#SCHEMA_VALIDATION_FAILED) | |
| [SECRET_PROPERTY](#SECRET_PROPERTY) | |
| [DISCRIMINATOR_VALUE_NOT_FOUND](#DISCRIMINATOR_VALUE_NOT_FOUND) | |
+| [INVALID_XMS_DISCRIMINATOR_VALUE](#INVALID_XMS_DISCRIMINATOR_VALUE) | [OAV133](#INVALID_XMS_DISCRIMINATOR_VALUE) |
+| [DISCRIMINATOR_PROPERTY_NOT_FOUND](#DISCRIMINATOR_PROPERTY_NOT_FOUND) | [OAV134](#DISCRIMINATOR_PROPERTY_NOT_FOUND) |
+| [INVALID_DISCRIMINATOR_TYPE](#INVALID_DISCRIMINATOR_TYPE) | [OAV132](#INVALID_DISCRIMINATOR_TYPE) |
| [DISCRIMINATOR_NOT_REQUIRED](#DISCRIMINATOR_NOT_REQUIRED) | [OAV131](#DISCRIMINATOR_NOT_REQUIRED) |
| [RESPONSE_BODY_NOT_IN_EXAMPLE](#RESPONSE_BODY_NOT_IN_EXAMPLE) | [OAV130](#RESPONSE_BODY_NOT_IN_EXAMPLE) |
| [DOUBLE_FORWARD_SLASHES_IN_URL](#DOUBLE_FORWARD_SLASHES_IN_URL) | [OAV129](#DOUBLE_FORWARD_SLASHES_IN_URL) |
@@ -588,11 +591,11 @@ This document lists the set of automated rules that can be validated against swa
### ENUM_MISMATCH
-**Output Message**: Enum does not match case for:{0}.
+**Output Message**: Enum does not match for:{0}.
-**Description**: The enum value provided in example or in traffic payload doesn't match the case of an allowed value.
+**Description**: The enum value provided in example or in traffic payload doesn't match an allowed value.
-**How to fix the violation**: The error info has the position of swagger. Look for the violation location of the swagger, correct the value case in example or in traffic payload.
+**How to fix the violation**: The error info has the position of swagger. Look for the violation location of the swagger, correct the value in example or in traffic payload.
### READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST
@@ -618,6 +621,29 @@ This document lists the set of automated rules that can be validated against swa
**How to fix the violation**: Add the model that has the discriminator value or fix the discriminator value. The discriminator value could be specified by model name in definitions or by "x-ms-discriminator-value".
+### INVALID_XMS_DISCRIMINATOR_VALUE
+
+**Output Message**: The value of x-ms-dicriminator-value is not in the discriminator enum list: {0}.
+
+**Description**: If a discriminator has an enum list, the x-ms-dicriminator-value must in the enum list.
+
+**How to fix the violation**: Add the value into the enum list or correct the value.
+
+### DISCRIMINATOR_PROPERTY_NOT_FOUND
+
+**Output Message**: Missing discriminator in base model. This derived model has x-ms-dicriminator-value: {0}.
+
+**Description**: x-ms-dicriminator-value is defined, but base model doesn't have discriminator field.
+
+**How to fix the violation**: Check whether it needs. If needs, add discriminator field in base model.
+
+### INVALID_DISCRIMINATOR_TYPE
+
+**Output Message**: The property type of discriminator must be string: {0}.
+
+**Description**: If a property is declared as discriminator, the property type must be string and nothing else.
+
+**How to fix the violation**: Set the property type to string in swagger.
### DISCRIMINATOR_NOT_REQUIRED
diff --git a/documentation/api-scenario/how-to/QuickStart.md b/documentation/api-scenario/how-to/QuickStart.md
new file mode 100644
index 000000000000..c16a579ed61c
--- /dev/null
+++ b/documentation/api-scenario/how-to/QuickStart.md
@@ -0,0 +1,112 @@
+
+
+# API test quick start
+
+## Install
+
+`oav` is an open-source powerful tool for swagger validation, example generation, and API testing. GitHub: https://github.com/Azure/oav.
+
+```sh
+npm install -g oav@latest
+```
+
+### OAV Features
+
+- Very easy to use and run.
+- Support postman collection format. Debug easily.
+- Request response validation. `oav` implement a powerful validation algorithm and help developer to detect service issue in the early phase.
+- Validation result report. After each run API scenario, developer will get a validation report which contains detect issue in api test.
+- Integrate everywhere. Easily integrate with azure-pipeline, cloud-test.
+
+## Create AAD app
+
+To run API test, first please prepare an AAD app which is used for provisioning Azure resource. Please grant subscription contributor permission to this AAD app.
+
+For how to create AAD app, please follow this doc https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-portal
+
+## Authoring steps
+
+We will write API scenario file for SignalR service as an example.
+
+#### 1. Write your first API scenario file
+
+First, create a folder `scenarios` under the api version folder. All API scenario files under the `scenarios` folder should bind with the api version.
+
+![folder-structure](./folder-structure.png)
+
+Now write your basic API scenario. For more detail about API scenario file format, please refer to
+[API Scenario Definition Reference](../references/ApiScenarioDefinition.md).
+
+```yaml
+# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/documentation/api-scenario/references/v1.1/schema.json
+
+scope: ResourceGroup
+scenarios:
+ - scenario: quickStart
+ description: Microsoft.SignalRService/signalR SignalR_CreateOrUpdate
+ steps:
+ - step: SignalR_CreateOrUpdate
+ exampleFile: ../examples/SignalR_CreateOrUpdate.json
+ - step: SignalR_Delete
+ exampleFile: ../examples/SignalR_Delete.json
+```
+
+#### 2. create your env file
+
+The `env.json` file contains required API scenario variables such as, subscriptionId, AAD applicationId, AAD applicationSecret.
+
+```json
+{
+ "subscriptionId": "",
+ "location": "westus",
+ "tenantId": "",
+ "client_id": "",
+ "client_secret": ""
+}
+```
+
+#### 3. Run api test
+
+```sh
+oav run /home/user/azure-rest-api-specs/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/scenarios/signalR.yaml -e env.json
+```
+
+#### 4. Debug with postman
+
+Sometimes the command `oav run` may fail due to non 2xx HTTP status code. Now you need to debug the API scenario with postman.
+
+When run `run`, it automatically generate postman collection and postman env in `generated////` folder. Here is the generated file folder structure. The `collection.json` and `env.json` is generated postman collection file and environment file. `202105120922-5c3x5` is current runId. For each run command it will generated unique runId.
+
+```
+generated
+└── Microsoft.SignalRService
+ └── 2020-07-01-preview
+ └── signalR
+ └── 202105120922-5c3x5
+ ├── signalR_0
+ │ ├── collection.json
+ │ └── env.json
+ | |__ report.json
+ └── signalR_0.json
+```
+
+Postman is a widely used GUI API testing tool. And you could use Postman import the generated postman collection and env for your local debug.
+
+![import-postman-collection](./import-postman-collection.png)
+
+After you import postman collection, you will get such requests. Now you could debug API test with postman locally.
+
+![postman-collection-signalr](./postman-collection-signalr.PNG)
+
+#### 5. manual update example value
+
+After debug with postman, you need to rewrite back all the updated values and run `oav run -e ` again. The result should be successful.
+
+## Feedback
+
+If you have any question, feel free to send email to vscswagger@microsoft.com
diff --git a/documentation/api-scenario/how-to/apiScenarioWithARMTemplate.md b/documentation/api-scenario/how-to/apiScenarioWithARMTemplate.md
new file mode 100644
index 000000000000..ab7dd60bb69d
--- /dev/null
+++ b/documentation/api-scenario/how-to/apiScenarioWithARMTemplate.md
@@ -0,0 +1,105 @@
+# API scenario integrate with armTemplate
+
+## Background
+
+In some cases, we need to do some more complex operations before creating a resource. For example,
+
+- Create Azure SignalR service with a global unique name. Using ARMTemplate to generate a random unique string.
+- Create VM with a storage account. Using ARMTemplate to provision storage account and passing the storage account resourceId as VM creation parameter.
+
+## Examples
+
+Here is an example about `generate unique resource name for signalR service`
+
+#### Generate unique resource name
+
+We use `armTemplate output` to overwrite `resourceName` variable and following `createResource` step will use this variable. Below is generate unique name armTemplate. This armTemplate output `resourceName` variables, so API scenario following step will using the output variable.
+
+```json
+{
+ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
+ "contentVersion": "1.0.0.0",
+ "parameters": {
+ "resourceNamePrefix": {
+ "type": "string",
+ "defaultValue": "signalr-"
+ }
+ },
+ "variables": {
+ "resourceName": "[concat(parameters('resourceNamePrefix'), uniqueString(resourceGroup().id))]"
+ },
+ "resources": [],
+ "outputs": {
+ "resourceName": {
+ "type": "string",
+ "value": "[variables('resourceName')]"
+ }
+ }
+}
+```
+
+After we have this armTemplate, we could define current API scenario file. We defined `resourceName` variable globally. `./generate_unique_string.json` is armTemplate.
+
+`SignalR_CreateOrUpdate.json`
+
+```json
+{
+ "parameters": {
+ "parameters": {
+ "tag": {
+ "key1": "tag1"
+ },
+ "properties":{
+ ...
+ }
+ },
+ "api-version": "2020-07-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "resourceName": "mySignalRService123xx"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ ...
+ }
+ },
+ "201": {
+ "body": {
+ ...
+ }
+ },
+ "202": {}
+ }
+}
+```
+
+> NOTE: the example file `../examples/SignalR_CreateOrUpdate` has the same parameter name `resourceName`. So it will be automatically overwrite in runner.
+
+```yaml
+scope: ResourceGroup
+variables:
+ resourceName: ""
+scenarios:
+ - scenario: quickStart
+ description: Microsoft.SignalRService/signalR CRUD
+ steps:
+ - step: Generate_Unique_string
+ armTemplateDeployment: ./generate_unique_string.json
+ - step: SignalR_checknameAvailability
+ exampleFile: ../examples/SignalR_CheckNameAvailability.json
+ - step: SignalR_CreateOrUpdate
+ exampleFile: ../examples/SignalR_CreateOrUpdate.json
+ - step: SignalR_ListKey
+ exampleFile: ../examples/SignalR_ListKeys.json
+ - step: SignalR_Delete
+ exampleFile: ../examples/SignalR_Delete.json
+```
+
+**Result**:
+
+![](./armTemplate.png)
+
+## Reference
+
+- [ARMTemplate deployment script](https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/deployment-script-template)
diff --git a/documentation/test-scenario/how-to/armTemplate.png b/documentation/api-scenario/how-to/armTemplate.png
similarity index 100%
rename from documentation/test-scenario/how-to/armTemplate.png
rename to documentation/api-scenario/how-to/armTemplate.png
diff --git a/documentation/test-scenario/how-to/folder-structure.png b/documentation/api-scenario/how-to/folder-structure.png
similarity index 100%
rename from documentation/test-scenario/how-to/folder-structure.png
rename to documentation/api-scenario/how-to/folder-structure.png
diff --git a/documentation/test-scenario/how-to/genTestScenario.gif b/documentation/api-scenario/how-to/genTestScenario.gif
similarity index 100%
rename from documentation/test-scenario/how-to/genTestScenario.gif
rename to documentation/api-scenario/how-to/genTestScenario.gif
diff --git a/documentation/api-scenario/how-to/generateABasicApiScenario.md b/documentation/api-scenario/how-to/generateABasicApiScenario.md
new file mode 100644
index 000000000000..d042b0a936d3
--- /dev/null
+++ b/documentation/api-scenario/how-to/generateABasicApiScenario.md
@@ -0,0 +1,57 @@
+# Generate a basic API scenario file
+
+## Prerequisite
+
+We use `oav` tools to generate basic API scenario. `oav` analyze swagger file and use swagger example as API scenario steps. So first, you need to install the latest oav.
+
+## Introduction
+
+`oav` support rule based API scenario file generation. We use this command to generate API scenario file.
+
+`oav generate-static-api-scenario --readme --tag --rules `
+
+- readme: swagger readme file.
+- tag: which tag to generate. oav will analyze swagger file under the tag and generate API scenario.
+- rules: Currently support two types. `resource-put-delete`, `operations-list`. Default: `resource-put-delete`
+ - `resource-put-delete`: generate resource put and delete API scenario.
+ - `operations-list`: generate operations list API scenario. `operations-list` is the simplest API which must be defined in swagger.
+
+Example:
+
+![](./genTestScenario.gif)
+
+This command will load and analyze swagger and generate a basic API scenario file (`resource-put-delete`).
+
+Result: the output contains two files
+
+- scenarios/signalR.yaml: The API scenario file.
+- readme.test.md: The entry for SDK test generation
+
+The generated API scenario file: The generated API scenario file contains two steps. Create signalR and delete it. It's a basic API scenario and developer can add more step based on the basic API scenario file.
+
+```
+scope: ResourceGroup
+testScenarios:
+ - description: Microsoft.SignalRService/signalR SignalR_CreateOrUpdate
+ steps:
+ - step: SignalR_CreateOrUpdate
+ exampleFile: ../examples/SignalR_CreateOrUpdate.json
+ - step: SignalR_Delete
+ exampleFile: ../examples/SignalR_Delete.json
+```
+
+If you pass rule option `operations-list`, you will get such API scenario file.
+
+```
+scope: ResourceGroup
+testScenarios:
+ - description: operationsList
+ steps:
+ - step: operationsList
+ exampleFile: ../examples/Operations_List.json
+
+```
+
+## Reference
+
+- [oav](https://github.com/Azure/oav/tree/develop)
diff --git a/documentation/test-scenario/how-to/import-postman-collection.png b/documentation/api-scenario/how-to/import-postman-collection.png
similarity index 100%
rename from documentation/test-scenario/how-to/import-postman-collection.png
rename to documentation/api-scenario/how-to/import-postman-collection.png
diff --git a/documentation/test-scenario/how-to/postman-collection-signalr.PNG b/documentation/api-scenario/how-to/postman-collection-signalr.PNG
similarity index 100%
rename from documentation/test-scenario/how-to/postman-collection-signalr.PNG
rename to documentation/api-scenario/how-to/postman-collection-signalr.PNG
diff --git a/documentation/test-scenario/how-to/runApiTest.gif b/documentation/api-scenario/how-to/runApiTest.gif
similarity index 100%
rename from documentation/test-scenario/how-to/runApiTest.gif
rename to documentation/api-scenario/how-to/runApiTest.gif
diff --git a/documentation/api-scenario/readme.md b/documentation/api-scenario/readme.md
new file mode 100644
index 000000000000..2e1ec0a84514
--- /dev/null
+++ b/documentation/api-scenario/readme.md
@@ -0,0 +1,29 @@
+# API Scenario Documentation
+
+API Scenario is a YAML file defining RESTful API usage scenarios of your service with a series of API calls. API scenario can be used for service functional test, API quality validation and SDK/CLIs test generation.
+
+_**Caution**: This project is in early preview phase, hence breaking changes should be expected._
+
+## Features
+
+- Simple to use: Intuitive step definition based on Swagger examples and raw REST call.
+- ARM Template integration: Support creating external Azure resources with ARM Template and executing Azure Powershell or Azure CLI scripts with ARM Template deployment script.
+- Implementation independent: [oav](https://github.com/Azure/oav) is the default API scenario runner, and more runners will be supported, like SDKs in different languages.
+
+### Demo gif
+
+![demo](./how-to/runApiTest.gif)
+
+## Quick start
+
+- [Example: Write and run your first API scenario file](./how-to/QuickStart.md)
+- [Example: Generate a basic API scenario file](./how-to/generateABasicApiScenario.md)
+- [Example: use armTemplate to generate unique resourceName](./how-to/apiScenarioWithARMTemplate.md)
+- [API scenario file sample](../samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/scenarios/quickStart.yaml)
+
+## References
+
+- [API Scenario Definition Reference](./references/ApiScenarioDefinition.md)
+- [API Scenario Variable Definition Reference](./references/Variables.md)
+- [API Scenario Runner Reference](./references/Runner.md)
+- [API Scenario JSON Schema](./references/v1.1/schema.json)
diff --git a/documentation/api-scenario/references/ApiScenarioDefinition.md b/documentation/api-scenario/references/ApiScenarioDefinition.md
new file mode 100644
index 000000000000..be96bddb58b6
--- /dev/null
+++ b/documentation/api-scenario/references/ApiScenarioDefinition.md
@@ -0,0 +1,452 @@
+# API Scenario Definition Reference
+
+## API Scenario Definition File
+
+See [API Scenario Definition File Schema](./v1.1/schema.json#L1)
+
+File should be in format of yaml.
+
+**Example:**
+
+```yaml
+scope: ResourceGroup
+variables:
+ publicIpAddressName: pubipdns
+prepareSteps:
+ - step: prepare_resources
+ armTemplateDeployment: ./dep-something.json
+scenarios:
+ - description: test_network_public_ip
+ steps:
+ - step: Create_publicIPAddresses_pubipdns
+ resourceName: publicIPAddresses_pubipdns
+ exampleFile: ../examples/Create_publicIPAddresses_pubipdns_Generated.json
+ operationId: PublicIPAddresses_CreateOrUpdate
+ variables:
+ publicIpAddressName: pubipdns
+```
+
+**Fields:**
+
+- **scope**
+ - **Type:** Required, Enum
+ - **Enum:** ResourceGroup
+ - Now only "ResourceGroup" is supported.
+ - **ResourceGroup:** All of the following API scenario and steps should be under some resourceGroup. It means:
+ - The consumer (API scenario runner or anything consumes API scenario) SHOULD maintain the resource group itself. Usually it requires user to input the subscriptionId/location, then it creates the resource group before test running, and deletes the resource group after running
+ - The consumer SHOULD set the following variables:
+ - **subscriptionId**
+ - **resourceGroupName**
+ - **location**
+ - For details of how variables works please see [Variables](./Variables.md)
+- **variables**
+ - **Type:** Optional, Map of strings
+ - See [Variables](./Variables.md)
+- **prepareSteps**
+ - **Type:** Optional, Array of [Step](#step)
+ - Steps that should run before every API scenario steps.
+- **scenarios**
+ - **Type:** Required, Array of [Scenario](#scenario)
+
+## Scenario
+
+See [Scenario Schema](./v1.1/schema.json#L83).
+
+It defines one API scenario that could go through on its own.
+
+**Example:**
+
+```yaml
+description: test_network_public_ip
+shareScope: true
+steps:
+ - step: Create_publicIPAddresses_pubipdns
+ resourceName: publicIPAddresses_pubipdns
+ exampleFile: ../examples/Create_publicIPAddresses_pubipdns_Generated.json
+ operationId: PublicIPAddresses_CreateOrUpdate
+variables:
+ publicIpAddressName: pubipdns
+```
+
+**Fields:**
+
+- **description**
+ - **Type:** Required, String
+ - Description for this API scenario.
+- **shareScope**
+ - **Type:** Optional, Boolean or String
+ - **Default:** true
+ - Describe how the scope (ResourceGroup if scope is ResourceGroup) could be shared with other tests. If it's true or it's the same string setting for different API scenario, then they share the same scope, which means:
+ - These tests will run under the same scope (e.g. ResourceGroup). They may launch in parallel.
+ - **prepareSteps** will only run once in the scope. The variables will be shared.
+ - By default all the API scenario in one definition file will be launched in the same scope. If shareScope is false then it will not share anything with other API scenarios in the same file.
+- **variables**
+ - **Type:** Optional, Map of strings
+ - See [Variables](./Variables.md)
+- **steps**
+ - **Type:** Required, Array of [Step](#step)
+ - Steps in this API scenario
+
+## Step
+
+See [Step Schema](./v1.1/schema.json#L114).
+
+Defines one step in API scenario.
+
+Should be one of the following:
+
+- [Step REST Call](#step-rest-call)
+ - [REST Call](#rest-call)
+ - [REST Call by ResourceName Tracking and Update](#rest-call-by-resourcename-tracking-and-update)
+- [Step ARM Template Deployment](#step-arm-template-deployment)
+
+All of the above definitions share the following fields:
+
+- **variables**
+ - **Type:** Optional, Map of Strings
+ - See [Variables](./Variables.md)
+- **step**
+ - **Type:** Required, String
+ - Step name. Must be unique in the same file.
+
+## Step ARM Template Deployment
+
+See [Step ARM Template Deployment Schema](./v1.1/schema.json#L247).
+
+Step to deploy ARM template to the scope. Template parameters and outputs will also interact with variables automatically, see [Variables](./Variables.md).
+
+**Example:**
+
+```yaml
+step: prepare_resources
+armTemplateDeployment: ./dep-storage-account.json
+```
+
+**Fields:**
+
+- **armTemplateDeployment**
+ - **Type:** Required, String
+ - Path to ARM template json file. See [ARM Template](https://docs.microsoft.com/azure/templates/).
+
+## Step REST Call
+
+See [Step REST Call Schema](./v1.1/schema.json#L205)
+
+Step to run a swagger operation defined rest call. This may not be just one http call.
+
+- If the operation is a long running operation (LRO), then follow the LRO polling strategy.
+ - Response statusCode must be 200 if the LRO succeeded, no matter what code the initial response is.
+ - If the LRO is PUT/PATCH, the runner should automatically insert a GET after the polling to verify the resource update result.
+- If the operation is DELETE, then after the operation, the runner should automatically insert a GET to verify resource cannot be found.
+
+Rest call step could be defined either by an example file, or by resourceName tracking and update.
+
+Rest call will have computed **requestParameter** and **responseExpected** after parsing and loading:
+
+- **requestParameter**
+
+### REST Call
+
+**Example:**
+
+```yaml
+step: Create_publicIPAddresses_pubipdns
+resourceName: publicIPAddresses_pubipdns
+exampleFile: ../examples/Create_publicIPAddresses_pubipdns_Generated.json
+operationId: PublicIPAddresses_CreateOrUpdate
+statusCode: 200
+```
+
+**Fields:**
+
+- **exampleFile**
+ - **Type:** Optional, String
+ - Path to example file. Should be in format of "x-ms-example" files.
+- **operationId**
+ - **Type:** Optional, String
+ - OperationId defined in swagger operation. It could be skipped if the example file is referenced by only one operation so we could detect the operationId.
+- **statusCode:**
+ - **Type:** Optional, Number
+ - **Default:** 200
+ - Expected response code.
+ - For LRO it must be 200 to indicate succeeded result, and must be 400 to indicate failed result.
+- **requestUpdate**
+ - **Type:** Optional, Array of [JsonPatchOp](#jsonpatchop)
+ - Updates that applied to the requestParameters before sending it.
+- **responseUpdate**
+ - **Type:** Optional, Array of [JsonPatchOp](#jsonpatchop)
+ - Updates that applied to the responseExpected.
+- **outputVariables**
+ - **Type:** Optional, Map from variable name to object with property:
+ - **fromResponse**
+ - **Type:** Required, String
+ - Path to the response field to be used as variable.
+
+### Rest Call by ResourceName Tracking and Update
+
+**Example**
+
+```yaml
+- step: Create_publicIPAddresses_pubipdns
+ resourceName: publicIPAddresses_pubipdns
+ exampleFile: ../examples/Create_publicIPAddresses_pubipdns_Generated.json
+ operationId: PublicIPAddresses_CreateOrUpdate
+ statusCode: 200
+
+- step: Update_publicIPAddresses
+ resourceName: publicIPAddresses_pubipdns
+ resourceUpdate:
+ - replace: /properties/location
+ value: westus
+```
+
+Different steps with the same resourceName will be tracked by the API scenario. It knows that you are trying to update the same resource. You can use the first request with example to specify the request and resource id, then the following step with the same resourceName will use the same resource id to update the resource. For the
+
+**Fields:**
+
+- **resourceName**
+ - **Type:** Required, String
+ - The user-defined resource name of the resource to be tracked. It's only used as a name of that resource and do not need to be same as the actual resource name.
+- **resourceUpdate**
+ - **Type:** Optional, Array of [JsonPatchOp](#jsonpatchop)
+ - Array of changes to be applied to the resource.
+
+resourceUpdate will help to automate compute the request body and the expected response body. The algorithm will be:
+
+- Get the expected response body from previous step with same `resourceName`, or from current step with example loaded.
+- For each change in `resourceUpdate`, apply the change to the expected response body, mark as `computedAllProperties`.
+- Let new request body parameter value to be: `computedAllProperties` without `readOnly` fields and `x-ms-mutability` fields that don't contains `update`.
+- Let new response expected to be: `computedAllProperties` without `x-ms-secrets` fields and `x-ms-mutability` fields that don't contain `read`.
+- Let the operationId to be: resource PUT operationId.
+
+### JsonPatchOp
+
+JsonPatchOp is used to define the update operation on json. You could add, remove, replace, move, copy and merge on json path.
+All the json path used in JsonPatchOp is in format of [JsonPointer](https://datatracker.ietf.org/doc/html/rfc6901).
+
+- [JsonPatchOp](#jsonpatchop)
+ - [JsonPatchOpAdd](#jsonpatchopadd)
+ - [JsonPatchOpRemove](#jsonpatchopremove)
+ - [JsonPatchOpReplace](#jsonpatchopreplace)
+ - [JsonPatchOpCopy](#jsonpatchopcopy)
+ - [JsonPatchOpMove](#jsonpatchopmove)
+ - [JsonPatchOpTest](#jsonpatchoptest)
+
+#### JsonPatchOpAdd
+
+**Example**
+
+```yaml
+add: /properties/items
+value: 1
+```
+
+**Fields:**
+
+- **add**
+ - **Type:** Required, JsonPointer
+- **value**
+ - **Type:** Required, Any
+
+Add json property at specified path.
+
+1. If any segment of path does not exist, then it will be created.
+2. If any value already exists on the path, then it will be overwritten.
+3. If the parent of the destination is array, then the value will be inserted at the specified index.
+
+**Example of add**
+
+```
+apply:
+- add: /properties/location
+ value: "eastus"
+
+on data:
+- { "properties": { } }
+
+result:
+- { "properties": { "location": "eastus" } } }
+
+---
+apply:
+- add: /properties/items/1
+ value: 4
+
+on data:
+- { "properties": { "items": [1, 2, 3] } }
+
+result:
+- { "properties": { "items": [1, 4, 2, 3] } }
+```
+
+#### JsonPatchOpRemove
+
+**Example**
+
+```yaml
+remove: /properties/items/1
+```
+
+**Fields:**
+
+- **remove**
+ - **Type:** Required, JsonPointer
+
+Remove element at specified path.
+
+1. If any segment of path does not exist, then error will be thrown.
+2. If parent of the specified path is array, then the element will be removed from the array.
+
+**Example of remove**
+
+```
+apply:
+- remove: /properties/items
+
+on data:
+- { "properties": { "items": [1, 2, 3] } }
+
+result:
+- { "properties": { } }
+
+---
+apply:
+- remove: /properties/items/1
+
+on data:
+- { "properties": { "items": [1, 2, 3] } }
+
+result:
+- { "properties": { "items": [1, 3] } }
+```
+
+#### JsonPatchOpReplace
+
+**Example**
+
+```yaml
+replace: /properties/items
+value: 1
+```
+
+**Fields:**
+
+- **replace**
+ - **Type:** Required, JsonPointer
+- **value**
+ - **Type:** Required, Any
+
+Replace json property at specified path.
+
+1. If any segment of path does not exist, error will be thrown.
+2. If any value already exists on the path, then it will be overwritten.
+
+**Example of replace**
+
+```
+apply:
+- replace: /properties/location
+ value: "eastus"
+
+on data:
+- { "properties": { "location": "westus" } }
+
+result:
+- { "properties": { "location": "eastus" } } }
+```
+
+#### JsonPatchOpCopy
+
+**Example**
+
+```yaml
+copy: /properties/items2
+from: /properties/items
+```
+
+**Fields:**
+
+- **copy**
+ - **Type:** Required, JsonPointer
+- **from**
+ - **Type:** Required, JsonPointer
+
+Copy json property from specified path to another path. Array index is also supported and works as add/remove does.
+
+**Example of copy**
+
+```
+apply:
+- copy: /properties/items2
+ from: /properties/items
+
+on data:
+- { "properties": { "items": [1, 2, 3] } }
+
+result:
+- { "properties": { "items": [1, 2, 3] }, "items2": [1, 2, 3] } }
+```
+
+#### JsonPatchOpMove
+
+**Example**
+
+```yaml
+move: /properties/items2
+from: /properties/items
+```
+
+**Fields:**
+
+- **move**
+ - **Type:** Required, JsonPointer
+- **from**
+ - **Type:** Required, JsonPointer
+
+Move json property from specified path to another path. It works as a combination of remove followed by add. Array index is also supported and works as add/remove does.
+
+**Example of move**
+
+```
+apply:
+- move: /properties/items2
+ from: /properties/items
+
+on data:
+- { "properties": { "items": [1, 2, 3] } }
+
+result:
+- { "properties": { "items2": [1, 2, 3] } }
+```
+
+#### JsonPatchOpTest
+
+**Example**
+
+```yaml
+test: /properties/item
+value: a
+```
+
+**Fields:**
+
+- **test**
+ - **Type:** Required, JsonPointer
+- **value**
+ - **Type:** Required, Object
+
+Test that a value at the target location is equal to a specified value.
+
+**Example of test**
+
+```
+apply:
+- test: /properties/a
+ value: 1
+
+on data:
+- { "properties": { "a": 0, "b": 1} }
+
+result:
+- throws error
+```
diff --git a/documentation/test-scenario/references/ErrorCodeReference.md b/documentation/api-scenario/references/ErrorCodeReference.md
similarity index 100%
rename from documentation/test-scenario/references/ErrorCodeReference.md
rename to documentation/api-scenario/references/ErrorCodeReference.md
diff --git a/documentation/api-scenario/references/Runner.md b/documentation/api-scenario/references/Runner.md
new file mode 100644
index 000000000000..1fddd6ff8330
--- /dev/null
+++ b/documentation/api-scenario/references/Runner.md
@@ -0,0 +1,130 @@
+# Runner Behavior
+
+This document explains the expected behavior of runner. The word "runner" here references to any customer that consume the API scenario, including the runner that send out requests defined by API scenario, code generator that generate code that executes steps defined by API scenario, and any other consumer that need to understand the content of API scenario.
+
+## Load API Scenario via OAV
+
+You could load the API scenario file via oav. It would be resolved as a simple object.
+
+```typescript
+const readmeMd: string =
+ "/home/username/azure-rest-api-specs/specification/containerservice/resource-manager/readme.md";
+const argv = {
+ ["try-require"]: "readme.test.md",
+ tag: "package-2020-12"
+};
+
+// Get input-file config in readme.md
+const autorestConfig = await getAutorestConfig(argv, readmeMd);
+const swaggerFilePaths: string[] = autorestConfig["input-file"];
+const fileRoot = dirname(readmeMd);
+
+console.log("input-file:");
+console.log(swaggerFilePaths);
+
+// Create the loader from OAV
+const loader = ApiScenarioLoader.create({
+ useJsonParser: false,
+ checkUnderFileRoot: false,
+ fileRoot,
+ swaggerFilePaths
+});
+
+// Load the API scenario file. File list could also be specified in readme.test.md
+const scenarioDef = await loader.load(
+ "Microsoft.ContainerService/stable/2020-12-01/scenarios/containerService.yaml"
+);
+
+console.log(scenarioDef.scenarios[0].steps);
+
+// Setup initial variable env
+const env = new VariableEnv();
+env.setBatch({
+ subscriptionId: "__your_subs_id_",
+ location: "westus",
+ SSH_PUBLIC_KEY: "__public_key_ssh__"
+});
+
+// Reference runner implementation in OAV. You need to implement your own runner.
+const runner = new ApiScenarioRunner({
+ jsonLoader: loader.jsonLoader,
+ env,
+ client: new ApiScenarioRestClient(getDefaultAzureCredential(), {})
+});
+
+try {
+ for (const scenario of scenarioDef.scenarios) {
+ await runner.executeScenario(scenario);
+ }
+} catch (e) {
+ console.log(e.message, e.stack);
+} finally {
+ console.timeLog("TestLoad");
+ await runner.cleanAllScope();
+}
+```
+
+After the API scenario is loaded, the step will be slightly different from the file content. Every REST step will have the following resolved fields:
+
+- requestParameters
+ - Type: `object`, map of resolved parameter name and value.
+- responseExpected
+ - Type: `any`
+ - The expected response body from the request.
+
+## Procedure of runner
+
+### Input
+
+Let's assume the following things as input of runner:
+
+- API scenario definition that loaded via OAV.
+- The scenario id of the API scenario. API scenario definition file could contains multiple API scenarios, runner need to run one of them.
+- Extra environment variables that required by API scenario, defined in `requiredVariables`.
+
+### Scope
+
+It's the `scope` field defined at top level of API scenario file. Now only `ResourceGroup` is supported, it means that the API scenario will:
+
+- Run under specified resource group.
+- Runner would manage the resource group, it could create the resource group (defined by variable `subscriptionId`, `resourceGroup`, `location`) or use predefined resource group, it could also delete the resource group after the API scenario is done. Runner itself is responsible for managing the resource group, the behavior is not defined by this spec.
+- Runner would run all the arm template deployment under the specified resource group.
+
+The scope is a convention, however it would not be enforced by API scenario. User could override the variable `resourceGroup` in any step to run that step in another resource group for example.
+
+### Variables
+
+See [Variables](./Variables.md) for variable spec. The runner must follow the variable definition in API scenario. Runner do not need to care about the variable conventions as it's already resolved by OAV. The runner must:
+
+- Load variables layer by layer as defined in the variable spec.
+- Resolve variables like `$(variableName)` step by step in:
+ - requestParameter
+ - responseExpected (if it's used by runner)
+ - armTemplate payload
+
+### Procedure
+
+- Load definition via OAV, load required variables' value (runner need to specify how to load it).
+- Manage the scope, runner could create/reuse the scope as user defined in input.
+- Run top level prepareSteps if it has not run. it's a list of steps defined in API scenario.
+- Pass the variables from prepareSteps to the following main steps.
+- For each steps defined in the API scenario array:
+ - If `type` field is `restCall`:
+ - Replace variables in `requestParameters`.
+ - Fill the request via parameter definition in swagger and parameter value in `requestParameters`.
+ - Send out the request.
+ - If the request is long running request, runner need to poll for the response.
+ - If the response's long running poll's final call is operation status, and the step itself is resource PUT/PATCH/DELETE, runner could run another GET against the resource to check. For DELETE, the final GET is expected to return 404. For PUT/PATCH, the final GET is expected to return 200, and it should represent the final response of the step.
+ - Check if the response status code is the same as the expected `statusCode` field defined in step. Optional.
+ - Check if the response body is the same as the expected `responseExpected` field defined in step. Optional.
+ - If `outputVariables` is defined, runner need to extract and define the variable from specified path in response body.
+ - If `type` field is `armTemplateDeployment`:
+ - Use the convention to replace arm template parameters if the parameter name matches the variable name and the parameter type is string.
+ - Send arm template deployment request under the resource group.
+ - Wait for the deployment to finish.
+ - Get the output variables from the deployment. Define the variables from the output variables.
+ - Else `type` is unsupported in runner.
+
+### Compare the response with expectedResponse
+
+It's hard for service team to make sure every field in expectedResponse is the same as the response, so here API scenario suggest to compare properties that are not `readOnly` and are not `x-ms-secret`. The detail should be defined by the runner, not this spec.
diff --git a/documentation/api-scenario/references/Variables.md b/documentation/api-scenario/references/Variables.md
new file mode 100644
index 000000000000..ebd04efc0372
--- /dev/null
+++ b/documentation/api-scenario/references/Variables.md
@@ -0,0 +1,146 @@
+# Variables in API scenario
+
+## Variable definition and replacement
+
+Variables could be defined in different level of API scenario:
+
+- `runtime`: Variables specified at runtime
+- `global`: API scenario definition level variable definition
+- `scope`: Scope level variable
+- `scenario`: API scenario level variable definition
+- `step`: Step level variable definition
+
+Variable could be referenced by `$(variableName)`. Currently variable type must be string.
+
+For example, in the following API scenario:
+
+```yaml
+variables:
+ resourceName: level-1
+
+scenarios:
+ - definition: Create some resource
+ variables:
+ resourceName: level-2
+ steps:
+ - step: Create resource
+ variables:
+ resourceName: level-3
+ exampleFile: ../examples/ResourceCreate.json
+```
+
+if in `../examples/ResourceCreate.json` we have `$(resourceName)` in some string, it would be replaced with `level-3`.
+
+Variables could also be defined on test running. For example you could set `subscriptionId` or `resourceGroupName` on the global scope. How to set global env is based on the API scenario consumer.
+
+Variables could be replaced recursively. For example if we have the following variables:
+
+```yaml
+variables:
+ resourceName: abc
+ resourceId: Microsoft.Contoso/$(resourceName)
+```
+
+Then `$(resourceId)` would be resolved to `Microsoft.Contoso/abc`.
+
+Variable resolving is limited to at most 100 times for certain string.
+
+## Convention: parameter name in example
+
+In one rest call step, if we have any parameter, for example it's named `param`, in the step requestParameters, with value `paramValue`, and API scenario has variable `param`, then by default, API scenario loader will:
+
+- replace the parameter value of `param` to `$(param)` so that it will reference the variable value.
+- replace `paramValue` to `$(param)` in every string in request body (in requestParameter) and in responseExpected.
+
+For example, for the following step with loaded requestParameter and responseExpected
+
+```yaml
+requestParameters:
+ subscriptionId: 00000000-0000-0000-0000-000000000000
+ resourceGroupName: testGroup
+ resourceName: abc
+ api-version: 2021-01-01
+ parameters:
+ properties:
+ a: abc
+responseExpected:
+ id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.Contoso/SomeResource/abc
+ name: abc
+ type: Microsoft.Contoso/SomeResource
+ properties:
+ a: abc
+```
+
+And when we are on this step, we already have `subscriptionId`, `resourceGroupName` and `resourceName` in variables, then the step will be replaced with:
+
+```yaml
+requestParameters:
+ subscriptionId: $(subscriptionId)
+ resourceGroupName: $(resourceGroupName)
+ resourceName: $(resourceName)
+ api-version: 2021-01-01
+ parameters:
+ properties:
+ a: abc
+responseExpected:
+ id: /subscriptions/$(subscriptionId)/resourceGroups/$(resourceGroupName)/providers/Microsoft.Contoso/SomeResource/$(resourceName)
+ name: $(resourceName)
+ type: Microsoft.Contoso/SomeResource
+ properties:
+ a: $(resourceName)
+```
+
+With this convention, you could control most of the parameters with variables.
+
+## Convention: location
+
+In one rest call step, if we have variable `location` (exact match) in the API scenario, and we have `location` as top level property defined in request body (`requestParameters[bodyParamName]`) and response body (responseExpected), then the top level location property will be replaced with variable value of location.
+
+For example,
+
+```yaml
+requestParameters:
+ parameters:
+ id: someId
+ location: westus
+responseExpected:
+ id: someId
+ location: westus
+```
+
+When we have `location` variable defined, this step will be transformed to:
+
+```yaml
+requestParameters:
+ parameters:
+ id: someId
+ location: $(location)
+responseExpected:
+ id: someId
+ location: $(location)
+```
+
+## Convention: Arm Template Deployment
+
+When you deploy arm template in API scenario, you could define template parameters and outputs. By default if the parameter name matches the variable exists and the parameter type is string, then the parameter value would use the variable value. If the template has output which is string type, the variables will be set with output values.
+
+For example, given the following arm template:
+
+```json
+{
+ "parameters": {
+ "userName": {
+ "type": "string"
+ }
+ },
+ "resources": [],
+ "outputs": {
+ "nameResult": {
+ "type": "string",
+ "value": "[concat('prefix/', parameters['userName'])]"
+ }
+ }
+}
+```
+
+If we have variable `userName` defined with `abc`, then we will have variable `nameResult` defined with value `prefix/abc` so that following steps in the API scenario could use variable `nameResult`.
diff --git a/documentation/api-scenario/references/v1.1/schema.json b/documentation/api-scenario/references/v1.1/schema.json
new file mode 100644
index 000000000000..9efa827cffe5
--- /dev/null
+++ b/documentation/api-scenario/references/v1.1/schema.json
@@ -0,0 +1,418 @@
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "scope": {
+ "type": "string",
+ "enum": [
+ "ResourceGroup"
+ ]
+ },
+ "variables": {
+ "$ref": "#/definitions/Variables"
+ },
+ "prepareSteps": {
+ "type": "array",
+ "description": "Prepare steps before executing scenarios",
+ "items": {
+ "$ref": "#/definitions/Step"
+ }
+ },
+ "scenarios": {
+ "type": "array",
+ "description": "API scenarios",
+ "items": {
+ "$ref": "#/definitions/Scenario"
+ },
+ "minItems": 1
+ },
+ "cleanUpSteps": {
+ "type": "array",
+ "description": "Clean up steps after executing scenarios",
+ "items": {
+ "$ref": "#/definitions/Step"
+ }
+ }
+ },
+ "required": [
+ "scenarios"
+ ],
+ "additionalProperties": false,
+ "definitions": {
+ "Name": {
+ "type": "string",
+ "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$"
+ },
+ "JsonPointer": {
+ "type": "string",
+ "description": "JSON Pointer described by RFC 6901, e.g. /foo/bar",
+ "pattern": "^(/(([^/~])|(~[01]))*)*$"
+ },
+ "Variables": {
+ "type": "object",
+ "propertyNames": {
+ "$ref": "#/definitions/Name"
+ },
+ "additionalProperties": {
+ "oneOf": [
+ {
+ "type": "string",
+ "description": "Default value of the variable"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "string",
+ "secureString"
+ ],
+ "default": "string"
+ },
+ "defaultValue": {
+ "type": "string",
+ "description": "Default value of the variable"
+ }
+ },
+ "additionalProperties": false
+ }
+ ]
+ }
+ },
+ "Scenario": {
+ "type": "object",
+ "properties": {
+ "scenario": {
+ "$ref": "#/definitions/Name",
+ "description": "Name of the scenario"
+ },
+ "description": {
+ "type": "string",
+ "description": "A long description of the scenario"
+ },
+ "variables": {
+ "$ref": "#/definitions/Variables"
+ },
+ "shareScope": {
+ "type": "boolean",
+ "description": "Whether to share the scope and prepareSteps with other scenarios",
+ "default": true
+ },
+ "steps": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Step"
+ }
+ }
+ },
+ "required": [
+ "steps"
+ ],
+ "additionalProperties": false
+ },
+ "Step": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/StepRestCall"
+ },
+ {
+ "$ref": "#/definitions/StepRestOperation"
+ },
+ {
+ "$ref": "#/definitions/StepArmTemplateDeployment"
+ },
+ {
+ "$ref": "#/definitions/StepRawCall"
+ }
+ ]
+ },
+ "StepBase": {
+ "properties": {
+ "step": {
+ "$ref": "#/definitions/Name",
+ "description": "Name of the step"
+ },
+ "description": {
+ "type": "string",
+ "description": "A long description of the step"
+ },
+ "variables": {
+ "$ref": "#/definitions/Variables"
+ },
+ "outputVariables": {
+ "type": "object",
+ "propertyNames": {
+ "$ref": "#/definitions/Name"
+ },
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "string",
+ "secureString"
+ ],
+ "default": "string"
+ },
+ "fromResponse": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "StepRestBase": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/StepBase"
+ }
+ ],
+ "properties": {
+ "resourceUpdate": {
+ "type": "array",
+ "description": "Update resource properties in body for both request and expected response",
+ "items": {
+ "$ref": "#/definitions/JsonPatchOp"
+ },
+ "minItems": 1
+ },
+ "requestUpdate": {
+ "type": "array",
+ "description": "Update request parameters",
+ "items": {
+ "$ref": "#/definitions/JsonPatchOp"
+ },
+ "minItems": 1
+ },
+ "responseUpdate": {
+ "type": "array",
+ "description": "Update expected response",
+ "items": {
+ "$ref": "#/definitions/JsonPatchOp"
+ },
+ "minItems": 1
+ },
+ "statusCode": {
+ "type": "integer",
+ "description": "Expected response code",
+ "default": 200
+ }
+ }
+ },
+ "StepRestCall": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/StepRestBase"
+ }
+ ],
+ "properties": {
+ "exampleFile": {
+ "type": "string"
+ },
+ "resourceName": {
+ "$ref": "#/definitions/Name",
+ "description": "Name a resource for tracking"
+ }
+ },
+ "required": [
+ "exampleFile"
+ ]
+ },
+ "StepRestOperation": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/StepRestBase"
+ }
+ ],
+ "properties": {
+ "operationId": {
+ "type": "string",
+ "description": "The operationId to perform on a tracking resource"
+ },
+ "resourceName": {
+ "$ref": "#/definitions/Name",
+ "description": "Reference a tracking resource"
+ }
+ },
+ "required": [
+ "operationId",
+ "resourceName"
+ ]
+ },
+ "StepArmTemplateDeployment": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/StepBase"
+ }
+ ],
+ "properties": {
+ "armTemplateDeployment": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "armTemplateDeployment"
+ ]
+ },
+ "StepRawCall": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/StepBase"
+ }
+ ],
+ "properties": {
+ "method": {
+ "type": "string",
+ "enum": [
+ "GET",
+ "PUT",
+ "PATCH",
+ "POST",
+ "DELETE",
+ "OPTIONS",
+ "HEAD"
+ ]
+ },
+ "url": {
+ "type": "string"
+ },
+ "requestHeaders": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "requestBody": {},
+ "statusCode": {
+ "type": "integer",
+ "description": "Expected response code",
+ "default": 200
+ },
+ "expectedResponse": {}
+ },
+ "required": [
+ "method",
+ "url",
+ "requestHeaders",
+ "requestBody"
+ ]
+ },
+ "JsonPatchOp": {
+ "type": "object",
+ "description": "Change a JSON document in a format described by RFC 6902",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/JsonPatchOpAdd"
+ },
+ {
+ "$ref": "#/definitions/JsonPatchOpRemove"
+ },
+ {
+ "$ref": "#/definitions/JsonPatchOpReplace"
+ },
+ {
+ "$ref": "#/definitions/JsonPatchOpCopy"
+ },
+ {
+ "$ref": "#/definitions/JsonPatchOpMove"
+ },
+ {
+ "$ref": "#/definitions/JsonPatchOpTest"
+ }
+ ]
+ },
+ "JsonPatchOpAdd": {
+ "type": "object",
+ "required": [
+ "add",
+ "value"
+ ],
+ "properties": {
+ "add": {
+ "$ref": "#/definitions/JsonPointer"
+ },
+ "value": {}
+ },
+ "additionalProperties": false
+ },
+ "JsonPatchOpRemove": {
+ "type": "object",
+ "required": [
+ "remove"
+ ],
+ "properties": {
+ "remove": {
+ "$ref": "#/definitions/JsonPointer"
+ }
+ },
+ "additionalProperties": false
+ },
+ "JsonPatchOpReplace": {
+ "type": "object",
+ "required": [
+ "replace",
+ "value"
+ ],
+ "properties": {
+ "replace": {
+ "$ref": "#/definitions/JsonPointer"
+ },
+ "value": {}
+ },
+ "additionalProperties": false
+ },
+ "JsonPatchOpCopy": {
+ "type": "object",
+ "required": [
+ "copy",
+ "from"
+ ],
+ "properties": {
+ "copy": {
+ "$ref": "#/definitions/JsonPointer"
+ },
+ "from": {
+ "$ref": "#/definitions/JsonPointer"
+ }
+ },
+ "additionalProperties": false
+ },
+ "JsonPatchOpMove": {
+ "type": "object",
+ "required": [
+ "move",
+ "from"
+ ],
+ "properties": {
+ "move": {
+ "$ref": "#/definitions/JsonPointer"
+ },
+ "from": {
+ "$ref": "#/definitions/JsonPointer"
+ }
+ },
+ "additionalProperties": false
+ },
+ "JsonPatchOpTest": {
+ "type": "object",
+ "required": [
+ "test",
+ "value"
+ ],
+ "properties": {
+ "test": {
+ "$ref": "#/definitions/JsonPointer"
+ },
+ "value": {}
+ },
+ "additionalProperties": false
+ }
+ }
+}
diff --git a/documentation/release-request/comments.png b/documentation/release-request/comments.png
new file mode 100644
index 000000000000..58a7a693cc4d
Binary files /dev/null and b/documentation/release-request/comments.png differ
diff --git a/documentation/release-request/default-tag.png b/documentation/release-request/default-tag.png
new file mode 100644
index 000000000000..44a6c11f0c5e
Binary files /dev/null and b/documentation/release-request/default-tag.png differ
diff --git a/documentation/release-request/expected-release-date.png b/documentation/release-request/expected-release-date.png
new file mode 100644
index 000000000000..623dc22eb155
Binary files /dev/null and b/documentation/release-request/expected-release-date.png differ
diff --git a/documentation/release-request/link.png b/documentation/release-request/link.png
new file mode 100644
index 000000000000..9d15f426b64a
Binary files /dev/null and b/documentation/release-request/link.png differ
diff --git a/documentation/release-request/rules-for-release-request.md b/documentation/release-request/rules-for-release-request.md
new file mode 100644
index 000000000000..aa38bff83cf1
--- /dev/null
+++ b/documentation/release-request/rules-for-release-request.md
@@ -0,0 +1,46 @@
+This file claims some rules for those who want official SDK release.
+
+# How to ask for official SDK
+Make release request in [request-api-release](https://portal.azure-devex-tools.com/tools/request-api-release)
+
+# Some guidance and rules when you fill the release issue
+
+### 1. Expected release date for SDKs (PST)
+![img.png](expected-release-date.png)
+
+SDK team need some time to prepare and test, so it is better to leave at least 1 week for them.
+
+### 2. Link to PR or spec (if PR unavailable)
+![img.png](link.png)
+
+Two kinds of link is supported:
+
+(1) PR link(for example: https://github.com/Azure/azure-rest-api-specs/pull/16554). If the PR contains `several kinds` of
+services, please paste specific service definition link(for example: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/apimanagement/resource-manager)
+in `Comments` to clarify which is needed.
+
+(2) service definition link(for example: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/apimanagement/resource-manager)
+
+Note: `make sure` the content you want is `merged` into [main repo: azure-rest-api-specs](https://github.com/Azure/azure-rest-api-specs).
+It is not permitted if PR is `open` or in [private repo: azure-rest-api-specs-pr](https://github.com/Azure/azure-rest-api-specs-pr).
+
+### 3. ReadMe tag to be released
+![img.png](tag.png)
+
+Make sure the tag is defined in `readme.md`(for example: https:https://github.com/Azure/azure-rest-api-specs/blob/main/specification/advisor/resource-manager/readme.md)
+and the tag should stay the same with `default tag` in `readme.md`. If not, please make a PR to modify it before make the
+release request.
+
+![img.png](default-tag.png)
+
+### 4. Comments
+![img.png](comments.png)
+
+If anything needs to clarify, write it in `Comments`
+
+# What need to do after making release request
+
+You could find your issue in [Azure/sdk-release-request](https://github.com/Azure/sdk-release-request/issues?q=is%3Aopen+is%3Aissue+label%3AManagementPlane),
+please pay attention to the `comment of issue` since SDK team may `ask for confirmation` before `publish the official SDK`. Once the SDK is published,
+they will paste the link and close the issue.
+
diff --git a/documentation/release-request/tag.png b/documentation/release-request/tag.png
new file mode 100644
index 000000000000..d915ce8ab8fa
Binary files /dev/null and b/documentation/release-request/tag.png differ
diff --git a/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/scenarios/testYourService.yaml b/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/scenarios/quickStart.yaml
similarity index 100%
rename from documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/scenarios/testYourService.yaml
rename to documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/scenarios/quickStart.yaml
diff --git a/documentation/samplefiles/readme.go.md b/documentation/samplefiles/readme.go.md
index f755026a6888..d084eda879f2 100644
--- a/documentation/samplefiles/readme.go.md
+++ b/documentation/samplefiles/readme.go.md
@@ -5,7 +5,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go) && $(track2)
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/[[ServiceName]]/arm[[ServiceName]]
+module-name: sdk/resourcemanager/[[ServiceName]]/arm[[ServiceName]]
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
```
diff --git a/documentation/test-scenario/how-to/QuickStart.md b/documentation/test-scenario/how-to/QuickStart.md
deleted file mode 100644
index 1057dcfa8f40..000000000000
--- a/documentation/test-scenario/how-to/QuickStart.md
+++ /dev/null
@@ -1,111 +0,0 @@
-
-
-# API test quick start
-
-## Install
-
-`oav` is an open-source powerful tool for swagger validation, example generation, and API testing. GitHub: https://github.com/Azure/oav.
-
-```sh
-npm install -g oav@latest
-```
-### OAV Features
-- Very easy to use and run.
-- Support postman collection format. Debug easily.
-- Request response validation. `oav` implement a powerful validation algorithm and help developer to detect service issue in the early phase.
-- Validation result report. After each run test scenario, developer will get a validation report which contains detect issue in api test.
-- Integrate everywhere. Easily integrate with azure-pipeline, cloud-test.
-
-
-## Create AAD app
-
-To run API test, first please prepare an AAD app which is used for provisioning Azure resource. Please grant subscription contributor permission to this AAD app.
-
-For how to create AAD app, please follow this doc https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-create-service-principal-portal
-
-## Authoring steps
-
-We will write test scenario file for SignalR service as an example.
-
-#### 1. Write your first test scenario file
-
-First, create a folder `scenarios` under the api version folder. All test scenario files under the `scenarios` folder should bind with the api version.
-
-![folder-structure](./folder-structure.png)
-
-Now write your basic test scenario. For more detail about test scenario file format, please refer to
-[Test Scenario Definition Reference](../references/TestDefinitionReference.md).
-
-```yaml
-# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/documentation/test-scenario/references/v1.0/schema.json
-
-contentVersion: 1.0.0
-scope: ResourceGroup
-testScenarios:
- - description: Microsoft.SignalRService/signalR SignalR_CreateOrUpdate
- steps:
- - step: SignalR_CreateOrUpdate
- exampleFile: ../examples/SignalR_CreateOrUpdate.json
- - step: SignalR_Delete
- exampleFile: ../examples/SignalR_Delete.json
-```
-
-#### 2. create your env file
-
-The `env.json` file contains required test scenario variables such as, subscriptionId, AAD applicationId, AAD applicationSecret.
-
-```json
-{
- "subscriptionId": "",
- "location": "westus",
- "tenantId": "",
- "client_id": "",
- "client_secret": ""
-}
-```
-
-#### 3. Run api test
-
-```sh
-oav run /home/user/azure-rest-api-specs/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2020-07-01-preview/scenarios/signalR.yaml -e env.json
-```
-
-#### 4. Debug with postman
-
-Sometimes the command `oav run` may fail due to non 2xx HTTP status code. Now you need to debug the test scenario with postman.
-
-When run `run`, it automatically generate postman collection and postman env in `generated////` folder. Here is the generated file folder structure. The `collection.json` and `env.json` is generated postman collection file and environment file. `202105120922-5c3x5` is current runId. For each run command it will generated unique runId.
-
-```
-generated
-└── Microsoft.SignalRService
- └── 2020-07-01-preview
- └── signalR
- └── 202105120922-5c3x5
- ├── signalR_0
- │ ├── collection.json
- │ └── env.json
- | |__ report.json
- └── signalR_0.json
-```
-
-Postman is a widely used GUI API testing tool. And you could use Postman import the generated postman collection and env for your local debug.
-
-![import-postman-collection](./import-postman-collection.png)
-
-After you import postman collection, you will get such requests. Now you could debug API test with postman locally.
-
-![postman-collection-signalr](./postman-collection-signalr.PNG)
-
-#### 5. manual update example value
-
-After debug with postman, you need to rewrite back all the updated values and run `oav run -e ` again. The result should be successful.
-
-## Feedback
-
-If you have any question, feel free to send email to vscswagger@microsoft.com
diff --git a/documentation/test-scenario/how-to/generateABasicTestScenario.md b/documentation/test-scenario/how-to/generateABasicTestScenario.md
deleted file mode 100644
index e1302cdb59db..000000000000
--- a/documentation/test-scenario/how-to/generateABasicTestScenario.md
+++ /dev/null
@@ -1,57 +0,0 @@
-# Generate a basic test scenario file
-
-## Prerequisite
-
-We use `oav` tools to generate basic test scenario. `oav` analyze swagger file and use swagger example as test scenario steps. So first, you need to install the latest oav.
-
-## Introduction
-
-`oav` support rule based test scenario file generation. We use this command to generate test scenario file.
-
-`oav generate-static-test-scenario --readme --tag --rules `
-
-- readme: swagger readme file.
-- tag: which tag to generate. oav will analyze swagger file under the tag and generate test scenario.
-- rules: Currently support two types. `resource-put-delete`, `operations-list`. Default: `resource-put-delete`
- - `resource-put-delete`: generate resource put and delete test scenario.
- - `operations-list`: generate operations list test scenario. `operations-list` is the simplest API which must be defined in swagger.
-
-Example:
-
-![](./genTestScenario.gif)
-
-This command will load and analyze swagger and generate a basic test scenario file (`resource-put-delete`).
-
-Result: the output contains two files
-
-- test-scenarios/signalR.yaml: The test scenario file.
-- readme.test.md: The entry for SDK test generation
-
-The generated test scenario file: The generated test scenario file contains two steps. Create signalR and delete it. It's a basic test scenario and developer can add more step based on the basic test scenario file.
-
-```
-scope: ResourceGroup
-testScenarios:
- - description: Microsoft.SignalRService/signalR SignalR_CreateOrUpdate
- steps:
- - step: SignalR_CreateOrUpdate
- exampleFile: ../examples/SignalR_CreateOrUpdate.json
- - step: SignalR_Delete
- exampleFile: ../examples/SignalR_Delete.json
-```
-
-If you pass rule option `operations-list`, you will get such test scenario file.
-
-```
-scope: ResourceGroup
-testScenarios:
- - description: operationsList
- steps:
- - step: operationsList
- exampleFile: ../examples/Operations_List.json
-
-```
-
-## Reference
-
-- [oav](https://github.com/Azure/oav/tree/develop)
diff --git a/documentation/test-scenario/how-to/testScenarioWithARMTemplate.md b/documentation/test-scenario/how-to/testScenarioWithARMTemplate.md
deleted file mode 100644
index 7f6524b7c359..000000000000
--- a/documentation/test-scenario/how-to/testScenarioWithARMTemplate.md
+++ /dev/null
@@ -1,104 +0,0 @@
-# Test scenario integrate with armTemplate
-
-## Background
-
-In some cases, we need to do some more complex operations before creating a resource. For example,
-
-- Create Azure SignalR service with a global unique name. Using ARMTemplate to generate a random unique string.
-- Create VM with a storage account. Using ARMTemplate to provision storage account and passing the storage account resourceId as VM creation parameter.
-
-## Examples
-
-Here is an example about `generate unique resource name for signalR service`
-
-#### Generate unique resource name
-
-We use `armTemplate output` to overwrite `resourceName` variable and following `createResource` step will use this variable. Below is generate unique name armTemplate. This armTemplate output `resourceName` variables, so test scenario following step will using the output variable.
-
-```json
-{
- "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
- "contentVersion": "1.0.0.0",
- "parameters": {
- "resourceNamePrefix": {
- "type": "string",
- "defaultValue": "signalr-"
- }
- },
- "variables": {
- "resourceName": "[concat(parameters('resourceNamePrefix'), uniqueString(resourceGroup().id))]"
- },
- "resources": [],
- "outputs": {
- "resourceName": {
- "type": "string",
- "value": "[variables('resourceName')]"
- }
- }
-}
-```
-
-After we have this armTemplate, we could define current test scenario file. We defined `resourceName` variable globally. `./generate_unique_string.json` is armTemplate.
-
-`SignalR_CreateOrUpdate.json`
-
-```json
-{
- "parameters": {
- "parameters": {
- "tag": {
- "key1": "tag1"
- },
- "properties":{
- ...
- }
- },
- "api-version": "2020-07-01-preview",
- "subscriptionId": "00000000-0000-0000-0000-000000000000",
- "resourceGroupName": "myResourceGroup",
- "resourceName": "mySignalRService123xx"
- },
- "responses": {
- "200": {
- "body": {
- ...
- }
- },
- "201": {
- "body": {
- ...
- }
- },
- "202": {}
- }
-}
-```
-
-> NOTE: the example file `../examples/SignalR_CreateOrUpdate` has the same parameter name `resourceName`. So it will be automatically overwrite in runner.
-
-```yaml
-scope: ResourceGroup
-variables:
- resourceName: ""
-testScenarios:
- - description: Microsoft.SignalRService/signalR CRUD
- steps:
- - step: Generate_Unique_string
- armTemplateDeployment: ./generate_unique_string.json
- - step: SignalR_checknameAvailability
- exampleFile: ../examples/SignalR_CheckNameAvailability.json
- - step: SignalR_CreateOrUpdate
- exampleFile: ../examples/SignalR_CreateOrUpdate.json
- - step: SignalR_ListKey
- exampleFile: ../examples/SignalR_ListKeys.json
- - step: SignalR_Delete
- exampleFile: ../examples/SignalR_Delete.json
-```
-
-**Result**:
-
-![](./armTemplate.png)
-
-## Reference
-
-- [ARMTemplate deployment script](https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/deployment-script-template)
diff --git a/documentation/test-scenario/readme.md b/documentation/test-scenario/readme.md
index 1103f0bcf7fa..6761413200be 100644
--- a/documentation/test-scenario/readme.md
+++ b/documentation/test-scenario/readme.md
@@ -1,26 +1 @@
-# Test Scenario Documentation
-
-Test Scenario is a YAML file defining RESTful API usage scenarios of your service with a series of API calls. Test scenario can be used for service functional test, API quality validation and SDK/CLIs test generation.
-
-_**Caution**: This project is in early preview phase, hence breaking changes should be expected._
-## Features
-- Simple to use: Intuitive test step definition based on Swagger examples and raw REST call.
-- ARM Template integration: Support creating external Azure resources with ARM Template and executing Azure Powershell or Azure CLI scripts with ARM Template deployment script.
-- Implementation independent: [oav](https://github.com/Azure/oav) is the default test scenario runner, and more runners will be supported, like SDKs in different languages.
-
-### Demo gif
-
-![demo](./how-to/runApiTest.gif)
-
-## Quick start
-
-- [Example: Write and run your first test scenario file](./how-to/QuickStart.md)
-- [Example: Generate a basic test scenario file](./how-to/generateABasicTestScenario.md)
-- [Example: use armTemplate to generate unique resourceName](./how-to/testScenarioWithARMTemplate.md)
-- [Test scenario file sample](../samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/scenarios/testYourService.yaml)
-
-## References
-- [Test Scenario Definition Reference](./references/TestDefinitionReference.md)
-- [Test Scenario Variable Definition Reference](./references/Variables.md)
-- [Test Scenario Runner Reference](./references/Runner.md)
-- [Test Scenario Schema Reference](./references/v1.0/schema.json)
+Moved to [api-scenario/readme.md](../api-scenario/readme.md)
diff --git a/documentation/test-scenario/references/Runner.md b/documentation/test-scenario/references/Runner.md
deleted file mode 100644
index d7d553043b6c..000000000000
--- a/documentation/test-scenario/references/Runner.md
+++ /dev/null
@@ -1,130 +0,0 @@
-# Runner Behavior
-
-This document explains the expected behavior of runner. The word "runner" here references to any customer that consume the test scenario, including the runner that send out requests defined by test scenario, code generator that generate code that executes steps defined by test scenario, and any other consumer that need to understand the content of test scenario.
-
-## Load Test Scenario via OAV
-
-You could load the test scenario file via oav. It would be resolved as a simple object.
-
-```typescript
- const readmeMd: string =
- "/home/username/azure-rest-api-specs/specification/containerservice/resource-manager/readme.md";
- const argv = {
- ["try-require"]: "readme.test.md",
- tag: "package-2020-12",
- };
-
- // Get input-file config in readme.md
- const autorestConfig = await getAutorestConfig(argv, readmeMd);
- const swaggerFilePaths: string[] = autorestConfig["input-file"];
- const fileRoot = dirname(readmeMd);
-
- console.log("input-file:");
- console.log(swaggerFilePaths);
-
- // Create the loader from OAV
- const loader = TestResourceLoader.create({
- useJsonParser: false,
- checkUnderFileRoot: false,
- fileRoot,
- swaggerFilePaths,
- });
-
- // Load the test scenario file. File list could also be specified in readme.test.md
- const testDef = await loader.load(
- "Microsoft.ContainerService/stable/2020-12-01/test-scenarios/containerService.yaml"
- );
-
- console.log(testDef.testScenarios[0].steps);
-
- // Setup initial variable env
- const env = new VariableEnv();
- env.setBatch({
- subscriptionId: "__your_subs_id_",
- location: "westus",
- SSH_PUBLIC_KEY: "__public_key_ssh__",
- });
-
- // Reference runner implementation in OAV. You need to implement your own runner.
- const runner = new TestScenarioRunner({
- jsonLoader: loader.jsonLoader,
- env,
- client: new TestScenarioRestClient(getDefaultAzureCredential(), {}),
- });
-
- try {
- for (const scenario of testDef.testScenarios) {
- await runner.executeScenario(scenario);
- }
- } catch (e) {
- console.log(e.message, e.stack);
- } finally {
- console.timeLog("TestLoad");
- await runner.cleanAllTestScope();
- }
-```
-
-After the test scenario is loaded, the test step will be slightly different from the file content. Every rest step will have the following resolved fields:
-
-- requestParameters
- - Type: `object`, map of resolved parameter name and value.
-- responseExpected
- - Type: `any`
- - The expected response body from the request.
-
-## Procedure of runner
-
-### Input
-
-Let's assume the following things as input of runner:
-
-- Test scenario definition that loaded via OAV.
-- The scenario id of the test scenario. Test scenario definition file could contains multiple test scenarios, runner need to run one of them.
-- Extra environment variables that required by test scenario, defined in `requiredVariables`.
-
-### Scope
-
-It's the `scope` field defined at top level of test scenario file. Now only `ResourceGroup` is supported, it means that the test scenario will:
-
-- Run under specified resource group.
-- Runner would manage the resource group, it could create the resource group (defined by variable `subscriptionId`, `resourceGroup`, `location`) or use predefined resource group, it could also delete the resource group after the test scenario is done. Runner itself is responsible for managing the resource group, the behavior is not defined by this spec.
-- Runner would run all the arm template deployment under the specified resource group.
-
-The scope is a convention, however it would not be enforced by test scenario. User could override the variable `resourceGroup` in any step to run that step in another resource group for example.
-
-### Variables
-
-See [Variables](./Variables.md) for variable spec. The runner must follow the variable definition in test scenario. Runner do not need to care about the variable conventions as it's already resolved by OAV. The runner must:
-
-- Load variables layer by layer as defined in the variable spec.
-- Resolve variables like `$(variableName)` step by step in:
- - requestParameter
- - responseExpected (if it's used by runner)
- - armTemplate payload
-
-### Procedure
-
-- Load definition via OAV, load required variables' value (runner need to specify how to load it).
-- Manage the test scope, runner could create/reuse the scope as user defined in input.
-- Run top level prepareSteps if it has not run. it's a list of steps defined in test scenario.
-- Pass the variables from prepareSteps to the following main steps.
-- For each steps defined in the test scenario array:
- - If `type` field is `restCall`:
- - Replace variables in `requestParameters`.
- - Fill the request via parameter definition in swagger and parameter value in `requestParameters`.
- - Send out the request.
- - If the request is long running request, runner need to poll for the response.
- - If the response's long running poll's final call is operation status, and the step itself is resource PUT/PATCH/DELETE, runner could run another GET against the resource to check. For DELETE, the final GET is expected to return 404. For PUT/PATCH, the final GET is expected to return 200, and it should represent the final response of the step.
- - Check if the response status code is the same as the expected `statusCode` field defined in step. Optional.
- - Check if the response body is the same as the expected `responseExpected` field defined in step. Optional.
- - If `outputVariables` is defined, runner need to extract and define the variable from specified path in response body.
- - If `type` field is `armTemplateDeployment`:
- - Use the convention to replace arm template parameters if the parameter name matches the variable name and the parameter type is string.
- - Send arm template deployment request under the resource group.
- - Wait for the deployment to finish.
- - Get the output variables from the deployment. Define the variables from the output variables.
- - Else `type` is unsupported in runner.
-
-### Compare the response with expectedResponse
-
-It's hard for service team to make sure every field in expectedResponse is the same as the response, so here test scenario suggest to compare properties that are not `readOnly` and are not `x-ms-secret`. The detail should be defined by the runner, not this spec.
diff --git a/documentation/test-scenario/references/TestDefinitionReference.md b/documentation/test-scenario/references/TestDefinitionReference.md
deleted file mode 100644
index 731d3127ccc6..000000000000
--- a/documentation/test-scenario/references/TestDefinitionReference.md
+++ /dev/null
@@ -1,431 +0,0 @@
-# Test Definition Reference
-
-## Test Definition File
-
-See [Test Definition File Schema](./v1.0/schema.json#L1)
-
-File should be in format of yaml.
-
-**Example:**
-```yaml
-scope: ResourceGroup
-requiredVariables:
- - subscriptionId
-variables:
- publicIpAddressName: pubipdns
-prepareSteps:
- - step: prepare_resources
- armTemplateDeployment: ./dep-something.json
-testScenarios:
- - description: test_network_public_ip
- steps:
- - step: Create_publicIPAddresses_pubipdns
- resourceName: publicIPAddresses_pubipdns
- exampleFile: ../examples/Create_publicIPAddresses_pubipdns_Generated.json
- operationId: PublicIPAddresses_CreateOrUpdate
- variables:
- publicIpAddressName: pubipdns
-```
-
-**Fields:**
-- **scope**
- - **Type:** Required, Enum
- - **Enum:** ResourceGroup
- - Now only "ResourceGroup" is supported.
- - **ResourceGroup:** All of the following test scenario and steps should be under some resourceGroup. It means:
- - The consumer (test scenario runner or anything consumes test scenario) SHOULD maintain the resource group itself. Usually it requires user to input the subscriptionId/location, then it creates the resource group before test running, and deletes the resource group after running
- - The consumer SHOULD set the following variables:
- - **subscriptionId**
- - **resourceGroupName**
- - **location**
- - For details of how variables works please see [Variables](./Variables.md)
-- **variables**
- - **Type:** Optional, Map of strings
- - See [Variables](./Variables.md)
-- **requiredVariables**
- - **Type:** Optional, Array of string
- - Variables that must be defined by user. By default, **subscriptionId** and **location** are required.
-- **prepareSteps**
- - **Type:** Optional, Array of [Test Step](#test-step)
- - Steps that should run before every test scenario steps.
-- **testScenarios**
- - **Type:** Required, Array of [Test Scenario](#test-scenario)
-
-## Test Scenario
-
-See [Test Scenario Schema](./v1.0/schema.json#L331).
-
-It defines one test scenario that could go through on its own.
-
-**Example:**
-```yaml
-description: test_network_public_ip
-shareTestScope: true
-steps:
- - step: Create_publicIPAddresses_pubipdns
- resourceName: publicIPAddresses_pubipdns
- exampleFile: ../examples/Create_publicIPAddresses_pubipdns_Generated.json
- operationId: PublicIPAddresses_CreateOrUpdate
-variables:
- publicIpAddressName: pubipdns
-```
-
-**Fields:**
-- **description**
- - **Type:** Required, String
- - Description for this test scenario.
-- **shareTestScope**
- - **Type:** Optional, Boolean or String
- - **Default:** true
- - Describe how the testScope (ResourceGroup if scope is ResourceGroup) could be shared with other tests. If it's true or it's the same string setting for different test scenario, then they share the same test scope, which means:
- - These tests will run under the same test scope (e.g. ResourceGroup). They may launch in parallel.
- - **prepareSteps** will only run once in the testScope. The variables will be shared.
- - By default all the test scenario in one test definition file will be launched in the same test scope. If shareTestScope is false then it will not share anything with other test scenarios in the same file.
-- **variables**
- - **Type:** Optional, Map of strings
- - See [Variables](./Variables.md)
-- **steps**
- - **Type:** Required, Array of [Test Step](#test-step)
- - Steps in this test scenario
-
-## Test Step
-
-See [Test Step Schema](./v1.0/schema.json#L50).
-
-Defines one test step in test scenario.
-
-Should be one of the following:
-- [Test Step](#test-step)
-- [Test Step ARM Template Deployment](#test-step-arm-template-deployment)
-- [Test Step Rest Call](#test-step-rest-call)
- - [Rest Call](#rest-call)
- - [Rest Call by ResourceName Tracking and Update](#rest-call-by-resourcename-tracking-and-update)
-
-All of the above definitions share the following fields:
-- **variables**
- - **Type:** Optional, Map of Strings
- - See [Variables](./Variables.md)
-- **step**
- - **Type:** Required, String
- - Step name. Must be unique in the same file.
-
-## Test Step ARM Template Deployment
-
-See [Test Step ARM Template Deployment Schema](./v1.0/schema.json#L78).
-
-Step to deploy ARM template to the test scope. Template parameters and outputs will also interact with variables automatically, see [Variables](./Variables.md).
-
-**Example:**
-```yaml
-step: prepare_resources
-armTemplateDeployment: ./dep-storage-account.json
-armTemplateParameters: ./dep-storage-account-params.json
-```
-
-**Fields:**
-- **armTemplateDeployment**
- - **Type:** Required, String
- - Path to ARM template json file. See [ARM Template](https://docs.microsoft.com/azure/templates/).
-- **armTemplateParameters**
- - **Type:** Optional, String
- - Path to ARM template parameter file. See [ARM Template Parameter File](https://docs.microsoft.com/azure/azure-resource-manager/templates/parameter-files).
-
-## Test Step Rest Call
-
-See [Test Step Rest Call Schema](./v1.0/schema.json#L97)
-
-Step to run a swagger operation defined rest call. This may not be just one http call.
-
-- If the operation is a long running operation (LRO), then follow the LRO polling strategy.
- - Response statusCode must be 200 if the LRO succeeded, no matter what code the initial response is.
- - If the LRO is PUT/PATCH, the runner should automatically insert a GET after the polling to verify the resource update result.
-- If the operation is DELETE, then after the operation, the runner should automatically insert a GET to verify resource cannot be found.
-
-Rest call step could be defined either by an example file, or by resourceName tracking and update.
-
-Rest call will have computed **requestParameter** and **responseExpected** after parsing and loading:
-- **requestParameter**
-
-### Rest Call
-
-**Example:**
-```yaml
-step: Create_publicIPAddresses_pubipdns
-resourceName: publicIPAddresses_pubipdns
-exampleFile: ../examples/Create_publicIPAddresses_pubipdns_Generated.json
-operationId: PublicIPAddresses_CreateOrUpdate
-statusCode: 200
-```
-
-**Fields:**
-- **exampleFile**
- - **Type:** Optional, String
- - Path to example file. Should be in format of "x-ms-example" files.
-- **operationId**
- - **Type:** Optional, String
- - OperationId defined in swagger operation. It could be skipped if the example file is referenced by only one operation so we could detect the operationId.
-- **statusCode:**
- - **Type:** Optional, Number
- - **Default:** 200
- - Expected response code.
- - For LRO it must be 200 to indicate succeeded result, and must be 400 to indicate failed result.
-- **requestUpdate**
- - **Type:** Optional, Array of [JsonPatchOp](#jsonpatchop)
- - Updates that applied to the requestParameters before sending it.
-- **responseUpdate**
- - **Type:** Optional, Array of [JsonPatchOp](#jsonpatchop)
- - Updates that applied to the responseExpected.
-- **outputVariables**
- - **Type:** Optional, Map from variable name to object with property:
- - **fromResponse**
- - **Type:** Required, String
- - Path to the response field to be used as variable.
-
-### Rest Call by ResourceName Tracking and Update
-
-**Example**
-```yaml
-- step: Create_publicIPAddresses_pubipdns
- resourceName: publicIPAddresses_pubipdns
- exampleFile: ../examples/Create_publicIPAddresses_pubipdns_Generated.json
- operationId: PublicIPAddresses_CreateOrUpdate
- statusCode: 200
-
-- step: Update_publicIPAddresses
- resourceName: publicIPAddresses_pubipdns
- resourceUpdate:
- - replace: /properties/location
- value: westus
-```
-
-Different steps with the same resourceName will be tracked by the test scenario. It knows that you are trying to update the same resource. You can use the first request with example to specify the request and resource id, then the following step with the same resourceName will use the same resource id to update the resource. For the
-
-**Fields:**
-- **resourceName**
- - **Type:** Required, String
- - The user-defined resource name of the resource to be tracked. It's only used as a name of that resource and do not need to be same as the actual resource name.
-- **resourceUpdate**
- - **Type:** Optional, Array of [JsonPatchOp](#jsonpatchop)
- - Array of changes to be applied to the resource.
-
-resourceUpdate will help to automate compute the request body and the expected response body. The algorithm will be:
-
-- Get the expected response body from previous step with same `resourceName`, or from current step with example loaded.
-- For each change in `resourceUpdate`, apply the change to the expected response body, mark as `computedAllProperties`.
-- Let new request body parameter value to be: `computedAllProperties` without `readOnly` fields and `x-ms-mutability` fields that don't contains `update`.
-- Let new response expected to be: `computedAllProperties` without `x-ms-secrets` fields and `x-ms-mutability` fields that don't contain `read`.
-- Let the operationId to be: resource PUT operationId.
-
-### JsonPatchOp
-
-JsonPatchOp is used to define the update operation on json. You could add, remove, replace, move, copy and merge on json path.
-All the json path used in JsonPatchOp is in format of [JsonPointer](https://datatracker.ietf.org/doc/html/rfc6901).
-
- - [JsonPatchOp](#jsonpatchop)
- - [JsonPatchOpAdd](#jsonpatchopadd)
- - [JsonPatchOpRemove](#jsonpatchopremove)
- - [JsonPatchOpReplace](#jsonpatchopreplace)
- - [JsonPatchOpMove](#jsonpatchopmove)
- - [JsonPatchOpCopy](#jsonpatchopcopy)
- - [JsonPatchOpMerge](#jsonpatchopmerge)
-#### JsonPatchOpAdd
-
-**Example**
-```yaml
-add: /properties/items
-value: 1
-```
-
-**Fields:**
-- **add**
- - **Type:** Required, JsonPointer
-- **value**
- - **Type:** Required, Any
-
-Add json property at specified path.
-1. If any segment of path does not exist, then it will be created.
-2. If any value already exists on the path, then it will be overwritten.
-3. If the parent of the destination is array, then the value will be inserted at the specified index.
-
-**Example of add**
-```
-apply:
-- add: /properties/location
- value: "eastus"
-
-on data:
-- { "properties": { } }
-
-result:
-- { "properties": { "location": "eastus" } } }
-
----
-apply:
-- add: /properties/items/1
- value: 4
-
-on data:
-- { "properties": { "items": [1, 2, 3] } }
-
-result:
-- { "properties": { "items": [1, 4, 2, 3] } }
-```
-
-#### JsonPatchOpRemove
-
-**Example**
-```yaml
-remove: /properties/items/1
-```
-
-**Fields:**
-- **remove**
- - **Type:** Required, JsonPointer
-
-Remove element at specified path.
-1. If any segment of path does not exist, then error will be thrown.
-2. If parent of the specified path is array, then the element will be removed from the array.
-
-**Example of remove**
-```
-apply:
-- remove: /properties/items
-
-on data:
-- { "properties": { "items": [1, 2, 3] } }
-
-result:
-- { "properties": { } }
-
----
-apply:
-- remove: /properties/items/1
-
-on data:
-- { "properties": { "items": [1, 2, 3] } }
-
-result:
-- { "properties": { "items": [1, 3] } }
-```
-
-#### JsonPatchOpReplace
-
-**Example**
-```yaml
-replace: /properties/items
-value: 1
-```
-
-**Fields:**
-- **replace**
- - **Type:** Required, JsonPointer
-- **value**
- - **Type:** Required, Any
-
-Replace json property at specified path.
-1. If any segment of path does not exist, error will be thrown.
-2. If any value already exists on the path, then it will be overwritten.
-
-**Example of replace**
-```
-apply:
-- replace: /properties/location
- value: "eastus"
-
-on data:
-- { "properties": { "location": "westus" } }
-
-result:
-- { "properties": { "location": "eastus" } } }
-```
-
-#### JsonPatchOpMove
-
-**Example**
-```yaml
-move: /properties/items
-path: /properties/items2
-```
-
-**Fields:**
-- **move**
- - **Type:** Required, JsonPointer
-- **path**
- - **Type:** Required, JsonPointer
-
-Move json property at specified path to another path. It works as a combination of remove followed by add. Array index is also supported and works as add/remove does.
-
-**Example of move**
-```
-apply:
-- move: /properties/items
- path: /properties/items2
-
-on data:
-- { "properties": { "items": [1, 2, 3] } }
-
-result:
-- { "properties": { "items2": [1, 2, 3] } }
-```
-#### JsonPatchOpCopy
-
-**Example**
-```yaml
-copy: /properties/items
-path: /properties/items2
-```
-
-**Fields:**
-- **copy**
- - **Type:** Required, JsonPointer
-- **path**
- - **Type:** Required, JsonPointer
-
-Copy json property at specified path to another path. Array index is also supported and works as add/remove does.
-
-**Example of copy**
-```
-apply:
-- copy: /properties/items
- path: /properties/items2
-
-on data:
-- { "properties": { "items": [1, 2, 3] } }
-
-result:
-- { "properties": { "items": [1, 2, 3] }, "items2": [1, 2, 3] } }
-```
-#### JsonPatchOpMerge
-
-**Example**
-```yaml
-merge: /properties/item
-value:
- a: 1
- b: 2
-```
-
-**Fields:**
-- **merge**
- - **Type:** Required, JsonPointer
-- **value**
- - **Type:** Required, Object
-
-Merge values into the object at specified path.
-1. Property value at the specified path must be an object.
-2. Properties with same key will be overwritten.
-
-**Example of merge**
-```
-apply:
-- merge: /properties
- value:
- a: 1
- b: 2
-
-on data:
-- { "properties": { "b": 0, "c": 0} }
-
-result:
-- { "properties": { "a": 1, "b": 2, "c": 0 } }
-```
\ No newline at end of file
diff --git a/documentation/test-scenario/references/Variables.md b/documentation/test-scenario/references/Variables.md
deleted file mode 100644
index 6c9329e57fc9..000000000000
--- a/documentation/test-scenario/references/Variables.md
+++ /dev/null
@@ -1,140 +0,0 @@
-# Variables in test scenario
-
-## Variable definition and replacement
-
-Variables could be defined in different level of test scenario:
-- Test Definition level variable definition
-- Test Scenario level variable definition
-- Test Step level variable definition
-
-Variable could be referenced by `$(variableName)`. Currently variable type must be string.
-
-For example, in the following test scenario:
-
-```yaml
-variables:
- resourceName: level-1
-
-test-scenarios:
-- definition: Create some resource
- variables:
- resourceName: level-2
- steps:
- - step: Create resource
- variables:
- resourceName: level-3
- exampleFile: ../examples/ResourceCreate.json
-```
-
-if in `../examples/ResourceCreate.json` we have `$(resourceName)` in some string, it would be replaced with `level-3`.
-
-Variables could also be defined on test running. For example you could set `subscriptionId` or `resourceGroupName` on the global scope. How to set global env is based on the test scenario consumer.
-
-Variables could be replaced recursively. For example if we have the following variables:
-```yaml
-variables:
- resourceName: abc
- resourceId: Microsoft.Contoso/$(resourceName)
-```
-
-Then `$(resourceId)` would be resolved to `Microsoft.Contoso/abc`.
-
-Variable resolving is limited to at most 100 times for certain string.
-
-## Convention: parameter name in example
-
-In one rest call step, if we have any parameter, for example it's named `param`, in the step requestParameters, with value `paramValue`, and test scenario has variable `param`, then by default, test scenario loader will:
-- replace the parameter value of `param` to `$(param)` so that it will reference the variable value.
-- replace `paramValue` to `$(param)` in every string in request body (in requestParameter) and in responseExpected.
-
-For example, for the following step with loaded requestParameter and responseExpected
-```yaml
-requestParameters:
- subscriptionId: 00000000-0000-0000-0000-000000000000
- resourceGroupName: testGroup
- resourceName: abc
- api-version: 2021-01-01
- parameters:
- properties:
- a: abc
-responseExpected:
- id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.Contoso/SomeResource/abc
- name: abc
- type: Microsoft.Contoso/SomeResource
- properties:
- a: abc
-```
-
-And when we are on this step, we already have `subscriptionId`, `resourceGroupName` and `resourceName` in variables, then the step will be replaced with:
-
-```yaml
-requestParameters:
- subscriptionId: $(subscriptionId)
- resourceGroupName: $(resourceGroupName)
- resourceName: $(resourceName)
- api-version: 2021-01-01
- parameters:
- properties:
- a: abc
-responseExpected:
- id: /subscriptions/$(subscriptionId)/resourceGroups/$(resourceGroupName)/providers/Microsoft.Contoso/SomeResource/$(resourceName)
- name: $(resourceName)
- type: Microsoft.Contoso/SomeResource
- properties:
- a: $(resourceName)
-```
-
-With this convention, you could control most of the parameters with variables.
-
-## Convention: location
-
-In one rest call step, if we have variable `location` (exact match) in the test scenario, and we have `location` as top level property defined in request body (`requestParameters[bodyParamName]`) and response body (responseExpected), then the top level location property will be replaced with variable value of location.
-
-For example,
-```yaml
-requestParameters:
- parameters:
- id: someId
- location: westus
-responseExpected:
- id: someId
- location: westus
-```
-
-When we have `location` variable defined, this step will be transformed to:
-
-```yaml
-requestParameters:
- parameters:
- id: someId
- location: $(location)
-responseExpected:
- id: someId
- location: $(location)
-```
-
-## Convention: Arm Template Deployment
-
-When you deploy arm template in test scenario, you could define template parameters and outputs. By default if the parameter name matches the variable exists and the parameter type is string, then the parameter value would use the variable value. If the template has output which is string type, the variables will be set with output values.
-
-For example, given the following arm template:
-
-```json
-{
- "parameters": {
- "userName": {
- "type": "string"
- }
- },
- "resources": [
- ],
- "outputs": {
- "nameResult": {
- "type": "string",
- "value": "[concat('prefix/', parameters['userName'])]"
- }
- }
-}
-```
-
-If we have variable `userName` defined with `abc`, then we will have variable `nameResult` defined with value `prefix/abc` so that following steps in the test scenario could use variable `nameResult`.
diff --git a/documentation/test-scenario/references/v1.0/schema.json b/documentation/test-scenario/references/v1.0/schema.json
deleted file mode 100644
index 8d31455e0eb5..000000000000
--- a/documentation/test-scenario/references/v1.0/schema.json
+++ /dev/null
@@ -1,374 +0,0 @@
-{
- "$schema": "http://json-schema.org/draft-04/schema#",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/VariableScope"
- }
- ],
- "properties": {
- "scope": {
- "type": "string",
- "enum": [
- "ResourceGroup"
- ]
- },
- "requiredVariables": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "prepareSteps": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/TestStep"
- }
- },
- "testScenarios": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/TestScenario"
- }
- }
- },
- "required": [
- "testScenarios"
- ],
- "definitions": {
- "Name": {
- "type": "string",
- "pattern": "^[a-zA-Z0-9_-]+$"
- },
- "JsonPointer": {
- "type": "string",
- "description": "String syntax for identifying a specific value within JSON document",
- "pattern": "^(/(([^/~])|(~[01]))*)*$"
- },
- "VariableScope": {
- "type": "object",
- "properties": {
- "variables": {
- "type": "object",
- "additionalProperties": true
- }
- }
- },
- "TestStep": {
- "oneOf": [
- {
- "$ref": "#/definitions/TestStepRestCall"
- },
- {
- "$ref": "#/definitions/TestStepArmTemplateDeployment"
- },
- {
- "$ref": "#/definitions/TestStepRawCall"
- }
- ]
- },
- "TestStepBase": {
- "properties": {
- "step": {
- "$ref": "#/definitions/Name"
- },
- "type": {
- "type": "string"
- },
- "outputVariables": {
- "type": "object",
- "additionalProperties": {
- "type": "object",
- "properties": {
- "fromResponse": {
- "type": "string"
- }
- }
- }
- }
- },
- "required":[
- "step"
- ]
- },
- "TestStepArmTemplateDeployment": {
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/TestStepBase"
- }
- ],
- "properties": {
- "type": {
- "type": "string",
- "enum": [
- "armTemplate"
- ]
- },
- "armTemplateDeployment": {
- "type": "string"
- },
- "armTemplateParameters": {
- "type": "string"
- }
- },
- "required": [
- "armTemplateDeployment"
- ]
- },
- "TestStepRestCall": {
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/VariableScope"
- },
- {
- "$ref": "#/definitions/TestStepBase"
- }
- ],
- "properties": {
- "type": {
- "type": "string",
- "enum": [
- "exampleFile"
- ]
- },
- "resourceName": {
- "type": "string"
- },
- "exampleFile": {
- "type": "string"
- },
- "resourceUpdate": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/JsonPatchOp"
- },
- "minItems": 1
- },
- "requestUpdate": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/JsonPatchOp"
- }
- },
- "responseUpdate": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/JsonPatchOp"
- }
- },
- "operationId": {
- "type": "string"
- },
- "statusCode": {
- "type": "number"
- }
- }
- },
- "TestStepRawCall": {
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/VariableScope"
- },
- {
- "$ref": "#/definitions/TestStepBase"
- }
- ],
- "properties": {
- "type": {
- "type": "string",
- "enum": [
- "rawCall"
- ]
- },
- "method": {
- "type": "string",
- "enum": [
- "GET",
- "PUT",
- "PATCH",
- "POST",
- "DELETE",
- "OPTIONS",
- "HEAD"
- ]
- },
- "url": {
- "type": "string"
- },
- "requestHeaders": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- "requestBody": {
- "type": "string"
- },
- "statusCode": {
- "type": "number"
- },
- "responseExpected": {
- "type": "string"
- }
- },
- "required": [
- "method",
- "url",
- "requestHeaders",
- "requestBody"
- ]
- },
- "JsonPatchOp": {
- "type": "object",
- "oneOf": [
- {
- "$ref": "#/definitions/JsonPatchOpAdd"
- },
- {
- "$ref": "#/definitions/JsonPatchOpRemove"
- },
- {
- "$ref": "#/definitions/JsonPatchOpReplace"
- },
- {
- "$ref": "#/definitions/JsonPatchOpCopy"
- },
- {
- "$ref": "#/definitions/JsonPatchOpMove"
- },
- {
- "$ref": "#/definitions/JsonPatchOpMerge"
- }
- ]
- },
- "JsonPatchOpAdd": {
- "type": "object",
- "required": [
- "add",
- "value"
- ],
- "properties": {
- "add": {
- "$ref": "#/definitions/JsonPointer"
- },
- "value": {}
- },
- "additionalProperties": false
- },
- "JsonPatchOpRemove": {
- "type": "object",
- "required": [
- "remove"
- ],
- "properties": {
- "remove": {
- "$ref": "#/definitions/JsonPointer"
- }
- },
- "additionalProperties": false
- },
- "JsonPatchOpReplace": {
- "type": "object",
- "required": [
- "replace",
- "value"
- ],
- "properties": {
- "replace": {
- "$ref": "#/definitions/JsonPointer"
- },
- "value": {}
- },
- "additionalProperties": false
- },
- "JsonPatchOpCopy": {
- "type": "object",
- "required": [
- "copy",
- "path"
- ],
- "properties": {
- "copy": {
- "$ref": "#/definitions/JsonPointer"
- },
- "path": {
- "$ref": "#/definitions/JsonPointer"
- }
- },
- "additionalProperties": false
- },
- "JsonPatchOpMove": {
- "type": "object",
- "required": [
- "move",
- "path"
- ],
- "properties": {
- "move": {
- "$ref": "#/definitions/JsonPointer"
- },
- "path": {
- "$ref": "#/definitions/JsonPointer"
- }
- },
- "additionalProperties": false
- },
- "JsonPatchOpMerge": {
- "type": "object",
- "required": [
- "merge",
- "value"
- ],
- "properties": {
- "merge": {
- "$ref": "#/definitions/JsonPointer"
- },
- "value": {
- "type": "object",
- "additionalProperties": true
- }
- },
- "additionalProperties": false
- },
- "TestScenario": {
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/VariableScope"
- }
- ],
- "properties": {
- "scenario": {
- "$ref": "#/definitions/Name",
- "description": "Name of scenario"
- },
- "description": {
- "type": "string"
- },
- "requiredVariables": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "steps": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/TestStep"
- }
- },
- "dependsOn": {
- "$ref": "#/definitions/Name",
- "description": "Name of scenario that is depended on"
- }
- },
- "required": [
- "description",
- "steps"
- ]
- }
- }
-}
diff --git a/profile/2020-09-01-hybrid.json b/profile/2020-09-01-hybrid.json
index 008d361bea93..d3fc6565d644 100644
--- a/profile/2020-09-01-hybrid.json
+++ b/profile/2020-09-01-hybrid.json
@@ -651,11 +651,15 @@
},
"data-plane": {
"microsoft.keyvault": {
- "2016-10-01": [
+ "7.1": [
{
- "resourceType": "*",
- "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/data-plane/Microsoft.KeyVault/stable/2016-10-01/keyvault.json"
- }
+ "resourceType": "secrets",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/secrets.json"
+ },
+ {
+ "resourceType": "keys",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.1/keys.json"
+ }
]
},
"microsoft.containerregistry": {
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/adp.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/adp.json
new file mode 100644
index 000000000000..db6b8de68e43
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/adp.json
@@ -0,0 +1,1235 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-01-preview",
+ "title": "adp",
+ "description": "Microsoft Autonomous Development Platform"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.AutonomousDevelopmentPlatform/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available Autonomous Development Platform provider operations",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "List operations": {
+ "$ref": "./examples/AdpOperationsList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AutonomousDevelopmentPlatform/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_CheckNameAvailability",
+ "description": "Checks that the account name is valid and is not already in use",
+ "x-ms-examples": {
+ "AccountCheckNameAvailability": {
+ "$ref": "./examples/AdpAccountCheckNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AccountCheckNameAvailabilityParameters"
+ },
+ "description": "The checkNameAvailability parameters."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the account name availability was successful",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AutonomousDevelopmentPlatform/accounts": {
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_List",
+ "description": "List all ADP accounts available under the subscription",
+ "x-ms-examples": {
+ "List accounts": {
+ "$ref": "./examples/AdpAccountsList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AccountList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AutonomousDevelopmentPlatform/accounts": {
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_ListByResourceGroup",
+ "description": "List all ADP accounts available under the resource group",
+ "x-ms-examples": {
+ "List accounts by resource group": {
+ "$ref": "./examples/AdpAccountsListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AccountList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/{accountName}": {
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_Get",
+ "description": "Gets the properties of an ADP account",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The ADP account properties were retrieved successfully",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get account": {
+ "$ref": "./examples/AdpAccountGet.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_Update",
+ "x-ms-long-running-operation": true,
+ "description": "Updates the properties of an existing ADP account",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "parameters",
+ "description": "The parameters to provide for the current ADP account",
+ "schema": {
+ "$ref": "#/definitions/AccountPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource was updated successfully",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "201": {
+ "description": "The resource will be updated asynchronously",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch account": {
+ "$ref": "./examples/AdpAccountPatch.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_CreateOrUpdate",
+ "description": "Creates or updates an ADP account",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "parameters",
+ "description": "The parameters to provide for the ADP account",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The ADP account was successfully updated",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "201": {
+ "description": "The resource will be updated asynchronously",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Put account": {
+ "$ref": "./examples/AdpAccountPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_Delete",
+ "description": "Deletes an ADP account",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The ADP account was successfully deleted"
+ },
+ "202": {
+ "description": "The ADP account will be deleted asynchronously"
+ },
+ "204": {
+ "description": "The ADP account does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete account": {
+ "$ref": "./examples/AdpAccountDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/{accountName}/dataPools": {
+ "get": {
+ "tags": [
+ "DataPools"
+ ],
+ "operationId": "DataPools_List",
+ "description": "Lists the data pools under the ADP account",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of data pools that was successfully retrieved",
+ "schema": {
+ "$ref": "#/definitions/DataPoolList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Data Pools": {
+ "$ref": "./examples/AdpDataPoolsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/{accountName}/dataPools/{dataPoolName}": {
+ "get": {
+ "tags": [
+ "DataPools"
+ ],
+ "operationId": "DataPools_Get",
+ "description": "Gets the properties of a Data Pool",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataPoolNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Data Pool that was successfully retrieved",
+ "schema": {
+ "$ref": "#/definitions/DataPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Data Pool": {
+ "$ref": "./examples/AdpDataPoolGet.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DataPools"
+ ],
+ "operationId": "DataPools_Update",
+ "description": "Updates the properties of an existing Data Pool",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataPoolNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "parameters",
+ "description": "The parameters to provide for the Data Pool",
+ "schema": {
+ "$ref": "#/definitions/DataPoolPatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Data Pool was updated successfully",
+ "schema": {
+ "$ref": "#/definitions/DataPool"
+ }
+ },
+ "201": {
+ "description": "The Data Pool will be updated asynchronously",
+ "schema": {
+ "$ref": "#/definitions/DataPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Patch Data Pool": {
+ "$ref": "./examples/AdpDataPoolPatch.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DataPools"
+ ],
+ "operationId": "DataPools_CreateOrUpdate",
+ "description": "Creates or updates a Data Pool",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataPoolNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "parameters",
+ "description": "The parameters to provide for the Data Pool",
+ "schema": {
+ "$ref": "#/definitions/DataPool"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Data Pool was successfully updated",
+ "schema": {
+ "$ref": "#/definitions/DataPool"
+ }
+ },
+ "201": {
+ "description": "The Data Pool will be updated asynchronously",
+ "schema": {
+ "$ref": "#/definitions/DataPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Put Data Pool": {
+ "$ref": "./examples/AdpDataPoolPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DataPools"
+ ],
+ "operationId": "DataPools_Delete",
+ "description": "Deletes a Data Pool",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataPoolNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Data Pool was successfully deleted"
+ },
+ "202": {
+ "description": "The Data Pool will be deleted asynchronously"
+ },
+ "204": {
+ "description": "The Data Pool does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Data Pool": {
+ "$ref": "./examples/AdpDataPoolDelete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AccountCheckNameAvailabilityParameters": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The account name",
+ "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*"
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.AutonomousDevelopmentPlatform/accounts"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": true
+ },
+ "description": "The type of resource, Microsoft.AutonomousDevelopmentPlatform/accounts"
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "The parameters used to check the availability of the account name"
+ },
+ "CheckNameAvailabilityResult": {
+ "description": "The checkNameAvailability operation response",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "Gets a boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or is invalid and cannot be used"
+ },
+ "reason": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets the reason that an account name could not be used. The reason element is only returned if nameAvailable is false",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "x-ms-enum": {
+ "name": "CheckNameAvailabilityReason",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets an error message explaining the reason value in more detail"
+ }
+ }
+ },
+ "Tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags"
+ },
+ "Account": {
+ "type": "object",
+ "description": "ADP account",
+ "properties": {
+ "properties": {
+ "description": "List of account properties",
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccountProperties"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource",
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "AccountPatch": {
+ "type": "object",
+ "description": "ADP account",
+ "properties": {
+ "properties": {
+ "description": "List of account properties",
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccountProperties"
+ },
+ "tags": {
+ "$ref": "#/definitions/Tags"
+ }
+ }
+ },
+ "AccountProperties": {
+ "type": "object",
+ "description": "ADP account properties",
+ "properties": {
+ "accountId": {
+ "description": "The account's data-plane ID",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets the status of the account at the time the operation was called",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Accepted",
+ "Provisioning",
+ "Deleting"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "AccountList": {
+ "type": "object",
+ "description": "The list operation response, that contains the data pools and their properties",
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Account"
+ },
+ "description": "List of accounts and their properties"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any"
+ }
+ }
+ },
+ "DataPool": {
+ "type": "object",
+ "description": "ADP Data Pool",
+ "properties": {
+ "properties": {
+ "description": "List of data pool properties",
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DataPoolProperties"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource",
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "DataPoolPatch": {
+ "type": "object",
+ "description": "ADP Data Pool",
+ "properties": {
+ "properties": {
+ "description": "List of data pool properties",
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DataPoolBaseProperties"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource",
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ]
+ },
+ "DataPoolBaseProperties": {
+ "type": "object",
+ "description": "Data Pool properties",
+ "properties": {
+ "dataPoolId": {
+ "description": "The Data Pool's data-plane ID",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets the status of the data pool at the time the operation was called",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Accepted",
+ "Provisioning",
+ "Deleting"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "locations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataPoolLocation"
+ },
+ "description": "Gets or sets the collection of locations where Data Pool resources should be created"
+ },
+ "tags": {
+ "$ref": "#/definitions/Tags"
+ }
+ }
+ },
+ "DataPoolProperties": {
+ "type": "object",
+ "description": "Data Pool properties",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataPoolBaseProperties"
+ }
+ ],
+ "required": [
+ "locations"
+ ]
+ },
+ "DataPoolLocation": {
+ "type": "object",
+ "description": "Location of a Data Pool",
+ "properties": {
+ "name": {
+ "description": "The location name",
+ "type": "string"
+ },
+ "encryption": {
+ "description": "Encryption properties of a Data Pool location",
+ "$ref": "#/definitions/DataPoolEncryption"
+ },
+ "storageSku": {
+ "description": "The Storage SKU. Default: Standard_ZRS.",
+ "$ref": "#/definitions/storageSku",
+ "x-nullable": true
+ },
+ "storageAccountCount": {
+ "description": "The amount of storage accounts provisioned per Data Pool. Default: 5",
+ "type": "integer",
+ "minimum": 1,
+ "format": "int32"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "storageSku": {
+ "description": "The Storage SKU.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The SKU name",
+ "type": "string",
+ "enum": [
+ "Standard_LRS",
+ "Standard_GRS",
+ "Standard_Ragrs",
+ "Standard_ZRS",
+ "Premium_LRS",
+ "Premium_ZRS",
+ "Standard_Gzrs",
+ "Standard_Ragzrs"
+ ],
+ "x-ms-enum": {
+ "name": "StorageSkuName",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "DataPoolEncryption": {
+ "type": "object",
+ "description": "Encryption properties of a Data Pool",
+ "properties": {
+ "keyVaultUri": {
+ "type": "string",
+ "description": "The URI of a soft delete-enabled Key Vault that is in the same location as the Data Pool location"
+ },
+ "keyName": {
+ "type": "string",
+ "description": "The name of Key Vault key"
+ },
+ "keyVersion": {
+ "type": "string",
+ "description": "The version of Key Vault key"
+ },
+ "userAssignedIdentity": {
+ "type": "string",
+ "description": "The resource ID of a user-assigned Managed Identity used to access the encryption key in the Key Vault. Requires access to the key operations get, wrap, unwrap, and recover"
+ }
+ },
+ "required": [
+ "keyVaultUri",
+ "keyName",
+ "userAssignedIdentity"
+ ]
+ },
+ "DataPoolList": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataPool"
+ },
+ "description": "List of data pools and their properties"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any"
+ }
+ },
+ "description": "The list operation response, that contains the data pools and their properties"
+ },
+ "Operation": {
+ "type": "object",
+ "description": "Operation detail payload",
+ "properties": {
+ "name": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "actionType": {
+ "description": "Indicates the action type",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Display of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Properties of the operation",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OperationDisplay": {
+ "type": "object",
+ "description": "Operation display payload",
+ "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": {
+ "type": "object",
+ "description": "Additional details about an operation",
+ "x-ms-client-flatten": true,
+ "properties": {
+ "serviceSpecification": {
+ "description": "Details about a service operation",
+ "$ref": "#/definitions/OperationServiceSpecification"
+ }
+ }
+ },
+ "OperationServiceSpecification": {
+ "type": "object",
+ "description": "Details about a service operation",
+ "properties": {
+ "logSpecifications": {
+ "description": "Details about operations related to logs",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationLogSpecification"
+ }
+ },
+ "metricSpecifications": {
+ "description": "Details about operations related to metrics",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationMetricSpecification"
+ }
+ }
+ }
+ },
+ "OperationLogSpecification": {
+ "type": "object",
+ "description": "Details about an operation related to logs",
+ "properties": {
+ "name": {
+ "description": "The name of the log category",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized display name",
+ "type": "string"
+ },
+ "blobDuration": {
+ "description": "Blobs created in the customer storage account, per hour",
+ "type": "string"
+ }
+ }
+ },
+ "OperationMetricSpecification": {
+ "type": "object",
+ "description": "Details about an operation related to metrics",
+ "properties": {
+ "name": {
+ "description": "The name of the metric",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Localized display name of the metric",
+ "type": "string"
+ },
+ "displayDescription": {
+ "description": "The description of the metric",
+ "type": "string"
+ },
+ "unit": {
+ "description": "The unit that the metric is measured in",
+ "type": "string"
+ },
+ "aggregationType": {
+ "description": "The type of metric aggregation",
+ "type": "string"
+ },
+ "enableRegionalMdmAccount": {
+ "description": "Whether or not the service is using regional MDM accounts",
+ "type": "string"
+ },
+ "sourceMdmAccount": {
+ "description": "The name of the MDM account",
+ "type": "string"
+ },
+ "sourceMdmNamespace": {
+ "description": "The name of the MDM namespace",
+ "type": "string"
+ },
+ "availabilities": {
+ "description": "Defines how often data for metrics becomes available",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationMetricAvailability"
+ }
+ }
+ }
+ },
+ "OperationMetricAvailability": {
+ "type": "object",
+ "description": "Defines how often data for a metric becomes available",
+ "properties": {
+ "timeGrain": {
+ "description": "The granularity for the metric",
+ "type": "string"
+ },
+ "blobDuration": {
+ "description": "Blob created in the customer storage account, per hour",
+ "type": "string"
+ }
+ }
+ },
+ "OperationListResult": {
+ "type": "object",
+ "description": "Available operations of the service",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of operations supported by the Resource Provider"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "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": {
+ "AccountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the ADP account",
+ "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*",
+ "maxLength": 50,
+ "x-ms-parameter-location": "method"
+ },
+ "DataPoolNameParameter": {
+ "name": "dataPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Data Pool",
+ "pattern": "^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*",
+ "maxLength": 50,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountCheckNameAvailability.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountCheckNameAvailability.json
new file mode 100644
index 000000000000..150b73ecd32e
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountCheckNameAvailability.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-11-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "name": "adp1",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountDelete.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountDelete.json
new file mode 100644
index 000000000000..32e1a38e5eea
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "adpClient",
+ "api-version": "2021-11-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountGet.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountGet.json
new file mode 100644
index 000000000000..f940aae9b031
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "adpClient",
+ "api-version": "2021-11-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1",
+ "name": "adp1",
+ "location": "Global",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts",
+ "tags": {},
+ "properties": {
+ "accountId": "id"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountPatch.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountPatch.json
new file mode 100644
index 000000000000..e47fee89306c
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountPatch.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "adpClient",
+ "api-version": "2021-11-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1",
+ "name": "adp1",
+ "location": "Global",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts",
+ "tags": {},
+ "properties": {}
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1",
+ "name": "adp1",
+ "location": "Global",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts",
+ "tags": {},
+ "properties": {}
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountPut.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountPut.json
new file mode 100644
index 000000000000..2d85fa92e934
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountPut.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "adpClient",
+ "api-version": "2021-11-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "location": "Global",
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1",
+ "name": "adp1",
+ "location": "Global",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts",
+ "tags": {},
+ "properties": {}
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1",
+ "name": "adp1",
+ "location": "Global",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts",
+ "tags": {},
+ "properties": {}
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountsList.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountsList.json
new file mode 100644
index 000000000000..c921c1a6c51b
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountsList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceGroupName": "adpClient",
+ "api-version": "2021-11-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1",
+ "name": "adp1",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts",
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "accountId": "id"
+ }
+ }
+ ],
+ "nextLink": "link"
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountsListByResourceGroup.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountsListByResourceGroup.json
new file mode 100644
index 000000000000..9fa1dc761ec3
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpAccountsListByResourceGroup.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-11-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "adpClient"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1",
+ "name": "adp1",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts",
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "accountId": "id"
+ }
+ }
+ ],
+ "nextLink": "link"
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolDelete.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolDelete.json
new file mode 100644
index 000000000000..69e18d83dc3e
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "dataPoolName": "sampledp",
+ "resourceGroupName": "adpClient",
+ "api-version": "2021-11-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolGet.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolGet.json
new file mode 100644
index 000000000000..f064f7781360
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "dataPoolName": "sampledp",
+ "resourceGroupName": "adpClient",
+ "api-version": "2021-11-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1/dataPools/dp1",
+ "name": "dp1",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools",
+ "properties": {
+ "dataPoolId": "id",
+ "locations": [
+ {
+ "name": "westus"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolPatch.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolPatch.json
new file mode 100644
index 000000000000..d0a7dbf11eaf
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolPatch.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "dataPoolName": "sampledp",
+ "resourceGroupName": "adpClient",
+ "api-version": "2021-11-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "locations": [
+ {
+ "name": "westus"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1/dataPools/dp1",
+ "name": "dp1",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools",
+ "properties": {
+ "locations": [
+ {
+ "name": "westus"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1/dataPools/dp1",
+ "name": "dp1",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools",
+ "properties": {
+ "locations": [
+ {
+ "name": "westus"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolPut.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolPut.json
new file mode 100644
index 000000000000..0c7be144f372
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolPut.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "dataPoolName": "sampledp",
+ "resourceGroupName": "adpClient",
+ "api-version": "2021-11-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "locations": [
+ {
+ "name": "westus",
+ "encryption": {
+ "keyVaultUri": "https://vaulturi",
+ "keyName": "key1",
+ "keyVersion": "123",
+ "userAssignedIdentity": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1/dataPools/dp1",
+ "name": "dp1",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools",
+ "properties": {
+ "locations": [
+ {
+ "name": "westus"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1/dataPools/dp1",
+ "name": "dp1",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools",
+ "properties": {
+ "locations": [
+ {
+ "name": "westus"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolsList.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolsList.json
new file mode 100644
index 000000000000..e655afe44af2
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpDataPoolsList.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "sampleacct",
+ "resourceGroupName": "adpClient",
+ "api-version": "2021-11-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.AutonomousDevelopmentPlatform/accounts/adp1/dataPools/dp1",
+ "name": "dp1",
+ "type": "Microsoft.AutonomousDevelopmentPlatform/accounts/dataPools",
+ "properties": {
+ "dataPoolId": "id",
+ "locations": [
+ {
+ "name": "westus"
+ }
+ ]
+ }
+ }
+ ],
+ "nextLink": "link"
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpOperationsList.json b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpOperationsList.json
new file mode 100644
index 000000000000..e0d44d3e11da
--- /dev/null
+++ b/specification/adp/resource-manager/Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/examples/AdpOperationsList.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2021-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.AutonomousDevelopmentPlatform/accounts/read",
+ "display": {
+ "provider": "Microsoft Autonomous Development Platform",
+ "resource": "Account",
+ "operation": "Read accounts",
+ "description": "Read accounts"
+ }
+ },
+ {
+ "name": "Microsoft.AutonomousDevelopmentPlatform/accounts/write",
+ "display": {
+ "provider": "Microsoft Autonomous Development Platform",
+ "resource": "Account",
+ "operation": "Update accounts",
+ "description": "Update accounts"
+ }
+ },
+ {
+ "name": "Microsoft.AutonomousDevelopmentPlatform/accounts/delete",
+ "display": {
+ "provider": "Microsoft Autonomous Development Platform",
+ "resource": "Account",
+ "operation": "Delete accounts",
+ "description": "Delete accounts"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/adp/resource-manager/readme.csharp.md b/specification/adp/resource-manager/readme.csharp.md
index 5ed6552b1f8c..15d85c60b02b 100644
--- a/specification/adp/resource-manager/readme.csharp.md
+++ b/specification/adp/resource-manager/readme.csharp.md
@@ -9,6 +9,7 @@ csharp:
license-header: MICROSOFT_MIT_NO_VERSION
payload-flattening-threshold: 1
clear-output-folder: true
+ client-side-validation: false
namespace: Microsoft.Azure.Management.AutonomousDevelopmentPlatform
output-folder: $(csharp-sdks-folder)/adp/Microsoft.Azure.Management.AutonomousDevelopmentPlatform/Generated
```
diff --git a/specification/adp/resource-manager/readme.go.md b/specification/adp/resource-manager/readme.go.md
index 404729b32c7f..eea4256dd09a 100644
--- a/specification/adp/resource-manager/readme.go.md
+++ b/specification/adp/resource-manager/readme.go.md
@@ -15,6 +15,7 @@ go:
batch:
- tag: package-2020-07-01-preview
- tag: package-2021-02-01-preview
+ - tag: package-2021-11-01-preview
```
Please also specify `--go-sdks-folder=`.
diff --git a/specification/adp/resource-manager/readme.md b/specification/adp/resource-manager/readme.md
index 533f76323c23..3391e0d5d650 100644
--- a/specification/adp/resource-manager/readme.md
+++ b/specification/adp/resource-manager/readme.md
@@ -28,7 +28,7 @@ These are the global settings for the adp.
title: AdpManagementClient
openapi-type: arm
openapi-subtype: rpaas
-tag: package-2021-02-01-preview
+tag: package-2021-11-01-preview
```
### Tag: package-2020-07-01-preview
@@ -49,6 +49,15 @@ input-file:
- Microsoft.AutonomousDevelopmentPlatform/preview/2021-02-01-preview/adp.json
```
+### Tag: package-2021-11-01-preview
+
+```yaml $(tag) == 'package-2021-11-01-preview'
+version: 2021-11-01-preview
+version-with-underscores: 2021_11_01_preview
+input-file:
+ - Microsoft.AutonomousDevelopmentPlatform/preview/2021-11-01-preview/adp.json
+```
+
---
# Code Generation
@@ -64,9 +73,6 @@ swagger-to-sdk:
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- - repo: azure-sdk-for-ruby
- after_scripts:
- - bundle install && rake arm:regen_all_profiles['azure_mgmt_adp']
- repo: azure-cli-extensions
- repo: azure-resource-manager-schemas
```
@@ -79,10 +85,6 @@ See configuration in [readme.go.md](./readme.go.md)
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)
@@ -90,5 +92,3 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
## CSharp
See configuration in [readme.csharp.md](./readme.csharp.md)
-
-
diff --git a/specification/adp/resource-manager/readme.python.md b/specification/adp/resource-manager/readme.python.md
index 9b8f84a4ce14..365fa9086cb0 100644
--- a/specification/adp/resource-manager/readme.python.md
+++ b/specification/adp/resource-manager/readme.python.md
@@ -3,34 +3,21 @@
These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-```yaml $(track2)
+``` yaml $(track2)
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
package-name: azure-mgmt-adp
-clear-output-folder: true
no-namespace-folders: true
-modelerfour:
- lenient-model-deduplication: true
-```
-
-```yaml $(multiapi)
+package-version: 1.0.0b1
clear-output-folder: true
-batch:
- - tag: package-2020-07-01-preview
- - tag: package-2021-02-01-preview
- - multiapiscript: true
```
-``` yaml $(multiapiscript)
-output-folder: $(python-sdks-folder)/adp/azure-mgmt-adp/azure/mgmt/adp/
-clear-output-folder: false
-perform-load: false
+``` yaml $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/adp/azure-mgmt-adp/azure/mgmt/adp
```
-``` yaml
-namespace: azure.mgmt.adp.v$(version-with-underscores)
-output-folder: $(python-sdks-folder)/adp/azure-mgmt-adp/azure/mgmt/adp/v$(version-with-underscores)
-python:
- namespace: azure.mgmt.adp.v$(version-with-underscores)
- output-folder: $(python-sdks-folder)/adp/azure-mgmt-adp/azure/mgmt/adp/v$(version-with-underscores)
+``` yaml $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/adp/azure-mgmt-adp
```
diff --git a/specification/adp/resource-manager/readme.ruby.md b/specification/adp/resource-manager/readme.ruby.md
deleted file mode 100644
index e4fa1128d1cb..000000000000
--- a/specification/adp/resource-manager/readme.ruby.md
+++ /dev/null
@@ -1,22 +0,0 @@
-## Ruby
-
-These settings apply only when `--ruby` is specified on the command line.
-
-```yaml
-package-name: azure_mgmt_adp
-package-version: 2021-02-01-preview
-azure-arm: true
-```
-
-``` yaml $(ruby) && $(multiapi)
-batch:
- - tag: package-2020-07-01-preview
- - tag: package-2021-02-01-preview
-```
-
-Please also specify `--ruby-sdks-folder=`.
-
-```yaml $(ruby)
-namespace: Azure::AutonomousDevelopmentPlatform::Mgmt::V$(version-with-underscores)
-output-folder: $(ruby-sdks-folder)/management/azure_mgmt_adp/lib
-```
diff --git a/specification/adp/resource-manager/readme.terraform.md b/specification/adp/resource-manager/readme.terraform.md
deleted file mode 100644
index d5e4339768cc..000000000000
--- a/specification/adp/resource-manager/readme.terraform.md
+++ /dev/null
@@ -1,20 +0,0 @@
-
-## terraform
-
-These settings apply only when `--terraform` is specified on the command line.
-
-``` yaml $(terraform)
-terraform:
- cli-name: adp
- package-name: adp
-clear-output-folder: true
-output-folder: $(terraform-output-folder)/adp
-```
-
-``` yaml $(tag) == 'package-2020-07-01-preview' && $(terraform)
-gosdk-folder: services/preview/adp/mgmt/2020-07-01-preview/adp
-```
-
-``` yaml $(tag) == 'package-2021-02-01-preview' && $(terraform)
-gosdk-folder: services/preview/adp/mgmt/2021-02-01-preview/adp
-```
\ No newline at end of file
diff --git a/specification/advisor/resource-manager/readme.go.md b/specification/advisor/resource-manager/readme.go.md
index 1d5c401f9e29..05edbbf7af02 100644
--- a/specification/advisor/resource-manager/readme.go.md
+++ b/specification/advisor/resource-manager/readme.go.md
@@ -2,13 +2,21 @@
These settings apply only when `--go` is specified on the command line.
-``` yaml $(go)
+``` yaml $(go) && !$(track2)
go:
license-header: MICROSOFT_MIT_NO_VERSION
namespace: advisor
clear-output-folder: true
```
+``` yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/resourcemanager/advisor/armadvisor
+module: github.com/Azure/azure-sdk-for-go/$(module-name)
+output-folder: $(go-sdk-folder)/$(module-name)
+azure-arm: true
+```
+
### Go multi-api
``` yaml $(go) && $(multiapi)
diff --git a/specification/advisor/resource-manager/readme.md b/specification/advisor/resource-manager/readme.md
index 6e9ca7ba8d72..a65af7164ea2 100644
--- a/specification/advisor/resource-manager/readme.md
+++ b/specification/advisor/resource-manager/readme.md
@@ -88,6 +88,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-resource-manager-schemas
diff --git a/specification/agrifood/resource-manager/readme.go.md b/specification/agrifood/resource-manager/readme.go.md
index 7acfd99fba12..3a27909d9e3c 100644
--- a/specification/agrifood/resource-manager/readme.go.md
+++ b/specification/agrifood/resource-manager/readme.go.md
@@ -4,7 +4,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/agrifood/armagrifood
+module-name: sdk/resourcemanager/agrifood/armagrifood
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
diff --git a/specification/agrifood/resource-manager/readme.md b/specification/agrifood/resource-manager/readme.md
index 0ba226c8c8ee..7108e2e8edbf 100644
--- a/specification/agrifood/resource-manager/readme.md
+++ b/specification/agrifood/resource-manager/readme.md
@@ -50,6 +50,7 @@ This is not used by Autorest itself.
```yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-python-track2
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-js
```
## Go
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json
index 8ae19f29a9e5..a2fc3f89d47e 100644
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json
@@ -45,6 +45,12 @@
"schema": {
"$ref": "#/definitions/operationsList"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
}
},
"x-ms-pageable": {
@@ -73,6 +79,12 @@
"schema": {
"$ref": "#/definitions/alertsMetaData"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
}
},
"x-ms-examples": {
@@ -579,6 +591,7 @@
"description": "Determines number of alerts returned per page in response. Permissible value is between 1 to 250. When the \"includeContent\" filter is selected, maximum value allowed is 25. Default value is 25.",
"name": "pageCount",
"type": "integer",
+ "format": "int64",
"in": "query",
"required": false,
"x-ms-parameter-location": "method"
@@ -768,6 +781,7 @@
}
},
"alert": {
+ "type": "object",
"description": "An alert created in alert management service.",
"allOf": [
{
@@ -781,6 +795,7 @@
}
},
"alertsList": {
+ "type": "object",
"description": "List the alerts.",
"properties": {
"nextLink": {
@@ -969,6 +984,7 @@
}
},
"alertModification": {
+ "type": "object",
"description": "Alert Modification details",
"allOf": [
{
@@ -1000,6 +1016,7 @@
}
},
"alertModificationItem": {
+ "type": "object",
"description": "Alert modification item.",
"properties": {
"modificationEvent": {
@@ -1047,6 +1064,7 @@
}
},
"alertsSummary": {
+ "type": "object",
"description": "Summary of alerts based on the input filters and 'groupby' parameters.",
"allOf": [
{
@@ -1065,10 +1083,12 @@
"properties": {
"total": {
"type": "integer",
+ "format": "int64",
"description": "Total count of the result set."
},
"smartGroupsCount": {
"type": "integer",
+ "format": "int64",
"description": "Total count of the smart groups."
},
"groupedby": {
@@ -1094,6 +1114,7 @@
},
"count": {
"type": "integer",
+ "format": "int64",
"description": "Count of the aggregated field"
},
"groupedby": {
@@ -1110,6 +1131,7 @@
}
},
"alertsMetaData": {
+ "type": "object",
"description": "alert meta data information.",
"properties": {
"properties": {
@@ -1118,6 +1140,7 @@
}
},
"alertsMetaDataProperties": {
+ "type": "object",
"description": "alert meta data property bag",
"discriminator": "metadataIdentifier",
"required": [
@@ -1138,6 +1161,7 @@
}
},
"MonitorServiceList": {
+ "type": "object",
"title": "Monitor service details",
"description": "Monitor service details",
"required": [
@@ -1162,6 +1186,7 @@
}
},
"MonitorServiceDetails": {
+ "type": "object",
"description": "Details of a monitor service",
"properties": {
"name": {
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json
index c30ce89e0d8a..e723ddff0685 100644
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json
@@ -403,6 +403,7 @@
"description": "Determines number of alerts returned per page in response. Permissible value is between 1 to 250. When the \"includeContent\" filter is selected, maximum value allowed is 25. Default value is 25.",
"name": "pageCount",
"type": "integer",
+ "format": "int64",
"in": "query",
"required": false,
"x-ms-parameter-location": "method"
@@ -494,6 +495,7 @@
}
},
"smartGroupModification": {
+ "type": "object",
"description": "Alert Modification details",
"allOf": [
{
@@ -507,6 +509,7 @@
}
},
"smartGroupModificationProperties": {
+ "type": "object",
"description": "Properties of the smartGroup modification item.",
"properties": {
"smartGroupId": {
@@ -528,6 +531,7 @@
}
},
"smartGroupModificationItem": {
+ "type": "object",
"description": "smartGroup modification item.",
"properties": {
"modificationEvent": {
@@ -570,6 +574,7 @@
}
},
"smartGroupsList": {
+ "type": "object",
"description": "List the alerts.",
"properties": {
"nextLink": {
@@ -586,6 +591,7 @@
}
},
"smartGroup": {
+ "type": "object",
"description": "Set of related alerts grouped together smartly by AMS.",
"allOf": [
{
@@ -605,6 +611,7 @@
"properties": {
"alertsCount": {
"type": "integer",
+ "format": "int64",
"description": "Total number of alerts in smart group"
},
"smartGroupState": {
@@ -719,6 +726,7 @@
},
"count": {
"type": "integer",
+ "format": "int64",
"description": "Total number of items of type."
}
}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/PrometheusRuleGroups.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/PrometheusRuleGroups.json
new file mode 100644
index 000000000000..335b022cf0a2
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/PrometheusRuleGroups.json
@@ -0,0 +1,550 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-07-22-preview",
+ "title": "Azure Alerts Management Service Resource Provider",
+ "description": "Azure Alerts Management Service provides a single pane of glass of alerts across Azure Monitor."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/prometheusRuleGroups": {
+ "get": {
+ "tags": [
+ "PrometheusRuleGroups"
+ ],
+ "description": "Retrieve Prometheus rule group definitions in a subscription.",
+ "operationId": "PrometheusRuleGroups_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for a list of Prometheus rule groups",
+ "schema": {
+ "$ref": "#/definitions/PrometheusRuleGroupResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "ListResourcePrometheusRuleGroups": {
+ "$ref": "./examples/listPrometheusRuleGroups.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/prometheusRuleGroups": {
+ "get": {
+ "tags": [
+ "PrometheusRuleGroups"
+ ],
+ "description": "Retrieve Prometheus rule group definitions in a resource group.",
+ "operationId": "PrometheusRuleGroups_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for a list of Prometheus rule groups",
+ "schema": {
+ "$ref": "#/definitions/PrometheusRuleGroupResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "ListResourcePrometheusRuleGroups": {
+ "$ref": "./examples/listPrometheusRuleGroups.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/prometheusRuleGroups/{ruleGroupName}": {
+ "get": {
+ "tags": [
+ "PrometheusRuleGroups"
+ ],
+ "description": "Retrieve a Prometheus rule group definition.",
+ "operationId": "PrometheusRuleGroups_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RuleGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request for a list of Prometheus rule groups",
+ "schema": {
+ "$ref": "#/definitions/PrometheusRuleGroupResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetPrometheusRuleGroup": {
+ "$ref": "./examples/getPrometheusRuleGroup.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrometheusRuleGroups"
+ ],
+ "description": "Create or update a Prometheus rule group definition.",
+ "operationId": "PrometheusRuleGroups_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RuleGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrometheusRuleGroupResource"
+ },
+ "description": "The parameters of the rule group to create or update."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrometheusRuleGroupResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CreatePrometheusRuleGroup": {
+ "$ref": "./examples/createOrUpdatePrometheusRuleGroup.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "PrometheusRuleGroups"
+ ],
+ "description": "Update an Prometheus rule group definition.",
+ "operationId": "PrometheusRuleGroups_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RuleGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrometheusRuleGroupResourcePatch"
+ },
+ "description": "The parameters of the rule group to update."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrometheusRuleGroupResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PatchPrometheusRuleGroup": {
+ "$ref": "./examples/patchPrometheusRuleGroup.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrometheusRuleGroups"
+ ],
+ "description": "Delete a Prometheus rule group definition.",
+ "operationId": "PrometheusRuleGroups_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/RuleGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request to delete a Prometheus rule group"
+ },
+ "204": {
+ "description": "No content: the request was successful, but the response is empty"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DeletePrometheusRuleGroup": {
+ "$ref": "./examples/deletePrometheusRuleGroup.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.AlertsManagement/operations": {
+ "get": {
+ "description": "Returns list of operations for Microsoft.DeviceUpdate resource provider.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation details.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "type": "object",
+ "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"
+ },
+ "PrometheusRuleGroupAction": {
+ "type": "object",
+ "description": "An alert action.",
+ "properties": {
+ "actionGroupId": {
+ "type": "string",
+ "description": "the id of the action group to use."
+ },
+ "actionProperties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string",
+ "description": "The dictionary of custom properties for the action."
+ },
+ "description": "The properties of an action group object."
+ }
+ }
+ },
+ "PrometheusRuleGroupProperties": {
+ "type": "object",
+ "required": [
+ "scopes",
+ "rules"
+ ],
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "the description of the Prometheus rule group that will be included in the alert email."
+ },
+ "scopes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "the list of resource id's that this rule group is scoped to."
+ },
+ "interval": {
+ "type": "string",
+ "description": "the interval in which to run the Prometheus rule group represented in ISO 8601 duration format."
+ },
+ "rules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrometheusRule"
+ },
+ "description": "defines the rules in the Prometheus rule group."
+ }
+ },
+ "description": "An alert rule."
+ },
+ "PrometheusRuleGroupResource": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PrometheusRuleGroupProperties",
+ "description": "The Prometheus rule group properties of the resource."
+ },
+ "systemData": {
+ "description": "Action rule system data",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ },
+ "description": "The Prometheus rule group resource."
+ },
+ "PrometheusRuleGroupResourcePatch": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PrometheusRuleGroupProperties",
+ "description": "The alert rule properties of the resource."
+ }
+ },
+ "description": "The Prometheus rule group resource for patch operations."
+ },
+ "PrometheusRuleGroupResourceCollection": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrometheusRuleGroupResource"
+ },
+ "description": "the values for the alert rule resources."
+ }
+ },
+ "description": "Represents a collection of alert rule resources."
+ },
+ "PrometheusRule": {
+ "type": "object",
+ "properties": {
+ "record": {
+ "type": "string",
+ "description": "the name of the recording rule."
+ },
+ "alert": {
+ "type": "string",
+ "description": "the name of the alert rule."
+ },
+ "expression": {
+ "type": "string",
+ "description": "the expression to run for the rule."
+ },
+ "severity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "the severity of the alerts fired by the rule."
+ },
+ "for": {
+ "type": "string",
+ "description": "the amount of time alert must be active before firing."
+ },
+ "labels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "labels for rule group"
+ },
+ "annotations": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "annotations for rule group"
+ },
+ "actions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrometheusRuleGroupAction"
+ },
+ "description": "the array of actions that are performed when the alert rule becomes active, and when an alert condition is resolved."
+ },
+ "resolveConfiguration": {
+ "$ref": "#/definitions/PrometheusRuleResolveConfiguration",
+ "description": "defines the configuration for resolving fired alerts."
+ }
+ }
+ },
+ "PrometheusRuleResolveConfiguration": {
+ "type": "object",
+ "properties": {
+ "autoResolved": {
+ "type": "boolean",
+ "description": "the flag that indicates whether or not to auto resolve a fired alert."
+ },
+ "timeToResolve": {
+ "type": "string",
+ "description": "the duration a rule must evaluate as healthy before the fired alert is automatically resolved represented in ISO 8601 duration format."
+ }
+ },
+ "description": "Specifies the Prometheus alert rule configuration."
+ }
+ },
+ "parameters": {
+ "RuleGroupNameParameter": {
+ "name": "ruleGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the rule group.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/createOrUpdatePrometheusRuleGroup.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/createOrUpdatePrometheusRuleGroup.json
new file mode 100644
index 000000000000..75e1b9490d9f
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/createOrUpdatePrometheusRuleGroup.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7",
+ "resourceGroupName": "giladstest",
+ "ruleGroupName": "myPrometheusRuleGroup",
+ "api-version": "2021-07-22-preview",
+ "parameters": {
+ "location": "East US",
+ "properties": {
+ "description": "This is the description of the first rule group",
+ "scopes": [
+ "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/giladstest/providers/Microsoft.Observability/monitoringAcount/myMonitoringAccount"
+ ],
+ "rules": [
+ {
+ "record": "job_type:billing_jobs_duration_seconds:99p5m",
+ "expression": "histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))"
+ },
+ {
+ "alert": "Billing_Processing_Very_Slow",
+ "expression": "job_type:billing_jobs_duration_seconds:99p5m > 30",
+ "severity": 2,
+ "for": "PT5M",
+ "labels": {
+ "team": "prod"
+ },
+ "annotations": {
+ "annotationName1": "annotationValue1"
+ },
+ "resolveConfiguration": {
+ "autoResolved": true,
+ "timeToResolve": "PT10M"
+ },
+ "actions": [
+ {
+ "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/giladstest/providers/microsoft.insights/notificationgroups/group2",
+ "actionProperties": {
+ "key11": "value11",
+ "key12": "value12"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/giladstest/providers/providers/Microsoft.AlertsManagement/prometheusRuleGroups/myPrometheusRuleGroup",
+ "type": "Microsoft.AlertsManagement/prometheusRuleGroups",
+ "location": "East US",
+ "properties": {
+ "description": "This is the description of the first rule group",
+ "scopes": [
+ "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/giladstest/providers/Microsoft.Observability/monitoringAcount/myMonitoringAccount"
+ ],
+ "interval": "PT5M",
+ "rules": [
+ {
+ "record": "job_type:billing_jobs_duration_seconds:99p5m",
+ "expression": "histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))"
+ },
+ {
+ "alert": "Billing_Processing_Very_Slow",
+ "expression": "job_type:billing_jobs_duration_seconds:99p5m > 30",
+ "severity": 2,
+ "for": "PT5M",
+ "labels": {
+ "team": "prod"
+ },
+ "annotations": {
+ "annotationName1": "annotationValue1"
+ },
+ "resolveConfiguration": {
+ "autoResolved": true,
+ "timeToResolve": "PT10M"
+ },
+ "actions": [
+ {
+ "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/giladstest/providers/microsoft.insights/notificationgroups/group2",
+ "actionProperties": {
+ "key11": "value11",
+ "key12": "value12"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/deletePrometheusRuleGroup.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/deletePrometheusRuleGroup.json
new file mode 100644
index 000000000000..5c08be786219
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/deletePrometheusRuleGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7",
+ "resourceGroupName": "giladsteset",
+ "ruleGroupName": "myPrometheusRuleGroup",
+ "api-version": "2021-07-22-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/getPrometheusRuleGroup.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/getPrometheusRuleGroup.json
new file mode 100644
index 000000000000..f9d0ce5de0de
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/getPrometheusRuleGroup.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7",
+ "resourceGroupName": "giladstest",
+ "ruleGroupName": "myPrometheusRuleGroup",
+ "api-version": "2021-07-22-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/giladstest/providers/providers/Microsoft.AlertsManagement/prometheusRuleGroups/myPrometheusRuleGroup",
+ "type": "Microsoft.AlertsManagement/prometheusRuleGroups",
+ "location": "global",
+ "properties": {
+ "description": "This is the description of the first rule group",
+ "scopes": [
+ "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/giladstest/providers/Microsoft.Observability/monitoringAcount/myMonitoringAccount"
+ ],
+ "rules": [
+ {
+ "record": "job_type:billing_jobs_duration_seconds:99p5m",
+ "expression": "histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))"
+ },
+ {
+ "alert": "Billing_Processing_Very_Slow",
+ "expression": "job_type:billing_jobs_duration_seconds:99p5m > 30",
+ "severity": 2,
+ "for": "5m",
+ "labels": {
+ "team": "prod"
+ },
+ "resolveConfiguration": {
+ "autoResolved": true,
+ "timeToResolve": "10m"
+ },
+ "actions": [
+ {
+ "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/giladstest/providers/microsoft.insights/notificationgroups/group2",
+ "actionProperties": {
+ "key11": "value11",
+ "key12": "value12"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/listPrometheusRuleGroups.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/listPrometheusRuleGroups.json
new file mode 100644
index 000000000000..e67d474e1c44
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/listPrometheusRuleGroups.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7",
+ "resourceGroupName": "giladstest",
+ "api-version": "2021-07-22-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/giladstest/providers/providers/Microsoft.AlertsManagement/prometheusRuleGroups/myPrometheusRuleGroup",
+ "type": "Microsoft.AlertsManagement/prometheusRuleGroups",
+ "location": "East US",
+ "properties": {
+ "description": "This is the description of the first rule group",
+ "scopes": [
+ "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/giladstest/providers/Microsoft.Observability/monitoringAcount/myMonitoringAccount"
+ ],
+ "rules": [
+ {
+ "record": "job_type:billing_jobs_duration_seconds:99p5m",
+ "expression": "histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))"
+ },
+ {
+ "alert": "Billing_Processing_Very_Slow",
+ "expression": "job_type:billing_jobs_duration_seconds:99p5m > 30",
+ "severity": 2,
+ "for": "5m",
+ "labels": {
+ "team": "prod"
+ },
+ "resolveConfiguration": {
+ "autoResolved": true,
+ "timeToResolve": "10m"
+ },
+ "actions": [
+ {
+ "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/gigtest/providers/microsoft.insights/notificationgroups/group2",
+ "actionProperties": {
+ "key11": "value11",
+ "key12": "value12"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/patchPrometheusRuleGroup.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/patchPrometheusRuleGroup.json
new file mode 100644
index 000000000000..1e42a9b00791
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-07-22-preview/examples/patchPrometheusRuleGroup.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "subscriptionId": "14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7",
+ "resourceGroupName": "giladstest",
+ "ruleGroupName": "myPrometheusRuleGroup",
+ "api-version": "2021-07-22-preview",
+ "parameters": {
+ "location": "East US",
+ "properties": {
+ "description": "This is the description of the first rule group",
+ "scopes": [
+ "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/giladstest/providers/Microsoft.Observability/monitoringAcount/myMonitoringAccount"
+ ],
+ "rules": [
+ {
+ "record": "job_type:billing_jobs_duration_seconds:99p5m",
+ "expression": "histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))"
+ },
+ {
+ "alert": "Billing_Processing_Very_Slow",
+ "expression": "job_type:billing_jobs_duration_seconds:99p5m > 30",
+ "severity": 2,
+ "for": "5m",
+ "labels": {
+ "team": "prod"
+ },
+ "resolveConfiguration": {
+ "autoResolved": true,
+ "timeToResolve": "10m"
+ },
+ "actions": [
+ {
+ "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/giladstest/providers/microsoft.insights/notificationgroups/group2",
+ "actionProperties": {
+ "key11": "value11",
+ "key12": "value12"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/gigtest/providers/providers/Microsoft.AlertsManagement/prometheusRuleGroups/myPrometheusRuleGroup",
+ "type": "Microsoft.AlertsManagement/prometheusRuleGroups",
+ "location": "East US",
+ "properties": {
+ "description": "This is the description of the first rule group",
+ "scopes": [
+ "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourceGroups/giladstest/providers/Microsoft.Observability/monitoringAcount/myMonitoringAccount"
+ ],
+ "rules": [
+ {
+ "record": "job_type:billing_jobs_duration_seconds:99p5m",
+ "expression": "histogram_quantile(0.99, sum(rate(jobs_duration_seconds_bucket{service=\"billing-processing\"}[5m])) by (job_type))"
+ },
+ {
+ "alert": "Billing_Processing_Very_Slow",
+ "expression": "job_type:billing_jobs_duration_seconds:99p5m > 30",
+ "severity": 2,
+ "for": "5m",
+ "labels": {
+ "team": "prod"
+ },
+ "resolveConfiguration": {
+ "autoResolved": true,
+ "timeToResolve": "10m"
+ },
+ "actions": [
+ {
+ "actionGroupId": "/subscriptions/14ddf0c5-77c5-4b53-84f6-e1fa43ad68f7/resourcegroups/giladstest/providers/microsoft.insights/notificationgroups/group2",
+ "actionProperties": {
+ "key11": "value11",
+ "key12": "value12"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/ActionRules.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/ActionRules.json
deleted file mode 100644
index 2a6536af617a..000000000000
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/ActionRules.json
+++ /dev/null
@@ -1,821 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2021-08-08-preview",
- "title": "Azure Alerts Management Service Resource Provider",
- "description": "APIs for Azure action rules CRUD operations."
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "paths": {
- "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/actionRules": {
- "get": {
- "description": "List all action rules of the subscription",
- "operationId": "ActionRules_ListBySubscription",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Return the list of action rules",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/ActionRulesList"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/errorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "GetActionRulesSubscriptionWide": {
- "$ref": "./examples/ActionRules_List_Subscription.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules": {
- "get": {
- "operationId": "ActionRules_ListByResourceGroup",
- "description": "List all action rules of the subscription, created in given resource group",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Return the list of action rules",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/ActionRulesList"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/errorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "GetActionRulesResourceGroupWide": {
- "$ref": "./examples/ActionRules_List_ResourceGroup.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{actionRuleName}": {
- "get": {
- "description": "Get action rule by name",
- "operationId": "ActionRules_GetByName",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
- },
- {
- "name": "actionRuleName",
- "in": "path",
- "description": "The name of the action rule that needs to be fetched",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Returns the specific action rule",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/ActionRule"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/errorResponse"
- }
- }
- },
- "x-ms-examples": {
- "GetActionRuleById": {
- "$ref": "./examples/ActionRules_GetById.json"
- }
- }
- },
- "put": {
- "operationId": "ActionRules_CreateUpdate",
- "description": "Create or update an action rule",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
- },
- {
- "name": "actionRuleName",
- "in": "path",
- "description": "The name of the action rule that needs to be created/updated",
- "required": true,
- "type": "string"
- },
- {
- "name": "actionRule",
- "in": "body",
- "description": "Action rule to be created/updated",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ActionRule"
- }
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Returns the updated action rule",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/ActionRule"
- }
- },
- "201": {
- "description": "Created. Returns the created action rule",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/ActionRule"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/errorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Create or update a rule that adds an action group to all alerts in a subscription": {
- "$ref": "./examples/ActionRules_Create_or_update_add_action_group_all_alerts_in_subscription.json"
- },
- "Create or update a rule that adds two action groups to all Sev0 and Sev1 alerts in two resource groups": {
- "$ref": "./examples/ActionRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json"
- },
- "Create or update a rule that removes all action groups from alerts on a specific VM during a one-off maintenance window (1800-2000 at a specific date, Pacific Standard Time)": {
- "$ref": "./examples/ActionRules_Create_or_update_remove_all_action_groups_specific_VM_one-off_maintenance_window.json"
- },
- "Create or update a rule that removes all action groups from all alerts on any VM in two resource groups during a recurring maintenance window (2200-0400 every Sat and Sun, India Standard Time)": {
- "$ref": "./examples/ActionRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json"
- },
- "Create or update a rule that removes all action groups outside business hours (Mon-Fri 09:00-17:00, Eastern Standard Time)": {
- "$ref": "./examples/ActionRules_Create_or_update_remove_all_action_groups_outside_business_hours.json"
- },
- "Create or update a rule that removes all action groups from all alerts in a subscription coming from a specific alert rule": {
- "$ref": "./examples/ActionRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json"
- }
- }
- },
- "delete": {
- "description": "Delete a given action rule",
- "operationId": "ActionRules_Delete",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
- },
- {
- "name": "actionRuleName",
- "in": "path",
- "description": "The name of the action rule that needs to be deleted",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "Successful request to delete an action rule",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- }
- },
- "204": {
- "description": "No content: the request was successful, but the response is empty",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/errorResponse"
- }
- }
- },
- "x-ms-examples": {
- "DeleteActionRule": {
- "$ref": "./examples/ActionRules_Delete.json"
- }
- }
- },
- "patch": {
- "description": "Update enabled flag and/or tags for the given action rule",
- "operationId": "ActionRules_Update",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
- },
- {
- "name": "actionRuleName",
- "in": "path",
- "description": "The name that needs to be updated",
- "required": true,
- "type": "string"
- },
- {
- "name": "actionRulePatch",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/PatchObject"
- },
- "description": "Parameters supplied to the operation."
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Returns the created/updated action rule",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/ActionRule"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/errorResponse"
- }
- }
- },
- "x-ms-examples": {
- "PatchActionRule": {
- "$ref": "./examples/ActionRules_Patch.json"
- }
- }
- }
- }
- },
- "parameters": {
- "subscriptionId": {
- "name": "subscriptionId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The ID of the target subscription.",
- "minLength": 1
- },
- "resourceGroupName": {
- "name": "resourceGroupName",
- "description": "Resource group name where the resource is created.",
- "type": "string",
- "in": "path",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "api-version": {
- "name": "api-version",
- "description": "client API version",
- "type": "string",
- "in": "query",
- "required": true,
- "enum": [
- "2021-08-08-preview"
- ],
- "x-ms-enum": {
- "name": "api-version",
- "modelAsString": true
- }
- }
- },
- "definitions": {
- "errorResponse": {
- "description": "An error response from the service.",
- "properties": {
- "error": {
- "$ref": "#/definitions/errorResponseBody"
- }
- }
- },
- "errorResponseBody": {
- "description": "Details of error response.",
- "properties": {
- "code": {
- "type": "string",
- "description": "Error code, intended to be consumed programmatically."
- },
- "message": {
- "type": "string",
- "description": "Description of the error, intended for display in user interface."
- },
- "target": {
- "type": "string",
- "description": "Target of the particular error, for example name of the property."
- },
- "details": {
- "type": "array",
- "description": "A list of additional details about the error.",
- "items": {
- "$ref": "#/definitions/errorResponseBody"
- }
- }
- }
- },
- "Resource": {
- "x-ms-azure-resource": true,
- "description": "An azure resource object",
- "properties": {
- "id": {
- "type": "string",
- "readOnly": true,
- "description": "Azure resource Id"
- },
- "type": {
- "type": "string",
- "readOnly": true,
- "description": "Azure resource type"
- },
- "name": {
- "type": "string",
- "readOnly": true,
- "description": "Azure resource name"
- }
- }
- },
- "ManagedResource": {
- "description": "An azure managed resource object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "location": {
- "type": "string",
- "description": "Resource location",
- "x-ms-mutability": [
- "create",
- "read"
- ]
- },
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "Resource tags"
- }
- },
- "required": [
- "location"
- ]
- },
- "Scopes": {
- "type": "array",
- "description": "List of ARM IDs which will be the target of the given action rule.",
- "items": {
- "type": "string"
- }
- },
- "Condition": {
- "type": "object",
- "description": "Condition to trigger an action rule",
- "properties": {
- "field": {
- "type": "string",
- "description": "Field for a given condition",
- "enum": [
- "Severity",
- "MonitorService",
- "MonitorCondition",
- "SignalType",
- "TargetResourceType",
- "TargetResource",
- "TargetResourceGroup",
- "AlertRuleId",
- "AlertRuleName",
- "Description",
- "AlertContext"
- ],
- "x-ms-enum": {
- "name": "Field",
- "modelAsString": true
- }
- },
- "operator": {
- "type": "string",
- "description": "Operator for a given condition",
- "enum": [
- "Equals",
- "NotEquals",
- "Contains",
- "DoesNotContain"
- ],
- "x-ms-enum": {
- "name": "Operator",
- "modelAsString": true
- }
- },
- "values": {
- "type": "array",
- "description": "List of values to match for a given condition.",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "Conditions": {
- "type": "array",
- "description": "Conditions in alert instance to be matched for a given action rule. Default value is all. Multiple values could be provided with comma separation.",
- "items": {
- "$ref": "#/definitions/Condition"
- }
- },
- "Schedule": {
- "type": "object",
- "description": "Scheduling configuration for a given action rule",
- "properties": {
- "effectiveFrom": {
- "type": "string",
- "pattern": "^(?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))$",
- "description": "Scheduling effective from time. Date-Time in ISO-8601 format without timezone suffix."
- },
- "effectiveUntil": {
- "type": "string",
- "pattern": "^(?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))$",
- "description": "Scheduling effective until time. Date-Time in ISO-8601 format without timezone suffix."
- },
- "timeZone": {
- "type": "string",
- "description": "Scheduling time zone"
- },
- "recurrences": {
- "type": "array",
- "description": "List of recurrences",
- "items": {
- "$ref": "#/definitions/Recurrence"
- }
- }
- }
- },
- "Recurrence": {
- "type": "object",
- "description": "Recurrence object",
- "discriminator": "recurrenceType",
- "required": [
- "recurrenceType"
- ],
- "properties": {
- "recurrenceType": {
- "type": "string",
- "description": "Specifies when the recurrence should be applied",
- "enum": [
- "Daily",
- "Weekly",
- "Monthly"
- ],
- "x-ms-enum": {
- "name": "RecurrenceType",
- "modelAsString": true
- }
- },
- "startTime": {
- "type": "string",
- "description": "Start time for recurrence"
- },
- "endTime": {
- "type": "string",
- "description": "End time for recurrence"
- }
- }
- },
- "DailyRecurrence": {
- "x-ms-discriminator-value": "Daily",
- "type": "object",
- "description": "Daily recurrence object",
- "required": [
- "startTime",
- "endTime"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/Recurrence"
- }
- ]
- },
- "WeeklyRecurrence": {
- "x-ms-discriminator-value": "Weekly",
- "type": "object",
- "description": "Weekly recurrence object",
- "required": [
- "daysOfWeek"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/Recurrence"
- }
- ],
- "properties": {
- "daysOfWeek": {
- "type": "array",
- "description": "Specifies the values for weekly recurrence pattern",
- "items": {
- "$ref": "#/definitions/DaysOfWeek"
- }
- }
- }
- },
- "MonthlyRecurrence": {
- "x-ms-discriminator-value": "Monthly",
- "type": "object",
- "description": "Monthly recurrence object",
- "required": [
- "daysOfMonth"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/Recurrence"
- }
- ],
- "properties": {
- "daysOfMonth": {
- "type": "array",
- "description": "Specifies the values for monthly recurrence pattern",
- "items": {
- "type": "integer",
- "format": "int32"
- }
- }
- }
- },
- "DaysOfWeek": {
- "type": "string",
- "description": "Days of week",
- "enum": [
- "Sunday",
- "Monday",
- "Tuesday",
- "Wednesday",
- "Thursday",
- "Friday",
- "Saturday"
- ],
- "x-ms-enum": {
- "name": "DaysOfWeek",
- "modelAsString": true
- }
- },
- "ActionRule": {
- "description": "Action rule object containing target scopes, conditions and scheduling logic",
- "allOf": [
- {
- "$ref": "#/definitions/ManagedResource"
- }
- ],
- "properties": {
- "properties": {
- "description": "Action rule properties",
- "$ref": "#/definitions/ActionRuleProperties"
- },
- "systemData": {
- "description": "Action rule system data",
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
- }
- }
- },
- "ActionRuleProperties": {
- "description": "Action rule properties defining scopes, conditions and scheduling logic for action rule",
- "required": [
- "scopes",
- "actions"
- ],
- "properties": {
- "scopes": {
- "description": "Scopes on which action rule will apply",
- "$ref": "#/definitions/Scopes"
- },
- "conditions": {
- "description": "Conditions on which alerts will be filtered",
- "$ref": "#/definitions/Conditions"
- },
- "schedule": {
- "description": "Scheduling for action rule",
- "$ref": "#/definitions/Schedule"
- },
- "actions": {
- "type": "array",
- "description": "Actions to be applied",
- "items": {
- "$ref": "#/definitions/Action"
- }
- },
- "description": {
- "type": "string",
- "description": "Description of action rule"
- },
- "enabled": {
- "type": "boolean",
- "default": true,
- "description": "Indicates if the given action rule is enabled or disabled"
- }
- }
- },
- "Action": {
- "type": "object",
- "description": "Action to be applied",
- "discriminator": "actionType",
- "required": [
- "actionType"
- ],
- "properties": {
- "actionType": {
- "type": "string",
- "description": "Action that should be applied",
- "enum": [
- "AddActionGroups",
- "RemoveAllActionGroups"
- ],
- "x-ms-enum": {
- "name": "actionType",
- "modelAsString": true
- }
- }
- }
- },
- "AddActionGroups": {
- "x-ms-discriminator-value": "AddActionGroups",
- "type": "object",
- "description": "Add action groups to action rule",
- "required": [
- "actionGroupIds"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/Action"
- }
- ],
- "properties": {
- "actionGroupIds": {
- "description": "List of action group Ids to add to action rule",
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "RemoveAllActionGroups": {
- "x-ms-discriminator-value": "RemoveAllActionGroups",
- "type": "object",
- "description": "Indicates if all action groups should be removed",
- "allOf": [
- {
- "$ref": "#/definitions/Action"
- }
- ]
- },
- "ActionRulesList": {
- "description": "List of action rules",
- "properties": {
- "nextLink": {
- "type": "string",
- "description": "URL to fetch the next set of action rules"
- },
- "value": {
- "type": "array",
- "description": "List of action rules",
- "items": {
- "$ref": "#/definitions/ActionRule"
- }
- }
- }
- },
- "PatchProperties": {
- "description": "Action rule properties supported by patch",
- "properties": {
- "enabled": {
- "type": "boolean",
- "description": "Indicates if the given action rule is enabled or disabled"
- }
- }
- },
- "PatchObject": {
- "description": "Data contract for patch",
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "Properties supported by patch operation",
- "$ref": "#/definitions/PatchProperties"
- },
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "Tags to be updated"
- }
- }
- }
- }
-}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/AlertProcessingRules.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/AlertProcessingRules.json
new file mode 100644
index 000000000000..a74077f8a0bb
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/AlertProcessingRules.json
@@ -0,0 +1,824 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-08-08-preview",
+ "title": "Azure Alerts Management Service Resource Provider",
+ "description": "APIs for Azure alert processing rules CRUD operations."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/actionRules": {
+ "get": {
+ "description": "List all alert processing rules in a subscription.",
+ "operationId": "AlertProcessingRules_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Return the list of alert processing rules.",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/AlertProcessingRulesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetAlertProcessingRulesSubscriptionWide": {
+ "$ref": "./examples/AlertProcessingRules_List_Subscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules": {
+ "get": {
+ "operationId": "AlertProcessingRules_ListByResourceGroup",
+ "description": "List all alert processing rules in a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Return the list of alert processing rules.",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/AlertProcessingRulesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetAlertProcessingRulesResourceGroupWide": {
+ "$ref": "./examples/AlertProcessingRules_List_ResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{alertProcessingRuleName}": {
+ "get": {
+ "description": "Get an alert processing rule by name.",
+ "operationId": "AlertProcessingRules_GetByName",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "alertProcessingRuleName",
+ "in": "path",
+ "description": "The name of the alert processing rule that needs to be fetched.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the specific alert processing rule.",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/AlertProcessingRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetAlertProcessingRuleById": {
+ "$ref": "./examples/AlertProcessingRules_GetById.json"
+ }
+ }
+ },
+ "put": {
+ "operationId": "AlertProcessingRules_CreateOrUpdate",
+ "description": "Create or update an alert processing rule.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "alertProcessingRuleName",
+ "in": "path",
+ "description": "The name of the alert processing rule that needs to be created/updated.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "alertProcessingRule",
+ "in": "body",
+ "description": "Alert processing rule to be created/updated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AlertProcessingRule"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the updated alert processing rule.",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/AlertProcessingRule"
+ }
+ },
+ "201": {
+ "description": "Created. Returns the created alert processing rule.",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/AlertProcessingRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a rule that adds an action group to all alerts in a subscription": {
+ "$ref": "./examples/AlertProcessingRules_Create_or_update_add_action_group_all_alerts_in_subscription.json"
+ },
+ "Create or update a rule that adds two action groups to all Sev0 and Sev1 alerts in two resource groups": {
+ "$ref": "./examples/AlertProcessingRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json"
+ },
+ "Create or update a rule that removes all action groups from alerts on a specific VM during a one-off maintenance window (1800-2000 at a specific date, Pacific Standard Time)": {
+ "$ref": "./examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_specific_VM_one-off_maintenance_window.json"
+ },
+ "Create or update a rule that removes all action groups from all alerts on any VM in two resource groups during a recurring maintenance window (2200-0400 every Sat and Sun, India Standard Time)": {
+ "$ref": "./examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json"
+ },
+ "Create or update a rule that removes all action groups outside business hours (Mon-Fri 09:00-17:00, Eastern Standard Time)": {
+ "$ref": "./examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_outside_business_hours.json"
+ },
+ "Create or update a rule that removes all action groups from all alerts in a subscription coming from a specific alert rule": {
+ "$ref": "./examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Delete an alert processing rule.",
+ "operationId": "AlertProcessingRules_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "alertProcessingRuleName",
+ "in": "path",
+ "description": "The name of the alert processing rule that needs to be deleted.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request to delete an alert processing rule.",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ }
+ },
+ "204": {
+ "description": "No content: the request was successful, but the response is empty.",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DeleteAlertProcessingRule": {
+ "$ref": "./examples/AlertProcessingRules_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Enable, disable, or update tags for an alert processing rule.",
+ "operationId": "AlertProcessingRules_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "alertProcessingRuleName",
+ "in": "path",
+ "description": "The name that needs to be updated.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "alertProcessingRulePatch",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PatchObject"
+ },
+ "description": "Parameters supplied to the operation."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the created/updated alert processing rule.",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/AlertProcessingRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PatchAlertProcessingRule": {
+ "$ref": "./examples/AlertProcessingRules_Patch.json"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the target subscription.",
+ "minLength": 1
+ },
+ "resourceGroupName": {
+ "name": "resourceGroupName",
+ "description": "Resource group name where the resource is created.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "api-version": {
+ "name": "api-version",
+ "description": "Client API version.",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "enum": [
+ "2021-08-08-preview"
+ ],
+ "x-ms-enum": {
+ "name": "api-version",
+ "modelAsString": true
+ }
+ }
+ },
+ "definitions": {
+ "errorResponse": {
+ "description": "An error response from the service.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/errorResponseBody"
+ }
+ }
+ },
+ "errorResponseBody": {
+ "description": "Details of error response.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code, intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "Description of the error, intended for display in user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "Target of the particular error, for example name of the property."
+ },
+ "details": {
+ "type": "array",
+ "description": "A list of additional details about the error.",
+ "items": {
+ "$ref": "#/definitions/errorResponseBody"
+ }
+ }
+ }
+ },
+ "Resource": {
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource type"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource name"
+ }
+ }
+ },
+ "ManagedResource": {
+ "description": "An azure managed resource object.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ]
+ },
+ "Scopes": {
+ "type": "array",
+ "description": "List of ARM IDs which will be the target of the given alert processing rule.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "Condition": {
+ "type": "object",
+ "description": "Condition to trigger an alert processing rule.",
+ "properties": {
+ "field": {
+ "type": "string",
+ "description": "Field for a given condition.",
+ "enum": [
+ "Severity",
+ "MonitorService",
+ "MonitorCondition",
+ "SignalType",
+ "TargetResourceType",
+ "TargetResource",
+ "TargetResourceGroup",
+ "AlertRuleId",
+ "AlertRuleName",
+ "Description",
+ "AlertContext"
+ ],
+ "x-ms-enum": {
+ "name": "Field",
+ "modelAsString": true
+ }
+ },
+ "operator": {
+ "type": "string",
+ "description": "Operator for a given condition.",
+ "enum": [
+ "Equals",
+ "NotEquals",
+ "Contains",
+ "DoesNotContain"
+ ],
+ "x-ms-enum": {
+ "name": "Operator",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "type": "array",
+ "description": "List of values to match for a given condition.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Conditions": {
+ "type": "array",
+ "description": "Conditions in alert instance to be matched for a given alert processing rule. Default value is all. Multiple values could be provided with comma separation.",
+ "items": {
+ "$ref": "#/definitions/Condition"
+ }
+ },
+ "Schedule": {
+ "type": "object",
+ "description": "Scheduling configuration for a given alert processing rule.",
+ "properties": {
+ "effectiveFrom": {
+ "type": "string",
+ "pattern": "^(?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))$",
+ "description": "Scheduling effective from time. Date-Time in ISO-8601 format without timezone suffix."
+ },
+ "effectiveUntil": {
+ "type": "string",
+ "pattern": "^(?:(\\d{4}-\\d{2}-\\d{2})T(\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?))$",
+ "description": "Scheduling effective until time. Date-Time in ISO-8601 format without timezone suffix."
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "Scheduling time zone."
+ },
+ "recurrences": {
+ "type": "array",
+ "description": "List of recurrences.",
+ "items": {
+ "$ref": "#/definitions/Recurrence"
+ }
+ }
+ }
+ },
+ "Recurrence": {
+ "type": "object",
+ "description": "Recurrence object.",
+ "discriminator": "recurrenceType",
+ "required": [
+ "recurrenceType"
+ ],
+ "properties": {
+ "recurrenceType": {
+ "type": "string",
+ "description": "Specifies when the recurrence should be applied.",
+ "enum": [
+ "Daily",
+ "Weekly",
+ "Monthly"
+ ],
+ "x-ms-enum": {
+ "name": "RecurrenceType",
+ "modelAsString": true
+ }
+ },
+ "startTime": {
+ "type": "string",
+ "description": "Start time for recurrence."
+ },
+ "endTime": {
+ "type": "string",
+ "description": "End time for recurrence."
+ }
+ }
+ },
+ "DailyRecurrence": {
+ "x-ms-discriminator-value": "Daily",
+ "type": "object",
+ "description": "Daily recurrence object.",
+ "required": [
+ "startTime",
+ "endTime"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Recurrence"
+ }
+ ]
+ },
+ "WeeklyRecurrence": {
+ "x-ms-discriminator-value": "Weekly",
+ "type": "object",
+ "description": "Weekly recurrence object.",
+ "required": [
+ "daysOfWeek"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Recurrence"
+ }
+ ],
+ "properties": {
+ "daysOfWeek": {
+ "type": "array",
+ "description": "Specifies the values for weekly recurrence pattern.",
+ "items": {
+ "$ref": "#/definitions/DaysOfWeek"
+ }
+ }
+ }
+ },
+ "MonthlyRecurrence": {
+ "x-ms-discriminator-value": "Monthly",
+ "type": "object",
+ "description": "Monthly recurrence object.",
+ "required": [
+ "daysOfMonth"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Recurrence"
+ }
+ ],
+ "properties": {
+ "daysOfMonth": {
+ "type": "array",
+ "description": "Specifies the values for monthly recurrence pattern.",
+ "items": {
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ }
+ },
+ "DaysOfWeek": {
+ "type": "string",
+ "description": "Days of week.",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "x-ms-enum": {
+ "name": "DaysOfWeek",
+ "modelAsString": true
+ }
+ },
+ "AlertProcessingRule": {
+ "type": "object",
+ "description": "Alert processing rule object containing target scopes, conditions and scheduling logic.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Alert processing rule properties.",
+ "$ref": "#/definitions/AlertProcessingRuleProperties"
+ },
+ "systemData": {
+ "description": "Alert processing rule system data.",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "AlertProcessingRuleProperties": {
+ "type": "object",
+ "description": "Alert processing rule properties defining scopes, conditions and scheduling logic for alert processing rule.",
+ "required": [
+ "scopes",
+ "actions"
+ ],
+ "properties": {
+ "scopes": {
+ "description": "Scopes on which alert processing rule will apply.",
+ "$ref": "#/definitions/Scopes"
+ },
+ "conditions": {
+ "description": "Conditions on which alerts will be filtered.",
+ "$ref": "#/definitions/Conditions"
+ },
+ "schedule": {
+ "description": "Scheduling for alert processing rule.",
+ "$ref": "#/definitions/Schedule"
+ },
+ "actions": {
+ "type": "array",
+ "description": "Actions to be applied.",
+ "items": {
+ "$ref": "#/definitions/Action"
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of alert processing rule."
+ },
+ "enabled": {
+ "type": "boolean",
+ "default": true,
+ "description": "Indicates if the given alert processing rule is enabled or disabled."
+ }
+ }
+ },
+ "Action": {
+ "type": "object",
+ "description": "Action to be applied.",
+ "discriminator": "actionType",
+ "required": [
+ "actionType"
+ ],
+ "properties": {
+ "actionType": {
+ "type": "string",
+ "description": "Action that should be applied.",
+ "enum": [
+ "AddActionGroups",
+ "RemoveAllActionGroups"
+ ],
+ "x-ms-enum": {
+ "name": "actionType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "AddActionGroups": {
+ "x-ms-discriminator-value": "AddActionGroups",
+ "type": "object",
+ "description": "Add action groups to alert processing rule.",
+ "required": [
+ "actionGroupIds"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Action"
+ }
+ ],
+ "properties": {
+ "actionGroupIds": {
+ "description": "List of action group Ids to add to alert processing rule.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "RemoveAllActionGroups": {
+ "x-ms-discriminator-value": "RemoveAllActionGroups",
+ "type": "object",
+ "description": "Indicates if all action groups should be removed.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Action"
+ }
+ ]
+ },
+ "AlertProcessingRulesList": {
+ "type": "object",
+ "description": "List of alert processing rules.",
+ "properties": {
+ "nextLink": {
+ "type": "string",
+ "description": "URL to fetch the next set of alert processing rules."
+ },
+ "value": {
+ "type": "array",
+ "description": "List of alert processing rules.",
+ "items": {
+ "$ref": "#/definitions/AlertProcessingRule"
+ }
+ }
+ }
+ },
+ "PatchProperties": {
+ "description": "Alert processing rule properties supported by patch.",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Indicates if the given alert processing rule is enabled or disabled."
+ }
+ }
+ },
+ "PatchObject": {
+ "description": "Data contract for patch.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties supported by patch operation.",
+ "$ref": "#/definitions/PatchProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Tags to be updated."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/AlertsManagement.json
deleted file mode 100644
index ed253c5cd422..000000000000
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/AlertsManagement.json
+++ /dev/null
@@ -1,117 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2021-08-08-preview",
- "title": "Azure Alerts Management Service Resource Provider",
- "description": "Azure Alerts Management Service provides a single pane of glass of alerts across Azure Monitor."
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "paths": {
- "/providers/Microsoft.AlertsManagement/operations": {
- "get": {
- "operationId": "Operations_List",
- "description": "List all operations available through Azure Alerts Management Resource Provider.",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK. Successfully retrieved operations list.",
- "schema": {
- "$ref": "#/definitions/operationsList"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- }
- },
- "definitions": {
- "operation": {
- "description": "Operation provided by provider",
- "properties": {
- "name": {
- "type": "string",
- "description": "Name of the operation"
- },
- "display": {
- "type": "object",
- "description": "Properties of the operation",
- "properties": {
- "provider": {
- "type": "string",
- "description": "Provider name"
- },
- "resource": {
- "type": "string",
- "description": "Resource name"
- },
- "operation": {
- "type": "string",
- "description": "Operation name"
- },
- "description": {
- "type": "string",
- "description": "Description of the operation"
- }
- }
- }
- }
- },
- "operationsList": {
- "description": "Lists the operations available in the AlertsManagement RP.",
- "properties": {
- "nextLink": {
- "description": "URL to fetch the next set of operations.",
- "type": "string"
- },
- "value": {
- "description": "Array of operations",
- "type": "array",
- "items": {
- "$ref": "#/definitions/operation"
- }
- }
- },
- "required": [
- "value"
- ]
- }
- },
- "parameters": {
- "ApiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "Client Api Version."
- }
- }
-}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_add_action_group_all_alerts_in_subscription.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_add_action_group_all_alerts_in_subscription.json
deleted file mode 100644
index 52088517ef0e..000000000000
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_add_action_group_all_alerts_in_subscription.json
+++ /dev/null
@@ -1,93 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-08-08-preview",
- "subscriptionId": "subId1",
- "resourceGroupName": "alertscorrelationrg",
- "actionRuleName": "AddActionGroupToSubscription",
- "actionRule": {
- "location": "Global",
- "tags": {},
- "properties": {
- "scopes": [
- "/subscriptions/subId1"
- ],
- "actions": [
- {
- "actionType": "AddActionGroups",
- "actionGroupIds": [
- "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1"
- ]
- }
- ],
- "description": "Add ActionGroup1 to all alerts in the subscription",
- "enabled": true
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "systemData": {
- "createdBy": "abc@microsoft.com",
- "createdByType": "User",
- "createdAt": "2021-02-12T22:05:09Z",
- "lastModifiedBy": "xyz@microsoft.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2021-02-13T16:15:34Z"
- },
- "properties": {
- "scopes": [
- "/subscriptions/subId1"
- ],
- "actions": [
- {
- "actionType": "AddActionGroups",
- "actionGroupIds": [
- "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1"
- ]
- }
- ],
- "description": "Add ActionGroup1 to all alerts in the subscription",
- "enabled": true
- },
- "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupToSubscription",
- "type": "Microsoft.AlertsManagement/actionRules",
- "name": "AddActionGroupToSubscription",
- "location": "Global",
- "tags": {}
- }
- },
- "201": {
- "body": {
- "systemData": {
- "createdBy": "abc@microsoft.com",
- "createdByType": "User",
- "createdAt": "2021-02-12T22:05:09Z",
- "lastModifiedBy": "xyz@microsoft.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2021-02-13T16:15:34Z"
- },
- "properties": {
- "scopes": [
- "/subscriptions/subId1"
- ],
- "actions": [
- {
- "actionType": "AddActionGroups",
- "actionGroupIds": [
- "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1"
- ]
- }
- ],
- "description": "Add ActionGroup1 to all alerts in the subscription",
- "enabled": true
- },
- "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupToSubscription",
- "type": "Microsoft.AlertsManagement/actionRules",
- "name": "AddActionGroupToSubscription",
- "location": "Global",
- "tags": {}
- }
- }
- }
-}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json
deleted file mode 100644
index 76525df8a56e..000000000000
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json
+++ /dev/null
@@ -1,129 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-08-08-preview",
- "subscriptionId": "subId1",
- "resourceGroupName": "alertscorrelationrg",
- "actionRuleName": "AddActionGroupsBySeverity",
- "actionRule": {
- "location": "Global",
- "tags": {},
- "properties": {
- "scopes": [
- "/subscriptions/subId1/resourceGroups/RGId1",
- "/subscriptions/subId1/resourceGroups/RGId2"
- ],
- "conditions": [
- {
- "field": "Severity",
- "operator": "Equals",
- "values": [
- "sev0",
- "sev1"
- ]
- }
- ],
- "actions": [
- {
- "actionType": "AddActionGroups",
- "actionGroupIds": [
- "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1",
- "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2"
- ]
- }
- ],
- "description": "Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups",
- "enabled": true
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "systemData": {
- "createdBy": "abc@microsoft.com",
- "createdByType": "User",
- "createdAt": "2018-06-12T22:05:09Z",
- "lastModifiedBy": "xyz@microsoft.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2018-06-13T22:05:09Z"
- },
- "properties": {
- "scopes": [
- "/subscriptions/subId1/resourceGroups/RGId1",
- "/subscriptions/subId1/resourceGroups/RGId2"
- ],
- "conditions": [
- {
- "field": "Severity",
- "operator": "Equals",
- "values": [
- "sev0",
- "sev1"
- ]
- }
- ],
- "actions": [
- {
- "actionType": "AddActionGroups",
- "actionGroupIds": [
- "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1",
- "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2"
- ]
- }
- ],
- "description": "Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups",
- "enabled": true
- },
- "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupsBySeverity",
- "type": "Microsoft.AlertsManagement/actionRules",
- "name": "AddActionGroupsBySeverity",
- "location": "Global",
- "tags": {}
- }
- },
- "201": {
- "body": {
- "systemData": {
- "createdBy": "abc@microsoft.com",
- "createdByType": "User",
- "createdAt": "2018-06-12T22:05:09Z",
- "lastModifiedBy": "xyz@microsoft.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2018-06-13T22:05:09Z"
- },
- "properties": {
- "scopes": [
- "/subscriptions/subId1/resourceGroups/RGId1",
- "/subscriptions/subId1/resourceGroups/RGId2"
- ],
- "conditions": [
- {
- "field": "Severity",
- "operator": "Equals",
- "values": [
- "sev0",
- "sev1"
- ]
- }
- ],
- "actions": [
- {
- "actionType": "AddActionGroups",
- "actionGroupIds": [
- "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1",
- "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2"
- ]
- }
- ],
- "description": "Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups",
- "enabled": true
- },
- "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupsBySeverity",
- "type": "Microsoft.AlertsManagement/actionRules",
- "name": "AddActionGroupsBySeverity",
- "location": "Global",
- "tags": {}
- }
- }
- }
-}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json
deleted file mode 100644
index 4cb5c8c628b1..000000000000
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json
+++ /dev/null
@@ -1,111 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-08-08-preview",
- "subscriptionId": "subId1",
- "resourceGroupName": "alertscorrelationrg",
- "actionRuleName": "RemoveActionGroupsSpecificAlertRule",
- "actionRule": {
- "location": "Global",
- "tags": {},
- "properties": {
- "scopes": [
- "/subscriptions/subId1"
- ],
- "conditions": [
- {
- "field": "AlertRuleId",
- "operator": "Equals",
- "values": [
- "/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName"
- ]
- }
- ],
- "actions": [
- {
- "actionType": "RemoveAllActiongroups"
- }
- ],
- "description": "Removes all ActionGroups from all Alerts that fire on above AlertRule",
- "enabled": true
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "systemData": {
- "createdBy": "abc@microsoft.com",
- "createdByType": "User",
- "createdAt": "2018-06-11T22:05:09Z",
- "lastModifiedBy": "xyz@microsoft.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2018-06-12T22:05:09Z"
- },
- "properties": {
- "scopes": [
- "/subscriptions/subId1"
- ],
- "conditions": [
- {
- "field": "AlertRuleId",
- "operator": "Equals",
- "values": [
- "/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName"
- ]
- }
- ],
- "actions": [
- {
- "actionType": "RemoveAllActiongroups"
- }
- ],
- "description": "Removes all ActionGroups from all Alerts that fire on above AlertRule",
- "enabled": true
- },
- "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsSpecificAlertRule",
- "type": "Microsoft.AlertsManagement/actionRules",
- "name": "RemoveActionGroupsSpecificAlertRule",
- "location": "Global",
- "tags": {}
- }
- },
- "201": {
- "body": {
- "systemData": {
- "createdBy": "abc@microsoft.com",
- "createdByType": "User",
- "createdAt": "2018-06-11T22:05:09Z",
- "lastModifiedBy": "xyz@microsoft.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2018-06-12T22:05:09Z"
- },
- "properties": {
- "scopes": [
- "/subscriptions/subId1"
- ],
- "conditions": [
- {
- "field": "AlertRuleId",
- "operator": "Equals",
- "values": [
- "/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName"
- ]
- }
- ],
- "actions": [
- {
- "actionType": "RemoveAllActiongroups"
- }
- ],
- "description": "Removes all ActionGroups from all Alerts that fire on above AlertRule",
- "enabled": true
- },
- "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsSpecificAlertRule",
- "type": "Microsoft.AlertsManagement/actionRules",
- "name": "RemoveActionGroupsSpecificAlertRule",
- "location": "Global",
- "tags": {}
- }
- }
- }
-}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_outside_business_hours.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_outside_business_hours.json
deleted file mode 100644
index c040c555ce64..000000000000
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_outside_business_hours.json
+++ /dev/null
@@ -1,135 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-08-08-preview",
- "subscriptionId": "subId1",
- "resourceGroupName": "alertscorrelationrg",
- "actionRuleName": "RemoveActionGroupsOutsideBusinessHours",
- "actionRule": {
- "location": "Global",
- "tags": {},
- "properties": {
- "scopes": [
- "/subscriptions/subId1"
- ],
- "actions": [
- {
- "actionType": "RemoveAllActionGroups"
- }
- ],
- "schedule": {
- "timeZone": "Eastern Standard Time",
- "recurrences": [
- {
- "recurrenceType": "Daily",
- "startTime": "17:00:00",
- "endTime": "09:00:00"
- },
- {
- "recurrenceType": "Weekly",
- "daysOfWeek": [
- "Saturday",
- "Sunday"
- ]
- }
- ]
- },
- "description": "Remove all ActionGroups outside business hours",
- "enabled": true
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "systemData": {
- "createdBy": "abc@microsoft.com",
- "createdByType": "User",
- "createdAt": "2018-06-11T22:05:09Z",
- "lastModifiedBy": "xyz@microsoft.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2018-06-12T22:05:09Z"
- },
- "properties": {
- "scopes": [
- "/subscriptions/subId1"
- ],
- "actions": [
- {
- "actionType": "RemoveAllActionGroups"
- }
- ],
- "schedule": {
- "timeZone": "Eastern Standard Time",
- "recurrences": [
- {
- "recurrenceType": "Daily",
- "startTime": "17:00:00",
- "endTime": "09:00:00"
- },
- {
- "recurrenceType": "Weekly",
- "daysOfWeek": [
- "Saturday",
- "Sunday"
- ]
- }
- ]
- },
- "description": "Remove all ActionGroups outside business hours",
- "enabled": true
- },
- "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsOutsideBusinessHours",
- "type": "Microsoft.AlertsManagement/actionRules",
- "name": "RemoveActionGroupsOutsideBusinessHours",
- "location": "Global",
- "tags": {}
- }
- },
- "201": {
- "body": {
- "systemData": {
- "createdBy": "abc@microsoft.com",
- "createdByType": "User",
- "createdAt": "2018-06-11T22:05:09Z",
- "lastModifiedBy": "xyz@microsoft.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2018-06-12T22:05:09Z"
- },
- "properties": {
- "scopes": [
- "/subscriptions/subId1"
- ],
- "actions": [
- {
- "actionType": "RemoveAllActionGroups"
- }
- ],
- "schedule": {
- "timeZone": "Eastern Standard Time",
- "recurrences": [
- {
- "recurrenceType": "Daily",
- "startTime": "17:00:00",
- "endTime": "09:00:00"
- },
- {
- "recurrenceType": "Weekly",
- "daysOfWeek": [
- "Saturday",
- "Sunday"
- ]
- }
- ]
- },
- "description": "Remove all ActionGroups outside business hours",
- "enabled": true
- },
- "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsOutsideBusinessHours",
- "type": "Microsoft.AlertsManagement/actionRules",
- "name": "RemoveActionGroupsOutsideBusinessHours",
- "location": "Global",
- "tags": {}
- }
- }
- }
-}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json
deleted file mode 100644
index 65baa6704870..000000000000
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json
+++ /dev/null
@@ -1,156 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-08-08-preview",
- "subscriptionId": "subId1",
- "resourceGroupName": "alertscorrelationrg",
- "actionRuleName": "RemoveActionGroupsRecurringMaintenance",
- "actionRule": {
- "location": "Global",
- "tags": {},
- "properties": {
- "scopes": [
- "/subscriptions/subId1/resourceGroups/RGId1",
- "/subscriptions/subId1/resourceGroups/RGId2"
- ],
- "conditions": [
- {
- "field": "TargetResourceType",
- "operator": "Equals",
- "values": [
- "microsoft.compute/virtualmachines"
- ]
- }
- ],
- "actions": [
- {
- "actionType": "RemoveAllActionGroups"
- }
- ],
- "schedule": {
- "timeZone": "India Standard Time",
- "recurrences": [
- {
- "recurrenceType": "Weekly",
- "startTime": "22:00:00",
- "endTime": "04:00:00",
- "daysOfWeek": [
- "Saturday",
- "Sunday"
- ]
- }
- ]
- },
- "description": "Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance",
- "enabled": true
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "systemData": {
- "createdBy": "abc@microsoft.com",
- "createdByType": "User",
- "createdAt": "2018-06-11T22:05:09Z",
- "lastModifiedBy": "xyz@microsoft.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2018-06-12T22:05:09Z"
- },
- "properties": {
- "scopes": [
- "/subscriptions/subId1/resourceGroups/RGId1",
- "/subscriptions/subId1/resourceGroups/RGId2"
- ],
- "conditions": [
- {
- "field": "TargetResourceType",
- "operator": "Equals",
- "values": [
- "microsoft.compute/virtualmachines"
- ]
- }
- ],
- "actions": [
- {
- "actionType": "RemoveAllActionGroups"
- }
- ],
- "schedule": {
- "timeZone": "India Standard Time",
- "recurrences": [
- {
- "recurrenceType": "Weekly",
- "startTime": "22:00:00",
- "endTime": "04:00:00",
- "daysOfWeek": [
- "Saturday",
- "Sunday"
- ]
- }
- ]
- },
- "description": "Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance",
- "enabled": true
- },
- "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsRecurringMaintenance",
- "type": "Microsoft.AlertsManagement/actionRules",
- "name": "RemoveActionGroupsRecurringMaintenance",
- "location": "Global",
- "tags": {}
- }
- },
- "201": {
- "body": {
- "systemData": {
- "createdBy": "abc@microsoft.com",
- "createdByType": "User",
- "createdAt": "2018-06-11T22:05:09Z",
- "lastModifiedBy": "xyz@microsoft.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2018-06-12T22:05:09Z"
- },
- "properties": {
- "scopes": [
- "/subscriptions/subId1/resourceGroups/RGId1",
- "/subscriptions/subId1/resourceGroups/RGId2"
- ],
- "conditions": [
- {
- "field": "TargetResourceType",
- "operator": "Equals",
- "values": [
- "microsoft.compute/virtualmachines"
- ]
- }
- ],
- "actions": [
- {
- "actionType": "RemoveAllActionGroups"
- }
- ],
- "schedule": {
- "timeZone": "India Standard Time",
- "recurrences": [
- {
- "recurrenceType": "Weekly",
- "startTime": "22:00:00",
- "endTime": "04:00:00",
- "daysOfWeek": [
- "Saturday",
- "Sunday"
- ]
- }
- ]
- },
- "description": "Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance",
- "enabled": true
- },
- "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsRecurringMaintenance",
- "type": "Microsoft.AlertsManagement/actionRules",
- "name": "RemoveActionGroupsRecurringMaintenance",
- "location": "Global",
- "tags": {}
- }
- }
- }
-}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_specific_VM_one-off_maintenance_window.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_specific_VM_one-off_maintenance_window.json
deleted file mode 100644
index 0e46232aef9b..000000000000
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Create_or_update_remove_all_action_groups_specific_VM_one-off_maintenance_window.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-08-08-preview",
- "subscriptionId": "subId1",
- "resourceGroupName": "alertscorrelationrg",
- "actionRuleName": "RemoveActionGroupsMaintenanceWindow",
- "actionRule": {
- "location": "Global",
- "tags": {},
- "properties": {
- "scopes": [
- "/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName"
- ],
- "actions": [
- {
- "actionType": "RemoveAllActionGroups"
- }
- ],
- "schedule": {
- "effectiveFrom": "2021-04-15T18:00:00",
- "effectiveUntil": "2021-04-15T20:00:00",
- "timeZone": "Pacific Standard Time"
- },
- "description": "Removes all ActionGroups from all Alerts on VMName during the maintenance window",
- "enabled": true
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "systemData": {
- "createdBy": "abc@microsoft.com",
- "createdByType": "User",
- "createdAt": "2018-06-12T20:13:29Z",
- "lastModifiedBy": "xyz@microsoft.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2018-06-12T22:05:09Z"
- },
- "properties": {
- "scopes": [
- "/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName"
- ],
- "actions": [
- {
- "actionType": "RemoveAllActionGroups"
- }
- ],
- "schedule": {
- "effectiveFrom": "2021-04-15T18:00:00",
- "effectiveUntil": "2021-04-15T20:00:00",
- "timeZone": "Pacific Standard Time"
- },
- "description": "Removes all ActionGroups from all Alerts on VMName during the maintenance window",
- "enabled": true
- },
- "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsMaintenanceWindow",
- "type": "Microsoft.AlertsManagement/actionRules",
- "name": "RemoveActionGroupsMaintenanceWindow",
- "location": "Global",
- "tags": {}
- }
- },
- "201": {
- "body": {
- "systemData": {
- "createdBy": "abc@microsoft.com",
- "createdByType": "User",
- "createdAt": "2018-06-12T20:13:29Z",
- "lastModifiedBy": "xyz@microsoft.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2018-06-12T22:05:09Z"
- },
- "properties": {
- "scopes": [
- "/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName"
- ],
- "actions": [
- {
- "actionType": "RemoveAllActionGroups"
- }
- ],
- "schedule": {
- "effectiveFrom": "2021-04-15T18:00:00",
- "effectiveUntil": "2021-04-15T20:00:00",
- "timeZone": "Pacific Standard Time"
- },
- "description": "Removes all ActionGroups from all Alerts on VMName during the maintenance window",
- "enabled": true
- },
- "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsMaintenanceWindow",
- "type": "Microsoft.AlertsManagement/actionRules",
- "name": "RemoveActionGroupsMaintenanceWindow",
- "location": "Global",
- "tags": {}
- }
- }
- }
-}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Delete.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Delete.json
deleted file mode 100644
index 6a9bbd02c9e0..000000000000
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Delete.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-08-08-preview",
- "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d",
- "resourceGroupName": "alertscorrelationrg",
- "actionRuleName": "DailySuppression"
- },
- "responses": {
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_GetById.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_GetById.json
deleted file mode 100644
index 8b1d3aed1722..000000000000
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_GetById.json
+++ /dev/null
@@ -1,96 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-08-08-preview",
- "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d",
- "resourceGroupName": "alertscorrelationrg",
- "actionRuleName": "DailySuppression"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression",
- "type": "Microsoft.AlertsManagement/actionRules",
- "name": "DailySuppression",
- "location": "Global",
- "systemData": {
- "createdBy": "abc@microsoft.com",
- "createdByType": "User",
- "createdAt": "2018-06-12T22:05:09Z",
- "lastModifiedBy": "xyz@microsoft.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2018-06-12T22:05:09Z"
- },
- "properties": {
- "scopes": [
- "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg"
- ],
- "conditions": [
- {
- "field": "Severity",
- "operator": "Equals",
- "values": [
- "Sev0",
- "Sev2"
- ]
- },
- {
- "field": "MonitorService",
- "operator": "Equals",
- "values": [
- "Platform",
- "Application Insights"
- ]
- },
- {
- "field": "MonitorCondition",
- "operator": "Equals",
- "values": [
- "Fired"
- ]
- },
- {
- "field": "TargetResourceType",
- "operator": "NotEquals",
- "values": [
- "Microsoft.Compute/VirtualMachines"
- ]
- }
- ],
- "schedule": {
- "effectiveFrom": "2018-01-10T22:05:09",
- "effectiveUntil": "2018-12-10T22:05:09",
- "timeZone": "Pacific Standard Time",
- "recurrences": [
- {
- "recurrenceType": "Daily",
- "startTime": "06:00:00",
- "endTime": "14:00:00"
- },
- {
- "recurrenceType": "Weekly",
- "startTime": "10:00:00",
- "endTime": "20:00:00",
- "daysOfWeek": [
- "Saturday",
- "Sunday"
- ]
- }
- ]
- },
- "actions": [
- {
- "actionType": "AddActionGroups",
- "actionGroupIds": [
- "actiongGroup1",
- "actiongGroup2"
- ]
- }
- ],
- "description": "Action rule on resource group for daily and weekly scheduling",
- "enabled": true
- },
- "tags": {}
- }
- }
- }
-}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_List_ResourceGroup.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_List_ResourceGroup.json
deleted file mode 100644
index f948c8c845b0..000000000000
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_List_ResourceGroup.json
+++ /dev/null
@@ -1,135 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-08-08-preview",
- "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d",
- "resourceGroupName": "alertscorrelationrg"
- },
- "responses": {
- "200": {
- "body": {
- "nextLink": "https://management.azure.com:443/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules?api-version=2021-08-08-preview&ctoken=%2bRID%3aPlwOAPHEGwB9UwEAAAAgCw%3d%3d%23RT%3a2%23TRC%3a500%23RTD%3aqtQyMDE4LTA2LTEyVDE1OjEyOjE1",
- "value": [
- {
- "systemData": {
- "createdBy": "abc@microsoft.com",
- "createdByType": "User",
- "createdAt": "2018-06-12T22:05:09Z",
- "lastModifiedBy": "xyz@microsoft.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2018-06-12T22:05:09Z"
- },
- "properties": {
- "scopes": [
- "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg"
- ],
- "conditions": [
- {
- "field": "Severity",
- "operator": "Equals",
- "values": [
- "Sev0",
- "Sev2"
- ]
- },
- {
- "field": "MonitorService",
- "operator": "Equals",
- "values": [
- "Platform",
- "Application Insights"
- ]
- },
- {
- "field": "TargetResourceType",
- "operator": "NotEquals",
- "values": [
- "Microsoft.Compute/VirtualMachines"
- ]
- }
- ],
- "schedule": {
- "effectiveFrom": "2018-09-12T06:00:00",
- "effectiveUntil": "2018-09-20T14:00:00",
- "timeZone": "Pacific Standard Time",
- "recurrences": [
- {
- "recurrenceType": "Daily",
- "startTime": "06:00:00",
- "endTime": "14:00:00"
- }
- ]
- },
- "actions": [
- {
- "actionType": "RemoveAllActionGroups"
- }
- ],
- "description": "Action rule on resource group for daily suppression",
- "enabled": true
- },
- "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression",
- "type": "Microsoft.AlertsManagement/actionRules",
- "name": "DailySuppression",
- "location": "Global",
- "tags": {}
- },
- {
- "systemData": {
- "createdBy": "abc@microsoft.com",
- "createdByType": "User",
- "createdAt": "2018-06-12T22:05:09Z",
- "lastModifiedBy": "xyz@microsoft.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2018-06-12T22:05:09Z"
- },
- "properties": {
- "scopes": [
- "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.Compute/VirtualMachines/testResource"
- ],
- "conditions": [
- {
- "field": "MonitorCondition",
- "operator": "Equals",
- "values": [
- "Fired"
- ]
- },
- {
- "field": "Description",
- "operator": "Contains",
- "values": [
- "Percentage CPU greater than 80%",
- "Metric alert on resource foo"
- ]
- },
- {
- "field": "AlertContext",
- "operator": "DoesNotContain",
- "values": [
- "testresource",
- "foo"
- ]
- }
- ],
- "actions": [
- {
- "actionType": "AddActionGroups",
- "actionGroupIds": [
- "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.insights/actiongroups/testAG"
- ]
- }
- ],
- "description": "Action rule on resource group for sending email",
- "enabled": true
- },
- "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/WeeklySuppression",
- "type": "Microsoft.AlertsManagement/actionRules",
- "name": "WeeklySuppression",
- "location": "Global",
- "tags": {}
- }
- ]
- }
- }
- }
-}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_List_Subscription.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_List_Subscription.json
deleted file mode 100644
index c2c141c531f1..000000000000
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_List_Subscription.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-08-08-preview",
- "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d"
- },
- "responses": {
- "200": {
- "body": {
- "nextLink": "https://management.azure.com:443/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/providers/Microsoft.AlertsManagement/actionRules?api-version=2021-08-08-preview&ctoken=%2bRID%3aPlwOAPHEGwB9UwEAAAAgCw%3d%3d%23RT%3a2%23TRC%3a500%23RTD%3aqtQyMDE4LTA2LTEyVDE1OjEyOjE1",
- "value": [
- {
- "systemData": {
- "createdBy": "abc@microsoft.com",
- "createdByType": "User",
- "createdAt": "2018-06-12T22:05:09Z",
- "lastModifiedBy": "xyz@microsoft.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2018-06-12T22:05:09Z"
- },
- "properties": {
- "scopes": [
- "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg"
- ],
- "conditions": [
- {
- "field": "Severity",
- "operator": "Equals",
- "values": [
- "Sev0",
- "Sev2"
- ]
- },
- {
- "field": "MonitorService",
- "operator": "Equals",
- "values": [
- "Platform",
- "Application Insights"
- ]
- },
- {
- "field": "TargetResourceType",
- "operator": "NotEquals",
- "values": [
- "Microsoft.Compute/VirtualMachines"
- ]
- }
- ],
- "schedule": {
- "effectiveFrom": "2018-01-10T22:05:09",
- "effectiveUntil": "2018-12-10T22:05:09",
- "timeZone": "Pacific Standard Time",
- "recurrences": [
- {
- "recurrenceType": "Daily",
- "startTime": "06:00:00",
- "endTime": "14:00:00"
- }
- ]
- },
- "actions": [
- {
- "actionType": "RemoveAllActionGroups"
- }
- ],
- "description": "Action rule on resource group for daily suppression",
- "enabled": true
- },
- "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression",
- "type": "Microsoft.AlertsManagement/actionRules",
- "name": "DailySuppression",
- "location": "Global",
- "tags": {}
- },
- {
- "systemData": {
- "createdBy": "abc@microsoft.com",
- "createdByType": "User",
- "createdAt": "2018-06-12T22:05:09Z",
- "lastModifiedBy": "xyz@microsoft.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2018-06-12T22:05:09Z"
- },
- "properties": {
- "scopes": [
- "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.Compute/VirtualMachines/testResource"
- ],
- "conditions": [
- {
- "field": "MonitorCondition",
- "operator": "Equals",
- "values": [
- "Fired"
- ]
- },
- {
- "field": "Description",
- "operator": "Contains",
- "values": [
- "Percentage CPU greater than 80%",
- "Metric alert on resource foo"
- ]
- }
- ],
- "description": "Action rule on resource group for adding action group",
- "enabled": true,
- "actions": [
- {
- "actionType": "AddActionGroups",
- "actionGroupIds": [
- "actiongGroup1"
- ]
- }
- ]
- },
- "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/WeeklySuppression",
- "type": "Microsoft.AlertsManagement/actionRules",
- "name": "WeeklySuppression",
- "location": "Global",
- "tags": {}
- }
- ]
- }
- }
- }
-}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Patch.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Patch.json
deleted file mode 100644
index ede6e07cc04d..000000000000
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/ActionRules_Patch.json
+++ /dev/null
@@ -1,92 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-08-08-preview",
- "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d",
- "resourceGroupName": "alertscorrelationrg",
- "actionRuleName": "WeeklySuppression",
- "actionRulePatch": {
- "tags": {
- "key1": "value1",
- "key2": "value2"
- },
- "properties": {
- "enabled": false
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "systemData": {
- "createdBy": "abc@microsoft.com",
- "createdByType": "User",
- "createdAt": "2018-06-12T22:05:09Z",
- "lastModifiedBy": "xyz@microsoft.com",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2018-06-12T22:05:09Z"
- },
- "properties": {
- "scopes": [
- "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg"
- ],
- "conditions": [
- {
- "field": "Severity",
- "operator": "Equals",
- "values": [
- "Sev0",
- "Sev2"
- ]
- },
- {
- "field": "MonitorService",
- "operator": "Equals",
- "values": [
- "Platform",
- "Application Insights"
- ]
- },
- {
- "field": "TargetResourceType",
- "operator": "NotEquals",
- "values": [
- "Microsoft.Compute/VirtualMachines"
- ]
- }
- ],
- "schedule": {
- "effectiveFrom": "2018-12-10T22:05:09",
- "effectiveUntil": "2018-12-05T22:05:09",
- "timeZone": "Pacific Standard Time",
- "recurrences": [
- {
- "recurrenceType": "Weekly",
- "startTime": "06:00:00",
- "endTime": "14:00:00",
- "daysOfWeek": [
- "Tuesday",
- "Friday"
- ]
- }
- ]
- },
- "actions": [
- {
- "actionType": "removeAllActionGroups"
- }
- ],
- "description": "Action rule on resource group for weekly suppression",
- "enabled": false
- },
- "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/WeeklySuppression",
- "type": "Microsoft.AlertsManagement/actionRules",
- "name": "WeeklySuppression",
- "location": "Global",
- "tags": {
- "key1": "value1",
- "key2": "value2"
- }
- }
- }
- }
-}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_add_action_group_all_alerts_in_subscription.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_add_action_group_all_alerts_in_subscription.json
new file mode 100644
index 000000000000..50e490c2d49c
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_add_action_group_all_alerts_in_subscription.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "subId1",
+ "resourceGroupName": "alertscorrelationrg",
+ "alertProcessingRuleName": "AddActionGroupToSubscription",
+ "alertProcessingRule": {
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1"
+ ],
+ "actions": [
+ {
+ "actionType": "AddActionGroups",
+ "actionGroupIds": [
+ "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1"
+ ]
+ }
+ ],
+ "description": "Add ActionGroup1 to all alerts in the subscription",
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2021-02-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-02-13T16:15:34Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1"
+ ],
+ "actions": [
+ {
+ "actionType": "AddActionGroups",
+ "actionGroupIds": [
+ "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1"
+ ]
+ }
+ ],
+ "description": "Add ActionGroup1 to all alerts in the subscription",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupToSubscription",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "AddActionGroupToSubscription",
+ "location": "Global",
+ "tags": {}
+ }
+ },
+ "201": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2021-02-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-02-13T16:15:34Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1"
+ ],
+ "actions": [
+ {
+ "actionType": "AddActionGroups",
+ "actionGroupIds": [
+ "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/ActionGroup1"
+ ]
+ }
+ ],
+ "description": "Add ActionGroup1 to all alerts in the subscription",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupToSubscription",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "AddActionGroupToSubscription",
+ "location": "Global",
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json
new file mode 100644
index 000000000000..21db08455a86
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_add_two_action_groups_all_Sev0_Sev1_two_resource_groups.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "subId1",
+ "resourceGroupName": "alertscorrelationrg",
+ "alertProcessingRuleName": "AddActionGroupsBySeverity",
+ "alertProcessingRule": {
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1/resourceGroups/RGId1",
+ "/subscriptions/subId1/resourceGroups/RGId2"
+ ],
+ "conditions": [
+ {
+ "field": "Severity",
+ "operator": "Equals",
+ "values": [
+ "sev0",
+ "sev1"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "AddActionGroups",
+ "actionGroupIds": [
+ "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1",
+ "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2"
+ ]
+ }
+ ],
+ "description": "Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups",
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-13T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1/resourceGroups/RGId1",
+ "/subscriptions/subId1/resourceGroups/RGId2"
+ ],
+ "conditions": [
+ {
+ "field": "Severity",
+ "operator": "Equals",
+ "values": [
+ "sev0",
+ "sev1"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "AddActionGroups",
+ "actionGroupIds": [
+ "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1",
+ "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2"
+ ]
+ }
+ ],
+ "description": "Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupsBySeverity",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "AddActionGroupsBySeverity",
+ "location": "Global",
+ "tags": {}
+ }
+ },
+ "201": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-13T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1/resourceGroups/RGId1",
+ "/subscriptions/subId1/resourceGroups/RGId2"
+ ],
+ "conditions": [
+ {
+ "field": "Severity",
+ "operator": "Equals",
+ "values": [
+ "sev0",
+ "sev1"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "AddActionGroups",
+ "actionGroupIds": [
+ "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId1",
+ "/subscriptions/subId1/resourcegroups/RGId1/providers/microsoft.insights/actiongroups/AGId2"
+ ]
+ }
+ ],
+ "description": "Add AGId1 and AGId2 to all Sev0 and Sev1 alerts in these resourceGroups",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/AddActionGroupsBySeverity",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "AddActionGroupsBySeverity",
+ "location": "Global",
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json
new file mode 100644
index 000000000000..d3ecbafde24a
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_from_specific_alert_rule.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "subId1",
+ "resourceGroupName": "alertscorrelationrg",
+ "alertProcessingRuleName": "RemoveActionGroupsSpecificAlertRule",
+ "alertProcessingRule": {
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1"
+ ],
+ "conditions": [
+ {
+ "field": "AlertRuleId",
+ "operator": "Equals",
+ "values": [
+ "/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "description": "Removes all ActionGroups from all Alerts that fire on above AlertRule",
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-11T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1"
+ ],
+ "conditions": [
+ {
+ "field": "AlertRuleId",
+ "operator": "Equals",
+ "values": [
+ "/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "description": "Removes all ActionGroups from all Alerts that fire on above AlertRule",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsSpecificAlertRule",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "RemoveActionGroupsSpecificAlertRule",
+ "location": "Global",
+ "tags": {}
+ }
+ },
+ "201": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-11T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1"
+ ],
+ "conditions": [
+ {
+ "field": "AlertRuleId",
+ "operator": "Equals",
+ "values": [
+ "/subscriptions/suubId1/resourceGroups/Rgid2/providers/microsoft.insights/activityLogAlerts/RuleName"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "description": "Removes all ActionGroups from all Alerts that fire on above AlertRule",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsSpecificAlertRule",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "RemoveActionGroupsSpecificAlertRule",
+ "location": "Global",
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_outside_business_hours.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_outside_business_hours.json
new file mode 100644
index 000000000000..cda18eb1656a
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_outside_business_hours.json
@@ -0,0 +1,135 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "subId1",
+ "resourceGroupName": "alertscorrelationrg",
+ "alertProcessingRuleName": "RemoveActionGroupsOutsideBusinessHours",
+ "alertProcessingRule": {
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1"
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "schedule": {
+ "timeZone": "Eastern Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Daily",
+ "startTime": "17:00:00",
+ "endTime": "09:00:00"
+ },
+ {
+ "recurrenceType": "Weekly",
+ "daysOfWeek": [
+ "Saturday",
+ "Sunday"
+ ]
+ }
+ ]
+ },
+ "description": "Remove all ActionGroups outside business hours",
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-11T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1"
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "schedule": {
+ "timeZone": "Eastern Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Daily",
+ "startTime": "17:00:00",
+ "endTime": "09:00:00"
+ },
+ {
+ "recurrenceType": "Weekly",
+ "daysOfWeek": [
+ "Saturday",
+ "Sunday"
+ ]
+ }
+ ]
+ },
+ "description": "Remove all ActionGroups outside business hours",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsOutsideBusinessHours",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "RemoveActionGroupsOutsideBusinessHours",
+ "location": "Global",
+ "tags": {}
+ }
+ },
+ "201": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-11T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1"
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "schedule": {
+ "timeZone": "Eastern Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Daily",
+ "startTime": "17:00:00",
+ "endTime": "09:00:00"
+ },
+ {
+ "recurrenceType": "Weekly",
+ "daysOfWeek": [
+ "Saturday",
+ "Sunday"
+ ]
+ }
+ ]
+ },
+ "description": "Remove all ActionGroups outside business hours",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsOutsideBusinessHours",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "RemoveActionGroupsOutsideBusinessHours",
+ "location": "Global",
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json
new file mode 100644
index 000000000000..8b3dda899f52
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_recurring_maintenance_window.json
@@ -0,0 +1,156 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "subId1",
+ "resourceGroupName": "alertscorrelationrg",
+ "alertProcessingRuleName": "RemoveActionGroupsRecurringMaintenance",
+ "alertProcessingRule": {
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1/resourceGroups/RGId1",
+ "/subscriptions/subId1/resourceGroups/RGId2"
+ ],
+ "conditions": [
+ {
+ "field": "TargetResourceType",
+ "operator": "Equals",
+ "values": [
+ "microsoft.compute/virtualmachines"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "schedule": {
+ "timeZone": "India Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Weekly",
+ "startTime": "22:00:00",
+ "endTime": "04:00:00",
+ "daysOfWeek": [
+ "Saturday",
+ "Sunday"
+ ]
+ }
+ ]
+ },
+ "description": "Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance",
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-11T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1/resourceGroups/RGId1",
+ "/subscriptions/subId1/resourceGroups/RGId2"
+ ],
+ "conditions": [
+ {
+ "field": "TargetResourceType",
+ "operator": "Equals",
+ "values": [
+ "microsoft.compute/virtualmachines"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "schedule": {
+ "timeZone": "India Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Weekly",
+ "startTime": "22:00:00",
+ "endTime": "04:00:00",
+ "daysOfWeek": [
+ "Saturday",
+ "Sunday"
+ ]
+ }
+ ]
+ },
+ "description": "Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsRecurringMaintenance",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "RemoveActionGroupsRecurringMaintenance",
+ "location": "Global",
+ "tags": {}
+ }
+ },
+ "201": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-11T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1/resourceGroups/RGId1",
+ "/subscriptions/subId1/resourceGroups/RGId2"
+ ],
+ "conditions": [
+ {
+ "field": "TargetResourceType",
+ "operator": "Equals",
+ "values": [
+ "microsoft.compute/virtualmachines"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "schedule": {
+ "timeZone": "India Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Weekly",
+ "startTime": "22:00:00",
+ "endTime": "04:00:00",
+ "daysOfWeek": [
+ "Saturday",
+ "Sunday"
+ ]
+ }
+ ]
+ },
+ "description": "Remove all ActionGroups from all Vitual machine Alerts during the recurring maintenance",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsRecurringMaintenance",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "RemoveActionGroupsRecurringMaintenance",
+ "location": "Global",
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_specific_VM_one-off_maintenance_window.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_specific_VM_one-off_maintenance_window.json
new file mode 100644
index 000000000000..ba95adcfeac0
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Create_or_update_remove_all_action_groups_specific_VM_one-off_maintenance_window.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "subId1",
+ "resourceGroupName": "alertscorrelationrg",
+ "alertProcessingRuleName": "RemoveActionGroupsMaintenanceWindow",
+ "alertProcessingRule": {
+ "location": "Global",
+ "tags": {},
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName"
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "schedule": {
+ "effectiveFrom": "2021-04-15T18:00:00",
+ "effectiveUntil": "2021-04-15T20:00:00",
+ "timeZone": "Pacific Standard Time"
+ },
+ "description": "Removes all ActionGroups from all Alerts on VMName during the maintenance window",
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T20:13:29Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName"
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "schedule": {
+ "effectiveFrom": "2021-04-15T18:00:00",
+ "effectiveUntil": "2021-04-15T20:00:00",
+ "timeZone": "Pacific Standard Time"
+ },
+ "description": "Removes all ActionGroups from all Alerts on VMName during the maintenance window",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsMaintenanceWindow",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "RemoveActionGroupsMaintenanceWindow",
+ "location": "Global",
+ "tags": {}
+ }
+ },
+ "201": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T20:13:29Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/subId1/resourceGroups/RGId1/providers/Microsoft.Compute/virtualMachines/VMName"
+ ],
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "schedule": {
+ "effectiveFrom": "2021-04-15T18:00:00",
+ "effectiveUntil": "2021-04-15T20:00:00",
+ "timeZone": "Pacific Standard Time"
+ },
+ "description": "Removes all ActionGroups from all Alerts on VMName during the maintenance window",
+ "enabled": true
+ },
+ "id": "/subscriptions/subId1/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/RemoveActionGroupsMaintenanceWindow",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "RemoveActionGroupsMaintenanceWindow",
+ "location": "Global",
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Delete.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Delete.json
new file mode 100644
index 000000000000..7c7e622235a9
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d",
+ "resourceGroupName": "alertscorrelationrg",
+ "alertProcessingRuleName": "DailySuppression"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_GetById.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_GetById.json
new file mode 100644
index 000000000000..d19660c451ae
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_GetById.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d",
+ "resourceGroupName": "alertscorrelationrg",
+ "alertProcessingRuleName": "DailySuppression"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "DailySuppression",
+ "location": "Global",
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg"
+ ],
+ "conditions": [
+ {
+ "field": "Severity",
+ "operator": "Equals",
+ "values": [
+ "Sev0",
+ "Sev2"
+ ]
+ },
+ {
+ "field": "MonitorService",
+ "operator": "Equals",
+ "values": [
+ "Platform",
+ "Application Insights"
+ ]
+ },
+ {
+ "field": "MonitorCondition",
+ "operator": "Equals",
+ "values": [
+ "Fired"
+ ]
+ },
+ {
+ "field": "TargetResourceType",
+ "operator": "NotEquals",
+ "values": [
+ "Microsoft.Compute/VirtualMachines"
+ ]
+ }
+ ],
+ "schedule": {
+ "effectiveFrom": "2018-01-10T22:05:09",
+ "effectiveUntil": "2018-12-10T22:05:09",
+ "timeZone": "Pacific Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Daily",
+ "startTime": "06:00:00",
+ "endTime": "14:00:00"
+ },
+ {
+ "recurrenceType": "Weekly",
+ "startTime": "10:00:00",
+ "endTime": "20:00:00",
+ "daysOfWeek": [
+ "Saturday",
+ "Sunday"
+ ]
+ }
+ ]
+ },
+ "actions": [
+ {
+ "actionType": "AddActionGroups",
+ "actionGroupIds": [
+ "actiongGroup1",
+ "actiongGroup2"
+ ]
+ }
+ ],
+ "description": "Alert processing rule on resource group for daily and weekly scheduling",
+ "enabled": true
+ },
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_List_ResourceGroup.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_List_ResourceGroup.json
new file mode 100644
index 000000000000..398cd5892286
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_List_ResourceGroup.json
@@ -0,0 +1,135 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d",
+ "resourceGroupName": "alertscorrelationrg"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com:443/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules?api-version=2021-08-08-preview&ctoken=%2bRID%3aPlwOAPHEGwB9UwEAAAAgCw%3d%3d%23RT%3a2%23TRC%3a500%23RTD%3aqtQyMDE4LTA2LTEyVDE1OjEyOjE1",
+ "value": [
+ {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg"
+ ],
+ "conditions": [
+ {
+ "field": "Severity",
+ "operator": "Equals",
+ "values": [
+ "Sev0",
+ "Sev2"
+ ]
+ },
+ {
+ "field": "MonitorService",
+ "operator": "Equals",
+ "values": [
+ "Platform",
+ "Application Insights"
+ ]
+ },
+ {
+ "field": "TargetResourceType",
+ "operator": "NotEquals",
+ "values": [
+ "Microsoft.Compute/VirtualMachines"
+ ]
+ }
+ ],
+ "schedule": {
+ "effectiveFrom": "2018-09-12T06:00:00",
+ "effectiveUntil": "2018-09-20T14:00:00",
+ "timeZone": "Pacific Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Daily",
+ "startTime": "06:00:00",
+ "endTime": "14:00:00"
+ }
+ ]
+ },
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "description": "Alert processing rule on resource group for daily suppression",
+ "enabled": true
+ },
+ "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "DailySuppression",
+ "location": "Global",
+ "tags": {}
+ },
+ {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.Compute/VirtualMachines/testResource"
+ ],
+ "conditions": [
+ {
+ "field": "MonitorCondition",
+ "operator": "Equals",
+ "values": [
+ "Fired"
+ ]
+ },
+ {
+ "field": "Description",
+ "operator": "Contains",
+ "values": [
+ "Percentage CPU greater than 80%",
+ "Metric alert on resource foo"
+ ]
+ },
+ {
+ "field": "AlertContext",
+ "operator": "DoesNotContain",
+ "values": [
+ "testresource",
+ "foo"
+ ]
+ }
+ ],
+ "actions": [
+ {
+ "actionType": "AddActionGroups",
+ "actionGroupIds": [
+ "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.insights/actiongroups/testAG"
+ ]
+ }
+ ],
+ "description": "Alert processing rule on resource group for sending email",
+ "enabled": true
+ },
+ "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/WeeklySuppression",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "WeeklySuppression",
+ "location": "Global",
+ "tags": {}
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_List_Subscription.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_List_Subscription.json
new file mode 100644
index 000000000000..8a813b34c528
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_List_Subscription.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "https://management.azure.com:443/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/providers/Microsoft.AlertsManagement/actionRules?api-version=2021-08-08-preview&ctoken=%2bRID%3aPlwOAPHEGwB9UwEAAAAgCw%3d%3d%23RT%3a2%23TRC%3a500%23RTD%3aqtQyMDE4LTA2LTEyVDE1OjEyOjE1",
+ "value": [
+ {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg"
+ ],
+ "conditions": [
+ {
+ "field": "Severity",
+ "operator": "Equals",
+ "values": [
+ "Sev0",
+ "Sev2"
+ ]
+ },
+ {
+ "field": "MonitorService",
+ "operator": "Equals",
+ "values": [
+ "Platform",
+ "Application Insights"
+ ]
+ },
+ {
+ "field": "TargetResourceType",
+ "operator": "NotEquals",
+ "values": [
+ "Microsoft.Compute/VirtualMachines"
+ ]
+ }
+ ],
+ "schedule": {
+ "effectiveFrom": "2018-01-10T22:05:09",
+ "effectiveUntil": "2018-12-10T22:05:09",
+ "timeZone": "Pacific Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Daily",
+ "startTime": "06:00:00",
+ "endTime": "14:00:00"
+ }
+ ]
+ },
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "description": "Alert processing rule on resource group for daily suppression",
+ "enabled": true
+ },
+ "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/DailySuppression",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "DailySuppression",
+ "location": "Global",
+ "tags": {}
+ },
+ {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.Compute/VirtualMachines/testResource"
+ ],
+ "conditions": [
+ {
+ "field": "MonitorCondition",
+ "operator": "Equals",
+ "values": [
+ "Fired"
+ ]
+ },
+ {
+ "field": "Description",
+ "operator": "Contains",
+ "values": [
+ "Percentage CPU greater than 80%",
+ "Metric alert on resource foo"
+ ]
+ }
+ ],
+ "description": "Alert processing rule on resource group for adding action group",
+ "enabled": true,
+ "actions": [
+ {
+ "actionType": "AddActionGroups",
+ "actionGroupIds": [
+ "actiongGroup1"
+ ]
+ }
+ ]
+ },
+ "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/WeeklySuppression",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "WeeklySuppression",
+ "location": "Global",
+ "tags": {}
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Patch.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Patch.json
new file mode 100644
index 000000000000..6399c65ed87f
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2021-08-08-preview/examples/AlertProcessingRules_Patch.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "api-version": "2021-08-08-preview",
+ "subscriptionId": "1e3ff1c0-771a-4119-a03b-be82a51e232d",
+ "resourceGroupName": "alertscorrelationrg",
+ "alertProcessingRuleName": "WeeklySuppression",
+ "alertProcessingRulePatch": {
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ },
+ "properties": {
+ "enabled": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "systemData": {
+ "createdBy": "abc@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2018-06-12T22:05:09Z",
+ "lastModifiedBy": "xyz@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2018-06-12T22:05:09Z"
+ },
+ "properties": {
+ "scopes": [
+ "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg"
+ ],
+ "conditions": [
+ {
+ "field": "Severity",
+ "operator": "Equals",
+ "values": [
+ "Sev0",
+ "Sev2"
+ ]
+ },
+ {
+ "field": "MonitorService",
+ "operator": "Equals",
+ "values": [
+ "Platform",
+ "Application Insights"
+ ]
+ },
+ {
+ "field": "TargetResourceType",
+ "operator": "NotEquals",
+ "values": [
+ "Microsoft.Compute/VirtualMachines"
+ ]
+ }
+ ],
+ "schedule": {
+ "effectiveFrom": "2018-12-10T22:05:09",
+ "effectiveUntil": "2018-12-05T22:05:09",
+ "timeZone": "Pacific Standard Time",
+ "recurrences": [
+ {
+ "recurrenceType": "Weekly",
+ "startTime": "06:00:00",
+ "endTime": "14:00:00",
+ "daysOfWeek": [
+ "Tuesday",
+ "Friday"
+ ]
+ }
+ ]
+ },
+ "actions": [
+ {
+ "actionType": "RemoveAllActionGroups"
+ }
+ ],
+ "description": "Alert processing rule on resource group for weekly suppression",
+ "enabled": false
+ },
+ "id": "/subscriptions/1e3ff1c0-771a-4119-a03b-be82a51e232d/resourceGroups/alertscorrelationrg/providers/Microsoft.AlertsManagement/actionRules/WeeklySuppression",
+ "type": "Microsoft.AlertsManagement/actionRules",
+ "name": "WeeklySuppression",
+ "location": "Global",
+ "tags": {
+ "key1": "value1",
+ "key2": "value2"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/readme.go.md b/specification/alertsmanagement/resource-manager/readme.go.md
index 25442dc4e52b..fe16ad5f0335 100644
--- a/specification/alertsmanagement/resource-manager/readme.go.md
+++ b/specification/alertsmanagement/resource-manager/readme.go.md
@@ -2,13 +2,21 @@
These settings apply only when `--go` is specified on the command line.
-``` yaml $(go)
+``` yaml $(go) && !$(track2)
go:
license-header: MICROSOFT_MIT_NO_VERSION
namespace: alertsmanagement
clear-output-folder: true
```
+``` yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/resourcemanager/alertsmanagement/armalertsmanagement
+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:
diff --git a/specification/alertsmanagement/resource-manager/readme.md b/specification/alertsmanagement/resource-manager/readme.md
index faa8457d3a46..91c8cb5aadf7 100644
--- a/specification/alertsmanagement/resource-manager/readme.md
+++ b/specification/alertsmanagement/resource-manager/readme.md
@@ -41,11 +41,20 @@ directive:
title: AlertsManagementClient
description: AlertsManagement Client
openapi-type: arm
-tag: package-2019-06-preview
+tag: package-preview-2021-08
```
+### Tag: package-preview-2021-08
+These settings apply only when `--tag=package-preview-2021-08` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2021-08'
+input-file:
+ - Microsoft.AlertsManagement/preview/2021-08-08-preview/AlertProcessingRules.json
+ - Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json
+ - Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json
+```
### Tag: package-2021-04-only
@@ -57,16 +66,6 @@ input-file:
- Microsoft.AlertsManagement/stable/2021-04-01/SmartDetectorAlertRulesApi.json
```
-### Tag: package-preview-2021-08
-
-These settings apply only when `--tag=package-preview-2021-08` is specified on the command line.
-
-```yaml $(tag) == 'package-preview-2021-08'
-input-file:
- - Microsoft.AlertsManagement/preview/2021-08-08-preview/ActionRules.json
- - Microsoft.AlertsManagement/preview/2021-08-08-preview/AlertsManagement.json
-```
-
### Tag: package-preview-2021-01
These settings apply only when `--tag=package-preview-2021-01` is specified on the command line.
@@ -147,7 +146,15 @@ input-file:
- Microsoft.AlertsManagement/preview/2020-08-04-preview/ResourceHealthAlertRules.json
```
----
+### Tag: package-2021-07-22-preview
+
+
+These settings apply only when `--tag=package-2021-07-22` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-07-22-preview'
+input-file:
+- Microsoft.AlertsManagement/preview/2021-07-22-preview/PrometheusRuleGroups.json
+```
# Code Generation
@@ -162,6 +169,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python-track2
- repo: azure-libraries-for-java
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-trenton
- repo: azure-resource-manager-schemas
```
diff --git a/specification/analysisservices/resource-manager/readme.go.md b/specification/analysisservices/resource-manager/readme.go.md
index 02973b920b9e..86cdc0bad250 100644
--- a/specification/analysisservices/resource-manager/readme.go.md
+++ b/specification/analysisservices/resource-manager/readme.go.md
@@ -2,13 +2,21 @@
These settings apply only when `--go` is specified on the command line.
-``` yaml $(go)
+``` yaml $(go) && !$(track2)
go:
license-header: MICROSOFT_MIT_NO_VERSION
namespace: analysisservices
clear-output-folder: true
```
+``` yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/resourcemanager/analysisservices/armanalysisservices
+module: github.com/Azure/azure-sdk-for-go/$(module-name)
+output-folder: $(go-sdk-folder)/$(module-name)
+azure-arm: true
+```
+
### Go multi-api
``` yaml $(go) && $(multiapi)
diff --git a/specification/analysisservices/resource-manager/readme.md b/specification/analysisservices/resource-manager/readme.md
index 37c2cb8c62f6..cc9aed617dc1 100644
--- a/specification/analysisservices/resource-manager/readme.md
+++ b/specification/analysisservices/resource-manager/readme.md
@@ -79,6 +79,7 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-sdk-for-ruby
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimanagement.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimanagement.json
index b5c09291b632..247c505fe581 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimanagement.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimanagement.json
@@ -607,17 +607,6 @@
"description": "The name of the resource group.",
"x-ms-parameter-location": "method"
},
- "SchemaIdParameter": {
- "name": "schemaId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Schema identifier within an API. Must be unique in the current API Management service instance.",
- "minLength": 1,
- "maxLength": 80,
- "pattern": "^[^*#&+:<>?]+$",
- "x-ms-parameter-location": "method"
- },
"ServiceNameParameter": {
"name": "serviceName",
"in": "path",
@@ -765,6 +754,16 @@
"minLength": 1,
"maxLength": 80,
"x-ms-parameter-location": "method"
+ },
+ "SchemaIdParameter": {
+ "name": "schemaId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Schema id identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
}
}
}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimapis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimapis.json
index 95f12fcad9ee..7bb04a782406 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimapis.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimapis.json
@@ -2184,7 +2184,7 @@
"200": {
"description": "Apis Schema Collection.",
"schema": {
- "$ref": "./definitions.json#/definitions/SchemaCollection"
+ "$ref": "./definitions.json#/definitions/ApiSchemaCollection"
}
},
"default": {
@@ -2284,7 +2284,7 @@
"200": {
"description": "Api Schema information.",
"schema": {
- "$ref": "./definitions.json#/definitions/SchemaContract"
+ "$ref": "./definitions.json#/definitions/ApiSchemaContract"
},
"headers": {
"ETag": {
@@ -2330,7 +2330,7 @@
"in": "body",
"required": true,
"schema": {
- "$ref": "./definitions.json#/definitions/SchemaContract"
+ "$ref": "./definitions.json#/definitions/ApiSchemaContract"
},
"description": "The schema contents to apply."
},
@@ -2351,7 +2351,7 @@
"201": {
"description": "Api schema configuration was successfully created.",
"schema": {
- "$ref": "./definitions.json#/definitions/SchemaContract"
+ "$ref": "./definitions.json#/definitions/ApiSchemaContract"
},
"headers": {
"ETag": {
@@ -2363,7 +2363,7 @@
"200": {
"description": "Api schema configuration of the tenant was successfully updated.",
"schema": {
- "$ref": "./definitions.json#/definitions/SchemaContract"
+ "$ref": "./definitions.json#/definitions/ApiSchemaContract"
},
"headers": {
"ETag": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimschema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimschema.json
new file mode 100644
index 000000000000..f12b31022fce
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/apimschema.json
@@ -0,0 +1,328 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Schema entity in Azure API Management deployment.",
+ "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.ApiManagement/service/{serviceName}/schemas": {
+ "get": {
+ "tags": [
+ "Schema"
+ ],
+ "operationId": "Schema_ListByService",
+ "description": "Lists a collection of schemas registered with service instance.",
+ "x-ms-examples": {
+ "ApiManagementListSchemas": {
+ "$ref": "./examples/ApiManagementListSchemas.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Schema entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SchemaCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/SchemaContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/schemas/{schemaId}": {
+ "head": {
+ "tags": [
+ "Schema"
+ ],
+ "operationId": "Schema_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Schema specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApi": {
+ "$ref": "./examples/ApiManagementHeadSchema.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified Schema entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Schema"
+ ],
+ "operationId": "Schema_Get",
+ "description": "Gets the details of the Schema specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetSchema1": {
+ "$ref": "./examples/ApiManagementGetSchema1.json"
+ },
+ "ApiManagementGetSchema2": {
+ "$ref": "./examples/ApiManagementGetSchema2.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Schema entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SchemaContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Schema"
+ ],
+ "operationId": "Schema_CreateOrUpdate",
+ "description": "Creates new or updates existing specified Schema of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementCreateSchema1": {
+ "$ref": "./examples/ApiManagementCreateSchema1.json"
+ },
+ "ApiManagementCreateSchema2": {
+ "$ref": "./examples/ApiManagementCreateSchema2.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SchemaContract"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The new Schema was successfully added.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SchemaContract"
+ }
+ },
+ "200": {
+ "description": "The Schema details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SchemaContract"
+ }
+ },
+ "202": {
+ "description": "Accepted the change when updating the service."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Schema"
+ ],
+ "operationId": "Schema_Delete",
+ "description": "Deletes specific Schema.",
+ "x-ms-examples": {
+ "ApiManagementDeleteSchema": {
+ "$ref": "./examples/ApiManagementDeleteSchema.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Schema was successfully deleted."
+ },
+ "204": {
+ "description": "The Schema was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/definitions.json
index 41161235a43b..353ef951ed96 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/definitions.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/definitions.json
@@ -4973,12 +4973,12 @@
],
"description": "Parameters supplied to the Save Tenant Configuration operation."
},
- "SchemaCollection": {
+ "ApiSchemaCollection": {
"properties": {
"value": {
"type": "array",
"items": {
- "$ref": "#/definitions/SchemaContract"
+ "$ref": "#/definitions/ApiSchemaContract"
},
"description": "API Schema Contract value.",
"readOnly": true
@@ -4996,12 +4996,12 @@
},
"description": "The response of the list schema operation."
},
- "SchemaContract": {
+ "ApiSchemaContract": {
"properties": {
"properties": {
"x-ms-client-flatten": true,
- "$ref": "#/definitions/SchemaContractProperties",
- "description": "Properties of the Schema."
+ "$ref": "#/definitions/ApiSchemaContractProperties",
+ "description": "Properties of the API Schema."
}
},
"allOf": [
@@ -5009,9 +5009,9 @@
"$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
}
],
- "description": "Schema Contract details."
+ "description": "API Schema Contract details."
},
- "SchemaContractProperties": {
+ "ApiSchemaContractProperties": {
"properties": {
"contentType": {
"type": "string",
@@ -5019,8 +5019,8 @@
},
"document": {
"x-ms-client-flatten": true,
- "$ref": "#/definitions/SchemaDocumentProperties",
- "description": "Create or update Properties of the Schema Document."
+ "$ref": "#/definitions/ApiSchemaDocumentProperties",
+ "description": "Create or update Properties of the API Schema Document."
}
},
"required": [
@@ -5028,7 +5028,7 @@
],
"description": "API Schema create or update contract Properties."
},
- "SchemaDocumentProperties": {
+ "ApiSchemaDocumentProperties": {
"properties": {
"value": {
"type": "string",
@@ -5036,13 +5036,101 @@
},
"definitions": {
"type": "object",
- "description": "Types definitions. Used for OpenAPI v2 (Swagger) schemas only, null otherwise."
+ "description": "Types definitions. Used for Swagger/OpenAPI v1 schemas only, null otherwise."
},
"components": {
"type": "object",
- "description": "Types definitions. Used for OpenAPI v3 schemas only, null otherwise."
+ "description": "Types definitions. Used for Swagger/OpenAPI v2/v3 schemas only, null otherwise."
+ }
+ },
+ "description": "Api Schema Document Properties."
+ },
+ "SchemaCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SchemaContract"
+ },
+ "description": "Schema Contract value.",
+ "readOnly": true
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "The response of the list schema operation."
+ },
+ "SchemaContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SchemaContractProperties",
+ "description": "Properties of the Schema."
}
},
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Schema Contract details."
+ },
+ "SchemaContractProperties": {
+ "properties": {
+ "schemaType": {
+ "type": "string",
+ "description": "Schema Type. Immutable.",
+ "enum": [
+ "xml",
+ "json"
+ ],
+ "x-ms-client-name": "SchemaType",
+ "x-ms-enum": {
+ "name": "SchemaType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "xml",
+ "description": "Xml schema type.",
+ "name": "Xml"
+ },
+ {
+ "value": "json",
+ "description": "Json schema type.",
+ "name": "Json"
+ }
+ ]
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "Free-form schema entity description."
+ },
+ "value": {
+ "type": "string",
+ "description": "Json-encoded string for non json-based schema."
+ },
+ "document": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SchemaDocumentProperties",
+ "description": "Schema document object for json-based schema formats(e.g. json schema)."
+ }
+ },
+ "required": [
+ "schemaType"
+ ],
+ "description": "Schema create or update contract Properties."
+ },
+ "SchemaDocumentProperties": {
+ "type": "object",
"description": "Schema Document Properties."
},
"SubscriptionCollection": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementCreateSchema1.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementCreateSchema1.json
new file mode 100644
index 000000000000..10722840ce6f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementCreateSchema1.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "schemaId": "schema1",
+ "parameters": {
+ "properties": {
+ "description": "sample schema description",
+ "schemaType": "xml",
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema1?api-version=2021-04-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema1",
+ "type": "Microsoft.ApiManagement/service/schemas",
+ "name": "schema1",
+ "properties": {
+ "description": "sample schema description",
+ "schemaType": "xml",
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema1",
+ "type": "Microsoft.ApiManagement/service/schemas",
+ "name": "schema1",
+ "properties": {
+ "description": "sample schema description",
+ "schemaType": "xml",
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementCreateSchema2.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementCreateSchema2.json
new file mode 100644
index 000000000000..16c1853f34cd
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementCreateSchema2.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "schemaId": "schema1",
+ "parameters": {
+ "properties": {
+ "description": "sample schema description",
+ "schemaType": "json",
+ "document": {
+ "$id": "https://example.com/person.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Person",
+ "type": "object",
+ "properties": {
+ "firstName": {
+ "type": "string",
+ "description": "The person's first name."
+ },
+ "lastName": {
+ "type": "string",
+ "description": "The person's last name."
+ },
+ "age": {
+ "description": "Age in years which must be equal to or greater than zero.",
+ "type": "integer",
+ "minimum": 0
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema1?api-version=2021-04-01-preview&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema1",
+ "type": "Microsoft.ApiManagement/service/schemas",
+ "name": "schema1",
+ "properties": {
+ "description": "sample schema description",
+ "schemaType": "json",
+ "document": {
+ "$id": "https://example.com/person.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Person",
+ "type": "object",
+ "properties": {
+ "firstName": {
+ "type": "string",
+ "description": "The person's first name."
+ },
+ "lastName": {
+ "type": "string",
+ "description": "The person's last name."
+ },
+ "age": {
+ "description": "Age in years which must be equal to or greater than zero.",
+ "type": "integer",
+ "minimum": 0
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema1",
+ "type": "Microsoft.ApiManagement/service/schemas",
+ "name": "schema1",
+ "properties": {
+ "description": "sample schema description",
+ "schemaType": "json",
+ "document": {
+ "$id": "https://example.com/person.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Person",
+ "type": "object",
+ "properties": {
+ "firstName": {
+ "type": "string",
+ "description": "The person's first name."
+ },
+ "lastName": {
+ "type": "string",
+ "description": "The person's last name."
+ },
+ "age": {
+ "description": "Age in years which must be equal to or greater than zero.",
+ "type": "integer",
+ "minimum": 0
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementDeleteSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementDeleteSchema.json
new file mode 100644
index 000000000000..fea4f1e3a306
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementDeleteSchema.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "schemaId": "schema1",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementGetSchema1.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementGetSchema1.json
new file mode 100644
index 000000000000..787f1176176c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementGetSchema1.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "schemaId": "schema1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema1",
+ "type": "Microsoft.ApiManagement/service/schemas",
+ "name": "schema1",
+ "properties": {
+ "description": "sample schema description",
+ "schemaType": "xml",
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementGetSchema2.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementGetSchema2.json
new file mode 100644
index 000000000000..668296771099
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementGetSchema2.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "schemaId": "schema2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema2",
+ "type": "Microsoft.ApiManagement/service/schemas",
+ "name": "schema2",
+ "properties": {
+ "description": "sample schema description",
+ "schemaType": "json",
+ "document": {
+ "$id": "https://example.com/person.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Person",
+ "type": "object",
+ "properties": {
+ "firstName": {
+ "type": "string",
+ "description": "The person's first name."
+ },
+ "lastName": {
+ "type": "string",
+ "description": "The person's last name."
+ },
+ "age": {
+ "description": "Age in years which must be equal to or greater than zero.",
+ "type": "integer",
+ "minimum": 0
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementHeadSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementHeadSchema.json
new file mode 100644
index 000000000000..9ef6e610f210
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementHeadSchema.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid",
+ "schemaId": "myschema"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementListSchemas.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementListSchemas.json
new file mode 100644
index 000000000000..d6f72dc70635
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2021-04-01-preview/examples/ApiManagementListSchemas.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema1",
+ "type": "Microsoft.ApiManagement/service/schemas",
+ "name": "schema1",
+ "properties": {
+ "description": "sample schema description",
+ "schemaType": "xml",
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/schemas/schema2",
+ "type": "Microsoft.ApiManagement/service/schemas",
+ "name": "schema2",
+ "properties": {
+ "description": "sample schema description",
+ "schemaType": "json",
+ "document": {
+ "$id": "https://example.com/person.schema.json",
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Person",
+ "type": "object",
+ "properties": {
+ "firstName": {
+ "type": "string",
+ "description": "The person's first name."
+ },
+ "lastName": {
+ "type": "string",
+ "description": "The person's last name."
+ },
+ "age": {
+ "description": "Age in years which must be equal to or greater than zero.",
+ "type": "integer",
+ "minimum": 0
+ }
+ }
+ }
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimanagement.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimanagement.json
new file mode 100644
index 000000000000..2903909d050f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimanagement.json
@@ -0,0 +1,770 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on entities like API, Product, and Subscription associated with your Azure API Management deployment.",
+ "version": "2021-08-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": {},
+ "definitions": {
+ "ErrorFieldContract": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Property level error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Human-readable representation of property-level error."
+ },
+ "target": {
+ "type": "string",
+ "description": "Property name."
+ }
+ },
+ "description": "Error Field contract."
+ },
+ "ErrorResponse": {
+ "properties": {
+ "error": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ErrorResponseBody",
+ "description": "Properties of the Error Response."
+ }
+ },
+ "description": "Error Response."
+ },
+ "ErrorResponseBody": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response."
+ },
+ "message": {
+ "type": "string",
+ "description": "Human-readable representation of the error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorFieldContract"
+ },
+ "description": "The list of invalid fields send in request, in case of validation error."
+ }
+ },
+ "description": "Error Body contract."
+ },
+ "RegionContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Region name.",
+ "readOnly": true
+ },
+ "isMasterRegion": {
+ "description": "whether Region is the master region.",
+ "type": "boolean"
+ },
+ "isDeleted": {
+ "description": "whether Region is deleted.",
+ "type": "boolean"
+ }
+ },
+ "description": "Region profile."
+ },
+ "RegionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegionContract"
+ },
+ "description": "Lists of Regions."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Lists Regions operation response details."
+ }
+ },
+ "parameters": {
+ "AccessParameter": {
+ "name": "accessName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "access",
+ "gitAccess"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "AccessIdName"
+ },
+ "description": "The identifier of the Access configuration.",
+ "x-ms-parameter-location": "method"
+ },
+ "SettingsParameter": {
+ "name": "settingsType",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "public"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "settingsTypeName"
+ },
+ "description": "The identifier of the settings.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiIdParameter": {
+ "name": "apiId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "API identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ },
+ "ApiIdRevParameter": {
+ "name": "apiId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request."
+ },
+ "ApiVersionSetIdParameter": {
+ "name": "versionSetId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Api Version Set identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "AppTypeParameter": {
+ "name": "appType",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Determines the type of application which send the create user request. Default is legacy publisher portal.",
+ "enum": [
+ "portal",
+ "developerPortal"
+ ],
+ "x-ms-enum": {
+ "name": "AppType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "portal",
+ "description": "User create request was sent by legacy developer portal."
+ },
+ {
+ "value": "developerPortal",
+ "description": "User create request was sent by new developer portal."
+ }
+ ]
+ },
+ "default": "portal",
+ "x-ms-parameter-location": "method"
+ },
+ "AttachmentIdParameter": {
+ "name": "attachmentId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Attachment identifier within an Issue. Must be unique in the current Issue.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "AuthenticationServerIdParameter": {
+ "name": "authsid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the authorization server.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "BackendIdParameter": {
+ "name": "backendId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the Backend entity. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ },
+ "CacheIdParameter": {
+ "name": "cacheId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the Cache entity. Cache identifier (should be either 'default' or valid Azure region identifier).",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "CertificateIdParameter": {
+ "name": "certificateId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the certificate entity. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "CommentIdParameter": {
+ "name": "commentId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Comment identifier within an Issue. Must be unique in the current Issue.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "ConfigurationParameter": {
+ "name": "configurationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "configuration"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "configurationIdName"
+ },
+ "description": "The identifier of the Git Configuration Operation.",
+ "x-ms-parameter-location": "method"
+ },
+ "DiagnosticIdParameter": {
+ "name": "diagnosticId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Diagnostic identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "EmailParameter": {
+ "name": "email",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Email identifier.",
+ "x-ms-parameter-location": "method"
+ },
+ "GroupIdParameter": {
+ "name": "groupId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Group identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "x-ms-parameter-location": "method"
+ },
+ "IdentityProviderNameParameter": {
+ "name": "identityProviderName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "facebook",
+ "google",
+ "microsoft",
+ "twitter",
+ "aad",
+ "aadB2C"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityProviderType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "facebook",
+ "description": "Facebook as Identity provider."
+ },
+ {
+ "value": "google",
+ "description": "Google as Identity provider."
+ },
+ {
+ "value": "microsoft",
+ "description": "Microsoft Live as Identity provider."
+ },
+ {
+ "value": "twitter",
+ "description": "Twitter as Identity provider."
+ },
+ {
+ "value": "aad",
+ "description": "Azure Active Directory as Identity provider."
+ },
+ {
+ "value": "aadB2C",
+ "description": "Azure Active Directory B2C as Identity provider."
+ }
+ ]
+ },
+ "description": "Identity Provider Type identifier.",
+ "x-ms-parameter-location": "method"
+ },
+ "IfMatchOptionalParameter": {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "description": "ETag of the Entity. Not required when creating an entity, but required when updating an entity.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "IfMatchRequiredParameter": {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "description": "ETag of the Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "IssueIdParameter": {
+ "name": "issueId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Issue identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "LocationNameParameter": {
+ "name": "locationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Location in which the API Management service is deployed. This is one of the Azure Regions like West US, East US, South Central US.",
+ "minLength": 1,
+ "x-ms-parameter-location": "method"
+ },
+ "LoggerIdParameter": {
+ "name": "loggerId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "description": "Logger identifier. Must be unique in the API Management service instance.",
+ "x-ms-parameter-location": "method"
+ },
+ "NotificationNameParameter": {
+ "name": "notificationName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "RequestPublisherNotificationMessage",
+ "PurchasePublisherNotificationMessage",
+ "NewApplicationNotificationMessage",
+ "BCC",
+ "NewIssuePublisherNotificationMessage",
+ "AccountClosedPublisher",
+ "QuotaLimitApproachingPublisherNotificationMessage"
+ ],
+ "x-ms-enum": {
+ "name": "NotificationName",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "RequestPublisherNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval."
+ },
+ {
+ "value": "PurchasePublisherNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications about new API product subscriptions."
+ },
+ {
+ "value": "NewApplicationNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications when new applications are submitted to the application gallery."
+ },
+ {
+ "value": "BCC",
+ "description": "The following recipients will receive blind carbon copies of all emails sent to developers."
+ },
+ {
+ "value": "NewIssuePublisherNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications when a new issue or comment is submitted on the developer portal."
+ },
+ {
+ "value": "AccountClosedPublisher",
+ "description": "The following email recipients and users will receive email notifications when developer closes his account."
+ },
+ {
+ "value": "QuotaLimitApproachingPublisherNotificationMessage",
+ "description": "The following email recipients and users will receive email notifications when subscription usage gets close to usage quota."
+ }
+ ]
+ },
+ "description": "Notification Name Identifier.",
+ "x-ms-parameter-location": "method"
+ },
+ "NotifySubscriptionStateChangeParameter": {
+ "name": "notify",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Notify change in Subscription State. \n - If false, do not send any email notification for change of state of subscription \n - If true, send email notification of change of state of subscription ",
+ "x-ms-parameter-location": "method"
+ },
+ "OpenIdConnectIdParameter": {
+ "name": "opid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the OpenID Connect Provider.",
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "OperationIdParameter": {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Operation identifier within an API. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ },
+ "PolicyExportFormat": {
+ "name": "format",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Policy Export Format.",
+ "enum": [
+ "xml",
+ "rawxml"
+ ],
+ "x-ms-enum": {
+ "name": "PolicyExportFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "xml",
+ "description": "The contents are inline and Content type is an XML document."
+ },
+ {
+ "value": "rawxml",
+ "description": "The contents are inline and Content type is a non XML encoded policy document."
+ }
+ ]
+ },
+ "default": "xml",
+ "x-ms-parameter-location": "method"
+ },
+ "PolicyIdParameter": {
+ "name": "policyId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "policy"
+ ],
+ "description": "The identifier of the Policy.",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PolicyIdName"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "PortalRevisionIdParameter": {
+ "name": "portalRevisionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Portal revision identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "x-ms-parameter-location": "method"
+ },
+ "ProductIdParameter": {
+ "name": "productId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Product identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 256,
+ "x-ms-parameter-location": "method"
+ },
+ "NamedValueIdParameter": {
+ "name": "namedValueId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Identifier of the NamedValue.",
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "QuotaCounterKeyParameter": {
+ "name": "quotaCounterKey",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Quota counter key identifier.This is the result of expression defined in counter-key attribute of the quota-by-key policy.For Example, if you specify counter-key=\"boo\" in the policy, then it’s accessible by \"boo\" counter key. But if it’s defined as counter-key=\"@(\"b\"+\"a\")\" then it will be accessible by \"ba\" key",
+ "x-ms-parameter-location": "method"
+ },
+ "QuotaPeriodKeyParameter": {
+ "name": "quotaPeriodKey",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Quota period key identifier.",
+ "x-ms-parameter-location": "method"
+ },
+ "ReleaseIdParameter": {
+ "name": "releaseId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Release identifier within an API. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "SchemaIdParameter": {
+ "name": "schemaId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Schema identifier within an API. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "ServiceNameParameter": {
+ "name": "serviceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the API Management service.",
+ "minLength": 1,
+ "maxLength": 50,
+ "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$",
+ "x-ms-parameter-location": "method"
+ },
+ "SkipQueryParameter": {
+ "name": "$skip",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of records to skip.",
+ "minimum": 0,
+ "x-ms-parameter-location": "method"
+ },
+ "SubscriptionEntityIdParameter": {
+ "name": "sid",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription entity Identifier. The entity represents the association between a user and a product in API Management.",
+ "maxLength": 256,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "TagIdParameter": {
+ "name": "tagId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Tag identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "TagDescriptionIdParameter": {
+ "name": "tagDescriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Tag description identifier. Used when creating tagDescription for API/Tag association. Based on API and Tag names.",
+ "minLength": 1,
+ "maxLength": 80,
+ "pattern": "^[^*#&+:<>?]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "TemplateNameParameter": {
+ "name": "templateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "applicationApprovedNotificationMessage",
+ "accountClosedDeveloper",
+ "quotaLimitApproachingDeveloperNotificationMessage",
+ "newDeveloperNotificationMessage",
+ "emailChangeIdentityDefault",
+ "inviteUserNotificationMessage",
+ "newCommentNotificationMessage",
+ "confirmSignUpIdentityDefault",
+ "newIssueNotificationMessage",
+ "purchaseDeveloperNotificationMessage",
+ "passwordResetIdentityDefault",
+ "passwordResetByAdminNotificationMessage",
+ "rejectDeveloperNotificationMessage",
+ "requestDeveloperNotificationMessage"
+ ],
+ "x-ms-enum": {
+ "name": "TemplateName",
+ "modelAsString": true
+ },
+ "description": "Email Template Name Identifier.",
+ "x-ms-parameter-location": "method"
+ },
+ "TopQueryParameter": {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of records to return.",
+ "minimum": 1,
+ "x-ms-parameter-location": "method"
+ },
+ "UserIdParameter": {
+ "name": "userId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "User identifier. Must be unique in the current API Management service instance.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ },
+ "GatewayIdParameter": {
+ "name": "gatewayId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Gateway entity identifier. Must be unique in the current API Management service instance. Must not have value 'managed'",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ },
+ "GatewayHostnameConfigurationIdParameter": {
+ "name": "hcId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Gateway hostname configuration identifier. Must be unique in the scope of parent Gateway entity.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ },
+ "ContentTypeIdParameter": {
+ "name": "contentTypeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Content type identifier.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ },
+ "ContentItemIdParameter": {
+ "name": "contentItemId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Content item identifier.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimapis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimapis.json
new file mode 100644
index 000000000000..3e20bc1d35a8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimapis.json
@@ -0,0 +1,4522 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on API entity and their Operations associated with your Azure API Management deployment.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis": {
+ "get": {
+ "tags": [
+ "Api"
+ ],
+ "operationId": "Api_ListByService",
+ "description": "Lists all APIs of the API Management service instance.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-create-apis"
+ },
+ "x-ms-examples": {
+ "ApiManagementListApis": {
+ "$ref": "./examples/ApiManagementListApis.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || serviceUrl | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || path | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || isCurrent | filter | eq, ne | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "tags",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Include tags in the response."
+ },
+ {
+ "name": "expandApiVersionSet",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Include full ApiVersionSet resource in response"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result response of Apis.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ApiContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}": {
+ "head": {
+ "tags": [
+ "Api"
+ ],
+ "operationId": "Api_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApi": {
+ "$ref": "./examples/ApiManagementHeadApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified API entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Api"
+ ],
+ "operationId": "Api_Get",
+ "description": "Gets the details of the API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiContract": {
+ "$ref": "./examples/ApiManagementGetApiContract.json"
+ },
+ "ApiManagementGetApiRevisionContract": {
+ "$ref": "./examples/ApiManagementGetApiRevision.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified API entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Api"
+ ],
+ "operationId": "Api_CreateOrUpdate",
+ "description": "Creates new or updates existing specified API of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiUsingOai3Import": {
+ "$ref": "./examples/ApiManagementCreateApiUsingOai3Import.json"
+ },
+ "ApiManagementCreateApiUsingSwaggerImport": {
+ "$ref": "./examples/ApiManagementCreateApiUsingSwaggerImport.json"
+ },
+ "ApiManagementCreateApiUsingWadlImport": {
+ "$ref": "./examples/ApiManagementCreateApiUsingWadlImport.json"
+ },
+ "ApiManagementCreateSoapToRestApiUsingWsdlImport": {
+ "$ref": "./examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json"
+ },
+ "ApiManagementCreateSoapPassThroughApiUsingWsdlImport": {
+ "$ref": "./examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json"
+ },
+ "ApiManagementCreateApi": {
+ "$ref": "./examples/ApiManagementCreateApi.json"
+ },
+ "ApiManagementCreateWebSocketApi": {
+ "$ref": "./examples/ApiManagementCreateWebsocketApi.json"
+ },
+ "ApiManagementCreateApiRevisionFromExistingApi": {
+ "$ref": "./examples/ApiManagementCreateApiRevisionFromExistingApi.json"
+ },
+ "ApiManagementCreateApiNewVersionUsingExistingApi": {
+ "$ref": "./examples/ApiManagementCreateApiNewVersionUsingExistingApi.json"
+ },
+ "ApiManagementCreateApiClone": {
+ "$ref": "./examples/ApiManagementCreateApiClone.json"
+ },
+ "ApiManagementCreateApiWithOpenIdConnect": {
+ "$ref": "./examples/ApiManagementCreateApiWithOpenIdConnect.json"
+ },
+ "ApiManagementCreateApiUsingImportOverrideServiceUrl": {
+ "$ref": "./examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json"
+ },
+ "ApiManagementCreateGraphQLApi": {
+ "$ref": "./examples/ApiManagementCreateGraphQLApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiCreateOrUpdateParameter"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "API was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "202": {
+ "description": "Request to create or update API was accepted. Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "200": {
+ "description": "API was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "patch": {
+ "tags": [
+ "Api"
+ ],
+ "operationId": "Api_Update",
+ "description": "Updates the specified API of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementUpdateApi": {
+ "$ref": "./examples/ApiManagementUpdateApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiUpdateContract"
+ },
+ "description": "API Update Contract parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "API was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Api"
+ ],
+ "operationId": "Api_Delete",
+ "description": "Deletes the specified API of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApi": {
+ "$ref": "./examples/ApiManagementDeleteApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "deleteRevisions",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Delete all revisions of the Api."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The API was successfully deleted."
+ },
+ "204": {
+ "description": "The API was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/revisions": {
+ "get": {
+ "tags": [
+ "ApiRevision"
+ ],
+ "operationId": "ApiRevision_ListByService",
+ "description": "Lists all revisions of an API.",
+ "x-ms-examples": {
+ "ApiManagementListApiRevisions": {
+ "$ref": "./examples/ApiManagementListApiRevisions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| apiRevision | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a list of revision details.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiRevisionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ApiRevisionContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases": {
+ "get": {
+ "tags": [
+ "ApiRelease"
+ ],
+ "operationId": "ApiRelease_ListByService",
+ "description": "Lists all releases of an API. An API release is created when making an API Revision current. Releases are also used to rollback to previous revisions. Results will be paged and can be constrained by the $top and $skip parameters.",
+ "x-ms-examples": {
+ "ApiManagementListApiReleases": {
+ "$ref": "./examples/ApiManagementListApiReleases.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| notes | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a list of API Releases.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiReleaseCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ApiReleaseContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}": {
+ "head": {
+ "tags": [
+ "ApiRelease"
+ ],
+ "operationId": "ApiRelease_GetEntityTag",
+ "description": "Returns the etag of an API release.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiRelease": {
+ "$ref": "./examples/ApiManagementHeadApiRelease.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the entity state (Etag) version of the api release as specified by its identifier.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiRelease"
+ ],
+ "operationId": "ApiRelease_Get",
+ "description": "Returns the details of an API release.",
+ "x-ms-examples": {
+ "ApiManagementGetApiRelease": {
+ "$ref": "./examples/ApiManagementGetApiRelease.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns the details of an API Release.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiReleaseContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiRelease"
+ ],
+ "operationId": "ApiRelease_CreateOrUpdate",
+ "description": "Creates a new Release for the API.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiRelease": {
+ "$ref": "./examples/ApiManagementCreateApiRelease.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiReleaseContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Release was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiReleaseContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Release was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiReleaseContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ApiRelease"
+ ],
+ "operationId": "ApiRelease_Update",
+ "description": "Updates the details of the release of the API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateApiRelease": {
+ "$ref": "./examples/ApiManagementUpdateApiRelease.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiReleaseContract"
+ },
+ "description": "API Release Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Release was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiReleaseContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiRelease"
+ ],
+ "operationId": "ApiRelease_Delete",
+ "description": "Deletes the specified release in the API.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiRelease": {
+ "$ref": "./examples/ApiManagementDeleteApiRelease.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "API release successfully removed"
+ },
+ "204": {
+ "description": "API release successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations": {
+ "get": {
+ "tags": [
+ "ApiOperation"
+ ],
+ "operationId": "ApiOperation_ListByApi",
+ "description": "Lists a collection of the operations for the specified API.",
+ "x-ms-examples": {
+ "ApiManagementListApiOperations": {
+ "$ref": "./examples/ApiManagementListApiOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || method | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || urlTemplate | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "tags",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Include tags in the response."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A collection of operation summary entities at the API level.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/OperationContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}": {
+ "head": {
+ "tags": [
+ "ApiOperation"
+ ],
+ "operationId": "ApiOperation_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the API operation specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiOperation": {
+ "$ref": "./examples/ApiManagementHeadApiOperation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified API operation entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiOperation"
+ ],
+ "operationId": "ApiOperation_Get",
+ "description": "Gets the details of the API Operation specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiOperation": {
+ "$ref": "./examples/ApiManagementGetApiOperation.json"
+ },
+ "ApiManagementGetApiOperationPetStore": {
+ "$ref": "./examples/ApiManagementGetApiOperationPetStore.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Operation entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiOperation"
+ ],
+ "operationId": "ApiOperation_CreateOrUpdate",
+ "description": "Creates a new operation in the API or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiOperation": {
+ "$ref": "./examples/ApiManagementCreateApiOperation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Operation was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Operation was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ApiOperation"
+ ],
+ "operationId": "ApiOperation_Update",
+ "description": "Updates the details of the operation in the API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateApiOperation": {
+ "$ref": "./examples/ApiManagementUpdateApiOperation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationUpdateContract"
+ },
+ "description": "API Operation Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiOperation"
+ ],
+ "operationId": "ApiOperation_Delete",
+ "description": "Deletes the specified operation in the API.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiOperation": {
+ "$ref": "./examples/ApiManagementDeleteApiOperation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "API operation successfully removed"
+ },
+ "204": {
+ "description": "API operation successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies": {
+ "get": {
+ "tags": [
+ "ApiOperationPolicy"
+ ],
+ "operationId": "ApiOperationPolicy_ListByOperation",
+ "description": "Get the list of policy configuration at the API Operation level.",
+ "x-ms-examples": {
+ "ApiManagementListApiOperationPolicies": {
+ "$ref": "./examples/ApiManagementListApiOperationPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api Operations Policy Collection.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies/{policyId}": {
+ "head": {
+ "tags": [
+ "ApiOperationPolicy"
+ ],
+ "operationId": "ApiOperationPolicy_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the API operation policy specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiOperationPolicy": {
+ "$ref": "./examples/ApiManagementHeadApiOperationPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified API operation policy entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiOperationPolicy"
+ ],
+ "operationId": "ApiOperationPolicy_Get",
+ "description": "Get the policy configuration at the API Operation level.",
+ "x-ms-examples": {
+ "ApiManagementGetApiOperationPolicy": {
+ "$ref": "./examples/ApiManagementGetApiOperationPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyExportFormat"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api Operation Policy information.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiOperationPolicy"
+ ],
+ "operationId": "ApiOperationPolicy_CreateOrUpdate",
+ "description": "Creates or updates policy configuration for the API Operation level.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiOperationPolicy": {
+ "$ref": "./examples/ApiManagementCreateApiOperationPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "description": "The policy contents to apply."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Api Operation policy configuration was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Api Operation policy configuration of the tenant was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiOperationPolicy"
+ ],
+ "operationId": "ApiOperationPolicy_Delete",
+ "description": "Deletes the policy configuration at the Api Operation.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiOperationPolicy": {
+ "$ref": "./examples/ApiManagementDeleteApiOperationPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Policy successfully removed"
+ },
+ "204": {
+ "description": "Policy successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags": {
+ "get": {
+ "tags": [
+ "ApiOperationTag"
+ ],
+ "operationId": "Tag_ListByOperation",
+ "description": "Lists all Tags associated with the Operation.",
+ "x-ms-examples": {
+ "ApiManagementListApiOperationTags": {
+ "$ref": "./examples/ApiManagementListApiOperationTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a collection of tags associated with the Operation entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags/{tagId}": {
+ "head": {
+ "tags": [
+ "ApiOperationTag"
+ ],
+ "operationId": "Tag_GetEntityStateByOperation",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiOperationTag": {
+ "$ref": "./examples/ApiManagementHeadApiOperationTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Empty response body, ETag header entity state version.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiOperationTag"
+ ],
+ "operationId": "Tag_GetByOperation",
+ "description": "Get tag associated with the Operation.",
+ "x-ms-examples": {
+ "ApiManagementGetApiOperationTag": {
+ "$ref": "./examples/ApiManagementGetApiOperationTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the details of the tag specified by its identifier.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiOperationTag"
+ ],
+ "operationId": "Tag_AssignToOperation",
+ "description": "Assign tag to the Operation.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiOperationTag": {
+ "$ref": "./examples/ApiManagementCreateApiOperationTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Tag was assigned to the Operation.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "200": {
+ "description": "Tag is already assigned to the Operation.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiOperationTag"
+ ],
+ "operationId": "Tag_DetachFromOperation",
+ "description": "Detach the tag from the Operation.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiOperationTag": {
+ "$ref": "./examples/ApiManagementDeleteApiOperationTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tag was successfully removed from Operation"
+ },
+ "204": {
+ "description": "Tag successfully removed by previous request or does not exist in Operation"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/products": {
+ "get": {
+ "tags": [
+ "ApiProduct"
+ ],
+ "operationId": "ApiProduct_ListByApis",
+ "description": "Lists all Products, which the API is part of.",
+ "x-ms-examples": {
+ "ApiManagementListApiProducts": {
+ "$ref": "./examples/ApiManagementListApiProducts.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a collection of products which have the Api entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ProductCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ProductContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies": {
+ "get": {
+ "tags": [
+ "ApiPolicy"
+ ],
+ "operationId": "ApiPolicy_ListByApi",
+ "description": "Get the policy configuration at the API level.",
+ "x-ms-examples": {
+ "ApiManagementListApiPolicies": {
+ "$ref": "./examples/ApiManagementListApiPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Apis Policy Collection.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/{policyId}": {
+ "head": {
+ "tags": [
+ "ApiPolicy"
+ ],
+ "operationId": "ApiPolicy_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the API policy specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiPolicy": {
+ "$ref": "./examples/ApiManagementHeadApiPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified API Policy entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiPolicy"
+ ],
+ "operationId": "ApiPolicy_Get",
+ "description": "Get the policy configuration at the API level.",
+ "x-ms-examples": {
+ "ApiManagementGetApiPolicy": {
+ "$ref": "./examples/ApiManagementGetApiPolicy.json"
+ }
+ },
+ "produces": [
+ "application/json",
+ "application/vnd.ms-azure-apim.policy+xml",
+ "application/vnd.ms-azure-apim.policy.raw+xml"
+ ],
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyExportFormat"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api Policy information.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiPolicy"
+ ],
+ "operationId": "ApiPolicy_CreateOrUpdate",
+ "description": "Creates or updates policy configuration for the API.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiPolicy": {
+ "$ref": "./examples/ApiManagementCreateApiPolicy.json"
+ },
+ "ApiManagementCreateApiPolicyNonXmlEncoded": {
+ "$ref": "./examples/ApiManagementCreateApiPolicyNonXmlEncoded.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "description": "The policy contents to apply."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Api policy configuration was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Api policy configuration of the tenant was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiPolicy"
+ ],
+ "operationId": "ApiPolicy_Delete",
+ "description": "Deletes the policy configuration at the Api.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiPolicy": {
+ "$ref": "./examples/ApiManagementDeleteApiPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the policy configuration at the API level."
+ },
+ "204": {
+ "description": "Successfully deleted the policy configuration at the API level."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas": {
+ "get": {
+ "tags": [
+ "ApiSchema"
+ ],
+ "operationId": "ApiSchema_ListByApi",
+ "description": "Get the schema configuration at the API level.",
+ "x-ms-examples": {
+ "ApiManagementListApiSchemas": {
+ "$ref": "./examples/ApiManagementListApiSchemas.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| contentType | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Apis Schema Collection.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SchemaCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}": {
+ "head": {
+ "tags": [
+ "ApiSchema"
+ ],
+ "operationId": "ApiSchema_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the schema specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiSchema": {
+ "$ref": "./examples/ApiManagementHeadApiSchema.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified schema entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiSchema"
+ ],
+ "operationId": "ApiSchema_Get",
+ "description": "Get the schema configuration at the API level.",
+ "x-ms-examples": {
+ "ApiManagementGetApiSchema": {
+ "$ref": "./examples/ApiManagementGetApiSchema.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api Schema information.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SchemaContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiSchema"
+ ],
+ "operationId": "ApiSchema_CreateOrUpdate",
+ "description": "Creates or updates schema configuration for the API.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiSchema": {
+ "$ref": "./examples/ApiManagementCreateApiSchema.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SchemaContract"
+ },
+ "description": "The schema contents to apply."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request to create or update Api schema was accepted."
+ },
+ "201": {
+ "description": "Api schema configuration was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SchemaContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Api schema configuration of the tenant was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SchemaContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiSchema"
+ ],
+ "operationId": "ApiSchema_Delete",
+ "description": "Deletes the schema configuration at the Api.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiSchema": {
+ "$ref": "./examples/ApiManagementDeleteApiSchema.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SchemaIdParameter"
+ },
+ {
+ "name": "force",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "If true removes all references to the schema before deleting it."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the schema configuration at the API level."
+ },
+ "204": {
+ "description": "Successfully deleted the schema configuration at the API level."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics": {
+ "get": {
+ "tags": [
+ "ApiDiagnostic"
+ ],
+ "operationId": "ApiDiagnostic_ListByService",
+ "description": "Lists all diagnostics of an API.",
+ "x-ms-examples": {
+ "ApiManagementListApiDiagnostics": {
+ "$ref": "./examples/ApiManagementListApiDiagnostics.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result response of diagnostics for an API.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/DiagnosticContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}": {
+ "head": {
+ "tags": [
+ "ApiDiagnostic"
+ ],
+ "operationId": "ApiDiagnostic_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Diagnostic for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiDiagnostic": {
+ "$ref": "./examples/ApiManagementHeadApiDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiDiagnostic"
+ ],
+ "operationId": "ApiDiagnostic_Get",
+ "description": "Gets the details of the Diagnostic for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiDiagnostic": {
+ "$ref": "./examples/ApiManagementGetApiDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Diagnostic entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiDiagnostic"
+ ],
+ "operationId": "ApiDiagnostic_CreateOrUpdate",
+ "description": "Creates a new Diagnostic for an API or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiDiagnostic": {
+ "$ref": "./examples/ApiManagementCreateApiDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Diagnostic was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Diagnostic was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ApiDiagnostic"
+ ],
+ "operationId": "ApiDiagnostic_Update",
+ "description": "Updates the details of the Diagnostic for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateApiDiagnostic": {
+ "$ref": "./examples/ApiManagementUpdateApiDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ },
+ "description": "Diagnostic Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Diagnostic was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiDiagnostic"
+ ],
+ "operationId": "ApiDiagnostic_Delete",
+ "description": "Deletes the specified Diagnostic from an API.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiDiagnostic": {
+ "$ref": "./examples/ApiManagementDeleteApiDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Diagnostic successfully removed"
+ },
+ "204": {
+ "description": "Diagnostic successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues": {
+ "get": {
+ "tags": [
+ "ApiIssue"
+ ],
+ "operationId": "ApiIssue_ListByService",
+ "description": "Lists all issues associated with the specified API.",
+ "x-ms-examples": {
+ "ApiManagementListApiIssues": {
+ "$ref": "./examples/ApiManagementListApiIssues.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || state | filter | eq | |"
+ },
+ {
+ "name": "expandCommentsAttachments",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Expand the comment attachments. "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result response of issues for the API.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/IssueContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}": {
+ "head": {
+ "tags": [
+ "ApiIssue"
+ ],
+ "operationId": "ApiIssue_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Issue for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiIssue": {
+ "$ref": "./examples/ApiManagementHeadApiIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiIssue"
+ ],
+ "operationId": "ApiIssue_Get",
+ "description": "Gets the details of the Issue for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiIssue": {
+ "$ref": "./examples/ApiManagementGetApiIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "name": "expandCommentsAttachments",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Expand the comment attachments. "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Issue entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiIssue"
+ ],
+ "operationId": "ApiIssue_CreateOrUpdate",
+ "description": "Creates a new Issue for an API or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiIssue": {
+ "$ref": "./examples/ApiManagementCreateApiIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "New api issue successfully added",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Api issue successfully updated",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ApiIssue"
+ ],
+ "operationId": "ApiIssue_Update",
+ "description": "Updates an existing issue for an API.",
+ "x-ms-examples": {
+ "ApiManagementUpdateApiIssue": {
+ "$ref": "./examples/ApiManagementUpdateApiIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueUpdateContract"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api issue updated successfully.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiIssue"
+ ],
+ "operationId": "ApiIssue_Delete",
+ "description": "Deletes the specified Issue from an API.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiIssue": {
+ "$ref": "./examples/ApiManagementDeleteApiIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Issue successfully removed"
+ },
+ "204": {
+ "description": "Issue successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments": {
+ "get": {
+ "tags": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_ListByService",
+ "description": "Lists all comments for the Issue associated with the specified API.",
+ "x-ms-examples": {
+ "ApiManagementListApiIssueComments": {
+ "$ref": "./examples/ApiManagementListApiIssueComments.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result response of issue comments for the API.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCommentCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/IssueCommentContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments/{commentId}": {
+ "head": {
+ "tags": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the issue Comment for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiIssueComment": {
+ "$ref": "./examples/ApiManagementHeadApiIssueComment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CommentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_Get",
+ "description": "Gets the details of the issue Comment for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiIssueComment": {
+ "$ref": "./examples/ApiManagementGetApiIssueComment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CommentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified issue Comment entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCommentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_CreateOrUpdate",
+ "description": "Creates a new Comment for the Issue in an API or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiIssueComment": {
+ "$ref": "./examples/ApiManagementCreateApiIssueComment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CommentIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCommentContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "New api issue comment successfully added",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCommentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Api issue comment successfully updated",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCommentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiIssueComment"
+ ],
+ "operationId": "ApiIssueComment_Delete",
+ "description": "Deletes the specified comment from an Issue.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiIssueComment": {
+ "$ref": "./examples/ApiManagementDeleteApiIssueComment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CommentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Comment successfully removed"
+ },
+ "204": {
+ "description": "Comment successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments": {
+ "get": {
+ "tags": [
+ "ApiIssueAttachment"
+ ],
+ "operationId": "ApiIssueAttachment_ListByService",
+ "description": "Lists all attachments for the Issue associated with the specified API.",
+ "x-ms-examples": {
+ "ApiManagementListApiIssueAttachments": {
+ "$ref": "./examples/ApiManagementListApiIssueAttachments.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result response of issue attachments for the API.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueAttachmentCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/IssueAttachmentContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments/{attachmentId}": {
+ "head": {
+ "tags": [
+ "ApiIssueAttachment"
+ ],
+ "operationId": "ApiIssueAttachment_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the issue Attachment for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiIssueAttachment": {
+ "$ref": "./examples/ApiManagementHeadApiIssueAttachment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiIssueAttachment"
+ ],
+ "operationId": "ApiIssueAttachment_Get",
+ "description": "Gets the details of the issue Attachment for an API specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiIssueAttachment": {
+ "$ref": "./examples/ApiManagementGetApiIssueAttachment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified issue Attachment entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueAttachmentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiIssueAttachment"
+ ],
+ "operationId": "ApiIssueAttachment_CreateOrUpdate",
+ "description": "Creates a new Attachment for the Issue in an API or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiIssueAttachment": {
+ "$ref": "./examples/ApiManagementCreateApiIssueAttachment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueAttachmentContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "New api issue attachment successfully added",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueAttachmentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Api issue attachment successfully updated",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueAttachmentContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiIssueAttachment"
+ ],
+ "operationId": "ApiIssueAttachment_Delete",
+ "description": "Deletes the specified comment from an Issue.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiIssueAttachment": {
+ "$ref": "./examples/ApiManagementDeleteApiIssueAttachment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Attachment successfully removed"
+ },
+ "204": {
+ "description": "Attachment successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions": {
+ "get": {
+ "tags": [
+ "ApiTagDescription"
+ ],
+ "operationId": "ApiTagDescription_ListByService",
+ "description": "Lists all Tags descriptions in scope of API. Model similar to swagger - tagDescription is defined on API level but tag may be assigned to the Operations",
+ "x-ms-examples": {
+ "ApiManagementListApiTagDescriptions": {
+ "$ref": "./examples/ApiManagementListApiTagDescriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a collection of tagDescriptions associated with the Api entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagDescriptionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagDescriptionContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions/{tagDescriptionId}": {
+ "head": {
+ "tags": [
+ "ApiTagDescription"
+ ],
+ "operationId": "ApiTagDescription_GetEntityTag",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiTagDescription": {
+ "$ref": "./examples/ApiManagementHeadApiTagDescription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagDescriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Empty response body, ETag header entity state version.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiTagDescription"
+ ],
+ "operationId": "ApiTagDescription_Get",
+ "description": "Get Tag description in scope of API",
+ "x-ms-examples": {
+ "ApiManagementGetApiTagDescription": {
+ "$ref": "./examples/ApiManagementGetApiTagDescription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagDescriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the description of the tag specified by its identifier in scope if the Api.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagDescriptionContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiTagDescription"
+ ],
+ "operationId": "ApiTagDescription_CreateOrUpdate",
+ "description": "Create/Update tag description in scope of the Api.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiTagDescription": {
+ "$ref": "./examples/ApiManagementCreateApiTagDescription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagDescriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagDescriptionCreateParameters"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Tag Description was created for the Api.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagDescriptionContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Tag Description was updated for the Api.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagDescriptionContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiTagDescription"
+ ],
+ "operationId": "ApiTagDescription_Delete",
+ "description": "Delete tag description for the Api.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiTagDescription": {
+ "$ref": "./examples/ApiManagementDeleteApiTagDescription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagDescriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tag description successfully removed"
+ },
+ "204": {
+ "description": "Tag description successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags": {
+ "get": {
+ "tags": [
+ "ApiTag"
+ ],
+ "operationId": "Tag_ListByApi",
+ "description": "Lists all Tags associated with the API.",
+ "x-ms-examples": {
+ "ApiManagementListApiTags": {
+ "$ref": "./examples/ApiManagementListApiTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a collection of tags associated with the Api entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags/{tagId}": {
+ "head": {
+ "tags": [
+ "ApiTag"
+ ],
+ "operationId": "Tag_GetEntityStateByApi",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiTag": {
+ "$ref": "./examples/ApiManagementHeadApiTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Empty response body, ETag header entity state version.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiTag"
+ ],
+ "operationId": "Tag_GetByApi",
+ "description": "Get tag associated with the API.",
+ "x-ms-examples": {
+ "ApiManagementGetApiTag": {
+ "$ref": "./examples/ApiManagementGetApiTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the details of the tag specified by its identifier.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiTag"
+ ],
+ "operationId": "Tag_AssignToApi",
+ "description": "Assign tag to the Api.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiTag": {
+ "$ref": "./examples/ApiManagementCreateApiTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Tag was assigned to the Api.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Tag is already assigned to the Api.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiTag"
+ ],
+ "operationId": "Tag_DetachFromApi",
+ "description": "Detach the tag from the Api.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiTag": {
+ "$ref": "./examples/ApiManagementDeleteApiTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "API/Tag association successfully removed"
+ },
+ "204": {
+ "description": "API/Tag association successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operationsByTags": {
+ "get": {
+ "tags": [
+ "ApiOperationsByTag"
+ ],
+ "operationId": "Operation_ListByTags",
+ "description": "Lists a collection of operations associated with tags.",
+ "x-ms-examples": {
+ "ApiManagementListApiOperationsByTags": {
+ "$ref": "./examples/ApiManagementListApiOperationsByTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || apiName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || method | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || urlTemplate | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "includeNotTaggedOperations",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Include not tagged Operations."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of TagResource entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagResourceContract"
+ }
+ }
+ },
+ "x-ms-paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}?export=true": {
+ "get": {
+ "tags": [
+ "Apis"
+ ],
+ "operationId": "ApiExport_Get",
+ "description": "Gets the details of the API specified by its identifier in the format specified to the Storage Blob with SAS Key valid for 5 minutes.",
+ "x-ms-examples": {
+ "ApiManagementGetApiExportInOpenApi2dot0": {
+ "$ref": "./examples/ApiManagementGetApiExportInOpenApi2dot0.json"
+ },
+ "ApiManagementGetApiExportInOpenApi3dot0": {
+ "$ref": "./examples/ApiManagementGetApiExportInOpenApi3dot0.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "name": "format",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "swagger-link",
+ "wadl-link",
+ "wsdl-link",
+ "openapi-link",
+ "openapi+json-link"
+ ],
+ "x-ms-enum": {
+ "name": "ExportFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "swagger-link",
+ "description": "Export the Api Definition in OpenAPI 2.0 Specification as JSON document to the Storage Blob.",
+ "name": "Swagger"
+ },
+ {
+ "value": "wsdl-link",
+ "description": "Export the Api Definition in WSDL Schema to Storage Blob. This is only supported for APIs of Type `soap`",
+ "name": "Wsdl"
+ },
+ {
+ "value": "wadl-link",
+ "description": "Export the Api Definition in WADL Schema to Storage Blob.",
+ "name": "Wadl"
+ },
+ {
+ "value": "openapi-link",
+ "description": "Export the Api Definition in OpenAPI 3.0 Specification as YAML document to Storage Blob.",
+ "name": "Openapi"
+ },
+ {
+ "value": "openapi+json-link",
+ "description": "Export the Api Definition in OpenAPI 3.0 Specification as JSON document to Storage Blob.",
+ "name": "OpenapiJson"
+ }
+ ]
+ },
+ "description": "Format in which to export the Api Details to the Storage Blob with Sas Key valid for 5 minutes."
+ },
+ {
+ "name": "export",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "true"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ExportApi"
+ },
+ "description": "Query parameter required to export the API details."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response contains a stream with a full set of API metadata and includes API entity with an embedded array of operation entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiExportResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimapisByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimapisByTags.json
new file mode 100644
index 000000000000..08ac1691f83a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimapisByTags.json
@@ -0,0 +1,106 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing retrieve a collection of Apis associated with a tag in Azure API Management deployment.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apisByTags": {
+ "get": {
+ "tags": [
+ "ApisByTag"
+ ],
+ "operationId": "Api_ListByTags",
+ "description": "Lists a collection of apis associated with tags.",
+ "x-ms-examples": {
+ "ApiManagementListApisByTags": {
+ "$ref": "./examples/ApiManagementListApisByTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || apiRevision | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || path | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || serviceUrl | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || isCurrent | filter | eq | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "includeNotTaggedApis",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Include not tagged APIs."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of TagResource entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagResourceContract"
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimapiversionsets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimapiversionsets.json
new file mode 100644
index 000000000000..d915a642b333
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimapiversionsets.json
@@ -0,0 +1,376 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on the ApiVersionSet entity associated with your Azure API Management deployment. Using this entity you create and manage API Version Sets that are used to group APIs for consistent versioning.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets": {
+ "get": {
+ "tags": [
+ "ApiVersionSet"
+ ],
+ "operationId": "ApiVersionSet_ListByService",
+ "description": "Lists a collection of API Version Sets in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListApiVersionSets": {
+ "$ref": "./examples/ApiManagementListApiVersionSets.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Api Version Set entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiVersionSetCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ApiVersionSetContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apiVersionSets/{versionSetId}": {
+ "head": {
+ "tags": [
+ "ApiVersionSet"
+ ],
+ "operationId": "ApiVersionSet_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Api Version Set specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadApiVersionSet": {
+ "$ref": "./examples/ApiManagementHeadApiVersionSet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified Api Version Set entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ApiVersionSet"
+ ],
+ "operationId": "ApiVersionSet_Get",
+ "description": "Gets the details of the Api Version Set specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetApiVersionSet": {
+ "$ref": "./examples/ApiManagementGetApiVersionSet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the specified Api Version Set entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiVersionSetContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ApiVersionSet"
+ ],
+ "operationId": "ApiVersionSet_CreateOrUpdate",
+ "description": "Creates or Updates a Api Version Set.",
+ "x-ms-examples": {
+ "ApiManagementCreateApiVersionSet": {
+ "$ref": "./examples/ApiManagementCreateApiVersionSet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiVersionSetContract"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Api Version Set was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiVersionSetContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Api Version Set was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiVersionSetContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ApiVersionSet"
+ ],
+ "operationId": "ApiVersionSet_Update",
+ "description": "Updates the details of the Api VersionSet specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateApiVersionSet": {
+ "$ref": "./examples/ApiManagementUpdateApiVersionSet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiVersionSetUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api Version Set was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiVersionSetContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiVersionSets"
+ ],
+ "operationId": "ApiVersionSet_Delete",
+ "description": "Deletes specific Api Version Set.",
+ "x-ms-examples": {
+ "ApiManagementDeleteApiVersionSet": {
+ "$ref": "./examples/ApiManagementDeleteApiVersionSet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionSetIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The ApiVersion Set details were successfully deleted."
+ },
+ "204": {
+ "description": "The ApiVersion Set details were successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimauthorizationservers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimauthorizationservers.json
new file mode 100644
index 000000000000..124a78d75377
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimauthorizationservers.json
@@ -0,0 +1,427 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for managing OAuth2 servers configuration in your Azure API Management deployment. OAuth 2.0 can be used to authorize developer accounts for Azure API Management. For more information refer to [How to OAuth2](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-oauth2).",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers": {
+ "get": {
+ "tags": [
+ "AuthorizationServer"
+ ],
+ "operationId": "AuthorizationServer_ListByService",
+ "description": "Lists a collection of authorization servers defined within a service instance.",
+ "x-ms-examples": {
+ "ApiManagementListAuthorizationServers": {
+ "$ref": "./examples/ApiManagementListAuthorizationServers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Collection of the Authorization Server entities for the specified API Management service instance.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AuthorizationServerCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/AuthorizationServerContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}": {
+ "head": {
+ "tags": [
+ "AuthorizationServer"
+ ],
+ "operationId": "AuthorizationServer_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the authorizationServer specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadAuthorizationServer": {
+ "$ref": "./examples/ApiManagementHeadAuthorizationServer.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified authorization server entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "AuthorizationServer"
+ ],
+ "operationId": "AuthorizationServer_Get",
+ "description": "Gets the details of the authorization server specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetAuthorizationServer": {
+ "$ref": "./examples/ApiManagementGetAuthorizationServer.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the details of the specified authorization server. No secrets included.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AuthorizationServerContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AuthorizationServer"
+ ],
+ "operationId": "AuthorizationServer_CreateOrUpdate",
+ "description": "Creates new authorization server or updates an existing authorization server.",
+ "x-ms-examples": {
+ "ApiManagementCreateAuthorizationServer": {
+ "$ref": "./examples/ApiManagementCreateAuthorizationServer.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AuthorizationServerContract"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Authorization server was successfully registered.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AuthorizationServerContract"
+ }
+ },
+ "200": {
+ "description": "Authorization server is already registered.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AuthorizationServerContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AuthorizationServer"
+ ],
+ "operationId": "AuthorizationServer_Update",
+ "description": "Updates the details of the authorization server specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateAuthorizationServer": {
+ "$ref": "./examples/ApiManagementUpdateAuthorizationServer.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AuthorizationServerUpdateContract"
+ },
+ "description": "OAuth2 Server settings Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The authorization server settings were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AuthorizationServerContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AuthorizationServer"
+ ],
+ "operationId": "AuthorizationServer_Delete",
+ "description": "Deletes specific authorization server instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteAuthorizationServer": {
+ "$ref": "./examples/ApiManagementDeleteAuthorizationServer.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The authorization server settings were successfully deleted."
+ },
+ "204": {
+ "description": "The authorization server settings were successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}/listSecrets": {
+ "post": {
+ "tags": [
+ "AuthorizationServer"
+ ],
+ "operationId": "AuthorizationServer_ListSecrets",
+ "description": "Gets the client secret details of the authorization server.",
+ "x-ms-examples": {
+ "ApiManagementAuthorizationServerListSecrets": {
+ "$ref": "./examples/ApiManagementAuthorizationServerListSecrets.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the secrets of the specified authorization server.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AuthorizationServerSecretsContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimbackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimbackends.json
new file mode 100644
index 000000000000..0a80e3079e38
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimbackends.json
@@ -0,0 +1,430 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Backend entity in Azure API Management deployment. The Backend entity in API Management represents a backend service that is configured to skip certification chain validation when using a self-signed certificate to test mutual certificate authentication.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends": {
+ "get": {
+ "tags": [
+ "Backend"
+ ],
+ "operationId": "Backend_ListByService",
+ "description": "Lists a collection of backends in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListBackends": {
+ "$ref": "./examples/ApiManagementListBackends.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || title | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || url | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Backend entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/BackendCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/BackendContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId}": {
+ "head": {
+ "tags": [
+ "Backend"
+ ],
+ "operationId": "Backend_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the backend specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadBackend": {
+ "$ref": "./examples/ApiManagementHeadBackend.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified backend entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Backend"
+ ],
+ "operationId": "Backend_Get",
+ "description": "Gets the details of the backend specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetBackend": {
+ "$ref": "./examples/ApiManagementGetBackend.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Backend entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/BackendContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Backend"
+ ],
+ "operationId": "Backend_CreateOrUpdate",
+ "description": "Creates or Updates a backend.",
+ "x-ms-examples": {
+ "ApiManagementCreateBackendServiceFabric": {
+ "$ref": "./examples/ApiManagementCreateBackendServiceFabric.json"
+ },
+ "ApiManagementCreateBackendProxyBackend": {
+ "$ref": "./examples/ApiManagementCreateBackendProxyBackend.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/BackendContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Backend was successfully created.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/BackendContract"
+ }
+ },
+ "200": {
+ "description": "The existing backend was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/BackendContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Backend"
+ ],
+ "operationId": "Backend_Update",
+ "description": "Updates an existing backend.",
+ "x-ms-examples": {
+ "ApiManagementUpdateBackend": {
+ "$ref": "./examples/ApiManagementUpdateBackend.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/BackendUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing backend was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/BackendContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Backend"
+ ],
+ "operationId": "Backend_Delete",
+ "description": "Deletes the specified backend.",
+ "x-ms-examples": {
+ "ApiManagementDeleteBackend": {
+ "$ref": "./examples/ApiManagementDeleteBackend.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The backend was successfully deleted."
+ },
+ "204": {
+ "description": "The backend was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId}/reconnect": {
+ "post": {
+ "tags": [
+ "BackendReconnect"
+ ],
+ "operationId": "Backend_Reconnect",
+ "description": "Notifies the APIM proxy to create a new connection to the backend after the specified timeout. If no timeout was specified, timeout of 2 minutes is used.",
+ "x-ms-examples": {
+ "ApiManagementBackendReconnect": {
+ "$ref": "./examples/ApiManagementBackendReconnect.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/BackendIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/BackendReconnectContract"
+ },
+ "description": "Reconnect request parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Reconnect request accepted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimcaches.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimcaches.json
new file mode 100644
index 000000000000..f552517f6a9f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimcaches.json
@@ -0,0 +1,372 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Cache entity in your Azure API Management deployment. Azure API Management also allows for caching responses in an external Azure Cache for Redis. For more information refer to [External Redis Cache in ApiManagement](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-cache-external).",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/caches": {
+ "get": {
+ "tags": [
+ "Cache"
+ ],
+ "operationId": "Cache_ListByService",
+ "description": "Lists a collection of all external Caches in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListCaches": {
+ "$ref": "./examples/ApiManagementListCaches.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns a collection of Cache entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CacheCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/caches/{cacheId}": {
+ "head": {
+ "tags": [
+ "Cache"
+ ],
+ "operationId": "Cache_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Cache specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadCache": {
+ "$ref": "./examples/ApiManagementHeadCache.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CacheIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified Cache entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Cache"
+ ],
+ "operationId": "Cache_Get",
+ "description": "Gets the details of the Cache specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetCache": {
+ "$ref": "./examples/ApiManagementGetCache.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CacheIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Cache entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CacheContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Cache"
+ ],
+ "operationId": "Cache_CreateOrUpdate",
+ "description": "Creates or updates an External Cache to be used in Api Management instance.",
+ "externalDocs": {
+ "description": "Use an external cache in Azure API Management",
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-cache-external"
+ },
+ "x-ms-examples": {
+ "ApiManagementCreateCache": {
+ "$ref": "./examples/ApiManagementCreateCache.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CacheIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CacheContract"
+ },
+ "description": "Create or Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The new Cache was successfully added.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CacheContract"
+ }
+ },
+ "200": {
+ "description": "The Cache details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CacheContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Cache"
+ ],
+ "operationId": "Cache_Update",
+ "description": "Updates the details of the cache specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateCache": {
+ "$ref": "./examples/ApiManagementUpdateCache.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CacheIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CacheUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cache details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CacheContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Cache"
+ ],
+ "operationId": "Cache_Delete",
+ "description": "Deletes specific Cache.",
+ "x-ms-examples": {
+ "ApiManagementDeleteCache": {
+ "$ref": "./examples/ApiManagementDeleteCache.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CacheIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cache was successfully deleted."
+ },
+ "204": {
+ "description": "The Cache was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimcertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimcertificates.json
new file mode 100644
index 000000000000..ff9e92de875b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimcertificates.json
@@ -0,0 +1,387 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Certificate entity in your Azure API Management deployment. Certificates can be used to setup mutual authentication with your Backend in API Management. For more information refer to [How to secure backend using Mutual Auth Certificate](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-mutual-certificates).",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates": {
+ "get": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_ListByService",
+ "description": "Lists a collection of all certificates in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListCertificates": {
+ "$ref": "./examples/ApiManagementListCertificates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || subject | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || thumbprint | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || expirationDate | filter | ge, le, eq, ne, gt, lt | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "isKeyVaultRefreshFailed",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "When set to true, the response contains only certificates entities which failed refresh."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns a collection of Certificate entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CertificateCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/CertificateContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}": {
+ "head": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the certificate specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadCertificate": {
+ "$ref": "./examples/ApiManagementHeadCertificate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified certificate entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_Get",
+ "description": "Gets the details of the certificate specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetCertificate": {
+ "$ref": "./examples/ApiManagementGetCertificate.json"
+ },
+ "ApiManagementGetCertificateWithKeyVault": {
+ "$ref": "./examples/ApiManagementGetCertificateWithKeyVault.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Certificate entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CertificateContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_CreateOrUpdate",
+ "description": "Creates or updates the certificate being used for authentication with the backend.",
+ "externalDocs": {
+ "description": "How to secure back-end services using client certificate authentication in Azure API Management",
+ "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-howto-mutual-certificates/"
+ },
+ "x-ms-examples": {
+ "ApiManagementCreateCertificate": {
+ "$ref": "./examples/ApiManagementCreateCertificate.json"
+ },
+ "ApiManagementCreateCertificateWithKeyVault": {
+ "$ref": "./examples/ApiManagementCreateCertificateWithKeyVault.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CertificateCreateOrUpdateParameters"
+ },
+ "description": "Create or Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The new certificate was successfully added.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CertificateContract"
+ }
+ },
+ "200": {
+ "description": "The certificate details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CertificateContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_Delete",
+ "description": "Deletes specific certificate.",
+ "x-ms-examples": {
+ "ApiManagementDeleteCertificate": {
+ "$ref": "./examples/ApiManagementDeleteCertificate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The certificate was successfully deleted."
+ },
+ "204": {
+ "description": "The certificate was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}/refreshSecret": {
+ "post": {
+ "tags": [
+ "Certificate"
+ ],
+ "operationId": "Certificate_RefreshSecret",
+ "description": "From KeyVault, Refresh the certificate being used for authentication with the backend.",
+ "externalDocs": {
+ "description": "How to secure back-end services using client certificate authentication in Azure API Management",
+ "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-howto-mutual-certificates/"
+ },
+ "x-ms-examples": {
+ "ApiManagementRefreshCertificate": {
+ "$ref": "./examples/ApiManagementRefreshCertificate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The certificate details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/CertificateContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimconnectivitycheck.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimconnectivitycheck.json
new file mode 100644
index 000000000000..e83fbef8a2e6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimconnectivitycheck.json
@@ -0,0 +1,99 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use this REST APIs to perform connectivity troubleshoot operations in API Management deployments.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/connectivityCheck": {
+ "post": {
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "tags": [
+ "PerformConnectivityCheck"
+ ],
+ "operationId": "PerformConnectivityCheckAsync",
+ "description": "Performs a connectivity check between the API Management service and a given destination, and returns metrics for the connection, as well as errors encountered while trying to establish it.",
+ "x-ms-examples": {
+ "TCP Connectivity Check": {
+ "$ref": "./examples/ApiManagementPerformConnectivityCheck.json"
+ },
+ "HTTP Connectivity Check": {
+ "$ref": "./examples/ApiManagementPerformConnectivityCheckHttpConnect.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "connectivityCheckRequestParams",
+ "description": "Connectivity Check request parameters.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ConnectivityCheckRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request was accepted and is currently running. Location header contains the URL where the status of the long running operation can be checked and the result eventually retrieved."
+ },
+ "200": {
+ "description": "Connectivity Check Request was completed.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ConnectivityCheckResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimcontenttypes.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimcontenttypes.json
new file mode 100644
index 000000000000..97a6e93a4323
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimcontenttypes.json
@@ -0,0 +1,513 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations in Azure API Management deployment.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes": {
+ "get": {
+ "tags": [
+ "ContentType"
+ ],
+ "operationId": "ContentType_ListByService",
+ "description": "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"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns a collection of the Content Type entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentTypeCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}": {
+ "get": {
+ "tags": [
+ "ContentType"
+ ],
+ "operationId": "ContentType_Get",
+ "description": "Gets 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"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the details of the specified content type.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentTypeContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ContentType"
+ ],
+ "operationId": "ContentType_CreateOrUpdate",
+ "description": "Creates or updates 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"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "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.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentTypeContract"
+ }
+ },
+ "200": {
+ "description": "The existing content type was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentTypeContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ContentType"
+ ],
+ "operationId": "ContentType_Delete",
+ "description": "Removes 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"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The content type was successfully deleted."
+ },
+ "204": {
+ "description": "The content type was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}/contentItems": {
+ "get": {
+ "tags": [
+ "ContentTypeContentItem"
+ ],
+ "operationId": "ContentItem_ListByService",
+ "description": "Lists developer portal's content items specified by the provided content type.",
+ "x-ms-examples": {
+ "ApiManagementListContentTypeContentItems": {
+ "$ref": "./examples/ApiManagementListContentTypeContentItems.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns a collection of Content Type entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentItemCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}/contentItems/{contentItemId}": {
+ "head": {
+ "tags": [
+ "ContentTypeContentItem"
+ ],
+ "operationId": "ContentItem_GetEntityTag",
+ "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"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified content item entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ContentTypeContentItem"
+ ],
+ "operationId": "ContentItem_Get",
+ "description": "Returns the developer portal's content item specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetContentTypeContentItem": {
+ "$ref": "./examples/ApiManagementGetContentTypeContentItem.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the content item.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentItemContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ContentTypeContentItem"
+ ],
+ "operationId": "ContentItem_CreateOrUpdate",
+ "description": "Creates a new developer portal's content item specified by the provided content type.",
+ "x-ms-examples": {
+ "ApiManagementCreateContentTypeContentItem": {
+ "$ref": "./examples/ApiManagementCreateContentTypeContentItem.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "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.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentItemContract"
+ }
+ },
+ "200": {
+ "description": "The existing content item was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentItemContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ContentTypeContentItem"
+ ],
+ "operationId": "ContentItem_Delete",
+ "description": "Removes the specified developer portal's content item.",
+ "x-ms-examples": {
+ "ApiManagementDeleteContentTypeContentItem": {
+ "$ref": "./examples/ApiManagementDeleteContentTypeContentItem.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The content item was successfully deleted."
+ },
+ "204": {
+ "description": "The content item was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimdeletedservices.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimdeletedservices.json
new file mode 100644
index 000000000000..6b367b23fba6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimdeletedservices.json
@@ -0,0 +1,179 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations in Azure API Management deployment.",
+ "version": "2021-08-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.ApiManagement/deletedservices": {
+ "get": {
+ "tags": [
+ "DeletedService"
+ ],
+ "operationId": "DeletedServices_ListBySubscription",
+ "description": "Lists all soft-deleted services available for undelete for the given subscription.",
+ "x-ms-examples": {
+ "ApiManagementDeletedServicesListBySubscription": {
+ "$ref": "./examples/ApiManagementDeletedServicesListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of all soft-deleted services available for undelete for the given subscription.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DeletedServicesCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/locations/{location}/deletedservices/{serviceName}": {
+ "get": {
+ "tags": [
+ "DeletedService"
+ ],
+ "operationId": "DeletedServices_GetByName",
+ "description": "Get soft-deleted Api Management Service by name.",
+ "x-ms-examples": {
+ "ApiManagementGetDeletedServiceByName": {
+ "$ref": "./examples/ApiManagementGetDeletedServiceByName.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the deleted API Management service."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Soft-deleted Api Management Service.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DeletedServiceContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DeletedService"
+ ],
+ "operationId": "DeletedServices_Purge",
+ "description": "Purges Api Management Service (deletes it with no option to undelete).",
+ "x-ms-examples": {
+ "ApiManagementDeletedServicesPurge": {
+ "$ref": "./examples/ApiManagementDeletedServicesPurge.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location of the deleted API Management service."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Api Service was successfully purged."
+ },
+ "202": {
+ "description": "Api Service purge started.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DeletedServiceContract"
+ }
+ },
+ "204": {
+ "description": "The service does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimdeployment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimdeployment.json
new file mode 100644
index 000000000000..69117e06bc0d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimdeployment.json
@@ -0,0 +1,1826 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs to manage Azure API Management deployment.",
+ "version": "2021-08-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.ApiManagement/operations": {
+ "get": {
+ "tags": [
+ "ApiManagementOperations"
+ ],
+ "description": "Lists all of the available REST API operations of the Microsoft.ApiManagement provider.",
+ "operationId": "ApiManagementOperations_List",
+ "x-ms-examples": {
+ "ApiManagementListOperations": {
+ "$ref": "./examples/ApiManagementListOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/skus": {
+ "get": {
+ "tags": [
+ "ApiManagementServiceSkus"
+ ],
+ "summary": "Gets available SKUs for API Management service",
+ "description": "Gets all available SKU for a given API Management service",
+ "operationId": "ApiManagementServiceSkus_ListAvailableServiceSkus",
+ "x-ms-examples": {
+ "ApiManagementListSKUs-Dedicated": {
+ "$ref": "./examples/ApiManagementListSKUs-Dedicated.json"
+ },
+ "ApiManagementListSKUs-Consumption": {
+ "$ref": "./examples/ApiManagementListSKUs-Consumption.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of SKUs.",
+ "schema": {
+ "$ref": "#/definitions/ResourceSkuResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/restore": {
+ "post": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_Restore",
+ "description": "Restores a backup of an API Management service created using the ApiManagementService_Backup operation on the current service. This is a long running operation and could take several minutes to complete.",
+ "x-ms-examples": {
+ "ApiManagementRestoreService": {
+ "$ref": "./examples/ApiManagementRestoreWithAccessKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceBackupRestoreParameters"
+ },
+ "description": "Parameters supplied to the Restore API Management service from backup operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully restored the backup onto the API Management service.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backup": {
+ "post": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_Backup",
+ "description": "Creates a backup of the API Management service to the given Azure Storage Account. This is long running operation and could take several minutes to complete.",
+ "x-ms-examples": {
+ "ApiManagementBackupWithAccessKey": {
+ "$ref": "./examples/ApiManagementBackupWithAccessKey.json"
+ },
+ "ApiManagementBackupWithSystemManagedIdentity": {
+ "$ref": "./examples/ApiManagementBackupWithSystemManagedIdentity.json"
+ },
+ "ApiManagementBackupWithUserAssignedManagedIdentity": {
+ "$ref": "./examples/ApiManagementBackupWithUserAssignedManagedIdentity.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceBackupRestoreParameters"
+ },
+ "description": "Parameters supplied to the ApiManagementService_Backup operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully backed up the API Management service to the storage account.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}": {
+ "put": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_CreateOrUpdate",
+ "description": "Creates or updates an API Management service. This is long running operation and could take several minutes to complete.",
+ "x-ms-examples": {
+ "ApiManagementCreateService": {
+ "$ref": "./examples/ApiManagementCreateService.json"
+ },
+ "ApiManagementCreateServiceInVnetWithPublicIP": {
+ "$ref": "./examples/ApiManagementCreateServiceInVnetWithPublicIP.json"
+ },
+ "ApiManagementCreateMultiRegionServiceWithCustomHostname": {
+ "$ref": "./examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json"
+ },
+ "ApiManagementCreateServiceHavingMsi": {
+ "$ref": "./examples/ApiManagementCreateServiceHavingMsi.json"
+ },
+ "ApiManagementCreateServiceWithSystemCertificates": {
+ "$ref": "./examples/ApiManagementCreateServiceWithSystemCertificates.json"
+ },
+ "ApiManagementCreateServiceWithUserAssignedIdentity": {
+ "$ref": "./examples/ApiManagementCreateServiceWithUserAssignedIdentity.json"
+ },
+ "ApiManagementCreateServiceInZones": {
+ "$ref": "./examples/ApiManagementCreateServiceInZones.json"
+ },
+ "ApiManagementUndelete": {
+ "$ref": "./examples/ApiManagementUndelete.json"
+ },
+ "ApiManagementCreateServiceWithCustomHostnameKeyVault": {
+ "$ref": "./examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate API Management service operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The service was successfully set up.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "202": {
+ "description": "Accepted the configuration change when updating the service."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_Update",
+ "description": "Updates an existing API Management service.",
+ "x-ms-examples": {
+ "ApiManagementUpdateServiceDisableTls10": {
+ "$ref": "./examples/ApiManagementUpdateServiceDisableTls10.json"
+ },
+ "ApiManagementUpdateServicePublisherDetails": {
+ "$ref": "./examples/ApiManagementUpdateServicePublisherDetails.json"
+ },
+ "ApiManagementUpdateServiceToNewVnetAndAvailabilityZones": {
+ "$ref": "./examples/ApiManagementUpdateServiceToNewVnetAndAZs.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceUpdateParameters"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate API Management service operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The service was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "202": {
+ "description": "The service update request was Accepted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_Get",
+ "description": "Gets an API Management service resource description.",
+ "x-ms-examples": {
+ "ApiManagementServiceGetService": {
+ "$ref": "./examples/ApiManagementServiceGetService.json"
+ },
+ "ApiManagementServiceGetServiceHavingMsi": {
+ "$ref": "./examples/ApiManagementServiceGetServiceHavingMsi.json"
+ },
+ "ApiManagementServiceGetMultiRegionInternalVnet": {
+ "$ref": "./examples/ApiManagementServiceGetMultiRegionInternalVnet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully got the API Management Service Resource.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_Delete",
+ "description": "Deletes an existing API Management service.",
+ "x-ms-examples": {
+ "ApiManagementServiceDeleteService": {
+ "$ref": "./examples/ApiManagementServiceDeleteService.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Service was successfully deleted."
+ },
+ "202": {
+ "description": "The service delete request was Accepted.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "204": {
+ "description": "The service does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service": {
+ "get": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_ListByResourceGroup",
+ "description": "List all API Management services within a resource group.",
+ "x-ms-examples": {
+ "ApiManagementListServiceBySubscriptionAndResourceGroup": {
+ "$ref": "./examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The API Management service list.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/service": {
+ "get": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_List",
+ "description": "Lists all API Management services within an Azure subscription.",
+ "x-ms-examples": {
+ "ApiManagementListServiceBySubscription": {
+ "$ref": "./examples/ApiManagementListServiceBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The API Management service list.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/getssotoken": {
+ "post": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_GetSsoToken",
+ "description": "Gets the Single-Sign-On token for the API Management Service which is valid for 5 Minutes.",
+ "x-ms-examples": {
+ "ApiManagementServiceGetSsoToken": {
+ "$ref": "./examples/ApiManagementServiceGetSsoToken.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK if successful with the SSO Redirect URI.",
+ "schema": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiManagementServiceGetSsoTokenResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_CheckNameAvailability",
+ "description": "Checks availability and correctness of a name for an API Management service.",
+ "x-ms-examples": {
+ "ApiManagementServiceCheckNameAvailability": {
+ "$ref": "./examples/ApiManagementServiceCheckNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceCheckNameAvailabilityParameters"
+ },
+ "description": "Parameters supplied to the CheckNameAvailability operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The result of check name availability.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/getDomainOwnershipIdentifier": {
+ "post": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_GetDomainOwnershipIdentifier",
+ "description": "Get the custom domain ownership identifier for an API Management service.",
+ "x-ms-examples": {
+ "ApiManagementServiceGetDomainOwnershipIdentifier": {
+ "$ref": "./examples/ApiManagementServiceGetDomainOwnershipIdentifier.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The result of getting domain ownership identifier.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceGetDomainOwnershipIdentifierResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/applynetworkconfigurationupdates": {
+ "post": {
+ "tags": [
+ "ApiManagementService"
+ ],
+ "operationId": "ApiManagementService_ApplyNetworkConfigurationUpdates",
+ "description": "Updates the Microsoft.ApiManagement resource running in the Virtual network to pick the updated DNS changes.",
+ "x-ms-examples": {
+ "ApiManagementApplyNetworkConfigurationUpdates": {
+ "$ref": "./examples/ApiManagementApplyNetworkConfigurationUpdates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceApplyNetworkConfigurationParameters"
+ },
+ "description": "Parameters supplied to the Apply Network Configuration operation. If the parameters are empty, all the regions in which the Api Management service is deployed will be updated sequentially without incurring downtime in the region."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "200": {
+ "description": "Network configuration updates were successfully applied on the Api Management service.",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ResourceSkuResults": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceSkuResult"
+ },
+ "description": "The list of skus available for the service."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of API Management service Skus."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The API Management service SKUs operation response."
+ },
+ "ResourceSkuResult": {
+ "properties": {
+ "resourceType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of resource the SKU applies to."
+ },
+ "sku": {
+ "$ref": "#/definitions/ResourceSku",
+ "readOnly": true,
+ "description": "Specifies API Management SKU."
+ },
+ "capacity": {
+ "$ref": "#/definitions/ResourceSkuCapacity",
+ "readOnly": true,
+ "description": "Specifies the number of API Management units."
+ }
+ },
+ "description": "Describes an available API Management service SKU."
+ },
+ "ResourceSkuCapacity": {
+ "properties": {
+ "minimum": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The minimum capacity."
+ },
+ "maximum": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The maximum capacity that can be set."
+ },
+ "default": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The default capacity."
+ },
+ "scaleType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The scale type applicable to the sku.",
+ "enum": [
+ "automatic",
+ "manual",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceSkuCapacityScaleType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "automatic",
+ "description": "Supported scale type automatic."
+ },
+ {
+ "value": "manual",
+ "description": "Supported scale type manual."
+ },
+ {
+ "value": "none",
+ "description": "Scaling not supported."
+ }
+ ]
+ }
+ }
+ },
+ "description": "Describes scaling information of a SKU."
+ },
+ "ResourceSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Sku.",
+ "externalDocs": {
+ "url": "https://azure.microsoft.com/en-us/pricing/details/api-management/"
+ },
+ "enum": [
+ "Developer",
+ "Standard",
+ "Premium",
+ "Basic",
+ "Consumption",
+ "Isolated"
+ ],
+ "x-ms-enum": {
+ "name": "SkuType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Developer",
+ "description": "Developer SKU of Api Management."
+ },
+ {
+ "value": "Standard",
+ "description": "Standard SKU of Api Management."
+ },
+ {
+ "value": "Premium",
+ "description": "Premium SKU of Api Management."
+ },
+ {
+ "value": "Basic",
+ "description": "Basic SKU of Api Management."
+ },
+ {
+ "value": "Consumption",
+ "description": "Consumption SKU of Api Management."
+ },
+ {
+ "value": "Isolated",
+ "description": "Isolated SKU of Api Management."
+ }
+ ]
+ }
+ }
+ },
+ "description": "Describes an available API Management SKU."
+ },
+ "CertificateInformation": {
+ "properties": {
+ "expiry": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard."
+ },
+ "thumbprint": {
+ "type": "string",
+ "description": "Thumbprint of the certificate."
+ },
+ "subject": {
+ "type": "string",
+ "description": "Subject of the certificate."
+ }
+ },
+ "required": [
+ "expiry",
+ "thumbprint",
+ "subject"
+ ],
+ "description": "SSL certificate information."
+ },
+ "CertificateConfiguration": {
+ "properties": {
+ "encodedCertificate": {
+ "type": "string",
+ "description": "Base64 Encoded certificate."
+ },
+ "certificatePassword": {
+ "type": "string",
+ "description": "Certificate Password."
+ },
+ "storeName": {
+ "description": "The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and CertificateAuthority are valid locations.",
+ "type": "string",
+ "enum": [
+ "CertificateAuthority",
+ "Root"
+ ]
+ },
+ "certificate": {
+ "$ref": "#/definitions/CertificateInformation",
+ "description": "Certificate information."
+ }
+ },
+ "required": [
+ "storeName"
+ ],
+ "description": "Certificate configuration which consist of non-trusted intermediates and root certificates."
+ },
+ "HostnameConfiguration": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Hostname type.",
+ "enum": [
+ "Proxy",
+ "Portal",
+ "Management",
+ "Scm",
+ "DeveloperPortal"
+ ],
+ "x-ms-enum": {
+ "name": "HostnameType",
+ "modelAsString": true
+ }
+ },
+ "hostName": {
+ "type": "string",
+ "description": "Hostname to configure on the Api Management service."
+ },
+ "keyVaultId": {
+ "type": "string",
+ "description": "Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, auto-update of ssl certificate will not work. This requires Api Management service to be configured with aka.ms/apimmsi. The secret should be of type *application/x-pkcs12*"
+ },
+ "identityClientId": {
+ "type": "string",
+ "description": "System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to the keyVault containing the SSL certificate."
+ },
+ "encodedCertificate": {
+ "type": "string",
+ "description": "Base64 Encoded certificate."
+ },
+ "certificatePassword": {
+ "type": "string",
+ "description": "Certificate Password."
+ },
+ "defaultSslBinding": {
+ "type": "boolean",
+ "description": "Specify true to setup the certificate associated with this Hostname as the Default SSL Certificate. If a client does not send the SNI header, then this will be the certificate that will be challenged. The property is useful if a service has multiple custom hostname enabled and it needs to decide on the default ssl certificate. The setting only applied to Proxy Hostname Type.",
+ "default": false
+ },
+ "negotiateClientCertificate": {
+ "type": "boolean",
+ "description": "Specify true to always negotiate client certificate on the hostname. Default Value is false.",
+ "default": false
+ },
+ "certificate": {
+ "$ref": "#/definitions/CertificateInformation",
+ "description": "Certificate information."
+ },
+ "certificateSource": {
+ "type": "string",
+ "description": "Certificate Source.",
+ "enum": [
+ "Managed",
+ "KeyVault",
+ "Custom",
+ "BuiltIn"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateSource",
+ "modelAsString": true
+ }
+ },
+ "certificateStatus": {
+ "type": "string",
+ "description": "Certificate Status.",
+ "enum": [
+ "Completed",
+ "Failed",
+ "InProgress"
+ ],
+ "x-ms-enum": {
+ "name": "CertificateStatus",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "type",
+ "hostName"
+ ],
+ "description": "Custom hostname configuration."
+ },
+ "VirtualNetworkConfiguration": {
+ "properties": {
+ "vnetid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The virtual network ID. This is typically a GUID. Expect a null GUID by default."
+ },
+ "subnetname": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the subnet."
+ },
+ "subnetResourceId": {
+ "type": "string",
+ "pattern": "^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$",
+ "description": "The full resource ID of a subnet in a virtual network to deploy the API Management service in."
+ }
+ },
+ "description": "Configuration of a virtual network to which API Management service is deployed."
+ },
+ "AdditionalLocation": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The location name of the additional region among Azure Data center regions."
+ },
+ "sku": {
+ "$ref": "#/definitions/ApiManagementServiceSkuProperties",
+ "description": "SKU properties of the API Management service."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of availability zones denoting where the resource needs to come from."
+ },
+ "publicIPAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard, Premium and Isolated SKU."
+ },
+ "privateIPAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Private Static Load Balanced IP addresses of the API Management service which is deployed in an Internal Virtual Network in a particular additional location. Available only for Basic, Standard, Premium and Isolated SKU."
+ },
+ "publicIpAddressId": {
+ "type": "string",
+ "description": "Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the location. Supported only for Premium SKU being deployed in Virtual Network."
+ },
+ "virtualNetworkConfiguration": {
+ "$ref": "#/definitions/VirtualNetworkConfiguration",
+ "description": "Virtual network configuration for the location."
+ },
+ "gatewayRegionalUrl": {
+ "type": "string",
+ "description": "Gateway URL of the API Management service in the Region.",
+ "readOnly": true
+ },
+ "disableGateway": {
+ "type": "boolean",
+ "description": "Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in this additional location.",
+ "default": false
+ },
+ "platformVersion": {
+ "type": "string",
+ "description": "Compute Platform Version running the service.",
+ "readOnly": true,
+ "enum": [
+ "undetermined",
+ "stv1",
+ "stv2",
+ "mtv1"
+ ],
+ "x-ms-enum": {
+ "name": "PlatformVersion",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "undetermined",
+ "description": "Platform version cannot be determined, as compute platform is not deployed."
+ },
+ {
+ "value": "stv1",
+ "description": "Platform running the service on Single Tenant V1 platform."
+ },
+ {
+ "value": "stv2",
+ "description": "Platform running the service on Single Tenant V2 platform."
+ },
+ {
+ "value": "mtv1",
+ "description": "Platform running the service on Multi Tenant V1 platform."
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "location",
+ "sku"
+ ],
+ "description": "Description of an additional API Management resource location."
+ },
+ "ApiManagementServiceBackupRestoreParameters": {
+ "properties": {
+ "storageAccount": {
+ "type": "string",
+ "description": "The name of the Azure storage account (used to place/retrieve the backup)."
+ },
+ "containerName": {
+ "type": "string",
+ "description": "The name of the blob container (used to place/retrieve the backup)."
+ },
+ "backupName": {
+ "type": "string",
+ "description": "The name of the backup file to create/retrieve."
+ },
+ "accessType": {
+ "type": "string",
+ "description": "The type of access to be used for the storage account.",
+ "default": "AccessKey",
+ "enum": [
+ "AccessKey",
+ "SystemAssignedManagedIdentity",
+ "UserAssignedManagedIdentity"
+ ],
+ "x-ms-enum": {
+ "name": "AccessType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "AccessKey",
+ "description": "Use access key."
+ },
+ {
+ "value": "SystemAssignedManagedIdentity",
+ "description": "Use system assigned managed identity."
+ },
+ {
+ "value": "UserAssignedManagedIdentity",
+ "description": "Use user assigned managed identity."
+ }
+ ]
+ }
+ },
+ "accessKey": {
+ "type": "string",
+ "description": "Storage account access key. Required only if `accessType` is set to `AccessKey`."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "The Client ID of user assigned managed identity. Required only if `accessType` is set to `UserAssignedManagedIdentity`."
+ }
+ },
+ "required": [
+ "storageAccount",
+ "containerName",
+ "backupName"
+ ],
+ "description": "Parameters supplied to the Backup/Restore of an API Management service operation."
+ },
+ "ApiManagementServiceProperties": {
+ "properties": {
+ "publisherEmail": {
+ "type": "string",
+ "description": "Publisher email.",
+ "maxLength": 100
+ },
+ "publisherName": {
+ "type": "string",
+ "description": "Publisher name.",
+ "maxLength": 100
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiManagementServiceBaseProperties"
+ }
+ ],
+ "required": [
+ "publisherEmail",
+ "publisherName"
+ ],
+ "description": "Properties of an API Management service resource description."
+ },
+ "ApiManagementServiceUpdateProperties": {
+ "properties": {
+ "publisherEmail": {
+ "type": "string",
+ "description": "Publisher email.",
+ "maxLength": 100
+ },
+ "publisherName": {
+ "type": "string",
+ "description": "Publisher name.",
+ "maxLength": 100
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiManagementServiceBaseProperties"
+ }
+ ],
+ "description": "Properties of an API Management service resource description."
+ },
+ "ApiManagementServiceBaseProperties": {
+ "properties": {
+ "notificationSenderEmail": {
+ "type": "string",
+ "description": "Email address from which the notification will be sent.",
+ "maxLength": 100
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The current provisioning state of the API Management service which can be one of the following: Created/Activating/Succeeded/Updating/Failed/Stopped/Terminating/TerminationFailed/Deleted.",
+ "readOnly": true
+ },
+ "targetProvisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the API Management service, which is targeted by the long running operation started on the service.",
+ "readOnly": true
+ },
+ "createdAtUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Creation UTC date of the API Management service.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.",
+ "readOnly": true
+ },
+ "gatewayUrl": {
+ "type": "string",
+ "description": "Gateway URL of the API Management service.",
+ "readOnly": true
+ },
+ "gatewayRegionalUrl": {
+ "type": "string",
+ "description": "Gateway URL of the API Management service in the Default Region.",
+ "readOnly": true
+ },
+ "portalUrl": {
+ "type": "string",
+ "description": "Publisher portal endpoint Url of the API Management service.",
+ "readOnly": true
+ },
+ "managementApiUrl": {
+ "type": "string",
+ "description": "Management API endpoint URL of the API Management service.",
+ "readOnly": true
+ },
+ "scmUrl": {
+ "type": "string",
+ "description": "SCM endpoint URL of the API Management service.",
+ "readOnly": true
+ },
+ "developerPortalUrl": {
+ "type": "string",
+ "description": "DEveloper Portal endpoint URL of the API Management service.",
+ "readOnly": true
+ },
+ "hostnameConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HostnameConfiguration"
+ },
+ "description": "Custom hostname configuration of the API Management service."
+ },
+ "publicIPAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard, Premium and Isolated SKU."
+ },
+ "privateIPAddresses": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU."
+ },
+ "publicIpAddressId": {
+ "type": "string",
+ "description": "Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network."
+ },
+ "publicNetworkAccess": {
+ "description": "Whether or not public endpoint access is allowed for this API Management service. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ }
+ },
+ "virtualNetworkConfiguration": {
+ "$ref": "#/definitions/VirtualNetworkConfiguration",
+ "description": "Virtual network configuration of the API Management service."
+ },
+ "additionalLocations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AdditionalLocation"
+ },
+ "description": "Additional datacenter locations of the API Management service."
+ },
+ "customProperties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Custom properties of the API Management service.Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1st 2018 and `False` otherwise. Http2 setting's default value is `False`.You can disable any of next ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them. Note: next ciphers can't be disabled since they are required by Azure CloudService internal components: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384"
+ },
+ "certificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateConfiguration"
+ },
+ "description": "List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10."
+ },
+ "enableClientCertificate": {
+ "type": "boolean",
+ "description": "Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway.",
+ "default": false
+ },
+ "disableGateway": {
+ "type": "boolean",
+ "description": "Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in master region.",
+ "default": false
+ },
+ "virtualNetworkType": {
+ "type": "string",
+ "description": "The type of VPN in which API Management service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only.",
+ "default": "None",
+ "enum": [
+ "None",
+ "External",
+ "Internal"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualNetworkType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "The service is not part of any Virtual Network."
+ },
+ {
+ "value": "External",
+ "description": "The service is part of Virtual Network and it is accessible from Internet."
+ },
+ {
+ "value": "Internal",
+ "description": "The service is part of Virtual Network and it is only accessible from within the virtual network."
+ }
+ ]
+ }
+ },
+ "apiVersionConstraint": {
+ "$ref": "#/definitions/ApiVersionConstraint",
+ "description": "Control Plane Apis version constraint for the API Management service."
+ },
+ "restore": {
+ "type": "boolean",
+ "description": "Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True all other properties will be ignored.",
+ "default": false
+ },
+ "privateEndpointConnections": {
+ "type": "array",
+ "items": {
+ "$ref": "./definitions.json#/definitions/RemotePrivateEndpointConnectionWrapper"
+ },
+ "description": "List of Private Endpoint Connections of this service."
+ },
+ "platformVersion": {
+ "type": "string",
+ "description": "Compute Platform Version running the service in this location.",
+ "readOnly": true,
+ "enum": [
+ "undetermined",
+ "stv1",
+ "stv2",
+ "mtv1"
+ ],
+ "x-ms-enum": {
+ "name": "PlatformVersion",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "undetermined",
+ "description": "Platform version cannot be determined, as compute platform is not deployed."
+ },
+ {
+ "value": "stv1",
+ "description": "Platform running the service on Single Tenant V1 platform."
+ },
+ {
+ "value": "stv2",
+ "description": "Platform running the service on Single Tenant V2 platform."
+ },
+ {
+ "value": "mtv1",
+ "description": "Platform running the service on Multi Tenant V1 platform."
+ }
+ ]
+ }
+ }
+ },
+ "description": "Base Properties of an API Management service resource description."
+ },
+ "ApiVersionConstraint": {
+ "properties": {
+ "minApiVersion": {
+ "type": "string",
+ "description": "Limit control plane API calls to API Management service with version equal to or newer than this value.",
+ "example": "2019-01-01"
+ }
+ },
+ "description": "Control Plane Apis version constraint for the API Management service."
+ },
+ "ApiManagementServiceSkuProperties": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Sku.",
+ "externalDocs": {
+ "url": "https://azure.microsoft.com/en-us/pricing/details/api-management/"
+ },
+ "enum": [
+ "Developer",
+ "Standard",
+ "Premium",
+ "Basic",
+ "Consumption",
+ "Isolated"
+ ],
+ "x-ms-enum": {
+ "name": "SkuType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Developer",
+ "description": "Developer SKU of Api Management."
+ },
+ {
+ "value": "Standard",
+ "description": "Standard SKU of Api Management."
+ },
+ {
+ "value": "Premium",
+ "description": "Premium SKU of Api Management."
+ },
+ {
+ "value": "Basic",
+ "description": "Basic SKU of Api Management."
+ },
+ {
+ "value": "Consumption",
+ "description": "Consumption SKU of Api Management."
+ },
+ {
+ "value": "Isolated",
+ "description": "Isolated SKU of Api Management."
+ }
+ ]
+ }
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0."
+ }
+ },
+ "required": [
+ "name",
+ "capacity"
+ ],
+ "description": "API Management service resource SKU properties."
+ },
+ "ApiManagementServiceResource": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiManagementServiceProperties",
+ "description": "Properties of the API Management service."
+ },
+ "sku": {
+ "$ref": "#/definitions/ApiManagementServiceSkuProperties",
+ "description": "SKU properties of the API Management service."
+ },
+ "identity": {
+ "$ref": "#/definitions/ApiManagementServiceIdentity",
+ "description": "Managed service identity of the Api Management service."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "readOnly": true
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location.",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "etag": {
+ "type": "string",
+ "description": "ETag of the resource.",
+ "readOnly": true
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of availability zones denoting where the resource needs to come from."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApimResource"
+ }
+ ],
+ "required": [
+ "location",
+ "sku",
+ "properties"
+ ],
+ "description": "A single API Management service resource in List or Get response."
+ },
+ "ApimResource": {
+ "description": "The Resource definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "type": "string",
+ "description": "Resource name.",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type for API Management resource is set to Microsoft.ApiManagement."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ApiManagementServiceUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiManagementServiceUpdateProperties",
+ "description": "Properties of the API Management service."
+ },
+ "sku": {
+ "$ref": "#/definitions/ApiManagementServiceSkuProperties",
+ "description": "SKU properties of the API Management service."
+ },
+ "identity": {
+ "$ref": "#/definitions/ApiManagementServiceIdentity",
+ "description": "Managed service identity of the Api Management service."
+ },
+ "etag": {
+ "type": "string",
+ "description": "ETag of the resource.",
+ "readOnly": true
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of availability zones denoting where the resource needs to come from."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApimResource"
+ }
+ ],
+ "description": "Parameter supplied to Update Api Management Service."
+ },
+ "ApiManagementServiceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiManagementServiceResource"
+ },
+ "description": "Result of the List API Management services operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of API Management services."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The response of the List API Management services operation."
+ },
+ "ApiManagementServiceGetSsoTokenResult": {
+ "properties": {
+ "redirectUri": {
+ "type": "string",
+ "description": "Redirect URL to the Publisher Portal containing the SSO token."
+ }
+ },
+ "description": "The response of the GetSsoToken operation."
+ },
+ "ApiManagementServiceCheckNameAvailabilityParameters": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name to check for availability."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Parameters supplied to the CheckNameAvailability operation."
+ },
+ "ApiManagementServiceNameAvailabilityResult": {
+ "properties": {
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "True if the name is available and can be used to create a new API Management service; otherwise false.",
+ "readOnly": true
+ },
+ "message": {
+ "type": "string",
+ "description": "If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that is already in use, and direct them to select a different name.",
+ "readOnly": true
+ },
+ "reason": {
+ "type": "string",
+ "description": "Invalid indicates the name provided does not match the resource provider’s naming requirements (incorrect length, unsupported characters, etc.) AlreadyExists indicates that the name is already in use and is therefore unavailable.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "x-ms-enum": {
+ "name": "NameAvailabilityReason",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Response of the CheckNameAvailability operation."
+ },
+ "ApiManagementServiceGetDomainOwnershipIdentifierResult": {
+ "properties": {
+ "domainOwnershipIdentifier": {
+ "type": "string",
+ "description": "The domain ownership identifier value.",
+ "readOnly": true
+ }
+ },
+ "description": "Response of the GetDomainOwnershipIdentifier operation."
+ },
+ "ApiManagementServiceApplyNetworkConfigurationParameters": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Location of the Api Management service to update for a multi-region service. For a service deployed in a single region, this parameter is not required."
+ }
+ },
+ "description": "Parameter supplied to the Apply Network configuration operation."
+ },
+ "ApiManagementServiceIdentity": {
+ "description": "Identity properties of the Api Management service resource.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ApimIdentityType",
+ "modelAsString": true
+ }
+ },
+ "principalId": {
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true,
+ "description": "The principal id of the identity."
+ },
+ "tenantId": {
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true,
+ "description": "The client tenant id of the identity."
+ },
+ "userAssignedIdentities": {
+ "description": "The list of user identities associated with the resource. The user identity \r\ndictionary key references will be ARM resource ids in the form: \r\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/\r\n providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserIdentityProperties"
+ }
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "UserIdentityProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The principal id of user assigned identity.",
+ "type": "string"
+ },
+ "clientId": {
+ "description": "The client id of user assigned identity.",
+ "type": "string"
+ }
+ }
+ },
+ "Operation": {
+ "description": "REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "The object that describes the operation.",
+ "properties": {
+ "provider": {
+ "description": "Friendly name of the resource provider",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation type: read, write, delete, listKeys/action, etc.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource type on which the operation is performed.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Friendly name of the operation",
+ "type": "string"
+ }
+ }
+ },
+ "origin": {
+ "type": "string",
+ "description": "The operation origin."
+ },
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "The operation properties."
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of operations supported by the resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimdiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimdiagnostics.json
new file mode 100644
index 000000000000..0226b0a04d2c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimdiagnostics.json
@@ -0,0 +1,376 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Diagnostic entity associated with your Azure API Management deployment. Diagnostics are used to log requests/responses in the APIM proxy.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics": {
+ "get": {
+ "tags": [
+ "Diagnostic"
+ ],
+ "operationId": "Diagnostic_ListByService",
+ "description": "Lists all diagnostics of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementListDiagnostics": {
+ "$ref": "./examples/ApiManagementListDiagnostics.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Paged Result response of diagnostics.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/DiagnosticContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}": {
+ "head": {
+ "tags": [
+ "Diagnostic"
+ ],
+ "operationId": "Diagnostic_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Diagnostic specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadDiagnostic": {
+ "$ref": "./examples/ApiManagementHeadDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the entity tag of the diagnostic",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Diagnostic"
+ ],
+ "operationId": "Diagnostic_Get",
+ "description": "Gets the details of the Diagnostic specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetDiagnostic": {
+ "$ref": "./examples/ApiManagementGetDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Diagnostic entity.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Diagnostic"
+ ],
+ "operationId": "Diagnostic_CreateOrUpdate",
+ "description": "Creates a new Diagnostic or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementCreateDiagnostic": {
+ "$ref": "./examples/ApiManagementCreateDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Diagnostic was successfully created.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ }
+ },
+ "200": {
+ "description": "Diagnostic successfully updated",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Diagnostic"
+ ],
+ "operationId": "Diagnostic_Update",
+ "description": "Updates the details of the Diagnostic specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateDiagnostic": {
+ "$ref": "./examples/ApiManagementUpdateDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ },
+ "description": "Diagnostic Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Diagnostic successfully updated",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DiagnosticContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Diagnostic"
+ ],
+ "operationId": "Diagnostic_Delete",
+ "description": "Deletes the specified Diagnostic.",
+ "x-ms-examples": {
+ "ApiManagementDeleteDiagnostic": {
+ "$ref": "./examples/ApiManagementDeleteDiagnostic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Diagnostic was successfully deleted."
+ },
+ "204": {
+ "description": "The Diagnostic was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimemailtemplates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimemailtemplates.json
new file mode 100644
index 000000000000..d8cf5a7fffdc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimemailtemplates.json
@@ -0,0 +1,363 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Email Templates associated with your Azure API Management deployment.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates": {
+ "get": {
+ "tags": [
+ "EmailTemplate"
+ ],
+ "operationId": "EmailTemplate_ListByService",
+ "description": "Gets all email templates",
+ "x-ms-examples": {
+ "ApiManagementListTemplates": {
+ "$ref": "./examples/ApiManagementListTemplates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Collection of the Email Template for the specified API Management service instance.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/EmailTemplateCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/templates/{templateName}": {
+ "head": {
+ "tags": [
+ "EmailTemplates"
+ ],
+ "operationId": "EmailTemplate_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the email template specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadEmailTemplate": {
+ "$ref": "./examples/ApiManagementHeadEmailTemplate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TemplateNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified email template entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "EmailTemplates"
+ ],
+ "operationId": "EmailTemplate_Get",
+ "description": "Gets the details of the email template specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetTemplate": {
+ "$ref": "./examples/ApiManagementGetTemplate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TemplateNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Email template.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/EmailTemplateContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "EmailTemplates"
+ ],
+ "operationId": "EmailTemplate_CreateOrUpdate",
+ "description": "Updates an Email Template.",
+ "x-ms-examples": {
+ "ApiManagementCreateTemplate": {
+ "$ref": "./examples/ApiManagementCreateTemplate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TemplateNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/EmailTemplateUpdateParameters"
+ },
+ "description": "Email Template update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Email Template was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/EmailTemplateContract"
+ }
+ },
+ "200": {
+ "description": "Email Template was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/EmailTemplateContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "EmailTemplates"
+ ],
+ "operationId": "EmailTemplate_Update",
+ "description": "Updates API Management email template",
+ "x-ms-examples": {
+ "ApiManagementUpdateTemplate": {
+ "$ref": "./examples/ApiManagementUpdateTemplate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TemplateNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/EmailTemplateUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "email template successfully updated",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/EmailTemplateContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "EmailTemplates"
+ ],
+ "operationId": "EmailTemplate_Delete",
+ "description": "Reset the Email Template to default template provided by the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteTemplate": {
+ "$ref": "./examples/ApiManagementDeleteTemplate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TemplateNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Email Template was successfully reset to default."
+ },
+ "204": {
+ "description": "Email Template was successfully reset to default."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimgateways.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimgateways.json
new file mode 100644
index 000000000000..56dc3e2e6b48
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimgateways.json
@@ -0,0 +1,1325 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Gateway entity in Azure API Management deployment.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways": {
+ "get": {
+ "tags": [
+ "Gateway"
+ ],
+ "operationId": "Gateway_ListByService",
+ "description": "Lists a collection of gateways registered with service instance.",
+ "x-ms-examples": {
+ "ApiManagementListGateways": {
+ "$ref": "./examples/ApiManagementListGateways.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || region | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Gateway entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/GatewayContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}": {
+ "head": {
+ "tags": [
+ "Gateway"
+ ],
+ "operationId": "Gateway_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Gateway specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadGateway": {
+ "$ref": "./examples/ApiManagementHeadGateway.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified Gateway entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Gateway"
+ ],
+ "operationId": "Gateway_Get",
+ "description": "Gets the details of the Gateway specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetGateway": {
+ "$ref": "./examples/ApiManagementGetGateway.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Gateway entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Gateway"
+ ],
+ "operationId": "Gateway_CreateOrUpdate",
+ "description": "Creates or updates a Gateway to be used in Api Management instance.",
+ "x-ms-examples": {
+ "ApiManagementCreateGateway": {
+ "$ref": "./examples/ApiManagementCreateGateway.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayContract"
+ }
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The new Gateway was successfully added.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayContract"
+ }
+ },
+ "200": {
+ "description": "The Gateway details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Gateway"
+ ],
+ "operationId": "Gateway_Update",
+ "description": "Updates the details of the gateway specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateGateway": {
+ "$ref": "./examples/ApiManagementUpdateGateway.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayContract"
+ }
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gateway details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Gateway"
+ ],
+ "operationId": "Gateway_Delete",
+ "description": "Deletes specific Gateway.",
+ "x-ms-examples": {
+ "ApiManagementDeleteGateway": {
+ "$ref": "./examples/ApiManagementDeleteGateway.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Gateway was successfully deleted."
+ },
+ "204": {
+ "description": "The Gateway was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/listKeys": {
+ "post": {
+ "tags": [
+ "GatewayListKeys"
+ ],
+ "operationId": "Gateway_ListKeys",
+ "description": "Retrieves gateway keys.",
+ "x-ms-examples": {
+ "ApiManagementGatewayListKeys": {
+ "$ref": "./examples/ApiManagementGatewayListKeys.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Gateway keys.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayKeysContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/regenerateKey": {
+ "post": {
+ "tags": [
+ "GatewayRegenerateKey"
+ ],
+ "operationId": "Gateway_RegenerateKey",
+ "description": "Regenerates specified gateway key invalidating any tokens created with it.",
+ "x-ms-examples": {
+ "ApiManagementGatewayRegenerateKey": {
+ "$ref": "./examples/ApiManagementGatewayRegenerateKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayKeyRegenerationRequestContract"
+ }
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Key successfully regenerated"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/generateToken": {
+ "post": {
+ "tags": [
+ "GatewayGenerateToken"
+ ],
+ "operationId": "Gateway_GenerateToken",
+ "description": "Gets the Shared Access Authorization Token for the gateway.",
+ "x-ms-examples": {
+ "ApiManagementGatewayGenerateToken": {
+ "$ref": "./examples/ApiManagementGatewayGenerateToken.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayTokenRequestContract"
+ }
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the authorization token for the gateway.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayTokenContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/hostnameConfigurations": {
+ "get": {
+ "tags": [
+ "GatewayHostnameConfiguration"
+ ],
+ "operationId": "GatewayHostnameConfiguration_ListByService",
+ "description": "Lists the collection of hostname configurations for the specified gateway.",
+ "x-ms-examples": {
+ "ApiManagementListGatewayHostnameConfigurations": {
+ "$ref": "./examples/ApiManagementListGatewayHostnameConfigurations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || hostname | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Collection of hostname configuration entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayHostnameConfigurationCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/GatewayHostnameConfigurationContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/hostnameConfigurations/{hcId}": {
+ "head": {
+ "tags": [
+ "GatewayHostnameConfiguration"
+ ],
+ "operationId": "GatewayHostnameConfiguration_GetEntityTag",
+ "description": "Checks that hostname configuration entity specified by identifier exists for specified Gateway entity.",
+ "x-ms-examples": {
+ "ApiManagementHeadGatewayHostnameConfiguration": {
+ "$ref": "./examples/ApiManagementHeadGatewayHostnameConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayHostnameConfigurationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified Gateway entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "GatewayHostnameConfiguration"
+ ],
+ "operationId": "GatewayHostnameConfiguration_Get",
+ "description": "Get details of a hostname configuration",
+ "x-ms-examples": {
+ "ApiManagementGetGatewayHostnameConfiguration": {
+ "$ref": "./examples/ApiManagementGetGatewayHostnameConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayHostnameConfigurationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Gateway entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayHostnameConfigurationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "GatewayHostnameConfiguration"
+ ],
+ "operationId": "GatewayHostnameConfiguration_CreateOrUpdate",
+ "description": "Creates of updates hostname configuration for a Gateway.",
+ "x-ms-examples": {
+ "ApiManagementCreateGatewayHostnameConfiguration": {
+ "$ref": "./examples/ApiManagementCreateGatewayHostnameConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayHostnameConfigurationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayHostnameConfigurationContract"
+ }
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The new Gateway hostname configuration was successfully created.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayHostnameConfigurationContract"
+ }
+ },
+ "200": {
+ "description": "The Gateway hostname configuration details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayHostnameConfigurationContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GatewayHostnameConfiguration"
+ ],
+ "operationId": "GatewayHostnameConfiguration_Delete",
+ "description": "Deletes the specified hostname configuration from the specified Gateway.",
+ "x-ms-examples": {
+ "ApiManagementDeleteGatewayHostnameConfiguration": {
+ "$ref": "./examples/ApiManagementDeleteGatewayHostnameConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayHostnameConfigurationIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Hostname configuration was successfully removed from Gateway."
+ },
+ "204": {
+ "description": "Hostname configuration successfully removed by previous request or does not exist in Gateway."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/apis": {
+ "get": {
+ "tags": [
+ "GatewayApi"
+ ],
+ "operationId": "GatewayApi_ListByService",
+ "description": "Lists a collection of the APIs associated with a gateway.",
+ "x-ms-examples": {
+ "ApiManagementListGatewayApis": {
+ "$ref": "./examples/ApiManagementListGatewayApis.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains a collection of Api entities in the gateway.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ApiContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/apis/{apiId}": {
+ "head": {
+ "tags": [
+ "GatewayApi"
+ ],
+ "operationId": "GatewayApi_GetEntityTag",
+ "description": "Checks that API entity specified by identifier is associated with the Gateway entity.",
+ "x-ms-examples": {
+ "ApiManagementHeadGatewayApi": {
+ "$ref": "./examples/ApiManagementHeadGatewayApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified Gateway entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "GatewayApi"
+ ],
+ "operationId": "GatewayApi_CreateOrUpdate",
+ "description": "Adds an API to the specified Gateway.",
+ "x-ms-examples": {
+ "ApiManagementCreateGatewayApi": {
+ "$ref": "./examples/ApiManagementCreateGatewayApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AssociationContract"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The API was successfully added to the Gateway.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ }
+ },
+ "200": {
+ "description": "The specified API is already added to the Gateway.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GatewayApi"
+ ],
+ "operationId": "GatewayApi_Delete",
+ "description": "Deletes the specified API from the specified Gateway.",
+ "x-ms-examples": {
+ "ApiManagementDeleteGatewayApi": {
+ "$ref": "./examples/ApiManagementDeleteGatewayApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "API was successfully removed from Gateway"
+ },
+ "204": {
+ "description": "API successfully removed by previous request or does not exist in Gateway"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/certificateAuthorities": {
+ "get": {
+ "tags": [
+ "GatewayCertificateAuthority"
+ ],
+ "operationId": "GatewayCertificateAuthority_ListByService",
+ "description": "Lists the collection of Certificate Authorities for the specified Gateway entity.",
+ "x-ms-examples": {
+ "ApiManagementListGatewaycertificateAuthorities": {
+ "$ref": "./examples/ApiManagementListGatewayCertificateAuthorities.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | eq, ne | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Collection of Gateway Certificate Authority entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayCertificateAuthorityCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/GatewayCertificateAuthorityContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/gateways/{gatewayId}/certificateAuthorities/{certificateId}": {
+ "head": {
+ "tags": [
+ "GatewayCertificateAuthority"
+ ],
+ "operationId": "GatewayCertificateAuthority_GetEntityTag",
+ "description": "Checks if Certificate entity is assigned to Gateway entity as Certificate Authority.",
+ "x-ms-examples": {
+ "ApiManagementHeadGatewayCertificateAuthority": {
+ "$ref": "./examples/ApiManagementHeadGatewayCertificateAuthority.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified Gateway Certificate Authority entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "GatewayCertificateAuthority"
+ ],
+ "operationId": "GatewayCertificateAuthority_Get",
+ "description": "Get assigned Gateway Certificate Authority details.",
+ "x-ms-examples": {
+ "ApiManagementGetGatewayCertificateAuthority": {
+ "$ref": "./examples/ApiManagementGetGatewayCertificateAuthority.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Gateway Certificate Authority entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayCertificateAuthorityContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "GatewayCertificateAuthority"
+ ],
+ "operationId": "GatewayCertificateAuthority_CreateOrUpdate",
+ "description": "Assign Certificate entity to Gateway entity as Certificate Authority.",
+ "x-ms-examples": {
+ "ApiManagementCreateGatewayCertificateAuthority": {
+ "$ref": "./examples/ApiManagementCreateGatewayCertificateAuthority.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayCertificateAuthorityContract"
+ }
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Certificate entity was successfully assigned to Gateway entity as Certificate Authority.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayCertificateAuthorityContract"
+ }
+ },
+ "200": {
+ "description": "Gateway Certificate Authority details were successfully updated",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GatewayCertificateAuthorityContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GatewayCertificateAuthority"
+ ],
+ "operationId": "GatewayCertificateAuthority_Delete",
+ "description": "Remove relationship between Certificate Authority and Gateway entity.",
+ "x-ms-examples": {
+ "ApiManagementDeleteGatewayCertificateAuthority": {
+ "$ref": "./examples/ApiManagementDeleteGatewayCertificateAuthority.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GatewayIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/CertificateIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Certificate entity was successfully removed from Gateway entity as Certificate Authority."
+ },
+ "204": {
+ "description": "Certificate was successfully removed from Gateway entity as Certificate Authority by one of the previous requests or never assigned."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimgroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimgroups.json
new file mode 100644
index 000000000000..57aed2ab5e6f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimgroups.json
@@ -0,0 +1,590 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Group entity in your Azure API Management deployment. Groups are used to manage the visibility of products to developers. Each API Management service instance comes with the following immutable system groups whose membership is automatically managed by API Management. - **Administrators** - Azure subscription administrators are members of this group. - **Developers** - Authenticated developer portal users fall into this group. - **Guests** - Unauthenticated developer portal users are placed into this group. In addition to these system groups, administrators can create custom groups or [leverage external groups in associated Azure Active Directory tenants](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-aad#how-to-add-an-external-azure-active-directory-group). Custom and external groups can be used alongside system groups in giving developers visibility and access to API products. For example, you could create one custom group for developers affiliated with a specific partner organization and allow them access to the APIs from a product containing relevant APIs only. A user can be a member of more than one group.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups": {
+ "get": {
+ "tags": [
+ "Group"
+ ],
+ "operationId": "Group_ListByService",
+ "description": "Lists a collection of groups defined within a service instance.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-create-groups"
+ },
+ "x-ms-examples": {
+ "ApiManagementListGroups": {
+ "$ref": "./examples/ApiManagementListGroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || externalId | filter | eq | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Group entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/GroupContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}": {
+ "head": {
+ "tags": [
+ "Group"
+ ],
+ "operationId": "Group_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the group specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadGroup": {
+ "$ref": "./examples/ApiManagementHeadGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified group entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Group"
+ ],
+ "operationId": "Group_Get",
+ "description": "Gets the details of the group specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetGroup": {
+ "$ref": "./examples/ApiManagementGetGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Group entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Group"
+ ],
+ "operationId": "Group_CreateOrUpdate",
+ "description": "Creates or Updates a group.",
+ "x-ms-examples": {
+ "ApiManagementCreateGroup": {
+ "$ref": "./examples/ApiManagementCreateGroup.json"
+ },
+ "ApiManagementCreateGroupExternal": {
+ "$ref": "./examples/ApiManagementCreateGroupExternal.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupCreateParameters"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Group was created successfully.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Group already exists.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Group"
+ ],
+ "operationId": "Group_Update",
+ "description": "Updates the details of the group specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateGroup": {
+ "$ref": "./examples/ApiManagementUpdateGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The group details were successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Group"
+ ],
+ "operationId": "Group_Delete",
+ "description": "Deletes specific group of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteGroup": {
+ "$ref": "./examples/ApiManagementDeleteGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The group was successfully deleted."
+ },
+ "204": {
+ "description": "The group was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users": {
+ "get": {
+ "tags": [
+ "GroupUser"
+ ],
+ "operationId": "GroupUser_List",
+ "description": "Lists a collection of user entities associated with the group.",
+ "x-ms-examples": {
+ "ApiManagementListGroupUsers": {
+ "$ref": "./examples/ApiManagementListGroupUsers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || firstName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || lastName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || email | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || registrationDate | filter | ge, le, eq, ne, gt, lt | || note | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of user entities associated with the group.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/UserContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{userId}": {
+ "head": {
+ "tags": [
+ "GroupUser"
+ ],
+ "operationId": "GroupUser_CheckEntityExists",
+ "description": "Checks that user entity specified by identifier is associated with the group entity.",
+ "x-ms-examples": {
+ "ApiManagementHeadGroupUser": {
+ "$ref": "./examples/ApiManagementHeadGroupUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Entity exists"
+ },
+ "404": {
+ "description": "Entity does not exists."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "GroupUser"
+ ],
+ "operationId": "GroupUser_Create",
+ "description": "Add existing user to existing group",
+ "x-ms-examples": {
+ "ApiManagementCreateGroupUser": {
+ "$ref": "./examples/ApiManagementCreateGroupUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The user was successfully added to the group.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserContract"
+ }
+ },
+ "200": {
+ "description": "The specified user is already a member of the specified group.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GroupUser"
+ ],
+ "operationId": "GroupUser_Delete",
+ "description": "Remove existing user from existing group.",
+ "x-ms-examples": {
+ "ApiManagementDeleteGroupUser": {
+ "$ref": "./examples/ApiManagementDeleteGroupUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The user was successfully removed from the group."
+ },
+ "204": {
+ "description": "The user was successfully removed from the group."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimidentityprovider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimidentityprovider.json
new file mode 100644
index 000000000000..b7785af9fa4b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimidentityprovider.json
@@ -0,0 +1,416 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Identity Provider entity associated with your Azure API Management deployment. Setting up an external Identity Provider for authentication can help you manage the developer portal logins using the OAuth2 flow.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders": {
+ "get": {
+ "tags": [
+ "IdentityProvider"
+ ],
+ "operationId": "IdentityProvider_ListByService",
+ "description": "Lists a collection of Identity Provider configured in the specified service instance.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-aad#how-to-authorize-developer-accounts-using-azure-active-directory"
+ },
+ "x-ms-examples": {
+ "ApiManagementListIdentityProviders": {
+ "$ref": "./examples/ApiManagementListIdentityProviders.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Identity Providers.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IdentityProviderList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders/{identityProviderName}": {
+ "head": {
+ "tags": [
+ "IdentityProvider"
+ ],
+ "operationId": "IdentityProvider_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the identityProvider specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadIdentityProvider": {
+ "$ref": "./examples/ApiManagementHeadIdentityProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified identity provider entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "IdentityProvider"
+ ],
+ "operationId": "IdentityProvider_Get",
+ "description": "Gets the configuration details of the identity Provider configured in specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementGetIdentityProvider": {
+ "$ref": "./examples/ApiManagementGetIdentityProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified IdentityProvider entity configuration details.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IdentityProviderContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "IdentityProvider"
+ ],
+ "operationId": "IdentityProvider_CreateOrUpdate",
+ "description": "Creates or Updates the IdentityProvider configuration.",
+ "x-ms-examples": {
+ "ApiManagementCreateIdentityProvider": {
+ "$ref": "./examples/ApiManagementCreateIdentityProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IdentityProviderCreateContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "IdentityProvider configuration were successfully created.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IdentityProviderContract"
+ }
+ },
+ "200": {
+ "description": "The existing Identity Provider was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IdentityProviderContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "IdentityProvider"
+ ],
+ "operationId": "IdentityProvider_Update",
+ "description": "Updates an existing IdentityProvider configuration.",
+ "x-ms-examples": {
+ "ApiManagementUpdateIdentityProvider": {
+ "$ref": "./examples/ApiManagementUpdateIdentityProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IdentityProviderUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing Identity Provider was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IdentityProviderContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "IdentityProvider"
+ ],
+ "operationId": "IdentityProvider_Delete",
+ "description": "Deletes the specified identity provider configuration.",
+ "x-ms-examples": {
+ "ApiManagementDeleteIdentityProvider": {
+ "$ref": "./examples/ApiManagementDeleteIdentityProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The identity provider configuration was successfully deleted."
+ },
+ "204": {
+ "description": "The identity provider configuration was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders/{identityProviderName}/listSecrets": {
+ "post": {
+ "tags": [
+ "IdentityProvider"
+ ],
+ "operationId": "IdentityProvider_ListSecrets",
+ "description": "Gets the client secret details of the Identity Provider.",
+ "x-ms-examples": {
+ "ApiManagementIdentityProviderListSecrets": {
+ "$ref": "./examples/ApiManagementIdentityProviderListSecrets.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the client secret.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ClientSecretContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimissues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimissues.json
new file mode 100644
index 000000000000..a5da03178281
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimissues.json
@@ -0,0 +1,150 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use this REST API to get all the issues across an Azure Api Management service.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/issues": {
+ "get": {
+ "tags": [
+ "Issue"
+ ],
+ "operationId": "Issue_ListByService",
+ "description": "Lists a collection of issues in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListIssues": {
+ "$ref": "./examples/ApiManagementListIssues.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || apiId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || title | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || authorName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || state | filter | eq | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Issue entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/IssueContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/issues/{issueId}": {
+ "get": {
+ "tags": [
+ "Issue"
+ ],
+ "operationId": "Issue_Get",
+ "description": "Gets API Management issue details",
+ "x-ms-examples": {
+ "ApiManagementGetIssue": {
+ "$ref": "./examples/ApiManagementGetIssue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IssueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get the details of the issue.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/IssueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimloggers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimloggers.json
new file mode 100644
index 000000000000..8db69af71f65
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimloggers.json
@@ -0,0 +1,382 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on logger entity Azure API Management deployment.The Logger entity in API Management represents an event sink that you can use to log API Management events. Currently the Logger entity supports logging API Management events to Azure EventHub.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers": {
+ "get": {
+ "tags": [
+ "Logger"
+ ],
+ "operationId": "Logger_ListByService",
+ "description": "Lists a collection of loggers in the specified service instance.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-log-event-hubs"
+ },
+ "x-ms-examples": {
+ "ApiManagementListLoggers": {
+ "$ref": "./examples/ApiManagementListLoggers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || loggerType | filter | eq | || resourceId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Logger entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/LoggerCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/LoggerContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerId}": {
+ "head": {
+ "tags": [
+ "Logger"
+ ],
+ "operationId": "Logger_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the logger specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadLogger": {
+ "$ref": "./examples/ApiManagementHeadLogger.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/LoggerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified logger entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Logger"
+ ],
+ "operationId": "Logger_Get",
+ "description": "Gets the details of the logger specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetLogger": {
+ "$ref": "./examples/ApiManagementGetLogger.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/LoggerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Logger entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/LoggerContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Logger"
+ ],
+ "operationId": "Logger_CreateOrUpdate",
+ "description": "Creates or Updates a logger.",
+ "x-ms-examples": {
+ "ApiManagementCreateEHLogger": {
+ "$ref": "./examples/ApiManagementCreateEHLogger.json"
+ },
+ "ApiManagementCreateAILogger": {
+ "$ref": "./examples/ApiManagementCreateAILogger.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/LoggerIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/LoggerContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Logger was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/LoggerContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "The existing logger was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/LoggerContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Logger"
+ ],
+ "operationId": "Logger_Update",
+ "description": "Updates an existing logger.",
+ "x-ms-examples": {
+ "ApiManagementUpdateLogger": {
+ "$ref": "./examples/ApiManagementUpdateLogger.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/LoggerIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/LoggerUpdateContract"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The existing logger was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/LoggerContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Logger"
+ ],
+ "operationId": "Logger_Delete",
+ "description": "Deletes the specified logger.",
+ "x-ms-examples": {
+ "ApiManagementDeleteLogger": {
+ "$ref": "./examples/ApiManagementDeleteLogger.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/LoggerIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The logger was successfully deleted."
+ },
+ "204": {
+ "description": "The logger was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimnamedvalues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimnamedvalues.json
new file mode 100644
index 000000000000..068ccdc5064c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimnamedvalues.json
@@ -0,0 +1,515 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on NamedValue entity associated with your Azure API Management deployment. API Management policies are a powerful capability of the system that allow the publisher to change the behavior of the API through configuration. Policies are a collection of statements that are executed sequentially on the request or response of an API. Policy statements can be constructed using literal text values, policy expressions, and NamedValues. Each API Management service instance has a NamedValues collection of key/value pairs that are global to the service instance. These NamedValues can be used to manage constant string values across all API configuration and policies.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues": {
+ "get": {
+ "tags": [
+ "NamedValue"
+ ],
+ "operationId": "NamedValue_ListByService",
+ "description": "Lists a collection of named values defined within a service instance.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-properties"
+ },
+ "x-ms-examples": {
+ "ApiManagementListNamedValues": {
+ "$ref": "./examples/ApiManagementListNamedValues.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| tags | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith, any, all || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "isKeyVaultRefreshFailed",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "When set to true, the response contains only named value entities which failed refresh."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Collection of the named value entities for the specified API Management service instance.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NamedValueCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/NamedValueContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId}": {
+ "head": {
+ "tags": [
+ "NamedValue"
+ ],
+ "operationId": "NamedValue_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the named value specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadNamedValue": {
+ "$ref": "./examples/ApiManagementHeadNamedValue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified named value entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "NamedValue"
+ ],
+ "operationId": "NamedValue_Get",
+ "description": "Gets the details of the named value specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetNamedValue": {
+ "$ref": "./examples/ApiManagementGetNamedValue.json"
+ },
+ "ApiManagementGetNamedValueWithKeyVault": {
+ "$ref": "./examples/ApiManagementGetNamedValueWithKeyVault.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified named value entity. No secrets included",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NamedValueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NamedValue"
+ ],
+ "operationId": "NamedValue_CreateOrUpdate",
+ "description": "Creates or updates named value.",
+ "x-ms-examples": {
+ "ApiManagementCreateNamedValue": {
+ "$ref": "./examples/ApiManagementCreateNamedValue.json"
+ },
+ "ApiManagementCreateNamedValueWithKeyVault": {
+ "$ref": "./examples/ApiManagementCreateNamedValueWithKeyVault.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NamedValueCreateContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request to create or update named value was accepted."
+ },
+ "201": {
+ "description": "Named value was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NamedValueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Named value was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NamedValueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "patch": {
+ "tags": [
+ "NamedValue"
+ ],
+ "operationId": "NamedValue_Update",
+ "description": "Updates the specific named value.",
+ "x-ms-examples": {
+ "ApiManagementUpdateNamedValue": {
+ "$ref": "./examples/ApiManagementUpdateNamedValue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NamedValueUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request to create or update named value was accepted."
+ },
+ "200": {
+ "description": "Named value was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NamedValueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "delete": {
+ "tags": [
+ "NamedValue"
+ ],
+ "operationId": "NamedValue_Delete",
+ "description": "Deletes specific named value from the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteNamedValue": {
+ "$ref": "./examples/ApiManagementDeleteNamedValue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Named value was successfully deleted."
+ },
+ "204": {
+ "description": "Named value was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId}/listValue": {
+ "post": {
+ "tags": [
+ "NamedValue"
+ ],
+ "operationId": "NamedValue_ListValue",
+ "description": "Gets the secret of the named value specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementNamedValueListValue": {
+ "$ref": "./examples/ApiManagementNamedValueListValue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified named value secret.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NamedValueSecretContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/namedValues/{namedValueId}/refreshSecret": {
+ "post": {
+ "tags": [
+ "NamedValue"
+ ],
+ "operationId": "NamedValue_RefreshSecret",
+ "description": "Refresh the secret of the named value specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementRefreshNamedValue": {
+ "$ref": "./examples/ApiManagementRefreshNamedValue.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NamedValueIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request to refresh secret was accepted."
+ },
+ "200": {
+ "description": "Named value was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NamedValueContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimnetworkstatus.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimnetworkstatus.json
new file mode 100644
index 000000000000..6d11a0de5d13
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimnetworkstatus.json
@@ -0,0 +1,222 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for getting the network connectivity status of your Azure API Management deployment. When the API Management service is deployed inside a Virtual Network, it needs to have access to other Azure resources it depends on. This also gives details about the DNS Servers visible to Azure API Management deployment.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/networkstatus": {
+ "get": {
+ "tags": [
+ "NetworkStatus"
+ ],
+ "operationId": "NetworkStatus_ListByService",
+ "description": "Gets the Connectivity Status to the external resources on which the Api Management service depends from inside the Cloud Service. This also returns the DNS Servers as visible to the CloudService.",
+ "x-ms-examples": {
+ "ApiManagementServiceGetNetworkStatus": {
+ "$ref": "./examples/ApiManagementServiceGetNetworkStatus.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the list Network status details for all regions in which service is deployed.",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkStatusContractByLocation"
+ },
+ "description": "List of Network Status values."
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/locations/{locationName}/networkstatus": {
+ "get": {
+ "tags": [
+ "NetworkStatus"
+ ],
+ "operationId": "NetworkStatus_ListByLocation",
+ "description": "Gets the Connectivity Status to the external resources on which the Api Management service depends from inside the Cloud Service. This also returns the DNS Servers as visible to the CloudService.",
+ "x-ms-examples": {
+ "ApiManagementServiceGetNetworkStatusByLocation": {
+ "$ref": "./examples/ApiManagementServiceGetNetworkStatusByLocation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/LocationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the Network status details.",
+ "schema": {
+ "$ref": "#/definitions/NetworkStatusContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ConnectivityStatusContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The hostname of the resource which the service depends on. This can be the database, storage or any other azure resource on which the service depends upon.",
+ "minLength": 1
+ },
+ "status": {
+ "type": "string",
+ "enum": [
+ "initializing",
+ "success",
+ "failure"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectivityStatusType",
+ "modelAsString": true
+ },
+ "description": "Resource Connectivity Status Type identifier."
+ },
+ "error": {
+ "type": "string",
+ "description": "Error details of the connectivity to the resource."
+ },
+ "lastUpdated": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date when the resource connectivity status was last updated. This status should be updated every 15 minutes. If this status has not been updated, then it means that the service has lost network connectivity to the resource, from inside the Virtual Network.The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "lastStatusChange": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date when the resource connectivity status last Changed from success to failure or vice-versa. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "resourceType": {
+ "type": "string",
+ "description": "Resource Type."
+ },
+ "isOptional": {
+ "type": "boolean",
+ "description": "Whether this is optional."
+ }
+ },
+ "required": [
+ "name",
+ "status",
+ "lastUpdated",
+ "lastStatusChange",
+ "resourceType",
+ "isOptional"
+ ],
+ "description": "Details about connectivity to a resource."
+ },
+ "NetworkStatusContractByLocation": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Location of service",
+ "minLength": 1
+ },
+ "networkStatus": {
+ "$ref": "#/definitions/NetworkStatusContract",
+ "description": "Network status in Location"
+ }
+ },
+ "description": "Network Status in the Location"
+ },
+ "NetworkStatusContract": {
+ "properties": {
+ "dnsServers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Gets the list of DNS servers IPV4 addresses."
+ },
+ "connectivityStatus": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectivityStatusContract"
+ },
+ "description": "Gets the list of Connectivity Status to the Resources on which the service depends upon."
+ }
+ },
+ "required": [
+ "dnsServers",
+ "connectivityStatus"
+ ],
+ "description": "Network Status details."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimnotifications.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimnotifications.json
new file mode 100644
index 000000000000..deb5ade0d3c2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimnotifications.json
@@ -0,0 +1,564 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on who is going to receive notifications associated with your Azure API Management deployment.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications": {
+ "get": {
+ "tags": [
+ "Notification"
+ ],
+ "operationId": "Notification_ListByService",
+ "description": "Lists a collection of properties defined within a service instance.",
+ "x-ms-examples": {
+ "ApiManagementListNotifications": {
+ "$ref": "./examples/ApiManagementListNotifications.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Collection of the Notification for the specified API Management service instance.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NotificationCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}": {
+ "get": {
+ "tags": [
+ "Notification"
+ ],
+ "operationId": "Notification_Get",
+ "description": "Gets the details of the Notification specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetNotification": {
+ "$ref": "./examples/ApiManagementGetNotification.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Notification.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NotificationContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Notification"
+ ],
+ "operationId": "Notification_CreateOrUpdate",
+ "description": "Create or Update API Management publisher notification.",
+ "x-ms-examples": {
+ "ApiManagementCreateNotification": {
+ "$ref": "./examples/ApiManagementCreateNotification.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Notification was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/NotificationContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers": {
+ "get": {
+ "tags": [
+ "NotificationRecipientUser"
+ ],
+ "operationId": "NotificationRecipientUser_ListByNotification",
+ "description": "Gets the list of the Notification Recipient User subscribed to the notification.",
+ "x-ms-examples": {
+ "ApiManagementListNotificationRecipientUsers": {
+ "$ref": "./examples/ApiManagementListNotificationRecipientUsers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the Recipient User collection for the notification.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RecipientUserCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers/{userId}": {
+ "head": {
+ "tags": [
+ "NotificationRecipientUser"
+ ],
+ "operationId": "NotificationRecipientUser_CheckEntityExists",
+ "description": "Determine if the Notification Recipient User is subscribed to the notification.",
+ "x-ms-examples": {
+ "ApiManagementHeadNotificationRecipientUser": {
+ "$ref": "./examples/ApiManagementHeadNotificationRecipientUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The User is subscribed to receive the notification."
+ },
+ "404": {
+ "description": "Entity does not exists."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NotificationRecipientUser"
+ ],
+ "operationId": "NotificationRecipientUser_CreateOrUpdate",
+ "description": "Adds the API Management User to the list of Recipients for the Notification.",
+ "x-ms-examples": {
+ "ApiManagementCreateNotificationRecipientUser": {
+ "$ref": "./examples/ApiManagementCreateNotificationRecipientUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Recipient User was successfully added to the notification list.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RecipientUserContract"
+ }
+ },
+ "200": {
+ "description": "Recipient User is already part of the notification list.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RecipientUserContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NotificationRecipientUser"
+ ],
+ "operationId": "NotificationRecipientUser_Delete",
+ "description": "Removes the API Management user from the list of Notification.",
+ "x-ms-examples": {
+ "ApiManagementDeleteNotificationRecipientUser": {
+ "$ref": "./examples/ApiManagementDeleteNotificationRecipientUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Recipient User was successfully removed from the notification list."
+ },
+ "204": {
+ "description": "Recipient User was successfully removed from the notification list."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails": {
+ "get": {
+ "tags": [
+ "NotificationRecipientEmail"
+ ],
+ "operationId": "NotificationRecipientEmail_ListByNotification",
+ "description": "Gets the list of the Notification Recipient Emails subscribed to a notification.",
+ "x-ms-examples": {
+ "ApiManagementListNotificationRecipientEmails": {
+ "$ref": "./examples/ApiManagementListNotificationRecipientEmails.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the Recipient Email collection subscribed to the notification.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RecipientEmailCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientEmails/{email}": {
+ "head": {
+ "tags": [
+ "NotificationRecipientEmail"
+ ],
+ "operationId": "NotificationRecipientEmail_CheckEntityExists",
+ "description": "Determine if Notification Recipient Email subscribed to the notification.",
+ "x-ms-examples": {
+ "ApiManagementHeadNotificationRecipientEmail": {
+ "$ref": "./examples/ApiManagementHeadNotificationRecipientEmail.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/EmailParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The Users is subscribed to receive the notification."
+ },
+ "404": {
+ "description": "The Users is not subscribed to receive the notification."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "NotificationRecipientEmail"
+ ],
+ "operationId": "NotificationRecipientEmail_CreateOrUpdate",
+ "description": "Adds the Email address to the list of Recipients for the Notification.",
+ "x-ms-examples": {
+ "ApiManagementCreateNotificationRecipientEmail": {
+ "$ref": "./examples/ApiManagementCreateNotificationRecipientEmail.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/EmailParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Recipient Email was successfully added to the notification list.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RecipientEmailContract"
+ }
+ },
+ "200": {
+ "description": "Recipient Email is already part of the notification list.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RecipientEmailContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "NotificationRecipientEmail"
+ ],
+ "operationId": "NotificationRecipientEmail_Delete",
+ "description": "Removes the email from the list of Notification.",
+ "x-ms-examples": {
+ "ApiManagementDeleteNotificationRecipientEmail": {
+ "$ref": "./examples/ApiManagementDeleteNotificationRecipientEmail.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotificationNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/EmailParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Recipient Email was successfully removed to the notification list."
+ },
+ "204": {
+ "description": "Recipient Email was successfully removed to the notification list."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimopenidconnectproviders.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimopenidconnectproviders.json
new file mode 100644
index 000000000000..38fd46967505
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimopenidconnectproviders.json
@@ -0,0 +1,427 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on OpenId Connect Provider entity associated with your Azure API Management deployment. API Management allows you to access APIs secured with token from [OpenID Connect Provider ](http://openid.net/connect/) to be accessed from the Developer Console.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders": {
+ "get": {
+ "tags": [
+ "OpenidConnectProvider"
+ ],
+ "operationId": "OpenIdConnectProvider_ListByService",
+ "description": "Lists of all the OpenId Connect Providers.",
+ "x-ms-examples": {
+ "ApiManagementListOpenIdConnectProviders": {
+ "$ref": "./examples/ApiManagementListOpenIdConnectProviders.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists of all the OpenId Connect Providers.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OpenIdConnectProviderCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/OpenidConnectProviderContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}": {
+ "head": {
+ "tags": [
+ "OpenidConnectProvider"
+ ],
+ "operationId": "OpenIdConnectProvider_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the openIdConnectProvider specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadOpenIdConnectProvider": {
+ "$ref": "./examples/ApiManagementHeadOpenIdConnectProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified openidConnectProvider entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "OpenidConnectProvider"
+ ],
+ "operationId": "OpenIdConnectProvider_Get",
+ "description": "Gets specific OpenID Connect Provider without secrets.",
+ "x-ms-examples": {
+ "ApiManagementGetOpenIdConnectProvider": {
+ "$ref": "./examples/ApiManagementGetOpenIdConnectProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified OpenId Connect Provider entity without secrets.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OpenidConnectProviderContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "OpenidConnectProvider"
+ ],
+ "operationId": "OpenIdConnectProvider_CreateOrUpdate",
+ "description": "Creates or updates the OpenID Connect Provider.",
+ "x-ms-examples": {
+ "ApiManagementCreateOpenIdConnectProvider": {
+ "$ref": "./examples/ApiManagementCreateOpenIdConnectProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OpenidConnectProviderContract"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "OpenIdConnect Provider was successfully created.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OpenidConnectProviderContract"
+ }
+ },
+ "200": {
+ "description": "OpenIdConnect Provider was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OpenidConnectProviderContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "OpenidConnectProvider"
+ ],
+ "operationId": "OpenIdConnectProvider_Update",
+ "description": "Updates the specific OpenID Connect Provider.",
+ "x-ms-examples": {
+ "ApiManagementUpdateOpenIdConnectProvider": {
+ "$ref": "./examples/ApiManagementUpdateOpenIdConnectProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OpenidConnectProviderUpdateContract"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OpenIdConnect Provider was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OpenidConnectProviderContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "OpenidConnectProvider"
+ ],
+ "operationId": "OpenIdConnectProvider_Delete",
+ "description": "Deletes specific OpenID Connect Provider of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteOpenIdConnectProvider": {
+ "$ref": "./examples/ApiManagementDeleteOpenIdConnectProvider.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OpenId Connect Provider was successfully deleted."
+ },
+ "204": {
+ "description": "OpenId Connect Provider was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}/listSecrets": {
+ "post": {
+ "tags": [
+ "OpenidConnectProvider"
+ ],
+ "operationId": "OpenIdConnectProvider_ListSecrets",
+ "description": "Gets the client secret details of the OpenID Connect Provider.",
+ "x-ms-examples": {
+ "ApiManagementOpenidConnectProviderListSecrets": {
+ "$ref": "./examples/ApiManagementOpenidConnectProviderListSecrets.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified OpenId Connect Provider secrets.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ClientSecretContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimoutbounddependency.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimoutbounddependency.json
new file mode 100644
index 000000000000..50e0679d19be
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimoutbounddependency.json
@@ -0,0 +1,153 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for getting the outbound network dependency of your Azure API Management deployment. When the API Management service is deployed inside a Virtual Network, it needs to have access to other Azure resources it depends on. This also gives details about the DNS Servers visible to Azure API Management deployment.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/outboundNetworkDependenciesEndpoints": {
+ "get": {
+ "tags": [
+ "OutboundNetworkDependenciesEndpoints"
+ ],
+ "operationId": "OutboundNetworkDependenciesEndpoints_ListByService",
+ "description": "Gets the network endpoints of all outbound dependencies of a ApiManagement service.",
+ "x-ms-examples": {
+ "ApiManagementServiceGetOutboundNetworkDependenciesEndpoints": {
+ "$ref": "./examples/ApiManagementServiceGetOutboundNetworkDependenciesEndpoints.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OutboundEnvironmentEndpointList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OutboundEnvironmentEndpointList": {
+ "description": "Collection of Outbound Environment Endpoints",
+ "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
+ }
+ }
+ },
+ "OutboundEnvironmentEndpoint": {
+ "description": "Endpoints accessed for a common purpose that the Api Management Service requires outbound network access to.",
+ "type": "object",
+ "properties": {
+ "category": {
+ "description": "The type of service accessed by the Api Management Service, e.g., Azure Storage, Azure SQL Database, and Azure Active Directory.",
+ "type": "string"
+ },
+ "endpoints": {
+ "description": "The endpoints that the Api Management Service reaches the service at.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointDependency"
+ }
+ }
+ }
+ },
+ "EndpointDependency": {
+ "description": "A domain name that a service is reached at.",
+ "type": "object",
+ "properties": {
+ "domainName": {
+ "description": "The domain name of the dependency.",
+ "type": "string"
+ },
+ "endpointDetails": {
+ "description": "The Ports used when connecting to DomainName.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointDetail"
+ }
+ }
+ }
+ },
+ "EndpointDetail": {
+ "description": "Current TCP connectivity information from the Api Management Service to a single endpoint.",
+ "type": "object",
+ "properties": {
+ "port": {
+ "format": "int32",
+ "description": "The port an endpoint is connected to.",
+ "type": "integer"
+ },
+ "region": {
+ "description": "The region of the dependency.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimpolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimpolicies.json
new file mode 100644
index 000000000000..84d1b119e899
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimpolicies.json
@@ -0,0 +1,304 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Global Policies in Azure API Management deployment.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies": {
+ "get": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_ListByService",
+ "description": "Lists all the Global Policy definitions of the Api Management service.",
+ "x-ms-examples": {
+ "ApiManagementListPolicies": {
+ "$ref": "./examples/ApiManagementListPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns an array of Policy Contracts.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId}": {
+ "head": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the Global policy definition in the Api Management service.",
+ "x-ms-examples": {
+ "ApiManagementHeadPolicy": {
+ "$ref": "./examples/ApiManagementHeadPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_Get",
+ "description": "Get the Global policy definition of the Api Management service.",
+ "x-ms-examples": {
+ "ApiManagementGetPolicy": {
+ "$ref": "./examples/ApiManagementGetPolicy.json"
+ },
+ "ApiManagementGetPolicyFormat": {
+ "$ref": "./examples/ApiManagementGetPolicyFormat.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyExportFormat"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get the Global policy definition of the Api Management service.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_CreateOrUpdate",
+ "description": "Creates or updates the global policy configuration of the Api Management service.",
+ "x-ms-examples": {
+ "ApiManagementCreatePolicy": {
+ "$ref": "./examples/ApiManagementCreatePolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "description": "The policy contents to apply."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Global policy configuration was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Global policy configuration of the Api Management service was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Policy"
+ ],
+ "operationId": "Policy_Delete",
+ "description": "Deletes the global policy configuration of the Api Management Service.",
+ "x-ms-examples": {
+ "ApiManagementDeletePolicy": {
+ "$ref": "./examples/ApiManagementDeletePolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Policy was successfully removed"
+ },
+ "204": {
+ "description": "Policy successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimpolicydescriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimpolicydescriptions.json
new file mode 100644
index 000000000000..39bee841a3fa
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimpolicydescriptions.json
@@ -0,0 +1,100 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing retrieving a collection of policy snippets available in Azure API Management deployment.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policyDescriptions": {
+ "get": {
+ "tags": [
+ "PolicyDescription"
+ ],
+ "operationId": "PolicyDescription_ListByService",
+ "description": "Lists all policy descriptions.",
+ "x-ms-examples": {
+ "ApiManagementListPolicyDescriptions": {
+ "$ref": "./examples/ApiManagementListPolicyDescriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "scope",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Policy scope.",
+ "enum": [
+ "Tenant",
+ "Product",
+ "Api",
+ "Operation",
+ "All"
+ ],
+ "x-ms-enum": {
+ "name": "PolicyScopeContract",
+ "modelAsString": false
+ }
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns an array of policy descriptions.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyDescriptionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimportalrevisions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimportalrevisions.json
new file mode 100644
index 000000000000..20a19d857c2a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimportalrevisions.json
@@ -0,0 +1,326 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations in Azure API Management deployment.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalRevisions": {
+ "get": {
+ "tags": [
+ "PortalRevision"
+ ],
+ "operationId": "PortalRevision_ListByService",
+ "description": "Lists developer portal's revisions.",
+ "x-ms-examples": {
+ "ApiManagementListPortalRevisions": {
+ "$ref": "./examples/ApiManagementListPortalRevisions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n|isCurrent | eq, ne | |\n"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists portal's revisions.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalRevisionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalRevisions/{portalRevisionId}": {
+ "head": {
+ "tags": [
+ "PortalRevision"
+ ],
+ "operationId": "PortalRevision_GetEntityTag",
+ "description": "Gets the developer portal revision specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadPortalRevision": {
+ "$ref": "./examples/ApiManagementHeadPortalRevision.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PortalRevisionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "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.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "PortalRevision"
+ ],
+ "operationId": "PortalRevision_Get",
+ "description": "Gets the developer portal's revision specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetPortalRevision": {
+ "$ref": "./examples/ApiManagementGetPortalRevision.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PortalRevisionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the specified portal's revision.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalRevisionContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PortalRevision"
+ ],
+ "operationId": "PortalRevision_CreateOrUpdate",
+ "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"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PortalRevisionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalRevisionContract"
+ }
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request to create a developer portal revision was accepted."
+ },
+ "201": {
+ "description": "The developer portal revision was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalRevisionContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "patch": {
+ "tags": [
+ "PortalRevision"
+ ],
+ "operationId": "PortalRevision_Update",
+ "description": "Updates the description of specified portal revision or makes it current.",
+ "x-ms-examples": {
+ "ApiManagementUpdatePortalRevision": {
+ "$ref": "./examples/ApiManagementUpdatePortalRevision.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PortalRevisionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalRevisionContract"
+ }
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request to update developer portal revision was accepted."
+ },
+ "200": {
+ "description": "Developer portal revision was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalRevisionContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimportalsettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimportalsettings.json
new file mode 100644
index 000000000000..806022d36369
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimportalsettings.json
@@ -0,0 +1,699 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on PortalSettings entity associated with your Azure API Management deployment. Using this entity you can manage settings for a Developer Portal.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings": {
+ "get": {
+ "tags": [
+ "PortalSettings"
+ ],
+ "operationId": "PortalSettings_ListByService",
+ "description": "Lists a collection of portalsettings defined within a service instance..",
+ "x-ms-examples": {
+ "ApiManagementListPortalSettings": {
+ "$ref": "./examples/ApiManagementListPortalSettings.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Portal Settings entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSettingsCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signin": {
+ "head": {
+ "tags": [
+ "SignInSettings"
+ ],
+ "operationId": "SignInSettings_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the SignInSettings.",
+ "x-ms-examples": {
+ "ApiManagementHeadSignInSettings": {
+ "$ref": "./examples/ApiManagementHeadSignInSettings.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "SignInSettings"
+ ],
+ "operationId": "SignInSettings_Get",
+ "description": "Get Sign In Settings for the Portal",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsGetSignIn": {
+ "$ref": "./examples/ApiManagementPortalSettingsGetSignIn.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Sign-In settings.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSigninSettings"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SignInSettings"
+ ],
+ "operationId": "SignInSettings_Update",
+ "description": "Update Sign-In settings.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsUpdateSignIn": {
+ "$ref": "./examples/ApiManagementPortalSettingsUpdateSignIn.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSigninSettings"
+ },
+ "description": "Update Sign-In settings."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Sign-In settings was updated successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SignInSettings"
+ ],
+ "operationId": "SignInSettings_CreateOrUpdate",
+ "description": "Create or Update Sign-In settings.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsUpdateSignIn": {
+ "$ref": "./examples/ApiManagementPortalSettingsPutSignIn.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSigninSettings"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Sign-In settings was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSigninSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signup": {
+ "head": {
+ "tags": [
+ "SignUpSettings"
+ ],
+ "operationId": "SignUpSettings_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the SignUpSettings.",
+ "x-ms-examples": {
+ "ApiManagementHeadSignUpSettings": {
+ "$ref": "./examples/ApiManagementHeadSignUpSettings.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "SignUpSettings"
+ ],
+ "operationId": "SignUpSettings_Get",
+ "description": "Get Sign Up Settings for the Portal",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsGetSignUp": {
+ "$ref": "./examples/ApiManagementPortalSettingsGetSignUp.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Sign-Up settings.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSignupSettings"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SignUpSettings"
+ ],
+ "operationId": "SignUpSettings_Update",
+ "description": "Update Sign-Up settings.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsUpdateSignUp": {
+ "$ref": "./examples/ApiManagementPortalSettingsUpdateSignUp.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSignupSettings"
+ },
+ "description": "Update Sign-Up settings."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Sign-Up settings was updated successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SignUpSettings"
+ ],
+ "operationId": "SignUpSettings_CreateOrUpdate",
+ "description": "Create or Update Sign-Up settings.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsUpdateSignUp": {
+ "$ref": "./examples/ApiManagementPortalSettingsPutSignUp.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSignupSettings"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Sign-Up settings was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSignupSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/delegation": {
+ "head": {
+ "tags": [
+ "DelegationSettings"
+ ],
+ "operationId": "DelegationSettings_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the DelegationSettings.",
+ "x-ms-examples": {
+ "ApiManagementHeadDelegationSettings": {
+ "$ref": "./examples/ApiManagementHeadDelegationSettings.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "DelegationSettings"
+ ],
+ "operationId": "DelegationSettings_Get",
+ "description": "Get Delegation Settings for the Portal.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsGetDelegation": {
+ "$ref": "./examples/ApiManagementPortalSettingsGetDelegation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delegation settings.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalDelegationSettings"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DelegationSettings"
+ ],
+ "operationId": "DelegationSettings_Update",
+ "description": "Update Delegation settings.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsUpdateDelegation": {
+ "$ref": "./examples/ApiManagementPortalSettingsUpdateDelegation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalDelegationSettings"
+ },
+ "description": "Update Delegation settings."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Delegation settings was updated successfully."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DelegationSettings"
+ ],
+ "operationId": "DelegationSettings_CreateOrUpdate",
+ "description": "Create or Update Delegation settings.",
+ "x-ms-examples": {
+ "ApiManagementPortalSettingsUpdateDelegation": {
+ "$ref": "./examples/ApiManagementPortalSettingsPutDelegation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalDelegationSettings"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delegation settings was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalDelegationSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/delegation/listSecrets": {
+ "post": {
+ "tags": [
+ "DelegationSettings"
+ ],
+ "operationId": "DelegationSettings_ListSecrets",
+ "description": "Gets the secret validation key of the DelegationSettings.",
+ "x-ms-examples": {
+ "ApiManagementListSecretsPortalSettings": {
+ "$ref": "./examples/ApiManagementListSecretsPortalSettingsValidationKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the validation key.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PortalSettingValidationKeyContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimprivatelink.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimprivatelink.json
new file mode 100644
index 000000000000..7484a151d923
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimprivatelink.json
@@ -0,0 +1,335 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Private Endpoint Connection in Azure API Management deployment.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnection_ListByService",
+ "description": "Lists all private endpoint connections of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementListPrivateEndpointConnections": {
+ "$ref": "./examples/ApiManagementListPrivateEndpointConnections.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnection_GetByName",
+ "description": "Gets the details of the Private Endpoint Connection specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetPrivateEndpointConnection": {
+ "$ref": "./examples/ApiManagementGetPrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "Name of the private endpoint connection.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnection_CreateOrUpdate",
+ "description": "Creates a new Private Endpoint Connection or updates an existing one.",
+ "x-ms-examples": {
+ "ApiManagementApproveOrRejectPrivateEndpointConnection": {
+ "$ref": "./examples/ApiManagementApproveOrRejectPrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "Name of the private endpoint connection.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "privateEndpointConnectionRequest",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PrivateEndpointConnectionRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request to approve or reject private endpoint connection. Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "200": {
+ "description": "Private Endpoint Connection Request was completed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnection_Delete",
+ "description": "Deletes the specified Private Endpoint Connection.",
+ "x-ms-examples": {
+ "ApiManagementDeletePrivateEndpointConnection": {
+ "$ref": "./examples/ApiManagementDeletePrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "Name of the private endpoint connection.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Private Endpoint Connection was successfully deleted."
+ },
+ "202": {
+ "description": "Request to delete API was accepted. Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "204": {
+ "description": "Private endpoint connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Description for Gets the private link resources",
+ "operationId": "PrivateEndpointConnection_ListPrivateLinkResources",
+ "x-ms-examples": {
+ "ApiManagementListPrivateLinkGroupResources": {
+ "$ref": "./examples/ApiManagementListPrivateLinkGroupResources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateLinkResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/privateLinkResources/{privateLinkSubResourceName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Description for Gets the private link resources",
+ "operationId": "PrivateEndpointConnection_GetPrivateLinkResource",
+ "x-ms-examples": {
+ "ApiManagementGetPrivateLinkGroupResource": {
+ "$ref": "./examples/ApiManagementGetPrivateLinkGroupResource.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "privateLinkSubResourceName",
+ "in": "path",
+ "description": "Name of the private link resource.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateLinkResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimproducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimproducts.json
new file mode 100644
index 000000000000..fd6076a6aaff
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimproducts.json
@@ -0,0 +1,1408 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Product entity associated with your Azure API Management deployment. The Product entity represents a product in API Management. Products include one or more APIs and their associated terms of use. Once a product is published, developers can subscribe to the product and begin to use the product’s APIs.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products": {
+ "get": {
+ "tags": [
+ "Product"
+ ],
+ "operationId": "Product_ListByService",
+ "description": "Lists a collection of products in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListProducts": {
+ "$ref": "./examples/ApiManagementListProducts.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || terms | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || state | filter | eq | || groups | expand | | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "expandGroups",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "When set to true, the response contains an array of groups that have visibility to the product. The default is false."
+ },
+ {
+ "name": "tags",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Products which are part of a specific tag."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A Collection of the Product entities for the specified API Management service instance.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ProductCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ProductContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}": {
+ "head": {
+ "tags": [
+ "Product"
+ ],
+ "operationId": "Product_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the product specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadProduct": {
+ "$ref": "./examples/ApiManagementHeadProduct.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified Product entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Product"
+ ],
+ "operationId": "Product_Get",
+ "description": "Gets the details of the product specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetProduct": {
+ "$ref": "./examples/ApiManagementGetProduct.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Product entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ProductContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Product"
+ ],
+ "operationId": "Product_CreateOrUpdate",
+ "description": "Creates or Updates a product.",
+ "x-ms-examples": {
+ "ApiManagementCreateProduct": {
+ "$ref": "./examples/ApiManagementCreateProduct.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ProductContract"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Product was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ProductContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Product was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ProductContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Product"
+ ],
+ "operationId": "Product_Update",
+ "description": "Update existing product details.",
+ "x-ms-examples": {
+ "ApiManagementUpdateProduct": {
+ "$ref": "./examples/ApiManagementUpdateProduct.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ProductUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Product was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ProductContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Product"
+ ],
+ "operationId": "Product_Delete",
+ "description": "Delete product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProduct": {
+ "$ref": "./examples/ApiManagementDeleteProduct.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "name": "deleteSubscriptions",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Delete existing subscriptions associated with the product or not."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Product was successfully removed."
+ },
+ "204": {
+ "description": "Product was successfully removed by previous request or does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis": {
+ "get": {
+ "tags": [
+ "ProductApi"
+ ],
+ "operationId": "ProductApi_ListByProduct",
+ "description": "Lists a collection of the APIs associated with a product.",
+ "x-ms-examples": {
+ "ApiManagementListProductApis": {
+ "$ref": "./examples/ApiManagementListProductApis.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || serviceUrl | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || path | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains a collection of Api entities in the product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ApiContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId}": {
+ "head": {
+ "tags": [
+ "ProductApi"
+ ],
+ "operationId": "ProductApi_CheckEntityExists",
+ "description": "Checks that API entity specified by identifier is associated with the Product entity.",
+ "x-ms-examples": {
+ "ApiManagementHeadProductApi": {
+ "$ref": "./examples/ApiManagementHeadProductApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Entity exists"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProductApi"
+ ],
+ "operationId": "ProductApi_CreateOrUpdate",
+ "description": "Adds an API to the specified product.",
+ "x-ms-examples": {
+ "ApiManagementCreateProductApi": {
+ "$ref": "./examples/ApiManagementCreateProductApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The API was successfully added to the product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ }
+ },
+ "200": {
+ "description": "The specified API is already added to the product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ApiContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProductApi"
+ ],
+ "operationId": "ProductApi_Delete",
+ "description": "Deletes the specified API from the specified product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProductApi": {
+ "$ref": "./examples/ApiManagementDeleteProductApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "API was successfully removed from product"
+ },
+ "204": {
+ "description": "API successfully removed by previous request or does not exist in product"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups": {
+ "get": {
+ "tags": [
+ "ProductGroup"
+ ],
+ "operationId": "ProductGroup_ListByProduct",
+ "description": "Lists the collection of developer groups associated with the specified product.",
+ "x-ms-examples": {
+ "ApiManagementListProductGroups": {
+ "$ref": "./examples/ApiManagementListProductGroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | || displayName | filter | eq, ne | || description | filter | eq, ne | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Group entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/GroupContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups/{groupId}": {
+ "head": {
+ "tags": [
+ "ProductGroup"
+ ],
+ "operationId": "ProductGroup_CheckEntityExists",
+ "description": "Checks that Group entity specified by identifier is associated with the Product entity.",
+ "x-ms-examples": {
+ "ApiManagementHeadProductGroup": {
+ "$ref": "./examples/ApiManagementHeadProductGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The Group is associated with the Product."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProductGroup"
+ ],
+ "operationId": "ProductGroup_CreateOrUpdate",
+ "description": "Adds the association between the specified developer group with the specified product.",
+ "x-ms-examples": {
+ "ApiManagementCreateProductGroup": {
+ "$ref": "./examples/ApiManagementCreateProductGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The group was successfully associated with the product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupContract"
+ }
+ },
+ "200": {
+ "description": "The specified group is already associated with the product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProductGroup"
+ ],
+ "operationId": "ProductGroup_Delete",
+ "description": "Deletes the association between the specified group and product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProductGroup": {
+ "$ref": "./examples/ApiManagementDeleteProductGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/GroupIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The group was successfully disassociated with the product."
+ },
+ "204": {
+ "description": "The group was successfully disassociated with the product."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/subscriptions": {
+ "get": {
+ "tags": [
+ "ProductSubscription"
+ ],
+ "operationId": "ProductSubscriptions_List",
+ "description": "Lists the collection of subscriptions to the specified product.",
+ "x-ms-examples": {
+ "ApiManagementListProductSubscriptions": {
+ "$ref": "./examples/ApiManagementListProductSubscriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || stateComment | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || ownerId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || scope | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || productId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || state | filter | eq | || user | expand | | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of subscription entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/SubscriptionContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies": {
+ "get": {
+ "tags": [
+ "ProductPolicy"
+ ],
+ "operationId": "ProductPolicy_ListByProduct",
+ "description": "Get the policy configuration at the Product level.",
+ "x-ms-examples": {
+ "ApiManagementListProductPolicies": {
+ "$ref": "./examples/ApiManagementListProductPolicies.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Product Policy information.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies/{policyId}": {
+ "head": {
+ "tags": [
+ "ProductPolicy"
+ ],
+ "operationId": "ProductPolicy_GetEntityTag",
+ "description": "Get the ETag of the policy configuration at the Product level.",
+ "x-ms-examples": {
+ "ApiManagementHeadProductPolicy": {
+ "$ref": "./examples/ApiManagementHeadProductPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Product Policy Etag information.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ProductPolicy"
+ ],
+ "operationId": "ProductPolicy_Get",
+ "description": "Get the policy configuration at the Product level.",
+ "x-ms-examples": {
+ "ApiManagementGetProductPolicy": {
+ "$ref": "./examples/ApiManagementGetProductPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyExportFormat"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Product Policy information.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProductPolicy"
+ ],
+ "operationId": "ProductPolicy_CreateOrUpdate",
+ "description": "Creates or updates policy configuration for the Product.",
+ "x-ms-examples": {
+ "ApiManagementCreateProductPolicy": {
+ "$ref": "./examples/ApiManagementCreateProductPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "description": "The policy contents to apply."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Product policy configuration was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "Product policy configuration of the tenant was successfully updated.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/PolicyContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProductPolicy"
+ ],
+ "operationId": "ProductPolicy_Delete",
+ "description": "Deletes the policy configuration at the Product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProductPolicy": {
+ "$ref": "./examples/ApiManagementDeleteProductPolicy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/PolicyIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the policy configuration at the Product level."
+ },
+ "204": {
+ "description": "Successfully deleted the policy configuration at the Product level."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags": {
+ "get": {
+ "tags": [
+ "ProductTag"
+ ],
+ "operationId": "Tag_ListByProduct",
+ "description": "Lists all Tags associated with the Product.",
+ "x-ms-examples": {
+ "ApiManagementListProductTags": {
+ "$ref": "./examples/ApiManagementListProductTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation returns a collection of tags associated with the Product entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags/{tagId}": {
+ "head": {
+ "tags": [
+ "ProductTag"
+ ],
+ "operationId": "Tag_GetEntityStateByProduct",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadProductTag": {
+ "$ref": "./examples/ApiManagementHeadProductTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Empty response body, ETag header entity state version.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ProductTag"
+ ],
+ "operationId": "Tag_GetByProduct",
+ "description": "Get tag associated with the Product.",
+ "x-ms-examples": {
+ "ApiManagementGetProductTag": {
+ "$ref": "./examples/ApiManagementGetProductTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the details of the tag specified by its identifier.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ProductTag"
+ ],
+ "operationId": "Tag_AssignToProduct",
+ "description": "Assign tag to the Product.",
+ "x-ms-examples": {
+ "ApiManagementCreateProductTag": {
+ "$ref": "./examples/ApiManagementCreateProductTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Tag was assigned to the Product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "200": {
+ "description": "Tag is already assigned to the Product.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProductTag"
+ ],
+ "operationId": "Tag_DetachFromProduct",
+ "description": "Detach the tag from the Product.",
+ "x-ms-examples": {
+ "ApiManagementDeleteProductTag": {
+ "$ref": "./examples/ApiManagementDeleteProductTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ProductIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully detached the tag from the Product."
+ },
+ "204": {
+ "description": "Successfully detached the tag from the Product."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimproductsByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimproductsByTags.json
new file mode 100644
index 000000000000..9de64ae846f0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimproductsByTags.json
@@ -0,0 +1,106 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations to retrieve Products by Tags in Azure API Management deployment.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/productsByTags": {
+ "get": {
+ "tags": [
+ "ProductsByTag"
+ ],
+ "operationId": "Product_ListByTags",
+ "description": "Lists a collection of products associated with tags.",
+ "x-ms-examples": {
+ "ApiManagementListProductsByTags": {
+ "$ref": "./examples/ApiManagementListProductsByTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || terms | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || state | filter | eq | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "includeNotTaggedProducts",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Include not tagged Products."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of TagResource entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagResourceContract"
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimquotas.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimquotas.json
new file mode 100644
index 000000000000..7288a2012e6d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimquotas.json
@@ -0,0 +1,248 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Quota entity associated with your Azure API Management deployment. To configure call rate limit and quota policies refer to [how to configure call rate limit and quota](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-product-with-rules#a-namepolicies-ato-configure-call-rate-limit-and-quota-policies).",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}": {
+ "get": {
+ "tags": [
+ "QuotaByCounterKeys"
+ ],
+ "operationId": "QuotaByCounterKeys_ListByService",
+ "description": "Lists a collection of current quota counter periods associated with the counter-key configured in the policy on the specified service instance. The api does not support paging yet.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-product-with-rules#a-namepolicies-ato-configure-call-rate-limit-and-quota-policies",
+ "description": "Document describing how to configure the quota policies."
+ },
+ "x-ms-examples": {
+ "ApiManagementGetQuotaCounterKeys": {
+ "$ref": "./examples/ApiManagementGetQuotaCounterKeys.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/QuotaCounterKeyParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of the quota counter values.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/QuotaCounterCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "QuotaByCounterKeys"
+ ],
+ "operationId": "QuotaByCounterKeys_Update",
+ "description": "Updates all the quota counter values specified with the existing quota counter key to a value in the specified service instance. This should be used for reset of the quota counter values.",
+ "x-ms-examples": {
+ "ApiManagementUpdateQuotaCounterKey": {
+ "$ref": "./examples/ApiManagementUpdateQuotaCounterKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/QuotaCounterKeyParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/QuotaCounterValueUpdateContract"
+ },
+ "description": "The value of the quota counter to be applied to all quota counter periods."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updated Quota Counter Values.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/QuotaCounterCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/quotas/{quotaCounterKey}/periods/{quotaPeriodKey}": {
+ "get": {
+ "tags": [
+ "QuotaByPeriodKeys"
+ ],
+ "operationId": "QuotaByPeriodKeys_Get",
+ "description": "Gets the value of the quota counter associated with the counter-key in the policy for the specific period in service instance.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-product-with-rules#a-namepolicies-ato-configure-call-rate-limit-and-quota-policies",
+ "description": "Document describing how to configure the quota policies."
+ },
+ "x-ms-examples": {
+ "ApiManagementGetQuotaCounterKeysByQuotaPeriod": {
+ "$ref": "./examples/ApiManagementGetQuotaCounterKeysByQuotaPeriod.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/QuotaCounterKeyParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/QuotaPeriodKeyParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the Quota counter details for the specified period.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/QuotaCounterContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "QuotaByPeriodKeys"
+ ],
+ "operationId": "QuotaByPeriodKeys_Update",
+ "description": "Updates an existing quota counter value in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementUpdateQuotaCounterKeyByQuotaPeriod": {
+ "$ref": "./examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/QuotaCounterKeyParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/QuotaPeriodKeyParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/QuotaCounterValueUpdateContract"
+ },
+ "description": "The value of the Quota counter to be applied on the specified period."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the Quota counter details for the specified period.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/QuotaCounterContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimregions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimregions.json
new file mode 100644
index 000000000000..e4455b631800
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimregions.json
@@ -0,0 +1,85 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations in Azure API Management deployment.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/regions": {
+ "get": {
+ "tags": [
+ "Region"
+ ],
+ "operationId": "Region_ListByService",
+ "description": "Lists all azure regions in which the service exists.",
+ "x-ms-examples": {
+ "ApiManagementListRegions": {
+ "$ref": "./examples/ApiManagementListRegions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists of Regions in which the service is deployed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/RegionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimreports.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimreports.json
new file mode 100644
index 000000000000..a76658eea3a3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimreports.json
@@ -0,0 +1,562 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs to get the analytics reports associated with your Azure API Management deployment.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byApi": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByApi",
+ "description": "Lists report records by API.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByApi": {
+ "$ref": "./examples/ApiManagementGetReportsByApi.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The filter to apply on the operation."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData order by query option."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byUser": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByUser",
+ "description": "Lists report records by User.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByUser": {
+ "$ref": "./examples/ApiManagementGetReportsByUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter | ge, le | | | displayName | select, orderBy | | | | userId | select, filter | eq | | | apiRegion | filter | eq | | | productId | filter | eq | | | subscriptionId | filter | eq | | | apiId | filter | eq | | | operationId | filter | eq | | | callCountSuccess | select, orderBy | | | | callCountBlocked | select, orderBy | | | | callCountFailed | select, orderBy | | | | callCountOther | select, orderBy | | | | callCountTotal | select, orderBy | | | | bandwidth | select, orderBy | | | | cacheHitsCount | select | | | | cacheMissCount | select | | | | apiTimeAvg | select, orderBy | | | | apiTimeMin | select | | | | apiTimeMax | select | | | | serviceTimeAvg | select | | | | serviceTimeMin | select | | | | serviceTimeMax | select | | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData order by query option."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byOperation": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByOperation",
+ "description": "Lists report records by API Operations.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByOperation": {
+ "$ref": "./examples/ApiManagementGetReportsByOperation.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter | ge, le | | | displayName | select, orderBy | | | | apiRegion | filter | eq | | | userId | filter | eq | | | productId | filter | eq | | | subscriptionId | filter | eq | | | apiId | filter | eq | | | operationId | select, filter | eq | | | callCountSuccess | select, orderBy | | | | callCountBlocked | select, orderBy | | | | callCountFailed | select, orderBy | | | | callCountOther | select, orderBy | | | | callCountTotal | select, orderBy | | | | bandwidth | select, orderBy | | | | cacheHitsCount | select | | | | cacheMissCount | select | | | | apiTimeAvg | select, orderBy | | | | apiTimeMin | select | | | | apiTimeMax | select | | | | serviceTimeAvg | select | | | | serviceTimeMin | select | | | | serviceTimeMax | select | | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData order by query option."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byProduct": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByProduct",
+ "description": "Lists report records by Product.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByProduct": {
+ "$ref": "./examples/ApiManagementGetReportsByProduct.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter | ge, le | | | displayName | select, orderBy | | | | apiRegion | filter | eq | | | userId | filter | eq | | | productId | select, filter | eq | | | subscriptionId | filter | eq | | | callCountSuccess | select, orderBy | | | | callCountBlocked | select, orderBy | | | | callCountFailed | select, orderBy | | | | callCountOther | select, orderBy | | | | callCountTotal | select, orderBy | | | | bandwidth | select, orderBy | | | | cacheHitsCount | select | | | | cacheMissCount | select | | | | apiTimeAvg | select, orderBy | | | | apiTimeMin | select | | | | apiTimeMax | select | | | | serviceTimeAvg | select | | | | serviceTimeMin | select | | | | serviceTimeMax | select | | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData order by query option."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byGeo": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByGeo",
+ "description": "Lists report records by geography.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByGeo": {
+ "$ref": "./examples/ApiManagementGetReportsByGeo.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter | ge, le | | | country | select | | | | region | select | | | | zip | select | | | | apiRegion | filter | eq | | | userId | filter | eq | | | productId | filter | eq | | | subscriptionId | filter | eq | | | apiId | filter | eq | | | operationId | filter | eq | | | callCountSuccess | select | | | | callCountBlocked | select | | | | callCountFailed | select | | | | callCountOther | select | | | | bandwidth | select, orderBy | | | | cacheHitsCount | select | | | | cacheMissCount | select | | | | apiTimeAvg | select | | | | apiTimeMin | select | | | | apiTimeMax | select | | | | serviceTimeAvg | select | | | | serviceTimeMin | select | | | | serviceTimeMax | select | | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/bySubscription": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListBySubscription",
+ "description": "Lists report records by subscription.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsBySubscription": {
+ "$ref": "./examples/ApiManagementGetReportsBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter | ge, le | | | displayName | select, orderBy | | | | apiRegion | filter | eq | | | userId | select, filter | eq | | | productId | select, filter | eq | | | subscriptionId | select, filter | eq | | | callCountSuccess | select, orderBy | | | | callCountBlocked | select, orderBy | | | | callCountFailed | select, orderBy | | | | callCountOther | select, orderBy | | | | callCountTotal | select, orderBy | | | | bandwidth | select, orderBy | | | | cacheHitsCount | select | | | | cacheMissCount | select | | | | apiTimeAvg | select, orderBy | | | | apiTimeMin | select | | | | apiTimeMax | select | | | | serviceTimeAvg | select | | | | serviceTimeMin | select | | | | serviceTimeMax | select | | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData order by query option."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byTime": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByTime",
+ "description": "Lists report records by Time.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByTime": {
+ "$ref": "./examples/ApiManagementGetReportsByTime.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter, select | ge, le | | | interval | select | | | | apiRegion | filter | eq | | | userId | filter | eq | | | productId | filter | eq | | | subscriptionId | filter | eq | | | apiId | filter | eq | | | operationId | filter | eq | | | callCountSuccess | select | | | | callCountBlocked | select | | | | callCountFailed | select | | | | callCountOther | select | | | | bandwidth | select, orderBy | | | | cacheHitsCount | select | | | | cacheMissCount | select | | | | apiTimeAvg | select | | | | apiTimeMin | select | | | | apiTimeMax | select | | | | serviceTimeAvg | select | | | | serviceTimeMin | select | | | | serviceTimeMax | select | | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "OData order by query option."
+ },
+ {
+ "name": "interval",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "format": "duration",
+ "description": "By time interval. Interval must be multiple of 15 minutes and may not be zero. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ReportCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byRequest": {
+ "get": {
+ "tags": [
+ "Reports"
+ ],
+ "operationId": "Reports_ListByRequest",
+ "description": "Lists report records by Request.",
+ "x-ms-examples": {
+ "ApiManagementGetReportsByRequest": {
+ "$ref": "./examples/ApiManagementGetReportsByRequest.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| timestamp | filter | ge, le | | | apiId | filter | eq | | | operationId | filter | eq | | | productId | filter | eq | | | userId | filter | eq | | | apiRegion | filter | eq | | | subscriptionId | filter | eq | | "
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Report record.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/RequestReportCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-odata": "./definitions.json#/definitions/RequestReportRecordContract"
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimsettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimsettings.json
new file mode 100644
index 000000000000..b4a9813db333
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimsettings.json
@@ -0,0 +1,144 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on settings entity associated with your Azure API Management deployment. Using this entity you can manage properties and configuration that apply to the entire API Management service instance.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/settings": {
+ "get": {
+ "tags": [
+ "TenantSettings"
+ ],
+ "operationId": "TenantSettings_ListByService",
+ "description": "Public settings.",
+ "x-ms-examples": {
+ "ApiManagementListTenantSettings": {
+ "$ref": "./examples/ApiManagementListTenantSettings.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Not used"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of TenantSettings entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TenantSettingsCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TenantSettingsContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/settings/{settingsType}": {
+ "get": {
+ "tags": [
+ "TenantSettings"
+ ],
+ "operationId": "TenantSettings_Get",
+ "description": "Get tenant settings.",
+ "x-ms-examples": {
+ "ApiManagementGetTenantSettings": {
+ "$ref": "./examples/ApiManagementGetTenantSettings.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SettingsParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tenant Settings.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TenantSettingsContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimskus.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimskus.json
new file mode 100644
index 000000000000..6bd11d11a4d4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimskus.json
@@ -0,0 +1,371 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "SKUs available for Microsoft.ApiManagement",
+ "version": "2021-08-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.ApiManagement/skus": {
+ "get": {
+ "tags": [
+ "Skus"
+ ],
+ "operationId": "ApiManagementSkus_List",
+ "description": "Gets the list of Microsoft.ApiManagement SKUs available for your Subscription.",
+ "x-ms-examples": {
+ "Lists all available Resource SKUs": {
+ "$ref": "./examples/ApiManagementListSku.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ApiManagementSkusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ApiManagementSkuCapacity": {
+ "properties": {
+ "minimum": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The minimum capacity."
+ },
+ "maximum": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The maximum capacity that can be set."
+ },
+ "default": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The default capacity."
+ },
+ "scaleType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The scale type applicable to the sku.",
+ "enum": [
+ "Automatic",
+ "Manual",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ApiManagementSkuCapacityScaleType",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Describes scaling information of a SKU."
+ },
+ "ApiManagementSkuCosts": {
+ "properties": {
+ "meterID": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Used for querying price from commerce."
+ },
+ "quantity": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int64",
+ "description": "The multiplier is needed to extend the base metered cost."
+ },
+ "extendedUnit": {
+ "type": "string",
+ "readOnly": true,
+ "description": "An invariant to show the extended unit."
+ }
+ },
+ "description": "Describes metadata for retrieving price info."
+ },
+ "ApiManagementSkuCapabilities": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "An invariant to describe the feature."
+ },
+ "value": {
+ "type": "string",
+ "readOnly": true,
+ "description": "An invariant if the feature is measured by quantity."
+ }
+ },
+ "description": "Describes The SKU capabilities object."
+ },
+ "ApiManagementSkuZoneDetails": {
+ "properties": {
+ "name": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "The set of zones that the SKU is available in with the specified capabilities."
+ },
+ "capabilities": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ApiManagementSkuCapabilities"
+ },
+ "description": "A list of capabilities that are available for the SKU in the specified list of zones."
+ }
+ },
+ "description": "Describes The zonal capabilities of a SKU."
+ },
+ "ApiManagementSkuRestrictions": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The type of restrictions.",
+ "enum": [
+ "Location",
+ "Zone"
+ ],
+ "x-ms-enum": {
+ "name": "ApiManagementSkuRestrictionsType",
+ "modelAsString": false
+ }
+ },
+ "values": {
+ "type": "array",
+ "readOnly": true,
+ "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/ApiManagementSkuRestrictionInfo",
+ "readOnly": true,
+ "description": "The information about the restriction where the SKU cannot be used."
+ },
+ "reasonCode": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The reason for restriction.",
+ "enum": [
+ "QuotaId",
+ "NotAvailableForSubscription"
+ ],
+ "x-ms-enum": {
+ "name": "ApiManagementSkuRestrictionsReasonCode",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Describes scaling information of a SKU."
+ },
+ "ApiManagementSku": {
+ "properties": {
+ "resourceType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of resource the SKU applies to."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of SKU."
+ },
+ "tier": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the tier of virtual machines in a scale set.
Possible Values:
**Standard**
**Basic**"
+ },
+ "size": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The Size of the SKU."
+ },
+ "family": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The Family of this particular SKU."
+ },
+ "kind": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The Kind of resources that are supported in this SKU."
+ },
+ "capacity": {
+ "$ref": "#/definitions/ApiManagementSkuCapacity",
+ "readOnly": true,
+ "description": "Specifies the number of virtual machines in the scale set."
+ },
+ "locations": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "The set of locations that the SKU is available."
+ },
+ "locationInfo": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ApiManagementSkuLocationInfo"
+ },
+ "description": "A list of locations and availability zones in those locations where the SKU is available."
+ },
+ "apiVersions": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "The api versions that support this SKU."
+ },
+ "costs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ApiManagementSkuCosts"
+ },
+ "description": "Metadata for retrieving price info."
+ },
+ "capabilities": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ApiManagementSkuCapabilities"
+ },
+ "description": "A name value pair to describe the capability."
+ },
+ "restrictions": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ApiManagementSkuRestrictions"
+ },
+ "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions."
+ }
+ },
+ "description": "Describes an available ApiManagement SKU."
+ },
+ "ApiManagementSkuLocationInfo": {
+ "properties": {
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Location of the SKU"
+ },
+ "zones": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of availability zones where the SKU is supported."
+ },
+ "zoneDetails": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiManagementSkuZoneDetails"
+ },
+ "description": "Details of capabilities available to a SKU in specific zones."
+ }
+ }
+ },
+ "ApiManagementSkuRestrictionInfo": {
+ "properties": {
+ "locations": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Locations where the SKU is restricted"
+ },
+ "zones": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of availability zones where the SKU is restricted."
+ }
+ }
+ },
+ "ApiManagementSkusResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiManagementSku"
+ },
+ "description": "The list of skus available for the subscription."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URI to fetch the next page of Resource Skus. Call ListNext() with this URI to fetch the next page of Resource Skus"
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Resource Skus operation response."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimsubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimsubscriptions.json
new file mode 100644
index 000000000000..97f4c60be5e8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimsubscriptions.json
@@ -0,0 +1,523 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Subscription entity associated with your Azure API Management deployment. The Subscription entity represents the association between a user and a product in API Management. Products contain one or more APIs, and once a product is published, developers can subscribe to the product and begin to use the product’s APIs.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions": {
+ "get": {
+ "tags": [
+ "Subscription"
+ ],
+ "operationId": "Subscription_List",
+ "description": "Lists all subscriptions of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementListSubscriptions": {
+ "$ref": "./examples/ApiManagementListSubscriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || stateComment | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || ownerId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || scope | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || productId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || state | filter | eq | || user | expand | | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A collection of the Subscription entities for the specified API Management service instance.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/SubscriptionContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}": {
+ "head": {
+ "tags": [
+ "Subscription"
+ ],
+ "operationId": "Subscription_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the apimanagement subscription specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadSubscription": {
+ "$ref": "./examples/ApiManagementHeadSubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified apimanagement subscription entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Subscription"
+ ],
+ "operationId": "Subscription_Get",
+ "description": "Gets the specified Subscription entity.",
+ "x-ms-examples": {
+ "ApiManagementGetSubscription": {
+ "$ref": "./examples/ApiManagementGetSubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Subscription entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Subscription"
+ ],
+ "operationId": "Subscription_CreateOrUpdate",
+ "description": "Creates or updates the subscription of specified user to the specified product.",
+ "x-ms-examples": {
+ "ApiManagementCreateSubscription": {
+ "$ref": "./examples/ApiManagementCreateSubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionCreateParameters"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotifySubscriptionStateChangeParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AppTypeParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The user was successfully subscribed to the product.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionContract"
+ }
+ },
+ "200": {
+ "description": "The user already subscribed to the product.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Subscription"
+ ],
+ "operationId": "Subscription_Update",
+ "description": "Updates the details of a subscription specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateSubscription": {
+ "$ref": "./examples/ApiManagementUpdateSubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/NotifySubscriptionStateChangeParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AppTypeParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The subscription details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Subscription"
+ ],
+ "operationId": "Subscription_Delete",
+ "description": "Deletes the specified subscription.",
+ "x-ms-examples": {
+ "ApiManagementDeleteSubscription": {
+ "$ref": "./examples/ApiManagementDeleteSubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The subscription details were successfully deleted."
+ },
+ "204": {
+ "description": "The subscription details were successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regeneratePrimaryKey": {
+ "post": {
+ "tags": [
+ "Subscription"
+ ],
+ "operationId": "Subscription_RegeneratePrimaryKey",
+ "description": "Regenerates primary key of existing subscription of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementSubscriptionRegeneratePrimaryKey": {
+ "$ref": "./examples/ApiManagementSubscriptionRegeneratePrimaryKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The primary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regenerateSecondaryKey": {
+ "post": {
+ "tags": [
+ "Subscription"
+ ],
+ "operationId": "Subscription_RegenerateSecondaryKey",
+ "description": "Regenerates secondary key of existing subscription of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementSubscriptionRegenerateSecondaryKey": {
+ "$ref": "./examples/ApiManagementSubscriptionRegenerateSecondaryKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The secondary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/listSecrets": {
+ "post": {
+ "tags": [
+ "Subscription"
+ ],
+ "operationId": "Subscription_ListSecrets",
+ "description": "Gets the specified Subscription keys.",
+ "x-ms-examples": {
+ "ApiManagementSubscriptionListSecrets": {
+ "$ref": "./examples/ApiManagementSubscriptionListSecrets.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains subscription keys.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionKeysContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimtagresources.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimtagresources.json
new file mode 100644
index 000000000000..f0f0db562a62
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimtagresources.json
@@ -0,0 +1,99 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for querying APIs. Operations and Products by tags in your Azure API Management deployment.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tagResources": {
+ "get": {
+ "tags": [
+ "TagResource"
+ ],
+ "operationId": "TagResource_ListByService",
+ "description": "Lists a collection of resources associated with tags.",
+ "x-ms-examples": {
+ "ApiManagementListTagResources": {
+ "$ref": "./examples/ApiManagementListTagResources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| aid | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || apiName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || apiRevision | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || path | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || serviceUrl | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || method | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || urlTemplate | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || terms | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || state | filter | eq | || isCurrent | filter | eq | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of TagResource entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagResourceContract"
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimtags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimtags.json
new file mode 100644
index 000000000000..3763ee625d0e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimtags.json
@@ -0,0 +1,383 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on Tag entity in your Azure API Management deployment. Tags can be assigned to APIs, Operations and Products.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags": {
+ "get": {
+ "tags": [
+ "Tag"
+ ],
+ "operationId": "Tag_ListByService",
+ "description": "Lists a collection of tags defined within a service instance.",
+ "x-ms-examples": {
+ "ApiManagementListTags": {
+ "$ref": "./examples/ApiManagementListTags.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "scope",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Scope like 'apis', 'products' or 'apis/{apiId}"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Tag entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}": {
+ "head": {
+ "tags": [
+ "Tag"
+ ],
+ "operationId": "Tag_GetEntityState",
+ "description": "Gets the entity state version of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadTag": {
+ "$ref": "./examples/ApiManagementHeadTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Empty response body, ETag header entity state version.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Tag"
+ ],
+ "operationId": "Tag_Get",
+ "description": "Gets the details of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetTag": {
+ "$ref": "./examples/ApiManagementGetTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Tag entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Tag"
+ ],
+ "operationId": "Tag_CreateOrUpdate",
+ "description": "Creates a tag.",
+ "x-ms-examples": {
+ "ApiManagementCreateTag": {
+ "$ref": "./examples/ApiManagementCreateTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagCreateUpdateParameters"
+ },
+ "description": "Create parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Tag was created successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "200": {
+ "description": "Tag already exists.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Tag"
+ ],
+ "operationId": "Tag_Update",
+ "description": "Updates the details of the tag specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateTag": {
+ "$ref": "./examples/ApiManagementUpdateTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagCreateUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The tag details were successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TagContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Tag"
+ ],
+ "operationId": "Tag_Delete",
+ "description": "Deletes specific tag of the API Management service instance.",
+ "x-ms-examples": {
+ "ApiManagementDeleteTag": {
+ "$ref": "./examples/ApiManagementDeleteTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TagIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tag successfully removed"
+ },
+ "204": {
+ "description": "Tag successfully removed by previous request or does not exist"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimtenant.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimtenant.json
new file mode 100644
index 000000000000..212afc1096c8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimtenant.json
@@ -0,0 +1,770 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on tenant entity associated with your Azure API Management deployment. Using this entity you can manage properties and configuration that apply to the entire API Management service instance.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant": {
+ "get": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_ListByService",
+ "description": "Returns list of access infos - for Git and Management endpoints.",
+ "x-ms-examples": {
+ "ApiManagementListTenantAccess": {
+ "$ref": "./examples/ApiManagementListTenantAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Not used"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of TenantAccessInfo entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AccessInformationCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/AccessInformationContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}": {
+ "head": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_GetEntityTag",
+ "description": "Tenant access metadata",
+ "x-ms-examples": {
+ "ApiManagementHeadTenantAccess": {
+ "$ref": "./examples/ApiManagementHeadTenantAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation completed successfully.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_Get",
+ "description": "Get tenant access information details without secrets.",
+ "x-ms-examples": {
+ "ApiManagementGetTenantAccess": {
+ "$ref": "./examples/ApiManagementGetTenantAccess.json"
+ },
+ "ApiManagementGetTenantGitAccess": {
+ "$ref": "./examples/ApiManagementGetTenantGitAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tenant Access information.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AccessInformationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_Create",
+ "description": "Update tenant access information details.",
+ "x-ms-examples": {
+ "ApiManagementCreateTenantAccess": {
+ "$ref": "./examples/ApiManagementCreateTenantAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AccessInformationCreateParameters"
+ },
+ "description": "Parameters supplied to retrieve the Tenant Access Information."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tenant Access information was updated successfully.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AccessInformationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_Update",
+ "description": "Update tenant access information details.",
+ "x-ms-examples": {
+ "ApiManagementUpdateTenantAccess": {
+ "$ref": "./examples/ApiManagementUpdateTenantAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AccessInformationUpdateParameters"
+ },
+ "description": "Parameters supplied to retrieve the Tenant Access Information."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tenant Access information was updated successfully.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AccessInformationContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regeneratePrimaryKey": {
+ "post": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_RegeneratePrimaryKey",
+ "description": "Regenerate primary access key",
+ "x-ms-examples": {
+ "ApiManagementTenantAccessRegenerateKey": {
+ "$ref": "./examples/ApiManagementTenantAccessRegenerateKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The primary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/regenerateSecondaryKey": {
+ "post": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_RegenerateSecondaryKey",
+ "description": "Regenerate secondary access key",
+ "x-ms-examples": {
+ "ApiManagementTenantAccessRegenerateKey": {
+ "$ref": "./examples/ApiManagementTenantAccessRegenerateKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The secondary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/listSecrets": {
+ "post": {
+ "tags": [
+ "TenantAccess"
+ ],
+ "operationId": "TenantAccess_ListSecrets",
+ "description": "Get tenant access information details.",
+ "x-ms-examples": {
+ "ApiManagementListSecretsTenantAccess": {
+ "$ref": "./examples/ApiManagementListSecretsTenantAccess.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Tenant Access information.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/AccessInformationSecretsContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regeneratePrimaryKey": {
+ "post": {
+ "tags": [
+ "TenantAccessGit"
+ ],
+ "operationId": "TenantAccessGit_RegeneratePrimaryKey",
+ "description": "Regenerate primary access key for GIT.",
+ "x-ms-examples": {
+ "ApiManagementTenantAccessRegenerateKey": {
+ "$ref": "./examples/ApiManagementTenantAccessRegenerateKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The primary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git/regenerateSecondaryKey": {
+ "post": {
+ "tags": [
+ "TenantAccessGit"
+ ],
+ "operationId": "TenantAccessGit_RegenerateSecondaryKey",
+ "description": "Regenerate secondary access key for GIT.",
+ "x-ms-examples": {
+ "ApiManagementTenantAccessRegenerateKey": {
+ "$ref": "./examples/ApiManagementTenantAccessRegenerateKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AccessParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "The secondary key was successfully regenerated."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/deploy": {
+ "post": {
+ "tags": [
+ "TenantConfiguration"
+ ],
+ "operationId": "TenantConfiguration_Deploy",
+ "description": "This operation applies changes from the specified Git branch to the configuration database. This is a long running operation and could take several minutes to complete.",
+ "externalDocs": {
+ "description": "To deploy any service configuration changes to the API Management service instance",
+ "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-configuration-repository-git/#to-deploy-any-service-configuration-changes-to-the-api-management-service-instance"
+ },
+ "x-ms-examples": {
+ "ApiManagementTenantConfigurationDeploy": {
+ "$ref": "./examples/ApiManagementTenantConfigurationDeploy.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DeployConfigurationParameters"
+ },
+ "description": "Deploy Configuration parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ConfigurationParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "200": {
+ "description": "Result of applying changes from Git branch to database.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationResultContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/save": {
+ "post": {
+ "tags": [
+ "TenantConfiguration"
+ ],
+ "operationId": "TenantConfiguration_Save",
+ "description": "This operation creates a commit with the current configuration snapshot to the specified branch in the repository. This is a long running operation and could take several minutes to complete.",
+ "externalDocs": {
+ "description": "To save the service configuration to the Git repository",
+ "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-configuration-repository-git/#to-save-the-service-configuration-to-the-git-repository"
+ },
+ "x-ms-examples": {
+ "ApiManagementTenantConfigurationSave": {
+ "$ref": "./examples/ApiManagementTenantConfigurationSave.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SaveConfigurationParameter"
+ },
+ "description": "Save Configuration parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ConfigurationParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "200": {
+ "description": "Result of creating a commit in the repository.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationResultContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/validate": {
+ "post": {
+ "tags": [
+ "TenantConfiguration"
+ ],
+ "operationId": "TenantConfiguration_Validate",
+ "description": "This operation validates the changes in the specified Git branch. This is a long running operation and could take several minutes to complete.",
+ "x-ms-examples": {
+ "ApiManagementTenantConfigurationValidate": {
+ "$ref": "./examples/ApiManagementTenantConfigurationValidate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/DeployConfigurationParameters"
+ },
+ "description": "Validate Configuration parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ConfigurationParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked."
+ },
+ "200": {
+ "description": "Result of validating the changes in the specified Git branch.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/OperationResultContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/syncState": {
+ "get": {
+ "tags": [
+ "TenantConfigurationSyncState"
+ ],
+ "operationId": "TenantConfiguration_GetSyncState",
+ "description": "Gets the status of the most recent synchronization between the configuration database and the Git repository.",
+ "x-ms-examples": {
+ "ApiManagementTenantAccessSyncState": {
+ "$ref": "./examples/ApiManagementTenantAccessSyncState.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ConfigurationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Sync state result.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/TenantConfigurationSyncStateContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimusers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimusers.json
new file mode 100644
index 000000000000..37f99902e9c1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/apimusers.json
@@ -0,0 +1,778 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations on User entity in Azure API Management deployment. The User entity in API Management represents the developers that call the APIs of the products to which they are subscribed.",
+ "version": "2021-08-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users": {
+ "get": {
+ "tags": [
+ "User"
+ ],
+ "operationId": "User_ListByService",
+ "description": "Lists a collection of registered users in the specified service instance.",
+ "x-ms-examples": {
+ "ApiManagementListUsers": {
+ "$ref": "./examples/ApiManagementListUsers.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|-------------|-------------|-------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || firstName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || lastName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || email | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || state | filter | eq | || registrationDate | filter | ge, le, eq, ne, gt, lt | || note | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || groups | expand | | |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "name": "expandGroups",
+ "in": "query",
+ "type": "boolean",
+ "description": "Detailed Group in response."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of User entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/UserContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}": {
+ "head": {
+ "tags": [
+ "User"
+ ],
+ "operationId": "User_GetEntityTag",
+ "description": "Gets the entity state (Etag) version of the user specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementHeadUser": {
+ "$ref": "./examples/ApiManagementHeadUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified user entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "User"
+ ],
+ "operationId": "User_Get",
+ "description": "Gets the details of the user specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementGetUser": {
+ "$ref": "./examples/ApiManagementGetUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Gets the specified user entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "User"
+ ],
+ "operationId": "User_CreateOrUpdate",
+ "description": "Creates or Updates a user.",
+ "x-ms-examples": {
+ "ApiManagementCreateUser": {
+ "$ref": "./examples/ApiManagementCreateUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserCreateParameters"
+ },
+ "description": "Create or update parameters."
+ },
+ {
+ "name": "notify",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Send an Email notification to the User."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "User was successfully created.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "200": {
+ "description": "User was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "User"
+ ],
+ "operationId": "User_Update",
+ "description": "Updates the details of the user specified by its identifier.",
+ "x-ms-examples": {
+ "ApiManagementUpdateUser": {
+ "$ref": "./examples/ApiManagementUpdateUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserUpdateParameters"
+ },
+ "description": "Update parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "User was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "User"
+ ],
+ "operationId": "User_Delete",
+ "description": "Deletes specific user.",
+ "x-ms-examples": {
+ "ApiManagementDeleteUser": {
+ "$ref": "./examples/ApiManagementDeleteUser.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "name": "deleteSubscriptions",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Whether to delete user's subscription or not."
+ },
+ {
+ "name": "notify",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Send an Account Closed Email notification to the User."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AppTypeParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The user details were successfully deleted."
+ },
+ "204": {
+ "description": "The user details were successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/generateSsoUrl": {
+ "post": {
+ "tags": [
+ "Users"
+ ],
+ "operationId": "User_GenerateSsoUrl",
+ "description": "Retrieves a redirection URL containing an authentication token for signing a given user into the developer portal.",
+ "x-ms-examples": {
+ "ApiManagementUserGenerateSsoUrl": {
+ "$ref": "./examples/ApiManagementUserGenerateSsoUrl.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the single sign-on URL.",
+ "schema": {
+ "x-ms-client-flatten": true,
+ "$ref": "./definitions.json#/definitions/GenerateSsoUrlResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/groups": {
+ "get": {
+ "tags": [
+ "UserGroup"
+ ],
+ "operationId": "UserGroup_List",
+ "description": "Lists all user groups.",
+ "x-ms-examples": {
+ "ApiManagementListUserGroups": {
+ "$ref": "./examples/ApiManagementListUserGroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|------------------------|-----------------------------------|| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith || description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Group entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/GroupCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/GroupContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/subscriptions": {
+ "get": {
+ "tags": [
+ "UserSubscription"
+ ],
+ "operationId": "UserSubscription_List",
+ "description": "Lists the collection of subscriptions of the specified user.",
+ "x-ms-examples": {
+ "ApiManagementListUserSubscriptions": {
+ "$ref": "./examples/ApiManagementListUserSubscriptions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "| Field | Usage | Supported operators | Supported functions ||-------------|------------------------|-----------------------------------||name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith ||displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith ||stateComment | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith ||ownerId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith ||scope | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith ||userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith ||productId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/TopQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Subscription entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "./definitions.json#/definitions/SubscriptionContract"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/subscriptions/{sid}": {
+ "get": {
+ "tags": [
+ "Subscription"
+ ],
+ "operationId": "UserSubscription_Get",
+ "description": "Gets the specified Subscription entity associated with a particular user.",
+ "x-ms-examples": {
+ "ApiManagementGetUserSubscription": {
+ "$ref": "./examples/ApiManagementGetUserSubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the specified Subscription entity.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/SubscriptionContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/identities": {
+ "get": {
+ "tags": [
+ "UserIdentity"
+ ],
+ "operationId": "UserIdentities_List",
+ "description": "List of all user identities.",
+ "x-ms-examples": {
+ "ApiManagementListUserIdentities": {
+ "$ref": "./examples/ApiManagementListUserIdentities.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists of User Identities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserIdentityCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/token": {
+ "post": {
+ "tags": [
+ "UserToken"
+ ],
+ "operationId": "User_GetSharedAccessToken",
+ "description": "Gets the Shared Access Authorization Token for the User.",
+ "x-ms-examples": {
+ "ApiManagementUserToken": {
+ "$ref": "./examples/ApiManagementUserToken.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./definitions.json#/definitions/UserTokenParameters"
+ },
+ "description": "Create Authorization Token parameters."
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The response body contains the authorization token for the user.",
+ "schema": {
+ "x-ms-client-flatten": true,
+ "$ref": "./definitions.json#/definitions/UserTokenResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/confirmations/password/send": {
+ "post": {
+ "tags": [
+ "UserConfirmationPasswordSend"
+ ],
+ "operationId": "UserConfirmationPassword_Send",
+ "description": "Sends confirmation",
+ "x-ms-examples": {
+ "ApiManagementUserConfirmationPasswordSend": {
+ "$ref": "./examples/ApiManagementUserConfirmationPasswordSend.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/UserIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AppTypeParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Notification successfully sent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/definitions.json
new file mode 100644
index 000000000000..b49a35b974b7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/definitions.json
@@ -0,0 +1,6930 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-08-01",
+ "description": "A spec file containing all the definitions",
+ "title": "Definitions file"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {},
+ "definitions": {
+ "AccessInformationCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AccessInformationContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged AccessInformation list representation."
+ },
+ "AccessInformationContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessInformationContractProperties",
+ "description": "AccessInformation entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Tenant Settings."
+ },
+ "AccessInformationContractProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Access Information type ('access' or 'gitAccess')"
+ },
+ "principalId": {
+ "type": "string",
+ "description": "Principal (User) Identifier."
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Determines whether direct access is enabled."
+ }
+ },
+ "description": "Tenant access information contract of the API Management service."
+ },
+ "AccessInformationSecretsContract": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Access Information type ('access' or 'gitAccess')"
+ },
+ "principalId": {
+ "type": "string",
+ "description": "Principal (User) Identifier."
+ },
+ "primaryKey": {
+ "type": "string",
+ "description": "Primary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value."
+ },
+ "secondaryKey": {
+ "type": "string",
+ "description": "Secondary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value."
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Determines whether direct access is enabled."
+ }
+ },
+ "description": "Tenant access information contract of the API Management service."
+ },
+ "AccessInformationCreateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessInformationCreateParameterProperties",
+ "description": "Tenant access information update parameter properties."
+ }
+ },
+ "description": "Tenant access information update parameters."
+ },
+ "AccessInformationCreateParameterProperties": {
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "Principal (User) Identifier."
+ },
+ "primaryKey": {
+ "type": "string",
+ "description": "Primary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value."
+ },
+ "secondaryKey": {
+ "type": "string",
+ "description": "Secondary access key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value."
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Determines whether direct access is enabled."
+ }
+ },
+ "description": "Tenant access information update parameters of the API Management service"
+ },
+ "AccessInformationUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AccessInformationUpdateParameterProperties",
+ "description": "Tenant access information update parameter properties."
+ }
+ },
+ "description": "Tenant access information update parameters."
+ },
+ "AccessInformationUpdateParameterProperties": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Determines whether direct access is enabled."
+ }
+ },
+ "description": "Tenant access information update parameters of the API Management service"
+ },
+ "TenantSettingsCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TenantSettingsContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged AccessInformation list representation."
+ },
+ "TenantSettingsContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TenantSettingsContractProperties",
+ "description": "TenantSettings entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Tenant Settings."
+ },
+ "TenantSettingsContractProperties": {
+ "properties": {
+ "settings": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Tenant settings"
+ }
+ },
+ "description": "Tenant access information contract of the API Management service."
+ },
+ "ApiCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged API list representation."
+ },
+ "ApiContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiContractProperties",
+ "description": "API entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "API details."
+ },
+ "ApiContractProperties": {
+ "properties": {
+ "sourceApiId": {
+ "type": "string",
+ "description": "API identifier of the source API."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "API name. Must be 1 to 300 characters long.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "serviceUrl": {
+ "type": "string",
+ "description": "Absolute URL of the backend service implementing this API. Cannot be more than 2000 characters long.",
+ "minLength": 0,
+ "maxLength": 2000
+ },
+ "path": {
+ "type": "string",
+ "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.",
+ "minLength": 0,
+ "maxLength": 400
+ },
+ "protocols": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "http",
+ "https",
+ "ws",
+ "wss"
+ ],
+ "x-ms-enum": {
+ "name": "Protocol",
+ "modelAsString": true
+ }
+ },
+ "description": "Describes on which protocols the operations in this API can be invoked."
+ },
+ "apiVersionSet": {
+ "description": "Version set details",
+ "$ref": "#/definitions/ApiVersionSetContractDetails"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiEntityBaseContract"
+ }
+ ],
+ "required": [
+ "path"
+ ],
+ "description": "API Entity Properties"
+ },
+ "ApiCreateOrUpdateParameter": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiCreateOrUpdateProperties",
+ "description": "API entity create of update properties."
+ }
+ },
+ "description": "API Create or Update Parameters."
+ },
+ "ApiCreateOrUpdateProperties": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Content value when Importing an API."
+ },
+ "format": {
+ "type": "string",
+ "description": "Format of the Content in which the API is getting imported.",
+ "enum": [
+ "wadl-xml",
+ "wadl-link-json",
+ "swagger-json",
+ "swagger-link-json",
+ "wsdl",
+ "wsdl-link",
+ "openapi",
+ "openapi+json",
+ "openapi-link",
+ "openapi+json-link",
+ "graphql-link"
+ ],
+ "x-ms-enum": {
+ "name": "ContentFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "wadl-xml",
+ "description": "The contents are inline and Content type is a WADL document."
+ },
+ {
+ "value": "wadl-link-json",
+ "description": "The WADL document is hosted on a publicly accessible internet address."
+ },
+ {
+ "value": "swagger-json",
+ "description": "The contents are inline and Content Type is a OpenAPI 2.0 JSON Document."
+ },
+ {
+ "value": "swagger-link-json",
+ "description": "The OpenAPI 2.0 JSON document is hosted on a publicly accessible internet address."
+ },
+ {
+ "value": "wsdl",
+ "description": "The contents are inline and the document is a WSDL/Soap document."
+ },
+ {
+ "value": "wsdl-link",
+ "description": "The WSDL document is hosted on a publicly accessible internet address."
+ },
+ {
+ "value": "openapi",
+ "description": "The contents are inline and Content Type is a OpenAPI 3.0 YAML Document."
+ },
+ {
+ "value": "openapi+json",
+ "description": "The contents are inline and Content Type is a OpenAPI 3.0 JSON Document."
+ },
+ {
+ "value": "openapi-link",
+ "description": "The OpenAPI 3.0 YAML document is hosted on a publicly accessible internet address."
+ },
+ {
+ "value": "openapi+json-link",
+ "description": "The OpenAPI 3.0 JSON document is hosted on a publicly accessible internet address."
+ },
+ {
+ "value": "graphql-link",
+ "description": "The GraphQL API endpoint hosted on a publicly accessible internet address."
+ }
+ ]
+ }
+ },
+ "wsdlSelector": {
+ "type": "object",
+ "description": "Criteria to limit import of WSDL to a subset of the document.",
+ "properties": {
+ "wsdlServiceName": {
+ "type": "string",
+ "description": "Name of service to import from WSDL"
+ },
+ "wsdlEndpointName": {
+ "type": "string",
+ "description": "Name of endpoint(port) to import from WSDL"
+ }
+ }
+ },
+ "apiType": {
+ "type": "string",
+ "description": "Type of API to create. \n * `http` creates a REST API \n * `soap` creates a SOAP pass-through API \n * `websocket` creates websocket API \n * `graphql` creates GraphQL API.",
+ "enum": [
+ "http",
+ "soap",
+ "websocket",
+ "graphql"
+ ],
+ "x-ms-client-name": "SoapApiType",
+ "x-ms-enum": {
+ "name": "SoapApiType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "http",
+ "description": "Imports a SOAP API having a RESTful front end.",
+ "name": "SoapToRest"
+ },
+ {
+ "value": "soap",
+ "description": "Imports the SOAP API having a SOAP front end.",
+ "name": "SoapPassThrough"
+ },
+ {
+ "value": "websocket",
+ "description": "Imports the API having a Websocket front end.",
+ "name": "WebSocket"
+ },
+ {
+ "value": "graphql",
+ "description": "Imports the API having a GraphQL front end.",
+ "name": "GraphQL"
+ }
+ ]
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiContractProperties"
+ }
+ ],
+ "description": "API Create or Update Properties."
+ },
+ "ApiEntityBaseContract": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of the API. May include HTML formatting tags."
+ },
+ "authenticationSettings": {
+ "$ref": "#/definitions/AuthenticationSettingsContract",
+ "description": "Collection of authentication settings included into this API."
+ },
+ "subscriptionKeyParameterNames": {
+ "$ref": "#/definitions/SubscriptionKeyParameterNamesContract",
+ "description": "Protocols over which API is made available."
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of API.",
+ "enum": [
+ "http",
+ "soap",
+ "websocket",
+ "graphql"
+ ],
+ "x-ms-client-name": "ApiType",
+ "x-ms-enum": {
+ "name": "ApiType",
+ "modelAsString": true
+ }
+ },
+ "apiRevision": {
+ "type": "string",
+ "description": "Describes the revision of the API. If no value is provided, default revision 1 is created",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "apiVersion": {
+ "type": "string",
+ "description": "Indicates the version identifier of the API if the API is versioned",
+ "maxLength": 100
+ },
+ "isCurrent": {
+ "type": "boolean",
+ "description": "Indicates if API revision is current api revision."
+ },
+ "isOnline": {
+ "type": "boolean",
+ "description": "Indicates if API revision is accessible via the gateway.",
+ "readOnly": true
+ },
+ "apiRevisionDescription": {
+ "type": "string",
+ "description": "Description of the API Revision.",
+ "maxLength": 256
+ },
+ "apiVersionDescription": {
+ "type": "string",
+ "description": "Description of the API Version.",
+ "maxLength": 256
+ },
+ "apiVersionSetId": {
+ "type": "string",
+ "description": "A resource identifier for the related ApiVersionSet."
+ },
+ "subscriptionRequired": {
+ "type": "boolean",
+ "description": "Specifies whether an API or Product subscription is required for accessing the API."
+ },
+ "termsOfServiceUrl": {
+ "type": "string",
+ "description": " A URL to the Terms of Service for the API. MUST be in the format of a URL."
+ },
+ "contact": {
+ "$ref": "#/definitions/ApiContactInformation",
+ "description": "Contact information for the API."
+ },
+ "license": {
+ "$ref": "#/definitions/ApiLicenseInformation",
+ "description": "License information for the API."
+ }
+ },
+ "description": "API base contract details."
+ },
+ "ApiContactInformation": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The identifying name of the contact person/organization"
+ },
+ "url": {
+ "type": "string",
+ "description": "The URL pointing to the contact information. MUST be in the format of a URL"
+ },
+ "email": {
+ "type": "string",
+ "description": "The email address of the contact person/organization. MUST be in the format of an email address"
+ }
+ },
+ "description": "API contact information"
+ },
+ "ApiLicenseInformation": {
+ "type": "object",
+ "description": "API license information",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The license name used for the API"
+ },
+ "url": {
+ "type": "string",
+ "description": "A URL to the license used for the API. MUST be in the format of a URL"
+ }
+ }
+ },
+ "ApiExportResult": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "ResourceId of the API which was exported."
+ },
+ "format": {
+ "type": "string",
+ "enum": [
+ "swagger-link-json",
+ "wadl-link-json",
+ "wsdl-link+xml",
+ "openapi-link"
+ ],
+ "x-ms-client-name": "ExportResultFormat",
+ "x-ms-enum": {
+ "name": "ExportResultFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "swagger-link-json",
+ "description": "The API Definition is exported in OpenAPI Specification 2.0 format to the Storage Blob.",
+ "name": "Swagger"
+ },
+ {
+ "value": "wsdl-link+xml",
+ "description": "The API Definition is exported in WSDL Schema to Storage Blob. This is only supported for APIs of Type `soap`",
+ "name": "Wsdl"
+ },
+ {
+ "value": "wadl-link-json",
+ "description": "Export the API Definition in WADL Schema to Storage Blob.",
+ "name": "Wadl"
+ },
+ {
+ "value": "openapi-link",
+ "description": "Export the API Definition in OpenAPI Specification 3.0 to Storage Blob.",
+ "name": "OpenApi"
+ }
+ ]
+ },
+ "description": "Format in which the API Details are exported to the Storage Blob with Sas Key valid for 5 minutes."
+ },
+ "value": {
+ "type": "object",
+ "description": "The object defining the schema of the exported API Detail",
+ "properties": {
+ "link": {
+ "type": "string",
+ "description": "Link to the Storage Blob containing the result of the export operation. The Blob Uri is only valid for 5 minutes."
+ }
+ }
+ }
+ },
+ "description": "API Export result."
+ },
+ "ApiReleaseCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiReleaseContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged ApiRelease list representation."
+ },
+ "ApiReleaseContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiReleaseContractProperties",
+ "description": "ApiRelease entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "ApiRelease details."
+ },
+ "ApiReleaseContractProperties": {
+ "properties": {
+ "apiId": {
+ "type": "string",
+ "description": "Identifier of the API the release belongs to."
+ },
+ "createdDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time the API was released. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard."
+ },
+ "updatedDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time the API release was updated."
+ },
+ "notes": {
+ "type": "string",
+ "description": "Release Notes"
+ }
+ },
+ "description": "API Release details"
+ },
+ "ApiRevisionCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiRevisionContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged API Revision list representation."
+ },
+ "ApiRevisionContract": {
+ "properties": {
+ "apiId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Identifier of the API Revision."
+ },
+ "apiRevision": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 100,
+ "readOnly": true,
+ "description": "Revision number of API."
+ },
+ "createdDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time the API Revision was created. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard."
+ },
+ "updatedDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time the API Revision were updated. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "maxLength": 256,
+ "description": "Description of the API Revision."
+ },
+ "privateUrl": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Gateway URL for accessing the non-current API Revision."
+ },
+ "isOnline": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Indicates if API revision is the current api revision."
+ },
+ "isCurrent": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Indicates if API revision is accessible via the gateway."
+ }
+ },
+ "description": "Summary of revision metadata."
+ },
+ "ApiRevisionInfoContract": {
+ "description": "Object used to create an API Revision or Version based on an existing API Revision",
+ "properties": {
+ "sourceApiId": {
+ "type": "string",
+ "description": "Resource identifier of API to be used to create the revision from."
+ },
+ "apiVersionName": {
+ "type": "string",
+ "maxLength": 100,
+ "description": "Version identifier for the new API Version."
+ },
+ "apiRevisionDescription": {
+ "type": "string",
+ "maxLength": 256,
+ "description": "Description of new API Revision."
+ },
+ "apiVersionSet": {
+ "description": "Version set details",
+ "$ref": "#/definitions/ApiVersionSetContractDetails"
+ }
+ }
+ },
+ "ApiTagResourceContractProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "API identifier in the form /apis/{apiId}."
+ },
+ "name": {
+ "type": "string",
+ "description": "API name.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "serviceUrl": {
+ "type": "string",
+ "description": "Absolute URL of the backend service implementing this API.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "path": {
+ "type": "string",
+ "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.",
+ "minLength": 0,
+ "maxLength": 400
+ },
+ "protocols": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "http",
+ "https",
+ "ws",
+ "wss"
+ ],
+ "x-ms-enum": {
+ "name": "Protocol",
+ "modelAsString": true
+ }
+ },
+ "description": "Describes on which protocols the operations in this API can be invoked."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./definitions.json#/definitions/ApiEntityBaseContract"
+ }
+ ],
+ "description": "API contract properties for the Tag Resources."
+ },
+ "ApiUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiContractUpdateProperties",
+ "description": "Properties of the API entity that can be updated."
+ }
+ },
+ "description": "API update contract details."
+ },
+ "ApiContractUpdateProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "API name.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "serviceUrl": {
+ "type": "string",
+ "description": "Absolute URL of the backend service implementing this API.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "path": {
+ "type": "string",
+ "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.",
+ "minLength": 0,
+ "maxLength": 400
+ },
+ "protocols": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "http",
+ "https",
+ "ws",
+ "wss"
+ ],
+ "x-ms-enum": {
+ "name": "Protocol",
+ "modelAsString": true
+ }
+ },
+ "description": "Describes on which protocols the operations in this API can be invoked."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiEntityBaseContract"
+ }
+ ],
+ "description": "API update contract properties."
+ },
+ "ApiVersionSetCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiVersionSetContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged API Version Set list representation."
+ },
+ "ApiVersionSetContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiVersionSetContractProperties",
+ "description": "API VersionSet contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "API Version Set Contract details."
+ },
+ "ApiVersionSetContractDetails": {
+ "description": "An API Version Set contains the common configuration for a set of API Versions relating ",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier for existing API Version Set. Omit this value to create a new Version Set."
+ },
+ "name": {
+ "type": "string",
+ "description": "The display Name of the API Version Set."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of API Version Set."
+ },
+ "versioningScheme": {
+ "type": "string",
+ "description": "An value that determines where the API Version identifier will be located in a HTTP request.",
+ "enum": [
+ "Segment",
+ "Query",
+ "Header"
+ ]
+ },
+ "versionQueryName": {
+ "type": "string",
+ "description": "Name of query parameter that indicates the API Version if versioningScheme is set to `query`."
+ },
+ "versionHeaderName": {
+ "type": "string",
+ "description": "Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`."
+ }
+ }
+ },
+ "ApiVersionSetContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Name of API Version Set",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "versioningScheme": {
+ "type": "string",
+ "description": "An value that determines where the API Version identifier will be located in a HTTP request.",
+ "enum": [
+ "Segment",
+ "Query",
+ "Header"
+ ],
+ "x-ms-enum": {
+ "name": "versioningScheme",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Segment",
+ "description": "The API Version is passed in a path segment."
+ },
+ {
+ "value": "Query",
+ "description": "The API Version is passed in a query parameter."
+ },
+ {
+ "value": "Header",
+ "description": "The API Version is passed in a HTTP header."
+ }
+ ]
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiVersionSetEntityBase"
+ }
+ ],
+ "required": [
+ "displayName",
+ "versioningScheme"
+ ],
+ "description": "Properties of an API Version Set."
+ },
+ "ApiVersionSetEntityBase": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of API Version Set."
+ },
+ "versionQueryName": {
+ "type": "string",
+ "description": "Name of query parameter that indicates the API Version if versioningScheme is set to `query`.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "versionHeaderName": {
+ "type": "string",
+ "description": "Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.",
+ "minLength": 1,
+ "maxLength": 100
+ }
+ },
+ "description": "API Version set base parameters"
+ },
+ "ApiVersionSetUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ApiVersionSetUpdateParametersProperties",
+ "description": "Parameters to update or create an API Version Set Contract."
+ }
+ },
+ "description": "Parameters to update or create an API Version Set Contract."
+ },
+ "ApiVersionSetUpdateParametersProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Name of API Version Set",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "versioningScheme": {
+ "type": "string",
+ "description": "An value that determines where the API Version identifier will be located in a HTTP request.",
+ "enum": [
+ "Segment",
+ "Query",
+ "Header"
+ ],
+ "x-ms-enum": {
+ "name": "versioningScheme",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Segment",
+ "description": "The API Version is passed in a path segment."
+ },
+ {
+ "value": "Query",
+ "description": "The API Version is passed in a query parameter."
+ },
+ {
+ "value": "Header",
+ "description": "The API Version is passed in a HTTP header."
+ }
+ ]
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiVersionSetEntityBase"
+ }
+ ],
+ "description": "Properties used to create or update an API Version Set."
+ },
+ "AuthenticationSettingsContract": {
+ "properties": {
+ "oAuth2": {
+ "$ref": "#/definitions/OAuth2AuthenticationSettingsContract",
+ "description": "OAuth2 Authentication settings"
+ },
+ "openid": {
+ "$ref": "#/definitions/OpenIdAuthenticationSettingsContract",
+ "description": "OpenID Connect Authentication Settings"
+ }
+ },
+ "description": "API Authentication Settings."
+ },
+ "AuthorizationServerCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AuthorizationServerContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged OAuth2 Authorization Servers list representation."
+ },
+ "AuthorizationServerContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AuthorizationServerContractProperties",
+ "description": "Properties of the External OAuth authorization server Contract."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "External OAuth authorization server settings."
+ },
+ "AuthorizationServerContractBaseProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of the authorization server. Can contain HTML formatting tags."
+ },
+ "authorizationMethods": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "HEAD",
+ "OPTIONS",
+ "TRACE",
+ "GET",
+ "POST",
+ "PUT",
+ "PATCH",
+ "DELETE"
+ ],
+ "x-ms-enum": {
+ "name": "AuthorizationMethod",
+ "modelAsString": false
+ }
+ },
+ "description": "HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional."
+ },
+ "clientAuthenticationMethod": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Basic",
+ "Body"
+ ],
+ "x-ms-enum": {
+ "name": "ClientAuthenticationMethod",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Basic",
+ "description": "Basic Client Authentication method."
+ },
+ {
+ "value": "Body",
+ "description": "Body based Authentication method."
+ }
+ ]
+ }
+ },
+ "description": "Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format."
+ },
+ "tokenBodyParameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TokenBodyParameterContract"
+ },
+ "description": "Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {\"name\" : \"name value\", \"value\": \"a value\"}."
+ },
+ "tokenEndpoint": {
+ "type": "string",
+ "description": "OAuth token endpoint. Contains absolute URI to entity being referenced.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-3.1"
+ }
+ },
+ "supportState": {
+ "type": "boolean",
+ "description": "If true, authorization server will include state parameter from the authorization request to its response. Client may use state parameter to raise protocol security.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-3.1"
+ }
+ },
+ "defaultScope": {
+ "type": "string",
+ "description": "Access token scope that is going to be requested by default. Can be overridden at the API level. Should be provided in the form of a string containing space-delimited values.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-3.3"
+ }
+ },
+ "bearerTokenSendingMethods": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "authorizationHeader",
+ "query"
+ ],
+ "x-ms-enum": {
+ "name": "BearerTokenSendingMethod",
+ "modelAsString": true
+ }
+ },
+ "description": "Specifies the mechanism by which access token is passed to the API. ",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-4"
+ }
+ },
+ "resourceOwnerUsername": {
+ "type": "string",
+ "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username."
+ },
+ "resourceOwnerPassword": {
+ "type": "string",
+ "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password."
+ }
+ },
+ "description": "External OAuth authorization server Update settings contract."
+ },
+ "AuthorizationServerContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "User-friendly authorization server name.",
+ "minLength": 1,
+ "maxLength": 50
+ },
+ "clientRegistrationEndpoint": {
+ "type": "string",
+ "description": "Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced."
+ },
+ "authorizationEndpoint": {
+ "type": "string",
+ "description": "OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2."
+ },
+ "grantTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "authorizationCode",
+ "implicit",
+ "resourceOwnerPassword",
+ "clientCredentials"
+ ],
+ "x-ms-enum": {
+ "name": "GrantType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "authorizationCode",
+ "description": "Authorization Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.1."
+ },
+ {
+ "value": "implicit",
+ "description": "Implicit Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.2."
+ },
+ {
+ "value": "resourceOwnerPassword",
+ "description": "Resource Owner Password Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.3."
+ },
+ {
+ "value": "clientCredentials",
+ "description": "Client Credentials Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.4."
+ }
+ ]
+ }
+ },
+ "description": "Form of an authorization grant, which the client uses to request the access token.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-4"
+ }
+ },
+ "clientId": {
+ "type": "string",
+ "description": "Client or app id registered with this authorization server."
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client or app secret registered with this authorization server. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AuthorizationServerContractBaseProperties"
+ }
+ ],
+ "required": [
+ "displayName",
+ "clientRegistrationEndpoint",
+ "authorizationEndpoint",
+ "clientId",
+ "grantTypes"
+ ],
+ "description": "External OAuth authorization server settings Properties."
+ },
+ "AuthorizationServerUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AuthorizationServerUpdateContractProperties",
+ "description": "Properties of the External OAuth authorization server update Contract."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "External OAuth authorization server settings."
+ },
+ "AuthorizationServerUpdateContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "User-friendly authorization server name.",
+ "minLength": 1,
+ "maxLength": 50
+ },
+ "clientRegistrationEndpoint": {
+ "type": "string",
+ "description": "Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced."
+ },
+ "authorizationEndpoint": {
+ "type": "string",
+ "description": "OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2."
+ },
+ "grantTypes": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "authorizationCode",
+ "implicit",
+ "resourceOwnerPassword",
+ "clientCredentials"
+ ],
+ "x-ms-enum": {
+ "name": "GrantType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "authorizationCode",
+ "description": "Authorization Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.1."
+ },
+ {
+ "value": "implicit",
+ "description": "Implicit Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.2."
+ },
+ {
+ "value": "resourceOwnerPassword",
+ "description": "Resource Owner Password Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.3."
+ },
+ {
+ "value": "clientCredentials",
+ "description": "Client Credentials Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.4."
+ }
+ ]
+ }
+ },
+ "description": "Form of an authorization grant, which the client uses to request the access token.",
+ "externalDocs": {
+ "url": "http://tools.ietf.org/html/rfc6749#section-4"
+ }
+ },
+ "clientId": {
+ "type": "string",
+ "description": "Client or app id registered with this authorization server."
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client or app secret registered with this authorization server. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/AuthorizationServerContractBaseProperties"
+ }
+ ],
+ "description": "External OAuth authorization server Update settings contract."
+ },
+ "AuthorizationServerSecretsContract": {
+ "properties": {
+ "clientSecret": {
+ "type": "string",
+ "description": "oAuth Authorization Server Secrets."
+ },
+ "resourceOwnerUsername": {
+ "type": "string",
+ "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username."
+ },
+ "resourceOwnerPassword": {
+ "type": "string",
+ "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password."
+ }
+ },
+ "description": "OAuth Server Secrets Contract."
+ },
+ "BackendAuthorizationHeaderCredentials": {
+ "properties": {
+ "scheme": {
+ "type": "string",
+ "description": "Authentication Scheme name.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "parameter": {
+ "type": "string",
+ "description": "Authentication Parameter value.",
+ "minLength": 1,
+ "maxLength": 300
+ }
+ },
+ "required": [
+ "scheme",
+ "parameter"
+ ],
+ "description": "Authorization header information."
+ },
+ "BackendBaseParameters": {
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Backend Title.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "description": {
+ "type": "string",
+ "description": "Backend Description.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Management Uri of the Resource in External System. This url can be the Arm Resource Id of Logic Apps, Function Apps or API Apps.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "properties": {
+ "$ref": "#/definitions/BackendProperties",
+ "description": "Backend Properties contract"
+ },
+ "credentials": {
+ "$ref": "#/definitions/BackendCredentialsContract",
+ "description": "Backend Credentials Contract Properties"
+ },
+ "proxy": {
+ "$ref": "#/definitions/BackendProxyContract",
+ "description": "Backend Proxy Contract Properties"
+ },
+ "tls": {
+ "$ref": "#/definitions/BackendTlsProperties",
+ "description": "Backend TLS Properties"
+ }
+ },
+ "description": "Backend entity base Parameter set."
+ },
+ "BackendCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackendContract"
+ },
+ "description": "Backend values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Backend list representation."
+ },
+ "BackendContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BackendContractProperties",
+ "description": "Backend entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Backend details."
+ },
+ "BackendContractProperties": {
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "Runtime Url of the Backend.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "protocol": {
+ "type": "string",
+ "enum": [
+ "http",
+ "soap"
+ ],
+ "x-ms-enum": {
+ "name": "BackendProtocol",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "http",
+ "description": "The Backend is a RESTful service."
+ },
+ {
+ "value": "soap",
+ "description": "The Backend is a SOAP service."
+ }
+ ]
+ },
+ "description": "Backend communication protocol."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackendBaseParameters"
+ }
+ ],
+ "required": [
+ "url",
+ "protocol"
+ ],
+ "description": "Parameters supplied to the Create Backend operation."
+ },
+ "BackendCredentialsContract": {
+ "properties": {
+ "certificateIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 32,
+ "description": "List of Client Certificate Ids."
+ },
+ "certificate": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 32,
+ "description": "List of Client Certificate Thumbprints. Will be ignored if certificatesIds are provided."
+ },
+ "query": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Query Parameter description."
+ },
+ "header": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "description": "Header Parameter description."
+ },
+ "authorization": {
+ "description": "Authorization header authentication",
+ "$ref": "#/definitions/BackendAuthorizationHeaderCredentials"
+ }
+ },
+ "description": "Details of the Credentials used to connect to Backend."
+ },
+ "BackendProperties": {
+ "properties": {
+ "serviceFabricCluster": {
+ "$ref": "#/definitions/BackendServiceFabricClusterProperties",
+ "description": "Backend Service Fabric Cluster Properties"
+ }
+ },
+ "description": "Properties specific to the Backend Type."
+ },
+ "BackendProxyContract": {
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/system.net.webproxy(v=vs.110).aspx",
+ "description": "Backend entity uses these details to connect to a WebProxy."
+ },
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all fragments and query strings.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "username": {
+ "type": "string",
+ "description": "Username to connect to the WebProxy server"
+ },
+ "password": {
+ "type": "string",
+ "description": "Password to connect to the WebProxy Server"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "description": "Details of the Backend WebProxy Server to use in the Request to Backend."
+ },
+ "BackendReconnectContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BackendReconnectProperties",
+ "description": "Reconnect request properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Reconnect request parameters."
+ },
+ "BackendReconnectProperties": {
+ "properties": {
+ "after": {
+ "type": "string",
+ "format": "duration",
+ "description": "Duration in ISO8601 format after which reconnect will be initiated. Minimum duration of the Reconnect is PT2M."
+ }
+ },
+ "description": "Properties to control reconnect requests."
+ },
+ "BackendServiceFabricClusterProperties": {
+ "properties": {
+ "clientCertificateId": {
+ "description": "The client certificate id for the management endpoint.",
+ "type": "string"
+ },
+ "clientCertificatethumbprint": {
+ "description": "The client certificate thumbprint for the management endpoint. Will be ignored if certificatesIds are provided",
+ "type": "string"
+ },
+ "maxPartitionResolutionRetries": {
+ "description": "Maximum number of retries while attempting resolve the partition.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "managementEndpoints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The cluster management endpoint."
+ },
+ "serverCertificateThumbprints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Thumbprints of certificates cluster management service uses for tls communication"
+ },
+ "serverX509Names": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/X509CertificateName"
+ },
+ "description": "Server X509 Certificate Names Collection"
+ }
+ },
+ "required": [
+ "managementEndpoints"
+ ],
+ "description": "Properties of the Service Fabric Type Backend."
+ },
+ "BackendTlsProperties": {
+ "properties": {
+ "validateCertificateChain": {
+ "description": "Flag indicating whether SSL certificate chain validation should be done when using self-signed certificates for this backend host.",
+ "type": "boolean",
+ "default": true
+ },
+ "validateCertificateName": {
+ "description": "Flag indicating whether SSL certificate name validation should be done when using self-signed certificates for this backend host.",
+ "type": "boolean",
+ "default": true
+ }
+ },
+ "description": "Properties controlling TLS Certificate Validation."
+ },
+ "BackendUpdateParameterProperties": {
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "Runtime Url of the Backend.",
+ "minLength": 1,
+ "maxLength": 2000
+ },
+ "protocol": {
+ "type": "string",
+ "enum": [
+ "http",
+ "soap"
+ ],
+ "x-ms-enum": {
+ "name": "BackendProtocol",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "http",
+ "description": "The Backend is a RESTful service."
+ },
+ {
+ "value": "soap",
+ "description": "The Backend is a SOAP service."
+ }
+ ]
+ },
+ "description": "Backend communication protocol."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/BackendBaseParameters"
+ }
+ ],
+ "description": "Parameters supplied to the Update Backend operation."
+ },
+ "BackendUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BackendUpdateParameterProperties",
+ "description": "Backend entity update contract properties."
+ }
+ },
+ "description": "Backend update parameters."
+ },
+ "BearerTokenSendingMethodsContract": {
+ "type": "string",
+ "description": "Form of an authorization grant, which the client uses to request the access token.",
+ "enum": [
+ "authorizationHeader",
+ "query"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "bearerTokenSendingMethods",
+ "values": [
+ {
+ "value": "authorizationHeader",
+ "description": "Access token will be transmitted in the Authorization header using Bearer schema"
+ },
+ {
+ "value": "query",
+ "description": "Access token will be transmitted as query parameters."
+ }
+ ]
+ }
+ },
+ "BodyDiagnosticSettings": {
+ "properties": {
+ "bytes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 8192,
+ "description": "Number of request body bytes to log."
+ }
+ },
+ "description": "Body logging settings."
+ },
+ "CacheCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CacheContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Caches list representation."
+ },
+ "CacheContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CacheContractProperties",
+ "description": "Cache properties details."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Cache details."
+ },
+ "CacheContractProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Cache description",
+ "maxLength": 2000
+ },
+ "connectionString": {
+ "type": "string",
+ "description": "Runtime connection string to cache",
+ "maxLength": 300
+ },
+ "useFromLocation": {
+ "type": "string",
+ "description": "Location identifier to use cache from (should be either 'default' or valid Azure region identifier)",
+ "maxLength": 256
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Original uri of entity in external system cache points to",
+ "maxLength": 2000
+ }
+ },
+ "required": [
+ "connectionString",
+ "useFromLocation"
+ ],
+ "description": "Properties of the Cache contract."
+ },
+ "CacheUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CacheUpdateProperties",
+ "description": "Cache update properties details."
+ }
+ },
+ "description": "Cache update details."
+ },
+ "CacheUpdateProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Cache description",
+ "maxLength": 2000
+ },
+ "connectionString": {
+ "type": "string",
+ "description": "Runtime connection string to cache",
+ "maxLength": 300
+ },
+ "useFromLocation": {
+ "type": "string",
+ "description": "Location identifier to use cache from (should be either 'default' or valid Azure region identifier)",
+ "maxLength": 256
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Original uri of entity in external system cache points to",
+ "maxLength": 2000
+ }
+ },
+ "description": "Parameters supplied to the Update Cache operation."
+ },
+ "CertificateCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Certificates list representation."
+ },
+ "CertificateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CertificateContractProperties",
+ "description": "Certificate properties details."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Certificate details."
+ },
+ "CertificateContractProperties": {
+ "properties": {
+ "subject": {
+ "type": "string",
+ "description": "Subject attribute of the certificate."
+ },
+ "thumbprint": {
+ "type": "string",
+ "description": "Thumbprint of the certificate."
+ },
+ "expirationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "keyVault": {
+ "$ref": "#/definitions/KeyVaultContractProperties",
+ "description": "KeyVault location details of the certificate."
+ }
+ },
+ "required": [
+ "subject",
+ "thumbprint",
+ "expirationDate"
+ ],
+ "description": "Properties of the Certificate contract."
+ },
+ "CertificateCreateOrUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CertificateCreateOrUpdateProperties",
+ "description": "Certificate create or update properties details."
+ }
+ },
+ "description": "Certificate create or update details."
+ },
+ "CertificateCreateOrUpdateProperties": {
+ "properties": {
+ "data": {
+ "type": "string",
+ "description": "Base 64 encoded certificate using the application/x-pkcs12 representation."
+ },
+ "password": {
+ "type": "string",
+ "description": "Password for the Certificate"
+ },
+ "keyVault": {
+ "$ref": "#/definitions/KeyVaultContractCreateProperties",
+ "description": "KeyVault location details of the certificate."
+ }
+ },
+ "description": "Parameters supplied to the CreateOrUpdate certificate operation."
+ },
+ "DataMasking": {
+ "properties": {
+ "queryParams": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataMaskingEntity"
+ },
+ "description": "Masking settings for Url query parameters"
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataMaskingEntity"
+ },
+ "description": "Masking settings for headers"
+ }
+ }
+ },
+ "DataMaskingEntity": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The name of an entity to mask (e.g. a name of a header or a query parameter)."
+ },
+ "mode": {
+ "type": "string",
+ "enum": [
+ "Mask",
+ "Hide"
+ ],
+ "x-ms-enum": {
+ "name": "DataMaskingMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Mask",
+ "description": "Mask the value of an entity."
+ },
+ {
+ "value": "Hide",
+ "description": "Hide the presence of an entity."
+ }
+ ]
+ },
+ "description": "Data masking mode."
+ }
+ }
+ },
+ "DeployConfigurationParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DeployConfigurationParameterProperties",
+ "description": "Deploy Configuration Parameter contract properties."
+ }
+ },
+ "description": "Deploy Tenant Configuration Contract."
+ },
+ "DeployConfigurationParameterProperties": {
+ "properties": {
+ "branch": {
+ "type": "string",
+ "description": "The name of the Git branch from which the configuration is to be deployed to the configuration database."
+ },
+ "force": {
+ "type": "boolean",
+ "description": "The value enforcing deleting subscriptions to products that are deleted in this update."
+ }
+ },
+ "required": [
+ "branch"
+ ],
+ "description": "Parameters supplied to the Deploy Configuration operation."
+ },
+ "DiagnosticCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiagnosticContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Diagnostic list representation."
+ },
+ "DiagnosticContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiagnosticContractProperties",
+ "description": "Diagnostic entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Diagnostic details."
+ },
+ "DiagnosticContractProperties": {
+ "properties": {
+ "alwaysLog": {
+ "type": "string",
+ "enum": [
+ "allErrors"
+ ],
+ "x-ms-enum": {
+ "name": "AlwaysLog",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "allErrors",
+ "description": "Always log all erroneous request regardless of sampling settings."
+ }
+ ]
+ },
+ "description": "Specifies for what type of messages sampling settings should not apply."
+ },
+ "loggerId": {
+ "type": "string",
+ "description": "Resource Id of a target logger."
+ },
+ "sampling": {
+ "$ref": "#/definitions/SamplingSettings",
+ "description": "Sampling settings for Diagnostic."
+ },
+ "frontend": {
+ "$ref": "#/definitions/PipelineDiagnosticSettings",
+ "description": "Diagnostic settings for incoming/outgoing HTTP messages to the Gateway."
+ },
+ "backend": {
+ "$ref": "#/definitions/PipelineDiagnosticSettings",
+ "description": "Diagnostic settings for incoming/outgoing HTTP messages to the Backend"
+ },
+ "logClientIp": {
+ "type": "boolean",
+ "description": "Log the ClientIP. Default is false."
+ },
+ "httpCorrelationProtocol": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Legacy",
+ "W3C"
+ ],
+ "x-ms-enum": {
+ "name": "HttpCorrelationProtocol",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "Do not read and inject correlation headers."
+ },
+ {
+ "value": "Legacy",
+ "description": "Inject Request-Id and Request-Context headers with request correlation data. See https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/HttpCorrelationProtocol.md."
+ },
+ {
+ "value": "W3C",
+ "description": "Inject Trace Context headers. See https://w3c.github.io/trace-context."
+ }
+ ]
+ },
+ "description": "Sets correlation protocol to use for Application Insights diagnostics."
+ },
+ "verbosity": {
+ "type": "string",
+ "enum": [
+ "verbose",
+ "information",
+ "error"
+ ],
+ "x-ms-enum": {
+ "name": "Verbosity",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "verbose",
+ "description": "All the traces emitted by trace policies will be sent to the logger attached to this diagnostic instance."
+ },
+ {
+ "value": "information",
+ "description": "Traces with 'severity' set to 'information' and 'error' will be sent to the logger attached to this diagnostic instance."
+ },
+ {
+ "value": "error",
+ "description": "Only traces with 'severity' set to 'error' will be sent to the logger attached to this diagnostic instance."
+ }
+ ]
+ },
+ "description": "The verbosity level applied to traces emitted by trace policies."
+ },
+ "operationNameFormat": {
+ "type": "string",
+ "enum": [
+ "Name",
+ "Url"
+ ],
+ "x-ms-enum": {
+ "name": "OperationNameFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Name",
+ "description": "API_NAME;rev=API_REVISION - OPERATION_NAME"
+ },
+ {
+ "value": "Url",
+ "description": "HTTP_VERB URL"
+ }
+ ]
+ },
+ "description": "The format of the Operation Name for Application Insights telemetries. Default is Name."
+ }
+ },
+ "required": [
+ "loggerId"
+ ],
+ "description": "Diagnostic Entity Properties"
+ },
+ "EmailTemplateCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EmailTemplateContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged email template list representation."
+ },
+ "EmailTemplateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EmailTemplateContractProperties",
+ "description": "Email Template entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Email Template details."
+ },
+ "EmailTemplateContractProperties": {
+ "properties": {
+ "subject": {
+ "type": "string",
+ "description": "Subject of the Template.",
+ "minLength": 1,
+ "maxLength": 1000
+ },
+ "body": {
+ "type": "string",
+ "description": "Email Template Body. This should be a valid XDocument",
+ "minLength": 1
+ },
+ "title": {
+ "type": "string",
+ "description": "Title of the Template."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the Email Template."
+ },
+ "isDefault": {
+ "type": "boolean",
+ "description": "Whether the template is the default template provided by API Management or has been edited.",
+ "readOnly": true
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EmailTemplateParametersContractProperties"
+ },
+ "description": "Email Template Parameter values."
+ }
+ },
+ "required": [
+ "body",
+ "subject"
+ ],
+ "description": "Email Template Contract properties."
+ },
+ "EmailTemplateParametersContractProperties": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Template parameter name.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[A-Za-z0-9-._]+$"
+ },
+ "title": {
+ "type": "string",
+ "description": "Template parameter title.",
+ "minLength": 1,
+ "maxLength": 4096
+ },
+ "description": {
+ "type": "string",
+ "description": "Template parameter description.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[A-Za-z0-9-._]+$"
+ }
+ },
+ "description": "Email Template Parameter contract."
+ },
+ "EmailTemplateUpdateParameterProperties": {
+ "properties": {
+ "subject": {
+ "type": "string",
+ "description": "Subject of the Template.",
+ "minLength": 1,
+ "maxLength": 1000
+ },
+ "title": {
+ "type": "string",
+ "description": "Title of the Template."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the Email Template."
+ },
+ "body": {
+ "type": "string",
+ "description": "Email Template Body. This should be a valid XDocument",
+ "minLength": 1
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EmailTemplateParametersContractProperties"
+ },
+ "description": "Email Template Parameter values."
+ }
+ },
+ "description": "Email Template Update Contract properties."
+ },
+ "EmailTemplateUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EmailTemplateUpdateParameterProperties",
+ "description": "Email Template Update contract properties."
+ }
+ },
+ "description": "Email Template update Parameters."
+ },
+ "GenerateSsoUrlResult": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Redirect Url containing the SSO URL value."
+ }
+ },
+ "description": "Generate SSO Url operations response details."
+ },
+ "GroupCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GroupContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Group list representation."
+ },
+ "GroupContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GroupContractProperties",
+ "description": "Group entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Contract details."
+ },
+ "GroupContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Group name.",
+ "maxLength": 300,
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "description": "Group description. Can contain HTML formatting tags.",
+ "maxLength": 1000
+ },
+ "builtIn": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "true if the group is one of the three system groups (Administrators, Developers, or Guests); otherwise false."
+ },
+ "type": {
+ "type": "string",
+ "description": "Group type.",
+ "enum": [
+ "custom",
+ "system",
+ "external"
+ ],
+ "x-ms-enum": {
+ "name": "GroupType",
+ "modelAsString": false
+ }
+ },
+ "externalId": {
+ "type": "string",
+ "description": "For external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory `aad://.onmicrosoft.com/groups/`; otherwise the value is null."
+ }
+ },
+ "required": [
+ "displayName"
+ ],
+ "description": "Group contract Properties."
+ },
+ "GroupCreateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GroupCreateParametersProperties",
+ "description": "Properties supplied to Create Group operation."
+ }
+ },
+ "description": "Parameters supplied to the Create Group operation."
+ },
+ "GroupCreateParametersProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Group name.",
+ "maxLength": 300,
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "description": "Group description."
+ },
+ "type": {
+ "type": "string",
+ "description": "Group type.",
+ "enum": [
+ "custom",
+ "system",
+ "external"
+ ],
+ "x-ms-enum": {
+ "name": "GroupType",
+ "modelAsString": false
+ }
+ },
+ "externalId": {
+ "type": "string",
+ "description": "Identifier of the external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory `aad://.onmicrosoft.com/groups/`; otherwise the value is null."
+ }
+ },
+ "required": [
+ "displayName"
+ ],
+ "description": "Parameters supplied to the Create Group operation."
+ },
+ "GroupUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GroupUpdateParametersProperties",
+ "description": "Group entity update contract properties."
+ }
+ },
+ "description": "Parameters supplied to the Update Group operation."
+ },
+ "GroupUpdateParametersProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Group name.",
+ "maxLength": 300,
+ "minLength": 1
+ },
+ "description": {
+ "type": "string",
+ "description": "Group description."
+ },
+ "type": {
+ "type": "string",
+ "description": "Group type.",
+ "enum": [
+ "custom",
+ "system",
+ "external"
+ ],
+ "x-ms-enum": {
+ "name": "GroupType",
+ "modelAsString": false
+ }
+ },
+ "externalId": {
+ "type": "string",
+ "description": "Identifier of the external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory `aad://.onmicrosoft.com/groups/`; otherwise the value is null."
+ }
+ },
+ "description": "Parameters supplied to the Update Group operation."
+ },
+ "HttpMessageDiagnostic": {
+ "properties": {
+ "headers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Array of HTTP Headers to log."
+ },
+ "body": {
+ "$ref": "#/definitions/BodyDiagnosticSettings",
+ "description": "Body logging settings."
+ },
+ "dataMasking": {
+ "$ref": "#/definitions/DataMasking",
+ "description": "Data masking settings."
+ }
+ },
+ "description": "Http message diagnostic settings."
+ },
+ "IdentityProviderBaseParameters": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "facebook",
+ "google",
+ "microsoft",
+ "twitter",
+ "aad",
+ "aadB2C"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityProviderType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "facebook",
+ "description": "Facebook as Identity provider."
+ },
+ {
+ "value": "google",
+ "description": "Google as Identity provider."
+ },
+ {
+ "value": "microsoft",
+ "description": "Microsoft Live as Identity provider."
+ },
+ {
+ "value": "twitter",
+ "description": "Twitter as Identity provider."
+ },
+ {
+ "value": "aad",
+ "description": "Azure Active Directory as Identity provider."
+ },
+ {
+ "value": "aadB2C",
+ "description": "Azure Active Directory B2C as Identity provider."
+ }
+ ]
+ },
+ "description": "Identity Provider Type identifier."
+ },
+ "signinTenant": {
+ "type": "string",
+ "description": "The TenantId to use instead of Common when logging into Active Directory"
+ },
+ "allowedTenants": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 32,
+ "description": "List of Allowed Tenants when configuring Azure Active Directory login."
+ },
+ "authority": {
+ "type": "string",
+ "description": "OpenID Connect discovery endpoint hostname for AAD or AAD B2C."
+ },
+ "signupPolicyName": {
+ "type": "string",
+ "description": "Signup Policy Name. Only applies to AAD B2C Identity Provider.",
+ "minLength": 1
+ },
+ "signinPolicyName": {
+ "type": "string",
+ "description": "Signin Policy Name. Only applies to AAD B2C Identity Provider.",
+ "minLength": 1
+ },
+ "profileEditingPolicyName": {
+ "type": "string",
+ "description": "Profile Editing Policy Name. Only applies to AAD B2C Identity Provider.",
+ "minLength": 1
+ },
+ "passwordResetPolicyName": {
+ "type": "string",
+ "description": "Password Reset Policy Name. Only applies to AAD B2C Identity Provider.",
+ "minLength": 1
+ }
+ },
+ "description": "Identity Provider Base Parameter Properties."
+ },
+ "IdentityProviderCreateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IdentityProviderCreateContractProperties",
+ "description": "Identity Provider contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Identity Provider details."
+ },
+ "IdentityProviderCreateContractProperties": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.",
+ "minLength": 1
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.",
+ "minLength": 1
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/IdentityProviderBaseParameters"
+ }
+ ],
+ "required": [
+ "clientId",
+ "clientSecret"
+ ],
+ "description": "The external Identity Providers like Facebook, Google, Microsoft, Twitter or Azure Active Directory which can be used to enable access to the API Management service developer portal for all users."
+ },
+ "IdentityProviderContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IdentityProviderContractProperties",
+ "description": "Identity Provider contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Identity Provider details."
+ },
+ "IdentityProviderContractProperties": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.",
+ "minLength": 1
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.",
+ "minLength": 1
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/IdentityProviderBaseParameters"
+ }
+ ],
+ "required": [
+ "clientId"
+ ],
+ "description": "The external Identity Providers like Facebook, Google, Microsoft, Twitter or Azure Active Directory which can be used to enable access to the API Management service developer portal for all users."
+ },
+ "IdentityProviderList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IdentityProviderContract"
+ },
+ "description": "Identity Provider configuration values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "List of all the Identity Providers configured on the service instance."
+ },
+ "IdentityProviderUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IdentityProviderUpdateProperties",
+ "description": "Identity Provider update properties."
+ }
+ },
+ "description": "Parameters supplied to update Identity Provider"
+ },
+ "IdentityProviderUpdateProperties": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.",
+ "minLength": 1
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft.",
+ "minLength": 1
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/IdentityProviderBaseParameters"
+ }
+ ],
+ "description": "Parameters supplied to the Update Identity Provider operation."
+ },
+ "IssueAttachmentCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IssueAttachmentContract"
+ },
+ "description": "Issue Attachment values.",
+ "readOnly": true
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Issue Attachment list representation."
+ },
+ "IssueAttachmentContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IssueAttachmentContractProperties",
+ "description": "Properties of the Issue Attachment."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Issue Attachment Contract details."
+ },
+ "IssueAttachmentContractProperties": {
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Filename by which the binary data will be saved."
+ },
+ "contentFormat": {
+ "type": "string",
+ "description": "Either 'link' if content is provided via an HTTP link or the MIME type of the Base64-encoded binary data provided in the 'content' property."
+ },
+ "content": {
+ "type": "string",
+ "description": "An HTTP link or Base64-encoded binary data."
+ }
+ },
+ "required": [
+ "title",
+ "contentFormat",
+ "content"
+ ],
+ "description": "Issue Attachment contract Properties."
+ },
+ "IssueCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IssueContract"
+ },
+ "description": "Issue values.",
+ "readOnly": true
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Issue list representation."
+ },
+ "IssueCommentCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IssueCommentContract"
+ },
+ "description": "Issue Comment values.",
+ "readOnly": true
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Issue Comment list representation."
+ },
+ "IssueCommentContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IssueCommentContractProperties",
+ "description": "Properties of the Issue Comment."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Issue Comment Contract details."
+ },
+ "IssueCommentContractProperties": {
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "Comment text."
+ },
+ "createdDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date and time when the comment was created."
+ },
+ "userId": {
+ "type": "string",
+ "description": "A resource identifier for the user who left the comment."
+ }
+ },
+ "required": [
+ "text",
+ "userId"
+ ],
+ "description": "Issue Comment contract Properties."
+ },
+ "IssueContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IssueContractProperties",
+ "description": "Properties of the Issue."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Issue Contract details."
+ },
+ "IssueContractBaseProperties": {
+ "properties": {
+ "createdDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date and time when the issue was created."
+ },
+ "state": {
+ "type": "string",
+ "description": "Status of the issue.",
+ "enum": [
+ "proposed",
+ "open",
+ "removed",
+ "resolved",
+ "closed"
+ ],
+ "x-ms-enum": {
+ "name": "State",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "proposed",
+ "description": "The issue is proposed."
+ },
+ {
+ "value": "open",
+ "description": "The issue is opened."
+ },
+ {
+ "value": "removed",
+ "description": "The issue was removed."
+ },
+ {
+ "value": "resolved",
+ "description": "The issue is now resolved."
+ },
+ {
+ "value": "closed",
+ "description": "The issue was closed."
+ }
+ ]
+ }
+ },
+ "apiId": {
+ "type": "string",
+ "description": "A resource identifier for the API the issue was created for."
+ }
+ },
+ "description": "Issue contract Base Properties."
+ },
+ "IssueContractProperties": {
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "The issue title."
+ },
+ "description": {
+ "type": "string",
+ "description": "Text describing the issue."
+ },
+ "userId": {
+ "type": "string",
+ "description": "A resource identifier for the user created the issue."
+ }
+ },
+ "required": [
+ "title",
+ "description",
+ "userId"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/IssueContractBaseProperties"
+ }
+ ],
+ "description": "Issue contract Properties."
+ },
+ "IssueUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IssueUpdateContractProperties",
+ "description": "Issue entity Update contract properties."
+ }
+ },
+ "description": "Issue update Parameters."
+ },
+ "IssueUpdateContractProperties": {
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "The issue title."
+ },
+ "description": {
+ "type": "string",
+ "description": "Text describing the issue."
+ },
+ "userId": {
+ "type": "string",
+ "description": "A resource identifier for the user created the issue."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/IssueContractBaseProperties"
+ }
+ ],
+ "description": "Issue contract Update Properties."
+ },
+ "KeyVaultContractCreateProperties": {
+ "properties": {
+ "secretIdentifier": {
+ "type": "string",
+ "description": "Key vault secret identifier for fetching secret. Providing a versioned secret will prevent auto-refresh. This requires API Management service to be configured with aka.ms/apimmsi"
+ },
+ "identityClientId": {
+ "type": "string",
+ "description": "SystemAssignedIdentity or UserAssignedIdentity Client Id which will be used to access key vault secret."
+ }
+ },
+ "description": "Create keyVault contract details."
+ },
+ "KeyVaultContractProperties": {
+ "properties": {
+ "lastStatus": {
+ "$ref": "#/definitions/KeyVaultLastAccessStatusContractProperties",
+ "description": "Last time sync and refresh status of secret from key vault."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/KeyVaultContractCreateProperties"
+ }
+ ],
+ "description": "KeyVault contract details."
+ },
+ "KeyVaultLastAccessStatusContractProperties": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Last status code for sync and refresh of secret from key vault."
+ },
+ "message": {
+ "type": "string",
+ "description": "Details of the error else empty."
+ },
+ "timeStampUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last time secret was accessed. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ }
+ },
+ "description": "Issue contract Update Properties."
+ },
+ "LoggerCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LoggerContract"
+ },
+ "description": "Logger values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Logger list representation."
+ },
+ "LoggerContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LoggerContractProperties",
+ "description": "Logger entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Logger details."
+ },
+ "LoggerContractProperties": {
+ "properties": {
+ "loggerType": {
+ "type": "string",
+ "description": "Logger type.",
+ "enum": [
+ "azureEventHub",
+ "applicationInsights",
+ "azureMonitor"
+ ],
+ "x-ms-enum": {
+ "name": "LoggerType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "azureEventHub",
+ "description": "Azure Event Hub as log destination."
+ },
+ {
+ "value": "applicationInsights",
+ "description": "Azure Application Insights as log destination."
+ },
+ {
+ "value": "azureMonitor",
+ "description": "Azure Monitor"
+ }
+ ]
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "Logger description.",
+ "maxLength": 256
+ },
+ "credentials": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The name and SendRule connection string of the event hub for azureEventHub logger.\nInstrumentation key for applicationInsights logger.",
+ "example": {
+ "name": "apim",
+ "connectionString": "Endpoint=sb://contoso-ns.servicebus.windows.net/;SharedAccessKeyName=Sender;SharedAccessKey=..."
+ }
+ },
+ "isBuffered": {
+ "type": "boolean",
+ "description": "Whether records are buffered in the logger before publishing. Default is assumed to be true."
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "Azure Resource Id of a log target (either Azure Event Hub resource or Azure Application Insights resource)."
+ }
+ },
+ "required": [
+ "loggerType"
+ ],
+ "description": "The Logger entity in API Management represents an event sink that you can use to log API Management events. Currently the Logger entity supports logging API Management events to Azure Event Hubs."
+ },
+ "LoggerUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LoggerUpdateParameters",
+ "description": "Logger entity update contract properties."
+ }
+ },
+ "description": "Logger update contract."
+ },
+ "LoggerUpdateParameters": {
+ "properties": {
+ "loggerType": {
+ "type": "string",
+ "description": "Logger type.",
+ "enum": [
+ "azureEventHub",
+ "applicationInsights",
+ "azureMonitor"
+ ],
+ "x-ms-enum": {
+ "name": "LoggerType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "azureEventHub",
+ "description": "Azure Event Hub as log destination."
+ },
+ {
+ "value": "applicationInsights",
+ "description": "Azure Application Insights as log destination."
+ },
+ {
+ "value": "azureMonitor",
+ "description": "Azure Monitor"
+ }
+ ]
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "Logger description."
+ },
+ "credentials": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Logger credentials."
+ },
+ "isBuffered": {
+ "type": "boolean",
+ "description": "Whether records are buffered in the logger before publishing. Default is assumed to be true."
+ }
+ },
+ "description": "Parameters supplied to the Update Logger operation."
+ },
+ "NotificationCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NotificationContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Notification list representation."
+ },
+ "NotificationContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NotificationContractProperties",
+ "description": "Notification entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Notification details."
+ },
+ "NotificationContractProperties": {
+ "properties": {
+ "title": {
+ "type": "string",
+ "description": "Title of the Notification.",
+ "minLength": 1,
+ "maxLength": 1000
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the Notification."
+ },
+ "recipients": {
+ "$ref": "#/definitions/RecipientsContractProperties",
+ "description": "Recipient Parameter values."
+ }
+ },
+ "required": [
+ "title"
+ ],
+ "description": "Notification Contract properties."
+ },
+ "OAuth2AuthenticationSettingsContract": {
+ "properties": {
+ "authorizationServerId": {
+ "type": "string",
+ "description": "OAuth authorization server identifier."
+ },
+ "scope": {
+ "type": "string",
+ "description": "operations scope."
+ }
+ },
+ "description": "API OAuth2 Authentication settings details."
+ },
+ "OpenIdAuthenticationSettingsContract": {
+ "properties": {
+ "openidProviderId": {
+ "type": "string",
+ "description": "OAuth authorization server identifier."
+ },
+ "bearerTokenSendingMethods": {
+ "description": "How to send token to the server.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BearerTokenSendingMethodsContract"
+ }
+ }
+ },
+ "description": "API OAuth2 Authentication settings details."
+ },
+ "OpenIdConnectProviderCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OpenidConnectProviderContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged OpenIdProviders list representation."
+ },
+ "OpenidConnectProviderContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OpenidConnectProviderContractProperties",
+ "description": "OpenId Connect Provider contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "OpenId Connect Provider details."
+ },
+ "OpenidConnectProviderContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "User-friendly OpenID Connect Provider name.",
+ "maxLength": 50
+ },
+ "description": {
+ "type": "string",
+ "description": "User-friendly description of OpenID Connect Provider."
+ },
+ "metadataEndpoint": {
+ "type": "string",
+ "description": "Metadata endpoint URI."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "Client ID of developer console which is the client application."
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client Secret of developer console which is the client application."
+ }
+ },
+ "required": [
+ "displayName",
+ "metadataEndpoint",
+ "clientId"
+ ],
+ "description": "OpenID Connect Providers Contract."
+ },
+ "OpenidConnectProviderUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OpenidConnectProviderUpdateContractProperties",
+ "description": "OpenId Connect Provider Update contract properties."
+ }
+ },
+ "description": "Parameters supplied to the Update OpenID Connect Provider operation."
+ },
+ "OpenidConnectProviderUpdateContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "User-friendly OpenID Connect Provider name.",
+ "maxLength": 50
+ },
+ "description": {
+ "type": "string",
+ "description": "User-friendly description of OpenID Connect Provider."
+ },
+ "metadataEndpoint": {
+ "type": "string",
+ "description": "Metadata endpoint URI."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "Client ID of developer console which is the client application."
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client Secret of developer console which is the client application."
+ }
+ },
+ "description": "Parameters supplied to the Update OpenID Connect Provider operation."
+ },
+ "OperationCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Operation list representation."
+ },
+ "OperationContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationContractProperties",
+ "description": "Properties of the Operation Contract."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "API Operation details."
+ },
+ "OperationContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Operation Name.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "method": {
+ "type": "string",
+ "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.",
+ "externalDocs": {
+ "description": "As defined by RFC.",
+ "url": "http://www.rfc-editor.org/rfc/rfc7230.txt"
+ }
+ },
+ "urlTemplate": {
+ "type": "string",
+ "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}",
+ "minLength": 1,
+ "maxLength": 1000
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationEntityBaseContract"
+ }
+ ],
+ "required": [
+ "displayName",
+ "method",
+ "urlTemplate"
+ ],
+ "description": "Operation Contract Properties"
+ },
+ "OperationEntityBaseContract": {
+ "properties": {
+ "templateParameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of URL template parameters."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the operation. May include HTML formatting tags.",
+ "maxLength": 1000
+ },
+ "request": {
+ "$ref": "#/definitions/RequestContract",
+ "description": "An entity containing request details."
+ },
+ "responses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResponseContract"
+ },
+ "description": "Array of Operation responses."
+ },
+ "policies": {
+ "type": "string",
+ "description": "Operation Policies"
+ }
+ },
+ "description": "API Operation Entity Base Contract details."
+ },
+ "OperationResultContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationResultContractProperties",
+ "description": "Properties of the Operation Contract."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Long Running Git Operation Results."
+ },
+ "OperationResultContractProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Operation result identifier."
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of an async operation.",
+ "enum": [
+ "Started",
+ "InProgress",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "AsyncOperationStatus",
+ "modelAsString": false
+ }
+ },
+ "started": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time of an async operation. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "updated": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last update time of an async operation. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "resultInfo": {
+ "type": "string",
+ "description": "Optional result info."
+ },
+ "error": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponseBody",
+ "description": "Error Body Contract"
+ },
+ "actionLog": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationResultLogItemContract"
+ },
+ "readOnly": true,
+ "description": "This property if only provided as part of the TenantConfiguration_Validate operation. It contains the log the entities which will be updated/created/deleted as part of the TenantConfiguration_Deploy operation."
+ }
+ },
+ "description": "Operation Result."
+ },
+ "OperationResultLogItemContract": {
+ "properties": {
+ "objectType": {
+ "type": "string",
+ "description": "The type of entity contract."
+ },
+ "action": {
+ "type": "string",
+ "description": "Action like create/update/delete."
+ },
+ "objectKey": {
+ "type": "string",
+ "description": "Identifier of the entity being created/updated/deleted."
+ }
+ },
+ "description": "Log of the entity being created, updated or deleted."
+ },
+ "OperationTagResourceContractProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the operation in form /operations/{operationId}."
+ },
+ "name": {
+ "type": "string",
+ "description": "Operation name.",
+ "readOnly": true
+ },
+ "apiName": {
+ "type": "string",
+ "description": "API Name.",
+ "readOnly": true
+ },
+ "apiRevision": {
+ "type": "string",
+ "description": "API Revision.",
+ "readOnly": true
+ },
+ "apiVersion": {
+ "type": "string",
+ "description": "API Version.",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Operation Description.",
+ "readOnly": true
+ },
+ "method": {
+ "type": "string",
+ "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.",
+ "externalDocs": {
+ "description": "As defined by RFC.",
+ "url": "http://www.rfc-editor.org/rfc/rfc7230.txt"
+ },
+ "readOnly": true
+ },
+ "urlTemplate": {
+ "type": "string",
+ "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}",
+ "readOnly": true
+ }
+ },
+ "description": "Operation Entity contract Properties."
+ },
+ "OperationUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationUpdateContractProperties",
+ "description": "Properties of the API Operation entity that can be updated."
+ }
+ },
+ "description": "API Operation Update Contract details."
+ },
+ "OperationUpdateContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Operation Name.",
+ "minLength": 1,
+ "maxLength": 300
+ },
+ "method": {
+ "type": "string",
+ "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.",
+ "externalDocs": {
+ "description": "As defined by RFC.",
+ "url": "http://www.rfc-editor.org/rfc/rfc7230.txt"
+ }
+ },
+ "urlTemplate": {
+ "type": "string",
+ "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}",
+ "minLength": 1,
+ "maxLength": 1000
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationEntityBaseContract"
+ }
+ ],
+ "description": "Operation Update Contract Properties."
+ },
+ "ParameterContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Parameter name."
+ },
+ "description": {
+ "type": "string",
+ "description": "Parameter description."
+ },
+ "type": {
+ "type": "string",
+ "description": "Parameter type."
+ },
+ "defaultValue": {
+ "type": "string",
+ "description": "Default parameter value."
+ },
+ "required": {
+ "type": "boolean",
+ "description": "Specifies whether parameter is required or not."
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Parameter values."
+ },
+ "schemaId": {
+ "type": "string",
+ "description": "Schema identifier."
+ },
+ "typeName": {
+ "type": "string",
+ "description": "Type name defined by the schema."
+ },
+ "examples": {
+ "$ref": "#/definitions/ParameterExamplesContract",
+ "description": "Exampled defined for the parameter."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "Operation parameters details."
+ },
+ "ParameterExamplesContract": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ParameterExampleContract",
+ "description": "Parameter example."
+ },
+ "description": "Parameter examples."
+ },
+ "ParameterExampleContract": {
+ "description": "Parameter example.",
+ "properties": {
+ "summary": {
+ "type": "string",
+ "description": "Short description for the example"
+ },
+ "description": {
+ "type": "string",
+ "description": "Long description for the example"
+ },
+ "value": {
+ "description": "Example value. May be a primitive value, or an object."
+ },
+ "externalValue": {
+ "type": "string",
+ "description": "A URL that points to the literal example"
+ }
+ }
+ },
+ "PipelineDiagnosticSettings": {
+ "properties": {
+ "request": {
+ "$ref": "#/definitions/HttpMessageDiagnostic",
+ "description": "Diagnostic settings for request."
+ },
+ "response": {
+ "$ref": "#/definitions/HttpMessageDiagnostic",
+ "description": "Diagnostic settings for response."
+ }
+ },
+ "description": "Diagnostic settings for incoming/outgoing HTTP messages to the Gateway."
+ },
+ "PolicyCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyContract"
+ },
+ "description": "Policy Contract value."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "The response of the list policy operation."
+ },
+ "PolicyContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PolicyContractProperties",
+ "description": "Properties of the Policy."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Policy Contract details."
+ },
+ "PolicyContractProperties": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Contents of the Policy as defined by the format."
+ },
+ "format": {
+ "type": "string",
+ "description": "Format of the policyContent.",
+ "enum": [
+ "xml",
+ "xml-link",
+ "rawxml",
+ "rawxml-link"
+ ],
+ "x-ms-enum": {
+ "name": "PolicyContentFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "xml",
+ "description": "The contents are inline and Content type is an XML document."
+ },
+ {
+ "value": "xml-link",
+ "description": "The policy XML document is hosted on a http endpoint accessible from the API Management service."
+ },
+ {
+ "value": "rawxml",
+ "description": "The contents are inline and Content type is a non XML encoded policy document."
+ },
+ {
+ "value": "rawxml-link",
+ "description": "The policy document is not Xml encoded and is hosted on a http endpoint accessible from the API Management service."
+ }
+ ]
+ },
+ "default": "xml"
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "Policy contract Properties."
+ },
+ "PolicyDescriptionContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PolicyDescriptionContractProperties",
+ "description": "Policy description contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Policy description details."
+ },
+ "PolicyDescriptionContractProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Policy description.",
+ "readOnly": true
+ },
+ "scope": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Binary OR value of the Snippet scope.",
+ "readOnly": true
+ }
+ },
+ "description": "Policy description properties."
+ },
+ "PolicyDescriptionCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PolicyDescriptionContract"
+ },
+ "description": "Descriptions of APIM policies."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number."
+ }
+ },
+ "description": "Descriptions of APIM policies."
+ },
+ "PortalDelegationSettings": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PortalDelegationSettingsProperties",
+ "description": "Delegation settings contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Delegation settings for a developer portal."
+ },
+ "PortalDelegationSettingsProperties": {
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "A delegation Url."
+ },
+ "validationKey": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "A base64-encoded validation key to validate, that a request is coming from Azure API Management."
+ },
+ "subscriptions": {
+ "$ref": "#/definitions/SubscriptionsDelegationSettingsProperties",
+ "description": "Subscriptions delegation settings."
+ },
+ "userRegistration": {
+ "$ref": "#/definitions/RegistrationDelegationSettingsProperties",
+ "description": "User registration delegation settings."
+ }
+ },
+ "description": "Delegation settings contract properties."
+ },
+ "PortalSettingsCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PortalSettingsContract"
+ },
+ "description": "Descriptions of APIM policies."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number."
+ }
+ },
+ "description": "Descriptions of APIM policies."
+ },
+ "PortalSettingsContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PortalSettingsContractProperties",
+ "description": "Portal Settings contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Portal Settings for the Developer Portal."
+ },
+ "PortalSettingsContractProperties": {
+ "properties": {
+ "url": {
+ "type": "string",
+ "description": "A delegation Url."
+ },
+ "validationKey": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "A base64-encoded validation key to validate, that a request is coming from Azure API Management."
+ },
+ "subscriptions": {
+ "$ref": "#/definitions/SubscriptionsDelegationSettingsProperties",
+ "description": "Subscriptions delegation settings."
+ },
+ "userRegistration": {
+ "$ref": "#/definitions/RegistrationDelegationSettingsProperties",
+ "description": "User registration delegation settings."
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Redirect Anonymous users to the Sign-In page."
+ },
+ "termsOfService": {
+ "type": "object",
+ "$ref": "#/definitions/TermsOfServiceProperties",
+ "description": "Terms of service contract properties."
+ }
+ },
+ "description": "Sign-in settings contract properties."
+ },
+ "PortalSigninSettingProperties": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Redirect Anonymous users to the Sign-In page."
+ }
+ },
+ "description": "Sign-in settings contract properties."
+ },
+ "PortalSigninSettings": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PortalSigninSettingProperties",
+ "description": "Sign-in settings contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Sign-In settings for the Developer Portal."
+ },
+ "PortalSignupSettings": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PortalSignupSettingsProperties",
+ "description": "Sign-up settings contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Sign-Up settings for a developer portal."
+ },
+ "PortalSignupSettingsProperties": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Allow users to sign up on a developer portal."
+ },
+ "termsOfService": {
+ "type": "object",
+ "$ref": "#/definitions/TermsOfServiceProperties",
+ "description": "Terms of service contract properties."
+ }
+ },
+ "description": "Sign-up settings contract properties."
+ },
+ "ProductCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProductContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Products list representation."
+ },
+ "ProductContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ProductContractProperties",
+ "description": "Product entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Product details."
+ },
+ "ProductContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Product name.",
+ "minLength": 1,
+ "maxLength": 300
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProductEntityBaseParameters"
+ }
+ ],
+ "required": [
+ "displayName"
+ ],
+ "description": "Product profile."
+ },
+ "ProductEntityBaseParameters": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Product description. May include HTML formatting tags.",
+ "minLength": 0,
+ "maxLength": 1000
+ },
+ "terms": {
+ "type": "string",
+ "description": "Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process."
+ },
+ "subscriptionRequired": {
+ "description": "Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as \"protected\" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as \"open\" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true.",
+ "type": "boolean"
+ },
+ "approvalRequired": {
+ "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.",
+ "type": "boolean"
+ },
+ "subscriptionsLimit": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false."
+ },
+ "state": {
+ "type": "string",
+ "description": "whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished.",
+ "enum": [
+ "notPublished",
+ "published"
+ ],
+ "x-ms-enum": {
+ "name": "ProductState",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Product Entity Base Parameters"
+ },
+ "ProductTagResourceContractProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Identifier of the product in the form of /products/{productId}"
+ },
+ "name": {
+ "type": "string",
+ "description": "Product name.",
+ "minLength": 1,
+ "maxLength": 300
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./definitions.json#/definitions/ProductEntityBaseParameters"
+ }
+ ],
+ "required": [
+ "name"
+ ],
+ "description": "Product profile."
+ },
+ "ProductUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ProductUpdateProperties",
+ "description": "Product entity Update contract properties."
+ }
+ },
+ "description": "Product Update parameters."
+ },
+ "ProductUpdateProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Product name.",
+ "maxLength": 300,
+ "minLength": 1
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProductEntityBaseParameters"
+ }
+ ],
+ "description": "Parameters supplied to the Update Product operation."
+ },
+ "NamedValueCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NamedValueContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged NamedValue list representation."
+ },
+ "NamedValueCreateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NamedValueCreateContractProperties",
+ "description": "NamedValue entity contract properties for PUT operation."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "NamedValue details."
+ },
+ "NamedValueCreateContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[A-Za-z0-9-._]+$"
+ },
+ "value": {
+ "type": "string",
+ "description": "Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.",
+ "maxLength": 4096
+ },
+ "keyVault": {
+ "$ref": "#/definitions/KeyVaultContractCreateProperties",
+ "description": "KeyVault location details of the namedValue."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/NamedValueEntityBaseParameters"
+ }
+ ],
+ "required": [
+ "displayName"
+ ],
+ "description": "NamedValue Contract properties."
+ },
+ "NamedValueContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NamedValueContractProperties",
+ "description": "NamedValue entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "NamedValue details."
+ },
+ "NamedValueContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[A-Za-z0-9-._]+$"
+ },
+ "value": {
+ "type": "string",
+ "description": "Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.",
+ "maxLength": 4096
+ },
+ "keyVault": {
+ "$ref": "#/definitions/KeyVaultContractProperties",
+ "description": "KeyVault location details of the namedValue."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/NamedValueEntityBaseParameters"
+ }
+ ],
+ "required": [
+ "displayName"
+ ],
+ "description": "NamedValue Contract properties."
+ },
+ "NamedValueEntityBaseParameters": {
+ "properties": {
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 32,
+ "description": "Optional tags that when provided can be used to filter the NamedValue list."
+ },
+ "secret": {
+ "description": "Determines whether the value is a secret and should be encrypted or not. Default value is false.",
+ "type": "boolean"
+ }
+ },
+ "description": "NamedValue Entity Base Parameters set."
+ },
+ "NamedValueUpdateParameterProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Unique name of NamedValue. It may contain only letters, digits, period, dash, and underscore characters.",
+ "minLength": 1,
+ "maxLength": 256,
+ "pattern": "^[A-Za-z0-9-._]+$"
+ },
+ "value": {
+ "type": "string",
+ "description": "Value of the NamedValue. Can contain policy expressions. It may not be empty or consist only of whitespace.",
+ "minLength": 1,
+ "maxLength": 4096
+ },
+ "keyVault": {
+ "$ref": "#/definitions/KeyVaultContractCreateProperties",
+ "description": "KeyVault location details of the namedValue."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/NamedValueEntityBaseParameters"
+ }
+ ],
+ "description": "NamedValue Contract properties."
+ },
+ "NamedValueUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NamedValueUpdateParameterProperties",
+ "description": "NamedValue entity Update contract properties."
+ }
+ },
+ "description": "NamedValue update Parameters."
+ },
+ "QuotaCounterCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QuotaCounterContract"
+ },
+ "description": "Quota counter values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Quota Counter list representation."
+ },
+ "QuotaCounterContract": {
+ "properties": {
+ "counterKey": {
+ "type": "string",
+ "description": "The Key value of the Counter. Must not be empty.",
+ "minLength": 1
+ },
+ "periodKey": {
+ "type": "string",
+ "description": "Identifier of the Period for which the counter was collected. Must not be empty.",
+ "minLength": 1
+ },
+ "periodStartTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date of the start of Counter Period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "periodEndTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date of the end of Counter Period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "value": {
+ "$ref": "#/definitions/QuotaCounterValueContractProperties",
+ "description": "Quota Value Properties"
+ }
+ },
+ "required": [
+ "counterKey",
+ "periodKey",
+ "periodStartTime",
+ "periodEndTime"
+ ],
+ "description": "Quota counter details."
+ },
+ "QuotaCounterValueContract": {
+ "properties": {
+ "value": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/QuotaCounterValueContractProperties",
+ "description": "Quota counter Value Properties."
+ }
+ },
+ "description": "Quota counter value details."
+ },
+ "QuotaCounterValueContractProperties": {
+ "properties": {
+ "callsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of times Counter was called."
+ },
+ "kbTransferred": {
+ "type": "number",
+ "format": "double",
+ "description": "Data Transferred in KiloBytes."
+ }
+ },
+ "description": "Quota counter value details."
+ },
+ "QuotaCounterValueUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/QuotaCounterValueContractProperties",
+ "description": "Quota counter value details."
+ }
+ },
+ "description": "Quota counter value details."
+ },
+ "RecipientEmailCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecipientEmailContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Recipient User list representation."
+ },
+ "RecipientEmailContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RecipientEmailContractProperties",
+ "description": "Recipient Email contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Recipient Email details."
+ },
+ "RecipientEmailContractProperties": {
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "User Email subscribed to notification."
+ }
+ },
+ "description": "Recipient Email Contract Properties."
+ },
+ "RecipientsContractProperties": {
+ "properties": {
+ "emails": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of Emails subscribed for the notification."
+ },
+ "users": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of Users subscribed for the notification."
+ }
+ },
+ "description": "Notification Parameter contract."
+ },
+ "RecipientUserCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RecipientUserContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Recipient User list representation."
+ },
+ "RecipientUserContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RecipientUsersContractProperties",
+ "description": "Recipient User entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Recipient User details."
+ },
+ "RecipientUsersContractProperties": {
+ "properties": {
+ "userId": {
+ "type": "string",
+ "description": "API Management UserId subscribed to notification."
+ }
+ },
+ "description": "Recipient User Contract Properties."
+ },
+ "RegistrationDelegationSettingsProperties": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Enable or disable delegation for user registration."
+ }
+ },
+ "description": "User registration delegation settings properties."
+ },
+ "ReportCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportRecordContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Report records list representation."
+ },
+ "ReportRecordContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name depending on report endpoint specifies product, API, operation or developer name."
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start of aggregation period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "interval": {
+ "type": "string",
+ "description": "Length of aggregation period. Interval must be multiple of 15 minutes and may not be zero. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations)."
+ },
+ "country": {
+ "type": "string",
+ "description": "Country to which this record data is related."
+ },
+ "region": {
+ "type": "string",
+ "description": "Country region to which this record data is related."
+ },
+ "zip": {
+ "type": "string",
+ "description": "Zip code to which this record data is related."
+ },
+ "userId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "User identifier path. /users/{userId}"
+ },
+ "productId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Product identifier path. /products/{productId}"
+ },
+ "apiId": {
+ "type": "string",
+ "description": "API identifier path. /apis/{apiId}"
+ },
+ "operationId": {
+ "type": "string",
+ "description": "Operation identifier path. /apis/{apiId}/operations/{operationId}"
+ },
+ "apiRegion": {
+ "type": "string",
+ "description": "API region identifier."
+ },
+ "subscriptionId": {
+ "type": "string",
+ "description": "Subscription identifier path. /subscriptions/{subscriptionId}"
+ },
+ "callCountSuccess": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of successful calls. This includes calls returning HttpStatusCode <= 301 and HttpStatusCode.NotModified and HttpStatusCode.TemporaryRedirect"
+ },
+ "callCountBlocked": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of calls blocked due to invalid credentials. This includes calls returning HttpStatusCode.Unauthorized and HttpStatusCode.Forbidden and HttpStatusCode.TooManyRequests"
+ },
+ "callCountFailed": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of calls failed due to proxy or backend errors. This includes calls returning HttpStatusCode.BadRequest(400) and any Code between HttpStatusCode.InternalServerError (500) and 600"
+ },
+ "callCountOther": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of other calls."
+ },
+ "callCountTotal": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Total number of calls."
+ },
+ "bandwidth": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Bandwidth consumed."
+ },
+ "cacheHitCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of times when content was served from cache policy."
+ },
+ "cacheMissCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of times content was fetched from backend."
+ },
+ "apiTimeAvg": {
+ "type": "number",
+ "format": "double",
+ "description": "Average time it took to process request."
+ },
+ "apiTimeMin": {
+ "type": "number",
+ "format": "double",
+ "description": "Minimum time it took to process request."
+ },
+ "apiTimeMax": {
+ "type": "number",
+ "format": "double",
+ "description": "Maximum time it took to process request."
+ },
+ "serviceTimeAvg": {
+ "type": "number",
+ "format": "double",
+ "description": "Average time it took to process request on backend."
+ },
+ "serviceTimeMin": {
+ "type": "number",
+ "format": "double",
+ "description": "Minimum time it took to process request on backend."
+ },
+ "serviceTimeMax": {
+ "type": "number",
+ "format": "double",
+ "description": "Maximum time it took to process request on backend."
+ }
+ },
+ "description": "Report data."
+ },
+ "RepresentationContract": {
+ "properties": {
+ "contentType": {
+ "type": "string",
+ "description": "Specifies a registered or custom content type for this representation, e.g. application/xml."
+ },
+ "schemaId": {
+ "type": "string",
+ "description": "Schema identifier. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'."
+ },
+ "typeName": {
+ "type": "string",
+ "description": "Type name defined by the schema. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'."
+ },
+ "formParameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of form parameters. Required if 'contentType' value is either 'application/x-www-form-urlencoded' or 'multipart/form-data'.."
+ },
+ "examples": {
+ "$ref": "#/definitions/ParameterExamplesContract",
+ "description": "Exampled defined for the representation."
+ }
+ },
+ "required": [
+ "contentType"
+ ],
+ "description": "Operation request/response representation details."
+ },
+ "RequestContract": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Operation request description."
+ },
+ "queryParameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of operation request query parameters."
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of operation request headers."
+ },
+ "representations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RepresentationContract"
+ },
+ "description": "Collection of operation request representations."
+ }
+ },
+ "description": "Operation request details."
+ },
+ "RequestReportCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RequestReportRecordContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ }
+ },
+ "description": "Paged Report records list representation."
+ },
+ "RequestReportRecordContract": {
+ "properties": {
+ "apiId": {
+ "type": "string",
+ "description": "API identifier path. /apis/{apiId}"
+ },
+ "operationId": {
+ "type": "string",
+ "description": "Operation identifier path. /apis/{apiId}/operations/{operationId}"
+ },
+ "productId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Product identifier path. /products/{productId}"
+ },
+ "userId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "User identifier path. /users/{userId}"
+ },
+ "method": {
+ "type": "string",
+ "description": "The HTTP method associated with this request.."
+ },
+ "url": {
+ "type": "string",
+ "description": "The full URL associated with this request."
+ },
+ "ipAddress": {
+ "type": "string",
+ "description": "The client IP address associated with this request."
+ },
+ "backendResponseCode": {
+ "type": "string",
+ "description": "The HTTP status code received by the gateway as a result of forwarding this request to the backend."
+ },
+ "responseCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The HTTP status code returned by the gateway."
+ },
+ "responseSize": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The size of the response returned by the gateway."
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date and time when this request was received by the gateway in ISO 8601 format."
+ },
+ "cache": {
+ "type": "string",
+ "description": "Specifies if response cache was involved in generating the response. If the value is none, the cache was not used. If the value is hit, cached response was returned. If the value is miss, the cache was used but lookup resulted in a miss and request was fulfilled by the backend."
+ },
+ "apiTime": {
+ "type": "number",
+ "format": "double",
+ "description": "The total time it took to process this request."
+ },
+ "serviceTime": {
+ "type": "number",
+ "format": "double",
+ "description": "he time it took to forward this request to the backend and get the response back."
+ },
+ "apiRegion": {
+ "type": "string",
+ "description": "Azure region where the gateway that processed this request is located."
+ },
+ "subscriptionId": {
+ "type": "string",
+ "description": "Subscription identifier path. /subscriptions/{subscriptionId}"
+ },
+ "requestId": {
+ "type": "string",
+ "description": "Request Identifier."
+ },
+ "requestSize": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The size of this request.."
+ }
+ },
+ "description": "Request Report data."
+ },
+ "ResponseContract": {
+ "properties": {
+ "statusCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Operation response HTTP status code."
+ },
+ "description": {
+ "type": "string",
+ "description": "Operation response description."
+ },
+ "representations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RepresentationContract"
+ },
+ "description": "Collection of operation response representations."
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ParameterContract"
+ },
+ "description": "Collection of operation response headers."
+ }
+ },
+ "required": [
+ "statusCode"
+ ],
+ "description": "Operation response details."
+ },
+ "SamplingSettings": {
+ "properties": {
+ "samplingType": {
+ "type": "string",
+ "description": "Sampling type.",
+ "enum": [
+ "fixed"
+ ],
+ "x-ms-enum": {
+ "name": "SamplingType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "fixed",
+ "description": "Fixed-rate sampling."
+ }
+ ]
+ }
+ },
+ "percentage": {
+ "type": "number",
+ "format": "double",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Rate of sampling for fixed-rate sampling."
+ }
+ },
+ "description": "Sampling settings for Diagnostic."
+ },
+ "SaveConfigurationParameter": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SaveConfigurationParameterProperties",
+ "description": "Properties of the Save Configuration Parameters."
+ }
+ },
+ "description": "Save Tenant Configuration Contract details."
+ },
+ "SaveConfigurationParameterProperties": {
+ "properties": {
+ "branch": {
+ "type": "string",
+ "description": "The name of the Git branch in which to commit the current configuration snapshot."
+ },
+ "force": {
+ "type": "boolean",
+ "description": "The value if true, the current configuration database is committed to the Git repository, even if the Git repository has newer changes that would be overwritten."
+ }
+ },
+ "required": [
+ "branch"
+ ],
+ "description": "Parameters supplied to the Save Tenant Configuration operation."
+ },
+ "SchemaCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SchemaContract"
+ },
+ "description": "API Schema Contract value.",
+ "readOnly": true
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "The response of the list schema operation."
+ },
+ "SchemaContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SchemaContractProperties",
+ "description": "Properties of the Schema."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Schema Contract details."
+ },
+ "SchemaContractProperties": {
+ "properties": {
+ "contentType": {
+ "type": "string",
+ "description": "Must be a valid a media type used in a Content-Type header as defined in the RFC 2616. Media type of the schema document (e.g. application/json, application/xml). - `Swagger` Schema use `application/vnd.ms-azure-apim.swagger.definitions+json` - `WSDL` Schema use `application/vnd.ms-azure-apim.xsd+xml` - `OpenApi` Schema use `application/vnd.oai.openapi.components+json` - `WADL Schema` use `application/vnd.ms-azure-apim.wadl.grammars+xml`."
+ },
+ "document": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SchemaDocumentProperties",
+ "description": "Create or update Properties of the Schema Document."
+ }
+ },
+ "required": [
+ "contentType"
+ ],
+ "description": "API Schema create or update contract Properties."
+ },
+ "SchemaDocumentProperties": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Json escaped string defining the document representing the Schema. Used for schemas other than Swagger/OpenAPI."
+ },
+ "definitions": {
+ "type": "object",
+ "description": "Types definitions. Used for OpenAPI v2 (Swagger) schemas only, null otherwise."
+ },
+ "components": {
+ "type": "object",
+ "description": "Types definitions. Used for OpenAPI v3 schemas only, null otherwise."
+ }
+ },
+ "description": "Schema Document Properties."
+ },
+ "SubscriptionCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubscriptionContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Subscriptions list representation."
+ },
+ "SubscriptionContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SubscriptionContractProperties",
+ "description": "Subscription contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Subscription details."
+ },
+ "SubscriptionContractProperties": {
+ "properties": {
+ "ownerId": {
+ "type": "string",
+ "description": "The user resource identifier of the subscription owner. The value is a valid relative URL in the format of /users/{userId} where {userId} is a user identifier."
+ },
+ "scope": {
+ "type": "string",
+ "description": "Scope like /products/{productId} or /apis or /apis/{apiId}."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "The name of the subscription, or null if the subscription has no name.",
+ "minLength": 0,
+ "maxLength": 100
+ },
+ "state": {
+ "type": "string",
+ "description": "Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.",
+ "enum": [
+ "suspended",
+ "active",
+ "expired",
+ "submitted",
+ "rejected",
+ "cancelled"
+ ],
+ "x-ms-enum": {
+ "name": "SubscriptionState",
+ "modelAsString": false
+ }
+ },
+ "createdDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Subscription creation date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n",
+ "readOnly": true
+ },
+ "startDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Subscription activation date. The setting is for audit purposes only and the subscription is not automatically activated. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "expirationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Subscription expiration date. The setting is for audit purposes only and the subscription is not automatically expired. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "endDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date when subscription was cancelled or expired. The setting is for audit purposes only and the subscription is not automatically cancelled. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "notificationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Upcoming subscription expiration notification date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "primaryKey": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Subscription primary key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "secondaryKey": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Subscription secondary key. This property will not be filled on 'GET' operations! Use '/listSecrets' POST request to get the value.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "stateComment": {
+ "type": "string",
+ "description": "Optional subscription comment added by an administrator when the state is changed to the 'rejected'."
+ },
+ "allowTracing": {
+ "type": "boolean",
+ "description": "Determines whether tracing is enabled",
+ "x-apim-code-nillable": true
+ }
+ },
+ "required": [
+ "scope",
+ "state"
+ ],
+ "description": "Subscription details."
+ },
+ "SubscriptionCreateParameterProperties": {
+ "properties": {
+ "ownerId": {
+ "type": "string",
+ "description": "User (user id path) for whom subscription is being created in form /users/{userId}"
+ },
+ "scope": {
+ "type": "string",
+ "description": "Scope like /products/{productId} or /apis or /apis/{apiId}."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Subscription name.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "primaryKey": {
+ "type": "string",
+ "description": "Primary subscription key. If not specified during request key will be generated automatically.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "secondaryKey": {
+ "type": "string",
+ "description": "Secondary subscription key. If not specified during request key will be generated automatically.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "state": {
+ "type": "string",
+ "description": "Initial subscription state. If no value is specified, subscription is created with Submitted state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.",
+ "enum": [
+ "suspended",
+ "active",
+ "expired",
+ "submitted",
+ "rejected",
+ "cancelled"
+ ],
+ "x-ms-enum": {
+ "name": "SubscriptionState",
+ "modelAsString": false
+ }
+ },
+ "allowTracing": {
+ "type": "boolean",
+ "description": "Determines whether tracing can be enabled"
+ }
+ },
+ "required": [
+ "scope",
+ "displayName"
+ ],
+ "description": "Parameters supplied to the Create subscription operation."
+ },
+ "SubscriptionCreateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SubscriptionCreateParameterProperties",
+ "description": "Subscription contract properties."
+ }
+ },
+ "description": "Subscription create details."
+ },
+ "SubscriptionKeyParameterNamesContract": {
+ "properties": {
+ "header": {
+ "type": "string",
+ "description": "Subscription key header name."
+ },
+ "query": {
+ "type": "string",
+ "description": "Subscription key query string parameter name."
+ }
+ },
+ "description": "Subscription key parameter names details.",
+ "example": {
+ "subscriptionKeyParameterNames": {
+ "query": "customQueryParameterName",
+ "header": "customHeaderParameterName"
+ }
+ }
+ },
+ "SubscriptionsDelegationSettingsProperties": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Enable or disable delegation for subscriptions."
+ }
+ },
+ "description": "Subscriptions delegation settings properties."
+ },
+ "SubscriptionUpdateParameterProperties": {
+ "properties": {
+ "ownerId": {
+ "type": "string",
+ "description": "User identifier path: /users/{userId}"
+ },
+ "scope": {
+ "type": "string",
+ "description": "Scope like /products/{productId} or /apis or /apis/{apiId}"
+ },
+ "expirationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Subscription expiration date. The setting is for audit purposes only and the subscription is not automatically expired. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Subscription name."
+ },
+ "primaryKey": {
+ "type": "string",
+ "description": "Primary subscription key.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "secondaryKey": {
+ "type": "string",
+ "description": "Secondary subscription key.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "state": {
+ "type": "string",
+ "description": "Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.",
+ "enum": [
+ "suspended",
+ "active",
+ "expired",
+ "submitted",
+ "rejected",
+ "cancelled"
+ ],
+ "x-ms-enum": {
+ "name": "SubscriptionState",
+ "modelAsString": false
+ }
+ },
+ "stateComment": {
+ "type": "string",
+ "description": "Comments describing subscription state change by the administrator when the state is changed to the 'rejected'."
+ },
+ "allowTracing": {
+ "type": "boolean",
+ "description": "Determines whether tracing can be enabled"
+ }
+ },
+ "description": "Parameters supplied to the Update subscription operation."
+ },
+ "SubscriptionUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SubscriptionUpdateParameterProperties",
+ "description": "Subscription Update contract properties."
+ }
+ },
+ "description": "Subscription update details."
+ },
+ "TagCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Tag list representation."
+ },
+ "TagContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TagContractProperties",
+ "description": "Tag entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Tag Contract details."
+ },
+ "TagContractProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Tag name.",
+ "maxLength": 160,
+ "minLength": 1
+ }
+ },
+ "required": [
+ "displayName"
+ ],
+ "description": "Tag contract Properties."
+ },
+ "TagCreateUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TagContractProperties",
+ "description": "Properties supplied to Create Tag operation."
+ }
+ },
+ "description": "Parameters supplied to Create/Update Tag operations."
+ },
+ "TagDescriptionBaseProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of the Tag."
+ },
+ "externalDocsUrl": {
+ "type": "string",
+ "description": "Absolute URL of external resources describing the tag.",
+ "maxLength": 2000
+ },
+ "externalDocsDescription": {
+ "type": "string",
+ "description": "Description of the external resources describing the tag."
+ }
+ },
+ "description": "Parameters supplied to the Create TagDescription operation."
+ },
+ "TagDescriptionCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagDescriptionContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged TagDescription list representation."
+ },
+ "TagDescriptionContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TagDescriptionContractProperties",
+ "description": "TagDescription entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Contract details."
+ },
+ "TagDescriptionContractProperties": {
+ "properties": {
+ "tagId": {
+ "type": "string",
+ "description": "Identifier of the tag in the form of /tags/{tagId}"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Tag name.",
+ "maxLength": 160,
+ "minLength": 1
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/TagDescriptionBaseProperties"
+ }
+ ],
+ "description": "TagDescription contract Properties."
+ },
+ "TagDescriptionCreateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TagDescriptionBaseProperties",
+ "description": "Properties supplied to Create TagDescription operation."
+ }
+ },
+ "description": "Parameters supplied to the Create TagDescription operation."
+ },
+ "TagResourceCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TagResourceContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Tag list representation."
+ },
+ "TagResourceContract": {
+ "properties": {
+ "tag": {
+ "$ref": "#/definitions/TagTagResourceContractProperties",
+ "description": "Tag associated with the resource."
+ },
+ "api": {
+ "$ref": "#/definitions/ApiTagResourceContractProperties",
+ "description": "API associated with the tag."
+ },
+ "operation": {
+ "$ref": "#/definitions/OperationTagResourceContractProperties",
+ "description": "Operation associated with the tag."
+ },
+ "product": {
+ "$ref": "#/definitions/ProductTagResourceContractProperties",
+ "description": "Product associated with the tag."
+ }
+ },
+ "required": [
+ "tag"
+ ],
+ "description": "TagResource contract properties."
+ },
+ "TagTagResourceContractProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Tag identifier"
+ },
+ "name": {
+ "type": "string",
+ "description": "Tag Name",
+ "minLength": 1,
+ "maxLength": 160
+ }
+ },
+ "description": "Contract defining the Tag property in the Tag Resource Contract"
+ },
+ "TenantConfigurationSyncStateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/TenantConfigurationSyncStateContractProperties",
+ "description": "Properties returned Tenant Configuration Sync State check."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Result of Tenant Configuration Sync State."
+ },
+ "TenantConfigurationSyncStateContractProperties": {
+ "properties": {
+ "branch": {
+ "type": "string",
+ "description": "The name of Git branch."
+ },
+ "commitId": {
+ "type": "string",
+ "description": "The latest commit Id."
+ },
+ "isExport": {
+ "type": "boolean",
+ "description": "value indicating if last sync was save (true) or deploy (false) operation."
+ },
+ "isSynced": {
+ "type": "boolean",
+ "description": "value indicating if last synchronization was later than the configuration change."
+ },
+ "isGitEnabled": {
+ "type": "boolean",
+ "description": "value indicating whether Git configuration access is enabled."
+ },
+ "syncDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date of the latest synchronization. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "configurationChangeDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The date of the latest configuration change. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "lastOperationId": {
+ "type": "string",
+ "description": "Most recent tenant configuration operation identifier"
+ }
+ },
+ "description": "Tenant Configuration Synchronization State."
+ },
+ "TermsOfServiceProperties": {
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "A terms of service text."
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Display terms of service during a sign-up process."
+ },
+ "consentRequired": {
+ "type": "boolean",
+ "description": "Ask user for consent to the terms of service."
+ }
+ },
+ "description": "Terms of service contract properties."
+ },
+ "TokenBodyParameterContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "body parameter name."
+ },
+ "value": {
+ "type": "string",
+ "description": "body parameter value."
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "description": "OAuth acquire token request body parameter (www-url-form-encoded)."
+ },
+ "UserCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserContract"
+ },
+ "description": "Page values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "Paged Users list representation."
+ },
+ "UserContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UserContractProperties",
+ "description": "User entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "User details."
+ },
+ "UserContractProperties": {
+ "properties": {
+ "firstName": {
+ "type": "string",
+ "description": "First name."
+ },
+ "lastName": {
+ "type": "string",
+ "description": "Last name."
+ },
+ "email": {
+ "type": "string",
+ "description": "Email address."
+ },
+ "registrationDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date of user registration. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ },
+ "groups": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./definitions.json#/definitions/GroupContractProperties"
+ },
+ "description": "Collection of groups user is part of."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserEntityBaseParameters"
+ }
+ ],
+ "description": "User profile."
+ },
+ "UserCreateParameterProperties": {
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "Email address. Must not be empty and must be unique within the service instance.",
+ "minLength": 1,
+ "maxLength": 254
+ },
+ "firstName": {
+ "type": "string",
+ "description": "First name.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "lastName": {
+ "type": "string",
+ "description": "Last name.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "password": {
+ "type": "string",
+ "description": "User Password. If no value is provided, a default password is generated."
+ },
+ "appType": {
+ "type": "string",
+ "description": "Determines the type of application which send the create user request. Default is legacy portal.",
+ "enum": [
+ "portal",
+ "developerPortal"
+ ],
+ "x-ms-enum": {
+ "name": "AppType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "portal",
+ "description": "User create request was sent by legacy developer portal."
+ },
+ {
+ "value": "developerPortal",
+ "description": "User create request was sent by new developer portal."
+ }
+ ]
+ }
+ },
+ "confirmation": {
+ "type": "string",
+ "description": "Determines the type of confirmation e-mail that will be sent to the newly created user.",
+ "enum": [
+ "signup",
+ "invite"
+ ],
+ "x-ms-enum": {
+ "name": "Confirmation",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "signup",
+ "description": "Send an e-mail to the user confirming they have successfully signed up."
+ },
+ {
+ "value": "invite",
+ "description": "Send an e-mail inviting the user to sign-up and complete registration."
+ }
+ ]
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserEntityBaseParameters"
+ }
+ ],
+ "required": [
+ "email",
+ "firstName",
+ "lastName"
+ ],
+ "description": "Parameters supplied to the Create User operation."
+ },
+ "UserCreateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UserCreateParameterProperties",
+ "description": "User entity create contract properties."
+ }
+ },
+ "description": "User create details."
+ },
+ "UserEntityBaseParameters": {
+ "properties": {
+ "state": {
+ "type": "string",
+ "description": "Account state. Specifies whether the user is active or not. Blocked users are unable to sign into the developer portal or call any APIs of subscribed products. Default state is Active.",
+ "enum": [
+ "active",
+ "blocked",
+ "pending",
+ "deleted"
+ ],
+ "default": "active",
+ "x-ms-enum": {
+ "name": "UserState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "active",
+ "description": "User state is active."
+ },
+ {
+ "value": "blocked",
+ "description": "User is blocked. Blocked users cannot authenticate at developer portal or call API."
+ },
+ {
+ "value": "pending",
+ "description": "User account is pending. Requires identity confirmation before it can be made active."
+ },
+ {
+ "value": "deleted",
+ "description": "User account is closed. All identities and related entities are removed."
+ }
+ ]
+ }
+ },
+ "note": {
+ "type": "string",
+ "description": "Optional note about a user set by the administrator."
+ },
+ "identities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserIdentityContract"
+ },
+ "description": "Collection of user identities."
+ }
+ },
+ "description": "User Entity Base Parameters set."
+ },
+ "UserIdentityCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserIdentityContract"
+ },
+ "description": "User Identity values."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any."
+ }
+ },
+ "description": "List of Users Identity list representation."
+ },
+ "UserIdentityContract": {
+ "properties": {
+ "provider": {
+ "type": "string",
+ "description": "Identity provider name."
+ },
+ "id": {
+ "type": "string",
+ "description": "Identifier value within provider."
+ }
+ },
+ "description": "User identity details."
+ },
+ "UserTokenParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UserTokenParameterProperties",
+ "description": "User Token Parameter contract properties."
+ }
+ },
+ "description": "Get User Token parameters."
+ },
+ "UserTokenParameterProperties": {
+ "properties": {
+ "keyType": {
+ "type": "string",
+ "description": "The Key to be used to generate token for user.",
+ "enum": [
+ "primary",
+ "secondary"
+ ],
+ "default": "primary",
+ "x-ms-enum": {
+ "name": "KeyType",
+ "modelAsString": false
+ }
+ },
+ "expiry": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The Expiry time of the Token. Maximum token expiry time is set to 30 days. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ }
+ },
+ "required": [
+ "keyType",
+ "expiry"
+ ],
+ "description": "Parameters supplied to the Get User Token operation."
+ },
+ "UserTokenResult": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Shared Access Authorization token for the User."
+ }
+ },
+ "description": "Get User Token response details."
+ },
+ "UserUpdateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/UserUpdateParametersProperties",
+ "description": "User entity update contract properties."
+ }
+ },
+ "description": "User update parameters."
+ },
+ "UserUpdateParametersProperties": {
+ "properties": {
+ "email": {
+ "type": "string",
+ "description": "Email address. Must not be empty and must be unique within the service instance.",
+ "minLength": 1,
+ "maxLength": 254
+ },
+ "password": {
+ "type": "string",
+ "description": "User Password."
+ },
+ "firstName": {
+ "type": "string",
+ "description": "First name.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "lastName": {
+ "type": "string",
+ "description": "Last name.",
+ "minLength": 1,
+ "maxLength": 100
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserEntityBaseParameters"
+ }
+ ],
+ "description": "Parameters supplied to the Update User operation."
+ },
+ "X509CertificateName": {
+ "properties": {
+ "name": {
+ "description": "Common Name of the Certificate.",
+ "type": "string"
+ },
+ "issuerCertificateThumbprint": {
+ "description": "Thumbprint for the Issuer of the Certificate.",
+ "type": "string"
+ }
+ },
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-windows-cluster-x509-security"
+ },
+ "description": "Properties of server X509Names."
+ },
+ "ClientSecretContract": {
+ "properties": {
+ "clientSecret": {
+ "type": "string",
+ "description": "Client or app secret used in IdentityProviders, Aad, OpenID or OAuth."
+ }
+ },
+ "description": "Client or app secret used in IdentityProviders, Aad, OpenID or OAuth."
+ },
+ "NamedValueSecretContract": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "This is secret value of the NamedValue entity."
+ }
+ },
+ "description": "Client or app secret used in IdentityProviders, Aad, OpenID or OAuth."
+ },
+ "PortalSettingValidationKeyContract": {
+ "properties": {
+ "validationKey": {
+ "type": "string",
+ "description": "This is secret value of the validation key in portal settings."
+ }
+ },
+ "description": "Client or app secret used in IdentityProviders, Aad, OpenID or OAuth."
+ },
+ "SubscriptionKeysContract": {
+ "properties": {
+ "primaryKey": {
+ "type": "string",
+ "description": "Subscription primary key.",
+ "minLength": 1,
+ "maxLength": 256
+ },
+ "secondaryKey": {
+ "type": "string",
+ "description": "Subscription secondary key.",
+ "minLength": 1,
+ "maxLength": 256
+ }
+ },
+ "description": "Subscription keys."
+ },
+ "GatewayCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GatewayContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "count": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Total record count number across all pages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Gateway list representation."
+ },
+ "GatewayContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GatewayContractProperties",
+ "description": "Gateway details."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Gateway details."
+ },
+ "GatewayContractProperties": {
+ "properties": {
+ "locationData": {
+ "$ref": "#/definitions/ResourceLocationDataContract",
+ "description": "Gateway location."
+ },
+ "description": {
+ "type": "string",
+ "description": "Gateway description",
+ "maxLength": 1000
+ }
+ },
+ "description": "Properties of the Gateway contract."
+ },
+ "ResourceLocationDataContract": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "A canonical name for the geographic or physical location.",
+ "maxLength": 256
+ },
+ "city": {
+ "type": "string",
+ "description": "The city or locality where the resource is located.",
+ "maxLength": 256
+ },
+ "district": {
+ "type": "string",
+ "description": "The district, state, or province where the resource is located.",
+ "maxLength": 256
+ },
+ "countryOrRegion": {
+ "type": "string",
+ "description": "The country or region where the resource is located.",
+ "maxLength": 256
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Resource location data properties."
+ },
+ "GatewayKeysContract": {
+ "properties": {
+ "primary": {
+ "type": "string",
+ "description": "Primary gateway key."
+ },
+ "secondary": {
+ "type": "string",
+ "description": "Secondary gateway key."
+ }
+ },
+ "description": "Gateway authentication keys."
+ },
+ "GatewayTokenRequestContract": {
+ "properties": {
+ "keyType": {
+ "type": "string",
+ "description": "The Key to be used to generate gateway token.",
+ "enum": [
+ "primary",
+ "secondary"
+ ],
+ "default": "primary",
+ "x-ms-enum": {
+ "name": "KeyType",
+ "modelAsString": false
+ }
+ },
+ "expiry": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The Expiry time of the Token. Maximum token expiry time is set to 30 days. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n"
+ }
+ },
+ "required": [
+ "keyType",
+ "expiry"
+ ],
+ "description": "Gateway token request contract properties."
+ },
+ "GatewayTokenContract": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "Shared Access Authentication token value for the Gateway."
+ }
+ },
+ "description": "Gateway access token."
+ },
+ "GatewayKeyRegenerationRequestContract": {
+ "properties": {
+ "keyType": {
+ "type": "string",
+ "description": "The Key being regenerated.",
+ "enum": [
+ "primary",
+ "secondary"
+ ],
+ "x-ms-enum": {
+ "name": "KeyType",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "keyType"
+ ],
+ "description": "Gateway key regeneration request contract properties."
+ },
+ "GatewayHostnameConfigurationCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GatewayHostnameConfigurationContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Gateway hostname configuration list representation."
+ },
+ "GatewayHostnameConfigurationContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GatewayHostnameConfigurationContractProperties",
+ "description": "Gateway hostname configuration details."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Gateway hostname configuration details."
+ },
+ "GatewayHostnameConfigurationContractProperties": {
+ "properties": {
+ "hostname": {
+ "type": "string",
+ "description": "Hostname value. Supports valid domain name, partial or full wildcard"
+ },
+ "certificateId": {
+ "type": "string",
+ "description": "Identifier of Certificate entity that will be used for TLS connection establishment"
+ },
+ "negotiateClientCertificate": {
+ "type": "boolean",
+ "description": "Determines whether gateway requests client certificate"
+ },
+ "tls10Enabled": {
+ "type": "boolean",
+ "description": "Specifies if TLS 1.0 is supported"
+ },
+ "tls11Enabled": {
+ "type": "boolean",
+ "description": "Specifies if TLS 1.1 is supported"
+ },
+ "http2Enabled": {
+ "type": "boolean",
+ "description": "Specifies if HTTP/2.0 is supported"
+ }
+ },
+ "description": "Gateway hostname configuration details."
+ },
+ "GatewayCertificateAuthorityCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GatewayCertificateAuthorityContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged Gateway certificate authority list representation."
+ },
+ "GatewayCertificateAuthorityContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/GatewayCertificateAuthorityContractProperties",
+ "description": "Gateway certificate authority details."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Gateway certificate authority details."
+ },
+ "GatewayCertificateAuthorityContractProperties": {
+ "properties": {
+ "isTrusted": {
+ "type": "boolean",
+ "description": "Determines whether certificate authority is trusted."
+ }
+ },
+ "description": "Gateway certificate authority details."
+ },
+ "AssociationContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state.",
+ "enum": [
+ "created"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Association entity contract properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Association entity details."
+ },
+ "ContentTypeCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContentTypeContract"
+ },
+ "description": "Collection of content types.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link, if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged list of content types."
+ },
+ "ContentTypeContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ContentTypeContractProperties",
+ "description": "Properties of the content type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Content type contract details."
+ },
+ "ContentTypeContractProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Content type identifier"
+ },
+ "name": {
+ "type": "string",
+ "description": "Content type name. Must be 1 to 250 characters long."
+ },
+ "description": {
+ "type": "string",
+ "description": "Content type description."
+ },
+ "schema": {
+ "type": "object",
+ "description": "Content type schema."
+ },
+ "version": {
+ "type": "string",
+ "description": "Content type version."
+ }
+ }
+ },
+ "ContentItemCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContentItemContract"
+ },
+ "description": "Collection of content items.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link, if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged list of content items."
+ },
+ "ContentItemContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ContentItemContractProperties",
+ "description": "Properties of the content item."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Content type contract details."
+ },
+ "ContentItemContractProperties": {
+ "properties": {},
+ "additionalProperties": true
+ },
+ "DeletedServicesCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeletedServiceContract"
+ },
+ "description": "Page values.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged deleted API Management Services List Representation."
+ },
+ "DeletedServiceContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DeletedServiceContractProperties",
+ "description": "Deleted API Management Service details."
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "API Management Service Master Location."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Deleted API Management Service information."
+ },
+ "DeletedServiceContractProperties": {
+ "properties": {
+ "serviceId": {
+ "type": "string",
+ "description": "Fully-qualified API Management Service Resource ID"
+ },
+ "scheduledPurgeDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "UTC Date and Time when the service will be automatically purged. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard."
+ },
+ "deletionDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "UTC Timestamp when the service was soft-deleted. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard."
+ }
+ }
+ },
+ "PortalRevisionCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PortalRevisionContract"
+ },
+ "description": "Collection of portal revisions.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link, if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged list of portal revisions."
+ },
+ "PortalRevisionContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PortalRevisionContractProperties",
+ "description": "Properties of the portal revisions."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Portal Revision's contract details."
+ },
+ "PortalRevisionContractProperties": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Portal revision description.",
+ "maxLength": 2000
+ },
+ "statusDetails": {
+ "type": "string",
+ "description": "Portal revision publishing status details.",
+ "maxLength": 2000,
+ "readOnly": true
+ },
+ "status": {
+ "type": "string",
+ "description": "Status of the portal's revision.",
+ "enum": [
+ "pending",
+ "publishing",
+ "completed",
+ "failed"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "portalRevisionStatus",
+ "values": [
+ {
+ "value": "pending",
+ "description": "Portal's revision has been queued."
+ },
+ {
+ "value": "publishing",
+ "description": "Portal's revision is being published."
+ },
+ {
+ "value": "completed",
+ "description": "Portal's revision publishing completed."
+ },
+ {
+ "value": "failed",
+ "description": "Portal's revision publishing failed."
+ }
+ ]
+ },
+ "readOnly": true
+ },
+ "isCurrent": {
+ "type": "boolean",
+ "description": "Indicates if the portal's revision is public."
+ },
+ "createdDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "Portal's revision creation date and time."
+ },
+ "updatedDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "Last updated date and time."
+ }
+ }
+ },
+ "PrivateEndpointConnectionRequest": {
+ "description": "A request to approve or reject a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Private Endpoint Connection Resource Id.",
+ "type": "string"
+ },
+ "properties": {
+ "type": "object",
+ "description": "The connection state of the private endpoint connection.",
+ "properties": {
+ "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."
+ }
+ }
+ }
+ }
+ },
+ "RemotePrivateEndpointConnectionWrapper": {
+ "description": "Remote Private Endpoint Connection resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Private Endpoint connection resource id",
+ "type": "string"
+ },
+ "name": {
+ "description": "Private Endpoint Connection Name",
+ "type": "string"
+ },
+ "type": {
+ "description": "Private Endpoint Connection Resource Type",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionWrapperProperties",
+ "x-ms-client-flatten": true,
+ "description": "Resource properties."
+ }
+ }
+ },
+ "PrivateEndpointConnectionWrapperProperties": {
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/ArmIdWrapper",
+ "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": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the private endpoint connection resource."
+ },
+ "groupIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "All the Group ids."
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ],
+ "description": "Properties of the PrivateEndpointConnectProperties.",
+ "type": "object"
+ },
+ "ArmIdWrapper": {
+ "description": "A wrapper for an ARM resource id",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ConnectivityCheckRequest": {
+ "description": "A request to perform the connectivity check operation on a API Management service.",
+ "type": "object",
+ "required": [
+ "source",
+ "destination"
+ ],
+ "properties": {
+ "source": {
+ "description": "Definitions about the connectivity check origin.",
+ "type": "object",
+ "required": [
+ "region"
+ ],
+ "properties": {
+ "region": {
+ "description": "The API Management service region from where to start the connectivity check operation.",
+ "type": "string",
+ "example": "westus"
+ },
+ "instance": {
+ "description": "The particular VMSS instance from which to fire the request.",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "destination": {
+ "description": "The connectivity check operation destination.",
+ "type": "object",
+ "required": [
+ "address",
+ "port"
+ ],
+ "properties": {
+ "address": {
+ "description": "Destination address. Can either be an IP address or a FQDN.",
+ "type": "string",
+ "example": "microsoft.com"
+ },
+ "port": {
+ "description": "Destination port.",
+ "type": "integer",
+ "format": "int64",
+ "example": 80
+ }
+ }
+ },
+ "preferredIPVersion": {
+ "description": "The IP version to be used. Only IPv4 is supported for now.",
+ "type": "string",
+ "enum": [
+ "IPv4"
+ ],
+ "x-ms-enum": {
+ "name": "PreferredIPVersion",
+ "modelAsString": true
+ }
+ },
+ "protocol": {
+ "description": "The request's protocol. Specific protocol configuration can be available based on this selection. The specified destination address must be coherent with this value.",
+ "type": "string",
+ "enum": [
+ "TCP",
+ "HTTP",
+ "HTTPS"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectivityCheckProtocol",
+ "modelAsString": true
+ }
+ },
+ "protocolConfiguration": {
+ "description": "Protocol-specific configuration.",
+ "type": "object",
+ "properties": {
+ "HTTPConfiguration": {
+ "description": "Configuration for HTTP or HTTPS requests.",
+ "type": "object",
+ "properties": {
+ "method": {
+ "description": "The HTTP method to be used.",
+ "type": "string",
+ "enum": [
+ "GET",
+ "POST"
+ ],
+ "x-ms-enum": {
+ "name": "Method",
+ "modelAsString": true
+ }
+ },
+ "validStatusCodes": {
+ "type": "array",
+ "description": "List of HTTP status codes considered valid for the request response.",
+ "items": {
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ "headers": {
+ "type": "array",
+ "description": "List of headers to be included in the request.",
+ "items": {
+ "$ref": "#/definitions/HTTPHeader"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "HTTPHeader": {
+ "description": "HTTP header and it's value.",
+ "type": "object",
+ "required": [
+ "name",
+ "value"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Header name."
+ },
+ "value": {
+ "type": "string",
+ "description": "Header value."
+ }
+ }
+ },
+ "ConnectivityCheckResponse": {
+ "description": "Information on the connectivity status.",
+ "type": "object",
+ "properties": {
+ "hops": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of hops between the source and the destination.",
+ "items": {
+ "$ref": "#/definitions/ConnectivityHop"
+ }
+ },
+ "connectionStatus": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "Connected",
+ "Disconnected",
+ "Degraded"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectionStatus",
+ "modelAsString": true
+ },
+ "description": "The connection status."
+ },
+ "avgLatencyInMs": {
+ "description": "Average latency in milliseconds.",
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64"
+ },
+ "minLatencyInMs": {
+ "description": "Minimum latency in milliseconds.",
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64"
+ },
+ "maxLatencyInMs": {
+ "description": "Maximum latency in milliseconds.",
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64"
+ },
+ "probesSent": {
+ "description": "Total number of probes sent.",
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64"
+ },
+ "probesFailed": {
+ "description": "Number of failed probes.",
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "ConnectivityHop": {
+ "description": "Information about a hop between the source and the destination.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the hop.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "id": {
+ "description": "The ID of the hop.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "address": {
+ "description": "The IP address of the hop.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "resourceId": {
+ "description": "The ID of the resource corresponding to this hop.",
+ "readOnly": true,
+ "type": "string"
+ },
+ "nextHopIds": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of next hop identifiers.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "issues": {
+ "readOnly": true,
+ "type": "array",
+ "description": "List of issues.",
+ "items": {
+ "$ref": "#/definitions/ConnectivityIssue"
+ }
+ }
+ }
+ },
+ "ConnectivityIssue": {
+ "description": "Information about an issue encountered in the process of checking for connectivity.",
+ "type": "object",
+ "properties": {
+ "origin": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Local",
+ "Inbound",
+ "Outbound"
+ ],
+ "x-ms-enum": {
+ "name": "Origin",
+ "modelAsString": true
+ },
+ "description": "The origin of the issue."
+ },
+ "severity": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Error",
+ "Warning"
+ ],
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
+ },
+ "description": "The severity of the issue."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "AgentStopped",
+ "GuestFirewall",
+ "DnsResolution",
+ "SocketBind",
+ "NetworkSecurityRule",
+ "UserDefinedRoute",
+ "PortThrottled",
+ "Platform"
+ ],
+ "x-ms-enum": {
+ "name": "IssueType",
+ "modelAsString": true
+ },
+ "description": "The type of issue."
+ },
+ "context": {
+ "readOnly": true,
+ "type": "array",
+ "description": "Provides additional context on the issue.",
+ "items": {
+ "$ref": "#/definitions/IssueContext"
+ }
+ }
+ }
+ },
+ "IssueContext": {
+ "description": "A key-value pair that provides additional context on the issue.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementApplyNetworkConfigurationUpdates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementApplyNetworkConfigurationUpdates.json
new file mode 100644
index 000000000000..6e6ba61ba0b3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementApplyNetworkConfigurationUpdates.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "location": "west us"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "UID": "52ed5986-717b-45b4-b17c-3df8db372cff"
+ },
+ "location": "East Asia",
+ "etag": "AAAAAAAXX6Y=",
+ "properties": {
+ "publisherEmail": "admin@live.com",
+ "publisherName": "Contoso",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2015-09-22T01:50:34.7921566Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "207.46.155.24"
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/eastUsVirtualNetwork/subnets/apimSubnet"
+ },
+ "virtualNetworkType": "External"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementApproveOrRejectPrivateEndpointConnection.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementApproveOrRejectPrivateEndpointConnection.json
new file mode 100644
index 000000000000..1628a57cfb8c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementApproveOrRejectPrivateEndpointConnection.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "privateEndpointConnectionName": "privateEndpointConnectionName",
+ "privateEndpointConnectionRequest": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateEndpointConnections/connectionName",
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "The Private Endpoint Connection is approved."
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "name": "privateEndpointConnectionName",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateEndpointConnections/privateEndpointConnectionName",
+ "type": "Microsoft.ApiManagement/service/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/privateEndpointName"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Succeeded",
+ "description": "The request has been approved."
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementAuthorizationServerListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementAuthorizationServerListSecrets.json
new file mode 100644
index 000000000000..f4d5023683a1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementAuthorizationServerListSecrets.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "authsid": "newauthServer2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "clientSecret": "2",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackendReconnect.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackendReconnect.json
new file mode 100644
index 000000000000..ec7fedf4261f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackendReconnect.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "backendId": "proxybackend",
+ "parameters": {
+ "properties": {
+ "after": "PT3S"
+ }
+ }
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackupWithAccessKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackupWithAccessKey.json
new file mode 100644
index 000000000000..7cc22d8389e2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackupWithAccessKey.json
@@ -0,0 +1,127 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "storageAccount": "teststorageaccount",
+ "containerName": "backupContainer",
+ "backupName": "apimService1backup_2017_03_19",
+ "accessType": "AccessKey",
+ "accessKey": "**************************************************"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAACXok=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-12-18T06:26:20.3348609Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-westus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": true
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Portal",
+ "hostName": "portal1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ }
+ ],
+ "publicIPAddresses": [
+ "13.91.32.113"
+ ],
+ "additionalLocations": [
+ {
+ "location": "East US",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "publicIPAddresses": [
+ "23.101.138.153"
+ ],
+ "gatewayRegionalUrl": "https://apimService1-eastus-01.regional.azure-api.net",
+ "disableGateway": true
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-01-01"
+ }
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackupWithSystemManagedIdentity.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackupWithSystemManagedIdentity.json
new file mode 100644
index 000000000000..8b80f5aec5c3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackupWithSystemManagedIdentity.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "storageAccount": "contosorpstorage",
+ "containerName": "apim-backups",
+ "backupName": "backup5",
+ "accessType": "SystemAssignedManagedIdentity"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Owner": "apimService1"
+ },
+ "location": "Central US EUAP",
+ "etag": "AAAAAAAQM8o=",
+ "properties": {
+ "publisherEmail": "apimService1@corp.microsoft.com",
+ "publisherName": "MS",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2020-04-23T16:26:47.8637967Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-centraluseuap-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "publicIPAddresses": [
+ "52.XXXX.160.66"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "publicNetworkAccess": "Enabled",
+ "platformVersion": "stv1"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "XXXXX-5fb4-4916-95d4-64b306f9d924",
+ "tenantId": "XXXXX-86f1-XXXXX-91ab-2d7cd011db47",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/rg1UserIdentity": {
+ "principalId": "XXXXX-a100-4478-XXXX-d65d98118ba0",
+ "clientId": "XXXXX-a154-4830-XXXX-46a12da1a1e2"
+ },
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/vpnpremium": {
+ "principalId": "XXXXX-9208-4128-af2d-a10d2af9b5a3",
+ "clientId": "XXXX-6328-4db2-XXXX-ab0e3e7806cf"
+ }
+ }
+ },
+ "systemData": {
+ "lastModifiedBy": "contoso@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-06-30T06:24:57.0008037Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackupWithUserAssignedManagedIdentity.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackupWithUserAssignedManagedIdentity.json
new file mode 100644
index 000000000000..3729d012675e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementBackupWithUserAssignedManagedIdentity.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "storageAccount": "contosorpstorage",
+ "containerName": "apim-backups",
+ "backupName": "backup5",
+ "accessType": "UserAssignedManagedIdentity",
+ "clientId": "XXXXX-a154-4830-XXXX-46a12da1a1e2"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Owner": "apimService1"
+ },
+ "location": "Central US EUAP",
+ "etag": "AAAAAAAQM8o=",
+ "properties": {
+ "publisherEmail": "apimService1@corp.microsoft.com",
+ "publisherName": "MS",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2020-04-23T16:26:47.8637967Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-centraluseuap-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "publicIPAddresses": [
+ "52.XXXX.160.66"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "publicNetworkAccess": "Enabled",
+ "platformVersion": "stv1"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "XXXXX-5fb4-4916-95d4-64b306f9d924",
+ "tenantId": "XXXXX-86f1-XXXXX-91ab-2d7cd011db47",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/rg1UserIdentity": {
+ "principalId": "XXXXX-a100-4478-XXXX-d65d98118ba0",
+ "clientId": "XXXXX-a154-4830-XXXX-46a12da1a1e2"
+ },
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/vpnpremium": {
+ "principalId": "XXXXX-9208-4128-af2d-a10d2af9b5a3",
+ "clientId": "XXXX-6328-4db2-XXXX-ab0e3e7806cf"
+ }
+ }
+ },
+ "systemData": {
+ "lastModifiedBy": "contoso@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-06-30T06:24:57.0008037Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateAILogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateAILogger.json
new file mode 100644
index 000000000000..cdd7f0e159a0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateAILogger.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "loggerId": "loggerId",
+ "parameters": {
+ "properties": {
+ "loggerType": "applicationInsights",
+ "description": "adding a new logger",
+ "credentials": {
+ "instrumentationKey": "11................a1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/loggerId",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "loggerId",
+ "properties": {
+ "loggerType": "applicationInsights",
+ "description": null,
+ "credentials": {
+ "instrumentationKey": "{{5a.......2a}}"
+ },
+ "isBuffered": false,
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/microsoft.insights/components/airesource"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/loggerId",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "loggerId",
+ "properties": {
+ "loggerType": "applicationInsights",
+ "description": null,
+ "credentials": {
+ "instrumentationKey": "{{5a.......2a}}"
+ },
+ "isBuffered": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApi.json
new file mode 100644
index 000000000000..eedbc5ab0b21
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApi.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "tempgroup",
+ "parameters": {
+ "properties": {
+ "description": "apidescription5200",
+ "authenticationSettings": {
+ "oAuth2": {
+ "authorizationServerId": "authorizationServerId2283",
+ "scope": "oauth2scope2580"
+ }
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "header4520",
+ "query": "query3037"
+ },
+ "displayName": "apiname1463",
+ "serviceUrl": "http://newechoapi.cloudapp.net/api",
+ "path": "newapiPath",
+ "protocols": [
+ "https",
+ "http"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "apiid9419",
+ "properties": {
+ "displayName": "apiname1463",
+ "apiRevision": "1",
+ "description": "apidescription5200",
+ "serviceUrl": "http://newechoapi.cloudapp.net/api",
+ "path": "newapiPath",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "authenticationSettings": {
+ "oAuth2": {
+ "authorizationServerId": "authorizationServerId2283",
+ "scope": "oauth2scope2580"
+ }
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "header4520",
+ "query": "query3037"
+ },
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "apiid9419",
+ "properties": {
+ "displayName": "apiname1463",
+ "apiRevision": "1",
+ "description": "apidescription5200",
+ "serviceUrl": "http://newechoapi.cloudapp.net/api",
+ "path": "newapiPath",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "authenticationSettings": {
+ "oAuth2": {
+ "authorizationServerId": "authorizationServerId2283",
+ "scope": "oauth2scope2580"
+ }
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "header4520",
+ "query": "query3037"
+ },
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiClone.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiClone.json
new file mode 100644
index 000000000000..23291695f0ab
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiClone.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "echo-api2",
+ "parameters": {
+ "properties": {
+ "displayName": "Echo API2",
+ "description": "Copy of Existing Echo Api including Operations.",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo2",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "isCurrent": true,
+ "sourceApiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58a4aeac497000007d040001"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapi2",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echoapi2",
+ "properties": {
+ "displayName": "Echo API2",
+ "apiRevision": "1",
+ "description": "Copy of Existing Echo Api including Operations.",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo2",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapi2",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echoapi2",
+ "properties": {
+ "displayName": "Echo API2",
+ "apiRevision": "1",
+ "description": "Copy of Existing Echo Api including Operations.",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo2",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiDiagnostic.json
new file mode 100644
index 000000000000..bd8cab2ca88a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiDiagnostic.json
@@ -0,0 +1,160 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "parameters": {
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/apis/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/apis/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiIssue.json
new file mode 100644
index 000000000000..e1556ae08713
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiIssue.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "parameters": {
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiIssueAttachment.json
new file mode 100644
index 000000000000..a163987052c8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiIssueAttachment.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "attachmentId": "57d2ef278aa04f0888cba3f3",
+ "parameters": {
+ "properties": {
+ "title": "Issue attachment.",
+ "contentFormat": "image/jpeg",
+ "content": "IEJhc2U2NA=="
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/attachments/57d2ef278aa04f0888cba3f3",
+ "type": "Microsoft.ApiManagement/service/apis/issues/attachments",
+ "name": "57d2ef278aa04f0888cba3f3",
+ "properties": {
+ "title": "Issue attachment.",
+ "contentFormat": "link",
+ "content": "https://.../image.jpg"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/attachments/57d2ef278aa04f0888cba3f3",
+ "type": "Microsoft.ApiManagement/service/apis/issues/attachments",
+ "name": "57d2ef278aa04f0888cba3f3",
+ "properties": {
+ "title": "Issue attachment.",
+ "contentFormat": "link",
+ "content": "https://.../image.jpg"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiIssueComment.json
new file mode 100644
index 000000000000..f49f177325b5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiIssueComment.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "commentId": "599e29ab193c3c0bd0b3e2fb",
+ "parameters": {
+ "properties": {
+ "text": "Issue comment.",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/comments/599e29ab193c3c0bd0b3e2fb",
+ "type": "Microsoft.ApiManagement/service/apis/issues/comments",
+ "name": "599e29ab193c3c0bd0b3e2fb",
+ "properties": {
+ "text": "Issue comment.",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/comments/599e29ab193c3c0bd0b3e2fb",
+ "type": "Microsoft.ApiManagement/service/apis/issues/comments",
+ "name": "599e29ab193c3c0bd0b3e2fb",
+ "properties": {
+ "text": "Issue comment.",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json
new file mode 100644
index 000000000000..9c1457f23f0c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiNewVersionUsingExistingApi.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "echoapiv3",
+ "parameters": {
+ "properties": {
+ "displayName": "Echo API2",
+ "description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo2",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "isCurrent": true,
+ "apiVersion": "v4",
+ "sourceApiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoPath",
+ "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapiv3",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echoapiv3",
+ "properties": {
+ "displayName": "Echo API2",
+ "apiRevision": "1",
+ "description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo2",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true,
+ "apiVersion": "v4",
+ "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
+ "apiVersionSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
+ "name": "Echo API2",
+ "versioningScheme": "Segment"
+ }
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echoapiv3",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echoapiv3",
+ "properties": {
+ "displayName": "Echo API2",
+ "apiRevision": "1",
+ "description": "Create Echo API into a new Version using Existing Version Set and Copy all Operations.",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo2",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true,
+ "apiVersion": "v4",
+ "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
+ "apiVersionSet": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/aa9c59e6-c0cd-4258-9356-9ca7d2f0b458",
+ "name": "Echo API2",
+ "versioningScheme": "Segment"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiOperation.json
new file mode 100644
index 000000000000..8db2310817ec
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiOperation.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "PetStoreTemplate2",
+ "operationId": "newoperations",
+ "parameters": {
+ "properties": {
+ "displayName": "createUser2",
+ "method": "POST",
+ "urlTemplate": "/user1",
+ "templateParameters": [],
+ "description": "This can only be done by the logged in user.",
+ "request": {
+ "description": "Created user object",
+ "queryParameters": [],
+ "headers": [],
+ "representations": [
+ {
+ "contentType": "application/json",
+ "schemaId": "592f6c1d0af5840ca8897f0c",
+ "typeName": "User"
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "successful operation",
+ "representations": [
+ {
+ "contentType": "application/xml"
+ },
+ {
+ "contentType": "application/json"
+ }
+ ],
+ "headers": []
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/PetStoreTemplate2/operations/newoperations",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "newoperations",
+ "properties": {
+ "displayName": "createUser2",
+ "method": "POST",
+ "urlTemplate": "/user1",
+ "templateParameters": [],
+ "description": "This can only be done by the logged in user.",
+ "request": {
+ "description": "Created user object",
+ "queryParameters": [],
+ "headers": [],
+ "representations": [
+ {
+ "contentType": "application/json",
+ "schemaId": "592f6c1d0af5840ca8897f0c",
+ "typeName": "User"
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "successful operation",
+ "representations": [
+ {
+ "contentType": "application/xml"
+ },
+ {
+ "contentType": "application/json"
+ }
+ ],
+ "headers": []
+ }
+ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/PetStoreTemplate2/operations/newoperations",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "newoperations",
+ "properties": {
+ "displayName": "createUser2",
+ "method": "POST",
+ "urlTemplate": "/user1",
+ "templateParameters": [],
+ "description": "This can only be done by the logged in user.",
+ "request": {
+ "description": "Created user object",
+ "queryParameters": [],
+ "headers": [],
+ "representations": [
+ {
+ "contentType": "application/json",
+ "schemaId": "592f6c1d0af5840ca8897f0c",
+ "typeName": "User"
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "successful operation",
+ "representations": [
+ {
+ "contentType": "application/xml"
+ },
+ {
+ "contentType": "application/json"
+ }
+ ],
+ "headers": []
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiOperationPolicy.json
new file mode 100644
index 000000000000..39634cfa93ec
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiOperationPolicy.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "5600b57e7e8880006a040001",
+ "operationId": "5600b57e7e8880006a080001",
+ "policyId": "policy",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "format": "xml",
+ "value": " "
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/operations/5600b57e7e8880006a080001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/operations/5600b57e7e8880006a080001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiOperationTag.json
new file mode 100644
index 000000000000..c58825b48ffa
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiOperationTag.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "5931a75ae4bbd512a88c680b",
+ "operationId": "5931a75ae4bbd512a88c680a",
+ "tagId": "tagId1"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiPolicy.json
new file mode 100644
index 000000000000..7a474105a461
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiPolicy.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "5600b57e7e8880006a040001",
+ "policyId": "policy",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "format": "xml",
+ "value": " "
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b57e7e8880006a040001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiPolicyNonXmlEncoded.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiPolicyNonXmlEncoded.json
new file mode 100644
index 000000000000..bd01eae89bc4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiPolicyNonXmlEncoded.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "5600b57e7e8880006a040001",
+ "policyId": "policy",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \"@(context.Request.Headers.FirstOrDefault(h => h.Ke==\"Via\"))\" \r\n \r\n \r\n ",
+ "format": "rawxml"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/4c1a3bc6-89f9-46fe-a175-5d8984b25095/resourcegroups/Api-DF-West-US/providers/Microsoft.ApiManagement/service/samirmsiservice2/apis/echo-api/operations/create-resource/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \"@(context.Request.Headers.FirstOrDefault(h => h.Ke==\"Via\"))\" \r\n \r\n \r\n"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/4c1a3bc6-89f9-46fe-a175-5d8984b25095/resourcegroups/Api-DF-West-US/providers/Microsoft.ApiManagement/service/samirmsiservice2/apis/echo-api/operations/create-resource/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \"@(context.Request.Headers.FirstOrDefault(h => h.Ke==\"Via\"))\" \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiRelease.json
new file mode 100644
index 000000000000..606c9150cac6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiRelease.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "a1",
+ "releaseId": "testrev",
+ "parameters": {
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "notes": "yahooagain"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/testrev",
+ "type": "Microsoft.ApiManagement/service/apis/releases",
+ "name": "testrev",
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "createdDateTime": "2018-02-08T20:52:00.65Z",
+ "updatedDateTime": "2018-02-08T20:52:00.65Z",
+ "notes": "yahooagain"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/testrev",
+ "type": "Microsoft.ApiManagement/service/apis/releases",
+ "name": "testrev",
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "createdDateTime": "2018-02-08T20:52:00.65Z",
+ "updatedDateTime": "2018-02-08T20:52:00.65Z",
+ "notes": "yahooagain"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiRevisionFromExistingApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiRevisionFromExistingApi.json
new file mode 100644
index 000000000000..86feef6b4211
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiRevisionFromExistingApi.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "echo-api;rev=3",
+ "parameters": {
+ "properties": {
+ "path": "echo",
+ "serviceUrl": "http://echoapi.cloudapp.net/apiv3",
+ "sourceApiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
+ "apiRevisionDescription": "Creating a Revision of an existing API"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echo-api;rev=3",
+ "properties": {
+ "displayName": "Echo API",
+ "apiRevision": "3",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/apiv3",
+ "path": "echo",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "apiRevisionDescription": "Creating a Revision of an existing API"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echo-api;rev=3",
+ "properties": {
+ "displayName": "Echo API",
+ "apiRevision": "3",
+ "subscriptionRequired": true,
+ "serviceUrl": "http://echoapi.cloudapp.net/apiv3",
+ "path": "echo",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "apiRevisionDescription": "Creating a Revision of an existing API"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiSchema.json
new file mode 100644
index 000000000000..2831ad5ce06d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiSchema.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "schemaId": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "parameters": {
+ "properties": {
+ "contentType": "application/vnd.ms-azure-apim.xsd+xml",
+ "document": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "type": "Microsoft.ApiManagement/service/apis/schemas",
+ "name": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "properties": {
+ "contentType": "application/vnd.ms-azure-apim.xsd+xml",
+ "document": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "type": "Microsoft.ApiManagement/service/apis/schemas",
+ "name": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "properties": {
+ "contentType": "application/vnd.ms-azure-apim.xsd+xml",
+ "document": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiTag.json
new file mode 100644
index 000000000000..518e5e4f8b59
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiTag.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "5931a75ae4bbd512a88c680b",
+ "tagId": "tagId1"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiTagDescription.json
new file mode 100644
index 000000000000..699e1e65471e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiTagDescription.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "5931a75ae4bbd512a88c680b",
+ "tagDescriptionId": "tagId1",
+ "parameters": {
+ "properties": {
+ "description": "Some description that will be displayed for operation's tag if the tag is assigned to operation of the API",
+ "externalDocsUrl": "http://some.url/additionaldoc",
+ "externalDocsDescription": "Description of the external docs resource"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5931a75ae4bbd512a88c680b/tagDescriptions/tagId1",
+ "type": "Microsoft.ApiManagement/service/apis/tagDescriptions",
+ "name": "tagId1",
+ "properties": {
+ "tagId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "displayName": "tag1",
+ "description": "Some description that will be displayed for operation's tag if the tag is assigned to operation of the API",
+ "externalDocsDescription": "some additional info",
+ "externalDocsUrl": "http://some_url.com"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5931a75ae4bbd512a88c680b/tagDescriptions/tagId1",
+ "type": "Microsoft.ApiManagement/service/apis/tagDescriptions",
+ "name": "tagId1",
+ "properties": {
+ "tagId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "displayName": "tag1",
+ "description": "Some description that will be displayed for operation's tag if the tag is assigned to operation of the API",
+ "externalDocsDescription": "some additional info",
+ "externalDocsUrl": "http://some_url.com"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json
new file mode 100644
index 000000000000..b053f551b9c0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "apidocs",
+ "parameters": {
+ "properties": {
+ "format": "swagger-link",
+ "value": "http://apimpimportviaurl.azurewebsites.net/api/apidocs/",
+ "path": "petstoreapi123",
+ "serviceUrl": "http://petstore.swagger.wordnik.com/api"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "apidocs",
+ "properties": {
+ "displayName": "Swagger Sample App",
+ "apiRevision": "1",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger \n at http://swagger.wordnik.com or on irc.freenode.net, #swagger. For this sample,\n you can use the api key \"special-key\" to test the authorization filters",
+ "serviceUrl": "http://petstore.swagger.wordnik.com/api",
+ "path": "petstoreapi123",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apidocs",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "apidocs",
+ "properties": {
+ "displayName": "Swagger Sample App",
+ "apiRevision": "1",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger \n at http://swagger.wordnik.com or on irc.freenode.net, #swagger. For this sample,\n you can use the api key \"special-key\" to test the authorization filters",
+ "serviceUrl": "http://petstore.swagger.wordnik.com/api",
+ "path": "petstoreapi123",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingOai3Import.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingOai3Import.json
new file mode 100644
index 000000000000..f68c5999fd20
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingOai3Import.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "petstore",
+ "parameters": {
+ "properties": {
+ "format": "openapi-link",
+ "value": "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml",
+ "path": "petstore"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "petstoreapi",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "serviceUrl": "http://petstore.swagger.io/v1",
+ "path": "petstore",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "petstoreapi",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "serviceUrl": "http://petstore.swagger.io/v1",
+ "path": "petstore",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingSwaggerImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingSwaggerImport.json
new file mode 100644
index 000000000000..78a8ab90cd45
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingSwaggerImport.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "petstore",
+ "parameters": {
+ "properties": {
+ "format": "swagger-link-json",
+ "value": "http://petstore.swagger.io/v2/swagger.json",
+ "path": "petstore"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "petstoreapi",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
+ "serviceUrl": "http://petstore.swagger.io/v2",
+ "path": "petstore",
+ "protocols": [
+ "http"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/petstoreapi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "petstoreapi",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
+ "serviceUrl": "http://petstore.swagger.io/v2",
+ "path": "petstore",
+ "protocols": [
+ "http"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingWadlImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingWadlImport.json
new file mode 100644
index 000000000000..72e5e2dced32
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiUsingWadlImport.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "petstore",
+ "parameters": {
+ "properties": {
+ "format": "wadl-link-json",
+ "value": "https://developer.cisco.com/media/wae-release-6-2-api-reference/wae-collector-rest-api/application.wadl",
+ "path": "collector"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/collectorwadl",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "collectorwadl",
+ "properties": {
+ "displayName": "http://localhost:8080/collector-northbound",
+ "apiRevision": "1",
+ "description": "",
+ "serviceUrl": "http://localhost:8080/collector-northbound",
+ "path": "collector",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/collectorwadl",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "collectorwadl",
+ "properties": {
+ "displayName": "http://localhost:8080/collector-northbound",
+ "apiRevision": "1",
+ "description": "",
+ "serviceUrl": "http://localhost:8080/collector-northbound",
+ "path": "collector",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiVersionSet.json
new file mode 100644
index 000000000000..9a0274021352
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiVersionSet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "versionSetId": "api1",
+ "parameters": {
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/api1",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "api1",
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/api1",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "api1",
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiWithOpenIdConnect.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiWithOpenIdConnect.json
new file mode 100644
index 000000000000..4b29009fd3de
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateApiWithOpenIdConnect.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "tempgroup",
+ "parameters": {
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
+ "serviceUrl": "http://petstore.swagger.io/v2",
+ "path": "petstore",
+ "protocols": [
+ "https"
+ ],
+ "authenticationSettings": {
+ "openid": {
+ "openidProviderId": "testopenid",
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ]
+ }
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58da4c4ccdae970a08121230",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "58da4c4ccdae970a08121230",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
+ "serviceUrl": "http://petstore.swagger.io/v2",
+ "path": "petstore",
+ "protocols": [
+ "https"
+ ],
+ "authenticationSettings": {
+ "openid": {
+ "openidProviderId": "testopenid",
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ]
+ }
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/58da4c4ccdae970a08121230",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "58da4c4ccdae970a08121230",
+ "properties": {
+ "displayName": "Swagger Petstore",
+ "apiRevision": "1",
+ "description": "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For this sample, you can use the api key `special-key` to test the authorization filters.",
+ "serviceUrl": "http://petstore.swagger.io/v2",
+ "path": "petstore",
+ "protocols": [
+ "https"
+ ],
+ "authenticationSettings": {
+ "openid": {
+ "openidProviderId": "testopenid",
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ]
+ }
+ },
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateAuthorizationServer.json
new file mode 100644
index 000000000000..85ebb7c3304a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateAuthorizationServer.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "authsid": "newauthServer",
+ "parameters": {
+ "properties": {
+ "displayName": "test2",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "clientSecret": "2",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer",
+ "type": "Microsoft.ApiManagement/service/authorizationServers",
+ "name": "newauthServer",
+ "properties": {
+ "displayName": "test2",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer",
+ "type": "Microsoft.ApiManagement/service/authorizationServers",
+ "name": "newauthServer",
+ "properties": {
+ "displayName": "test2",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateBackendProxyBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateBackendProxyBackend.json
new file mode 100644
index 000000000000..80aee7ec0c33
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateBackendProxyBackend.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "backendId": "proxybackend",
+ "parameters": {
+ "properties": {
+ "description": "description5308",
+ "url": "https://backendname2644/",
+ "protocol": "http",
+ "tls": {
+ "validateCertificateChain": true,
+ "validateCertificateName": true
+ },
+ "proxy": {
+ "url": "http://192.168.1.1:8080",
+ "username": "Contoso\\admin",
+ "password": ""
+ },
+ "credentials": {
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesma"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/proxybackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "proxybackend",
+ "properties": {
+ "description": "description5308",
+ "url": "https://backendname2644/",
+ "protocol": "http",
+ "credentials": {
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesma"
+ }
+ },
+ "proxy": {
+ "url": "http://192.168.1.1:8080",
+ "username": "Contoso\\admin",
+ "password": ""
+ },
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": false
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/proxybackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "proxybackend",
+ "properties": {
+ "description": "description5308",
+ "url": "https://backendname2644/",
+ "protocol": "http",
+ "credentials": {
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesma"
+ }
+ },
+ "proxy": {
+ "url": "http://192.168.1.1:8080",
+ "username": "Contoso\\admin",
+ "password": ""
+ },
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": false
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateBackendServiceFabric.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateBackendServiceFabric.json
new file mode 100644
index 000000000000..921c8c29c305
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateBackendServiceFabric.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "backendId": "sfbackend",
+ "parameters": {
+ "properties": {
+ "description": "Service Fabric Test App 1",
+ "protocol": "http",
+ "url": "fabric:/mytestapp/mytestservice",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1",
+ "serverX509Names": [
+ {
+ "name": "ServerCommonName1",
+ "issuerCertificateThumbprint": "IssuerCertificateThumbprint1"
+ }
+ ],
+ "maxPartitionResolutionRetries": 5
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/sfbackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "sfbackend",
+ "properties": {
+ "description": "Service Fabric Test App 1",
+ "url": "fabric:/mytestapp/mytestservice",
+ "protocol": "http",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1",
+ "serverX509Names": [
+ {
+ "name": "ServerCommonName1",
+ "issuerCertificateThumbprint": "IssuerCertificateThumbprint1"
+ }
+ ],
+ "maxPartitionResolutionRetries": 5
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/sfbackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "sfbackend",
+ "properties": {
+ "description": "Service Fabric Test App 1",
+ "url": "fabric:/mytestapp/mytestservice",
+ "protocol": "http",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1",
+ "serverX509Names": [
+ {
+ "name": "ServerCommonName1",
+ "issuerCertificateThumbprint": "IssuerCertificateThumbprint1"
+ }
+ ],
+ "maxPartitionResolutionRetries": 5
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateCache.json
new file mode 100644
index 000000000000..8d9ad5e2e9c8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateCache.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "cacheId": "c1",
+ "parameters": {
+ "properties": {
+ "connectionString": "apim.redis.cache.windows.net:6380,password=xc,ssl=True,abortConnect=False",
+ "description": "Redis cache instances in West India",
+ "useFromLocation": "default",
+ "resourceId": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/c1",
+ "type": "Microsoft.ApiManagement/service/caches",
+ "name": "c1",
+ "properties": {
+ "useFromLocation": "default",
+ "description": "Redis cache instances in West India",
+ "connectionString": "{{5f7fbca77a891a2200f3db38}}",
+ "resourceId": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/c1",
+ "type": "Microsoft.ApiManagement/service/caches",
+ "name": "c1",
+ "properties": {
+ "useFromLocation": "default",
+ "description": "Redis cache instances in West India",
+ "connectionString": "{{5f7fbca77a891a2200f3db38}}",
+ "resourceId": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateCertificate.json
new file mode 100644
index 000000000000..b657275697dc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateCertificate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "certificateId": "tempcert",
+ "parameters": {
+ "properties": {
+ "data": "****************Base 64 Encoded Certificate *******************************",
+ "password": "****Certificate Password******"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/tempcert",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "tempcert",
+ "properties": {
+ "subject": "CN=contoso.com",
+ "thumbprint": "*******************3",
+ "expirationDate": "2018-03-17T21:55:07+00:00"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/tempcert",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "tempcert",
+ "properties": {
+ "subject": "CN=contoso.com",
+ "thumbprint": "*******************3",
+ "expirationDate": "2018-03-17T21:55:07+00:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateCertificateWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateCertificateWithKeyVault.json
new file mode 100644
index 000000000000..22e820026694
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateCertificateWithKeyVault.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "certificateId": "templateCertkv",
+ "parameters": {
+ "properties": {
+ "keyVault": {
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "templateCertkv",
+ "properties": {
+ "subject": "CN=*.msitesting.net",
+ "thumbprint": "EA**********************9AD690",
+ "expirationDate": "2037-01-01T07:00:00Z",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-22T00:24:53.3191468Z"
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "templateCertkv",
+ "properties": {
+ "subject": "CN=*.msitesting.net",
+ "thumbprint": "EA**********************9AD690",
+ "expirationDate": "2037-01-01T07:00:00Z",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-22T00:24:53.3191468Z"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateContentType.json
new file mode 100644
index 000000000000..93002a596634
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateContentType.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "contentTypeId": "page",
+ "parameters": {
+ "properties": {
+ "name": "Page",
+ "description": "A regular page",
+ "schema": {
+ "properties": {
+ "en_us": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "Title",
+ "description": "Page title. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "description": {
+ "title": "Description",
+ "description": "Page description. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "keywords": {
+ "title": "Keywords",
+ "description": "Page keywords. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "permalink": {
+ "title": "Permalink",
+ "description": "Page permalink, e.g. '/about'.",
+ "type": "string",
+ "indexed": true
+ },
+ "documentId": {
+ "title": "Document ID",
+ "description": "Reference to page content document.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "title",
+ "permalink",
+ "documentId"
+ ]
+ }
+ },
+ "additionalProperties": false
+ },
+ "version": "1.0.0"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/contentTypes/page",
+ "type": "Microsoft.ApiManagement/service/contentTypes",
+ "name": "page",
+ "properties": {
+ "name": "Page",
+ "description": "A regular page",
+ "schema": {
+ "properties": {
+ "en_us": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "Title",
+ "description": "Page title. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "description": {
+ "title": "Description",
+ "description": "Page description. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "keywords": {
+ "title": "Keywords",
+ "description": "Page keywords. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "permalink": {
+ "title": "Permalink",
+ "description": "Page permalink, e.g. '/about'.",
+ "type": "string",
+ "indexed": true
+ },
+ "documentId": {
+ "title": "Document ID",
+ "description": "Reference to page content document.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "title",
+ "permalink",
+ "documentId"
+ ]
+ }
+ },
+ "additionalProperties": false
+ },
+ "version": "1.0.0"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/contentTypes/page",
+ "type": "Microsoft.ApiManagement/service/contentTypes",
+ "name": "page",
+ "properties": {
+ "name": "Page",
+ "description": "A regular page",
+ "schema": {
+ "properties": {
+ "en_us": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "Title",
+ "description": "Page title. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "description": {
+ "title": "Description",
+ "description": "Page description. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "keywords": {
+ "title": "Keywords",
+ "description": "Page keywords. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "permalink": {
+ "title": "Permalink",
+ "description": "Page permalink, e.g. '/about'.",
+ "type": "string",
+ "indexed": true
+ },
+ "documentId": {
+ "title": "Document ID",
+ "description": "Reference to page content document.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "title",
+ "permalink",
+ "documentId"
+ ]
+ }
+ },
+ "additionalProperties": false
+ },
+ "version": "1.0.0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateContentTypeContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateContentTypeContentItem.json
new file mode 100644
index 000000000000..681d2e83593b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateContentTypeContentItem.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "contentTypeId": "page",
+ "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "parameters": {
+ "properties": {
+ "en_us": {
+ "title": "About",
+ "description": "Short story about the company.",
+ "keywords": "company, about",
+ "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "permalink": "/about"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "type": "Microsoft.ApiManagement/service/contentTypes/contentItems",
+ "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "properties": {
+ "en_us": {
+ "title": "About",
+ "description": "Short story about the company.",
+ "keywords": "company, about",
+ "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "permalink": "/about"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "type": "Microsoft.ApiManagement/service/contentTypes/contentItems",
+ "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "properties": {
+ "en_us": {
+ "title": "About",
+ "description": "Short story about the company.",
+ "keywords": "company, about",
+ "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "permalink": "/about"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateDiagnostic.json
new file mode 100644
index 000000000000..da79dc70a544
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateDiagnostic.json
@@ -0,0 +1,159 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights",
+ "parameters": {
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/azuremonitor",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/azuremonitor",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateEHLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateEHLogger.json
new file mode 100644
index 000000000000..7d3a102019f1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateEHLogger.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "loggerId": "eh1",
+ "parameters": {
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "adding a new logger",
+ "credentials": {
+ "name": "hydraeventhub",
+ "connectionString": "Endpoint=sb://hydraeventhub-ns.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=********="
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/eh1",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "eh1",
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "adding a new logger",
+ "credentials": {
+ "connectionString": "{{Logger-Credentials-5f28745bbebeeb13cc3f7301}}"
+ },
+ "isBuffered": true
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/eh1",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "eh1",
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "adding a new logger",
+ "credentials": {
+ "connectionString": "{{Logger-Credentials-5f28745bbebeeb13cc3f7301}}"
+ },
+ "isBuffered": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGateway.json
new file mode 100644
index 000000000000..55f071d1ab11
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGateway.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "parameters": {
+ "properties": {
+ "description": "my gateway 1",
+ "locationData": {
+ "name": "my location"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1",
+ "type": "Microsoft.ApiManagement/service/gateways",
+ "name": "a1",
+ "properties": {
+ "description": "my gateway 1",
+ "locationData": {
+ "name": "my location"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1",
+ "type": "Microsoft.ApiManagement/service/gateways",
+ "name": "a1",
+ "properties": {
+ "description": "my gateway 1",
+ "locationData": {
+ "name": "my location"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGatewayApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGatewayApi.json
new file mode 100644
index 000000000000..9429e0434c52
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGatewayApi.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "apiId": "echo-api",
+ "parameters": {
+ "properties": {
+ "provisioningState": "created"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/apis/echo-api",
+ "type": "Microsoft.ApiManagement/service/gateways/apis",
+ "name": "echo-api",
+ "properties": {
+ "displayName": "EchoApi",
+ "apiRevision": "1",
+ "serviceUrl": "https://contoso.com/apis/echo",
+ "path": "",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/apis/echo-api",
+ "type": "Microsoft.ApiManagement/service/gateways/apis",
+ "name": "echo-api",
+ "properties": {
+ "displayName": "EchoApi",
+ "apiRevision": "1",
+ "serviceUrl": "https://contoso.com/apis/echo",
+ "path": "",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGatewayCertificateAuthority.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGatewayCertificateAuthority.json
new file mode 100644
index 000000000000..89817b21f6a1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGatewayCertificateAuthority.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "certificateId": "cert1",
+ "parameters": {
+ "properties": {
+ "isTrusted": false
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/certificateAuthorities/cert1",
+ "type": "Microsoft.ApiManagement/service/gateways/certificateAuthorities",
+ "name": "cert1",
+ "properties": {
+ "isTrusted": false
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/certificateAuthorities/cert1",
+ "type": "Microsoft.ApiManagement/service/gateways/certificateAuthorities",
+ "name": "cert1",
+ "properties": {
+ "isTrusted": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGatewayHostnameConfiguration.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGatewayHostnameConfiguration.json
new file mode 100644
index 000000000000..b4fca750e39f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGatewayHostnameConfiguration.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "hcId": "default",
+ "parameters": {
+ "properties": {
+ "hostname": "*",
+ "certificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1",
+ "negotiateClientCertificate": false,
+ "tls10Enabled": false,
+ "tls11Enabled": false,
+ "http2Enabled": true
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/hostnameConfigurations/default",
+ "type": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations",
+ "name": "default",
+ "properties": {
+ "hostname": "*",
+ "certificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1",
+ "negotiateClientCertificate": false,
+ "tls10Enabled": false,
+ "tls11Enabled": false,
+ "http2Enabled": true
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/hostnameConfigurations/default",
+ "type": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations",
+ "name": "default",
+ "properties": {
+ "hostname": "*",
+ "certificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1",
+ "negotiateClientCertificate": false,
+ "tls10Enabled": false,
+ "tls11Enabled": false,
+ "http2Enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGraphQLApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGraphQLApi.json
new file mode 100644
index 000000000000..728258c5c0ed
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGraphQLApi.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "tempgroup",
+ "parameters": {
+ "properties": {
+ "description": "apidescription5200",
+ "displayName": "apiname1463",
+ "type": "graphql",
+ "serviceUrl": "https://api.spacex.land/graphql",
+ "path": "graphql-api",
+ "protocols": [
+ "http",
+ "https"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "apiid9419",
+ "properties": {
+ "displayName": "apiname1463",
+ "apiRevision": "1",
+ "description": "apidescription5200",
+ "serviceUrl": "https://api.spacex.land/graphql",
+ "type": "graphql",
+ "path": "graphql-api",
+ "protocols": [
+ "https",
+ "https"
+ ],
+ "authenticationSettings": null,
+ "subscriptionKeyParameterNames": null,
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "apiid9419",
+ "properties": {
+ "displayName": "apiname1463",
+ "apiRevision": "1",
+ "description": "apidescription5200",
+ "serviceUrl": "https://api.spacex.land/graphql",
+ "type": "graphql",
+ "path": "graphql-api",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "authenticationSettings": null,
+ "subscriptionKeyParameterNames": null,
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGroup.json
new file mode 100644
index 000000000000..879617efd9aa
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGroup.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "groupId": "tempgroup",
+ "parameters": {
+ "properties": {
+ "displayName": "temp group"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/tempgroup",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "tempgroup",
+ "properties": {
+ "displayName": "temp group",
+ "type": "custom"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/tempgroup",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "tempgroup",
+ "properties": {
+ "displayName": "temp group",
+ "type": "custom"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGroupExternal.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGroupExternal.json
new file mode 100644
index 000000000000..9be1295f9e46
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGroupExternal.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "groupId": "aadGroup",
+ "parameters": {
+ "properties": {
+ "displayName": "NewGroup (samiraad.onmicrosoft.com)",
+ "description": "new group to test",
+ "type": "external",
+ "externalId": "aad://samiraad.onmicrosoft.com/groups/83cf2753-5831-4675-bc0e-2f8dc067c58d"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/aadGroup",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "aadGroup",
+ "properties": {
+ "displayName": "NewGroup (samiraad.onmicrosoft.com)",
+ "description": "new group to test",
+ "type": "external",
+ "externalId": "aad://samiraad.onmicrosoft.com/groups/83cf2753-5831-4675-bc0e-2f8dc067c58d"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/aadGroup",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "aadGroup",
+ "properties": {
+ "displayName": "NewGroup (samiraad.onmicrosoft.com)",
+ "description": "new group to test",
+ "type": "external",
+ "externalId": "aad://samiraad.onmicrosoft.com/groups/83cf2753-5831-4675-bc0e-2f8dc067c58d"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGroupUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGroupUser.json
new file mode 100644
index 000000000000..d76c1bc2eceb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateGroupUser.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "groupId": "tempgroup",
+ "userId": "59307d350af58404d8a26300"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/59307d350af58404d8a26300",
+ "type": "Microsoft.ApiManagement/service/groups/users",
+ "name": "59307d350af58404d8a26300",
+ "properties": {
+ "firstName": "test",
+ "lastName": "user",
+ "email": "testuser1@live.com",
+ "state": "active",
+ "registrationDate": "2017-06-01T20:46:45.437Z",
+ "groups": [],
+ "identities": []
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/59307d350af58404d8a26300",
+ "type": "Microsoft.ApiManagement/service/groups/users",
+ "name": "59307d350af58404d8a26300",
+ "properties": {
+ "firstName": "test",
+ "lastName": "user",
+ "email": "testuser1@live.com",
+ "state": "active",
+ "registrationDate": "2017-06-01T20:46:45.437Z",
+ "groups": [],
+ "identities": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateIdentityProvider.json
new file mode 100644
index 000000000000..5db3192fab12
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateIdentityProvider.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "identityProviderName": "facebook",
+ "parameters": {
+ "properties": {
+ "clientId": "facebookid",
+ "clientSecret": "facebookapplicationsecret"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/Facebook",
+ "type": "Microsoft.ApiManagement/service/identityProviders",
+ "name": "Facebook",
+ "properties": {
+ "clientId": "facebookid",
+ "type": "facebook"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/Facebook",
+ "type": "Microsoft.ApiManagement/service/identityProviders",
+ "name": "Facebook",
+ "properties": {
+ "clientId": "facebookid",
+ "type": "facebook"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json
new file mode 100644
index 000000000000..6f5bc1cfa065
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json
@@ -0,0 +1,256 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "gateway1.msitesting.net",
+ "encodedCertificate": "****** Base 64 Encoded Certificate ************",
+ "certificatePassword": "Password",
+ "defaultSslBinding": true
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.msitesting.net",
+ "encodedCertificate": "****** Base 64 Encoded Certificate ************",
+ "certificatePassword": "Password"
+ },
+ {
+ "type": "Portal",
+ "hostName": "portal1.msitesting.net",
+ "encodedCertificate": "****** Base 64 Encoded Certificate ************",
+ "certificatePassword": "Password"
+ }
+ ],
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "additionalLocations": [
+ {
+ "location": "East US",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "disableGateway": true
+ }
+ ],
+ "virtualNetworkType": "None",
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-01-01"
+ }
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2021-08-01"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAACXoo=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Created",
+ "targetProvisioningState": "Activating",
+ "createdAtUtc": "2019-12-18T08:04:26.9492661Z",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": true
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Portal",
+ "hostName": "portal1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ }
+ ],
+ "additionalLocations": [
+ {
+ "location": "East US",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "disableGateway": true
+ }
+ ],
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-01-01"
+ }
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAACXok=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-12-18T06:26:20.3348609Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-westus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": true
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Portal",
+ "hostName": "portal1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXF1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ }
+ ],
+ "publicIPAddresses": [
+ "13.91.32.113"
+ ],
+ "additionalLocations": [
+ {
+ "location": "East US",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "publicIPAddresses": [
+ "23.101.138.153"
+ ],
+ "gatewayRegionalUrl": "https://apimService1-eastus-01.regional.azure-api.net",
+ "disableGateway": true
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-01-01"
+ }
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2021-08-01"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNamedValue.json
new file mode 100644
index 000000000000..795407ce8240
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNamedValue.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "namedValueId": "testprop2",
+ "parameters": {
+ "properties": {
+ "displayName": "prop3name",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": false
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "testprop2",
+ "properties": {
+ "displayName": "prop3name",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": false
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "testprop2",
+ "properties": {
+ "displayName": "prop3name",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNamedValueWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNamedValueWithKeyVault.json
new file mode 100644
index 000000000000..410b03a4eb9d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNamedValueWithKeyVault.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "namedValueId": "testprop6",
+ "parameters": {
+ "properties": {
+ "displayName": "prop6namekv",
+ "keyVault": {
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "secretIdentifier": "https://contoso.vault.azure.net/secrets/aadSecret"
+ },
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": true
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "testprop6",
+ "properties": {
+ "displayName": "prop6namekv",
+ "keyVault": {
+ "secretIdentifier": "https://contoso.vault.azure.net/secrets/aadSecret",
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-11T00:54:31.8024882Z"
+ }
+ },
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": true
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "testprop6",
+ "properties": {
+ "displayName": "prop6namekv",
+ "keyVault": {
+ "secretIdentifier": "https://contoso.vault.azure.net/secrets/aadSecret",
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-11T00:54:31.8024882Z"
+ }
+ },
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNotification.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNotification.json
new file mode 100644
index 000000000000..90dddb1c5c00
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNotification.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "RequestPublisherNotificationMessage",
+ "properties": {
+ "title": "Subscription requests (requiring approval)",
+ "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/contoso@live.com",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/foobar!live",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/foobar@live.com"
+ ],
+ "users": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNotificationRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNotificationRecipientEmail.json
new file mode 100644
index 000000000000..fc2e984617b1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNotificationRecipientEmail.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "email": "foobar@live.com"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientEmails",
+ "name": "foobar@live.com",
+ "properties": {
+ "email": "foobar@live.com"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientEmails",
+ "name": "foobar@live.com",
+ "properties": {
+ "email": "foobar@live.com"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNotificationRecipientUser.json
new file mode 100644
index 000000000000..a80dea2f2fa8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateNotificationRecipientUser.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "userId": "576823d0a40f7e74ec07d642"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientUsers/576823d0a40f7e74ec07d642",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientUsers",
+ "name": "576823d0a40f7e74ec07d642",
+ "properties": {
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientUsers/576823d0a40f7e74ec07d642",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientUsers",
+ "name": "576823d0a40f7e74ec07d642",
+ "properties": {
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateOpenIdConnectProvider.json
new file mode 100644
index 000000000000..5f1a3a3ea8e2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateOpenIdConnectProvider.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "opid": "templateOpenIdConnect3",
+ "parameters": {
+ "properties": {
+ "displayName": "templateoidprovider3",
+ "metadataEndpoint": "https://oidprovider-template3.net",
+ "clientId": "oidprovidertemplate3",
+ "clientSecret": "x"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/openidConnectProviders/templateOpenIdConnect3",
+ "type": "Microsoft.ApiManagement/service/openidconnectproviders",
+ "name": "templateOpenIdConnect3",
+ "properties": {
+ "displayName": "templateoidprovider3",
+ "metadataEndpoint": "https://oidprovider-template3.net",
+ "clientId": "oidprovidertemplate3"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/openidConnectProviders/templateOpenIdConnect3",
+ "type": "Microsoft.ApiManagement/service/openidconnectproviders",
+ "name": "templateOpenIdConnect3",
+ "properties": {
+ "displayName": "templateoidprovider3",
+ "metadataEndpoint": "https://oidprovider-template3.net",
+ "clientId": "oidprovidertemplate3"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreatePolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreatePolicy.json
new file mode 100644
index 000000000000..26489fdd243a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreatePolicy.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "policyId": "policy",
+ "parameters": {
+ "properties": {
+ "format": "xml",
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policies/policy",
+ "type": "Microsoft.ApiManagement/service/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policies/policy",
+ "type": "Microsoft.ApiManagement/service/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreatePortalRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreatePortalRevision.json
new file mode 100644
index 000000000000..e0c70b850a54
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreatePortalRevision.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "portalRevisionId": "20201112101010",
+ "parameters": {
+ "properties": {
+ "description": "portal revision 1",
+ "isCurrent": true
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112101010?api-version=2021-08-01&asyncId=5faf089b1d9a026694220e0c&asyncCode=201"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112101010",
+ "type": "Microsoft.ApiManagement/service/portalRevisions",
+ "name": "20201112101010",
+ "properties": {
+ "description": "portal revision 1",
+ "statusDetails": null,
+ "status": "completed",
+ "isCurrent": true,
+ "createdDateTime": "2020-11-13T22:28:43.657Z",
+ "updatedDateTime": "2020-11-13T22:29:22.68Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProduct.json
new file mode 100644
index 000000000000..a066fb225c7c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProduct.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "testproduct",
+ "parameters": {
+ "properties": {
+ "displayName": "Test Template ProductName 4"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/testproduct",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "testproduct",
+ "properties": {
+ "displayName": "Test Template ProductName 4",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "state": "notPublished"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/testproduct",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "testproduct",
+ "properties": {
+ "displayName": "Test Template ProductName 4",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "state": "notPublished"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductApi.json
new file mode 100644
index 000000000000..09da2523a225
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductApi.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "testproduct",
+ "apiId": "echo-api"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5931a75ae4bbd512a88c680b",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "5931a75ae4bbd512a88c680b",
+ "properties": {
+ "displayName": "EchoApi",
+ "apiRevision": "1",
+ "serviceUrl": "https://contoso.com/apis/echo",
+ "path": "",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5931a75ae4bbd512a88c680b",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "5931a75ae4bbd512a88c680b",
+ "properties": {
+ "displayName": "EchoApi",
+ "apiRevision": "1",
+ "serviceUrl": "https://contoso.com/apis/echo",
+ "path": "",
+ "protocols": [
+ "http",
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductGroup.json
new file mode 100644
index 000000000000..86abbb07caf9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductGroup.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "testproduct",
+ "groupId": "templateGroup"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/templateGroup",
+ "type": "Microsoft.ApiManagement/service/products/groups",
+ "name": "templateGroup",
+ "properties": {
+ "displayName": "Template Group",
+ "description": "group created via Template",
+ "builtIn": false,
+ "type": "custom"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/templateGroup",
+ "type": "Microsoft.ApiManagement/service/products/groups",
+ "name": "templateGroup",
+ "properties": {
+ "displayName": "Template Group",
+ "description": "group created via Template",
+ "builtIn": false,
+ "type": "custom"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductPolicy.json
new file mode 100644
index 000000000000..b3a0cac4781e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductPolicy.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "5702e97e5157a50f48dce801",
+ "policyId": "policy",
+ "parameters": {
+ "properties": {
+ "format": "xml",
+ "value": "\r\n \r\n \r\n \r\n @( string.Join(\",\", DateTime.UtcNow, context.Deployment.ServiceName, context.RequestId, context.Request.IpAddress, context.Operation.Name) ) \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5702e97e5157a50f48dce801/policies/policy",
+ "type": "Microsoft.ApiManagement/service/products/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n @( string.Join(\",\", DateTime.UtcNow, context.Deployment.ServiceName, context.RequestId, context.Request.IpAddress, context.Operation.Name) ) \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5702e97e5157a50f48dce801/policies/policy",
+ "type": "Microsoft.ApiManagement/service/products/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n @( string.Join(\",\", DateTime.UtcNow, context.Deployment.ServiceName, context.RequestId, context.Request.IpAddress, context.Operation.Name) ) \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductTag.json
new file mode 100644
index 000000000000..78452d14a1e1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateProductTag.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "5931a75ae4bbd512a88c680b",
+ "tagId": "tagId1"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateService.json
new file mode 100644
index 000000000000..62bdd7157bbb
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateService.json
@@ -0,0 +1,141 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "publisherEmail": "foo@contoso.com",
+ "publisherName": "foo"
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ },
+ "location": "South Central US",
+ "tags": {
+ "Name": "Contoso",
+ "Test": "User"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Name": "Contoso",
+ "Test": "User"
+ },
+ "location": "South Central US",
+ "etag": "AAAAAAAp3P0=",
+ "properties": {
+ "publisherEmail": "foo@contoso.com",
+ "publisherName": "foo",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Created",
+ "targetProvisioningState": "Activating",
+ "createdAtUtc": "2019-12-18T06:10:56.0327105Z",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {}
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Name": "Contoso",
+ "Test": "User"
+ },
+ "location": "South Central US",
+ "etag": "AAAAAAAp3T4=",
+ "properties": {
+ "publisherEmail": "foo@contoso.com",
+ "publisherName": "foo",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-12-18T06:10:56.0327105Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-southcentralus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "publicIPAddresses": [
+ "23.102.171.124"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {}
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/c2RrdGVzdGFwaW0xNTkxX0FjdF9jZTkyMmNmOQ==?api-version=2021-08-01"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceHavingMsi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceHavingMsi.json
new file mode 100644
index 000000000000..c07832a1c5e1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceHavingMsi.json
@@ -0,0 +1,137 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk"
+ },
+ "sku": {
+ "name": "Consumption",
+ "capacity": 0
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAAWiE=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Created",
+ "targetProvisioningState": "Activating",
+ "createdAtUtc": "2019-04-11T16:29:29.9711098Z",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Consumption",
+ "capacity": 0
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "dfb9a757-df69-4966-a8d0-711a9cd8ffb4",
+ "tenantId": "XXXXXX-86f1-41af-91ab-2d7cd011db47"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAAWiU=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-04-11T16:29:29.9711098Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "virtualNetworkType": "None",
+ "enableClientCertificate": false,
+ "platformVersion": "mtv1"
+ },
+ "sku": {
+ "name": "Consumption",
+ "capacity": 0
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "dfb9a757-df69-4966-a8d0-711a9cd8ffb4",
+ "tenantId": "XXXXXX-86f1-41af-91ab-2d7cd011db47"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceInVnetWithPublicIP.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceInVnetWithPublicIP.json
new file mode 100644
index 000000000000..1a6bb534797d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceInVnetWithPublicIP.json
@@ -0,0 +1,169 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant"
+ },
+ "publicIpAddressId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet",
+ "virtualNetworkType": "External"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 2
+ },
+ "zones": [
+ "1",
+ "2"
+ ],
+ "location": "East US 2 EUAP",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "East US 2 EUAP",
+ "etag": "AAAAAAAiXto=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Created",
+ "targetProvisioningState": "Activating",
+ "createdAtUtc": "2020-07-28T23:18:14.6562474Z",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "publicIpAddressId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet",
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant"
+ },
+ "virtualNetworkType": "External",
+ "disableGateway": false,
+ "platformVersion": "stv2"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 2
+ },
+ "zones": [
+ "1",
+ "2"
+ ],
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "East US 2 EUAP",
+ "etag": "AAAAAAAGTAs=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-02-22T06:53:46.6409875Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-eastus2euap-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "publicIPAddresses": [
+ "20.47.137.XXX"
+ ],
+ "publicIpAddressId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/publicIPAddresses/apimazvnet",
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/subid/resourceGroups/rgName/providers/Microsoft.Network/virtualNetworks/apimcus/subnets/tenant"
+ },
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "External",
+ "disableGateway": false,
+ "platformVersion": "stv2"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 2
+ },
+ "zones": [
+ "1",
+ "2"
+ ],
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceInZones.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceInZones.json
new file mode 100644
index 000000000000..9ca1bcf9031a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceInZones.json
@@ -0,0 +1,156 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 2
+ },
+ "zones": [
+ "1",
+ "2"
+ ],
+ "location": "North europe",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "North Europe",
+ "etag": "AAAAAAAiXto=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Created",
+ "targetProvisioningState": "Activating",
+ "createdAtUtc": "2020-07-28T23:18:14.6562474Z",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "platformVersion": "stv2"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 2
+ },
+ "zones": [
+ "1",
+ "2"
+ ],
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "North Europe",
+ "etag": "AAAAAAAiXvE=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2020-07-28T23:18:14.6562474Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-northeurope-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "publicIPAddresses": [
+ "20.54.34.66"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "platformVersion": "stv2"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 2
+ },
+ "zones": [
+ "1",
+ "2"
+ ],
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json
new file mode 100644
index 000000000000..263ddbc773cf
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json
@@ -0,0 +1,282 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "gateway1.msitesting.net",
+ "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
+ "defaultSslBinding": true
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.msitesting.net",
+ "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468"
+ },
+ {
+ "type": "Portal",
+ "hostName": "portal1.msitesting.net",
+ "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468"
+ }
+ ],
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "virtualNetworkType": "None",
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-01-01"
+ }
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}
+ }
+ },
+ "location": "North Europe",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2021-08-01"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "North Europe",
+ "etag": "AAAAAAAigi8=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Created",
+ "targetProvisioningState": "Activating",
+ "createdAtUtc": "2020-09-13T22:30:20.7759747Z",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false,
+ "certificateSource": "BuiltIn"
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway1.msitesting.net",
+ "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2037-01-01T07:00:00+00:00",
+ "thumbprint": "EA276907917CB5XXXXXXXXXXX690",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": true,
+ "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
+ "certificateSource": "KeyVault"
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.msitesting.net",
+ "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2037-01-01T07:00:00+00:00",
+ "thumbprint": "EA276907917CB5XXXXXXXXXXX690",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false,
+ "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
+ "certificateSource": "KeyVault"
+ },
+ {
+ "type": "Portal",
+ "hostName": "portal1.msitesting.net",
+ "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2037-01-01T07:00:00+00:00",
+ "thumbprint": "EA276907917CB5XXXXXXXXXXX690",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false,
+ "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
+ "certificateSource": "KeyVault"
+ }
+ ],
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "platformVersion": "stv2",
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-01-01"
+ }
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {}
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "North Europe",
+ "etag": "AAAAAAAigjU=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2020-09-13T22:30:20.7759747Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-northeurope-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false,
+ "certificateSource": "BuiltIn"
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway1.msitesting.net",
+ "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2037-01-01T07:00:00+00:00",
+ "thumbprint": "EA276907917CB5XXXXXXXXXXX690",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": true,
+ "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
+ "certificateSource": "KeyVault"
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.msitesting.net",
+ "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2037-01-01T07:00:00+00:00",
+ "thumbprint": "EA276907917CB5XXXXXXXXXXX690",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false,
+ "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
+ "certificateSource": "KeyVault"
+ },
+ {
+ "type": "Portal",
+ "hostName": "portal1.msitesting.net",
+ "keyVaultId": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2037-01-01T07:00:00+00:00",
+ "thumbprint": "EA276907917CB5XXXXXXXXXXX690",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false,
+ "identityClientId": "329419bc-adec-4dce-9568-25a6d486e468",
+ "certificateSource": "KeyVault"
+ }
+ ],
+ "publicIPAddresses": [
+ "40.112.74.192"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "platformVersion": "stv2",
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-01-01"
+ }
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "tenantId": "f686d426-8d16-xxxx-xxxx-ab578e110ccd",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "principalId": "15e769b2-xxxx-xxxx-xxxx-3fd9a923ac3a",
+ "clientId": "329419bc-adec-4dce-9568-25a6d486e468"
+ }
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2021-08-01"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceWithSystemCertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceWithSystemCertificates.json
new file mode 100644
index 000000000000..0a531272a11c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceWithSystemCertificates.json
@@ -0,0 +1,173 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "certificates": [
+ {
+ "encodedCertificate": "*******Base64 encoded Certificate******************",
+ "certificatePassword": "Password",
+ "storeName": "CertificateAuthority"
+ }
+ ],
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk"
+ },
+ "sku": {
+ "name": "Basic",
+ "capacity": 1
+ },
+ "location": "Central US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2021-08-01"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "Central US",
+ "etag": "AAAAAAAp3TM=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Created",
+ "targetProvisioningState": "Activating",
+ "createdAtUtc": "2019-12-18T06:33:28.0906918Z",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "virtualNetworkType": "None",
+ "certificates": [
+ {
+ "storeName": "CertificateAuthority",
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989652CABCF585ACBFCB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ }
+ }
+ ],
+ "disableGateway": false,
+ "platformVersion": "stv2",
+ "apiVersionConstraint": {}
+ },
+ "sku": {
+ "name": "Basic",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "Central US",
+ "etag": "AAAAAAAp3UM=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-12-18T06:33:28.0906918Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-centralus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "publicIPAddresses": [
+ "40.113.223.117"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "certificates": [
+ {
+ "storeName": "CertificateAuthority",
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989652CABCF585ACBFCB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ }
+ }
+ ],
+ "disableGateway": false,
+ "platformVersion": "stv2",
+ "apiVersionConstraint": {}
+ },
+ "sku": {
+ "name": "Basic",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/bXVsdGlob3N0bmFtZW11bHRpcmVnaW9uc2VydmljZV9BY3RfZjFiOTZhMjc=?api-version=2021-08-01"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceWithUserAssignedIdentity.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceWithUserAssignedIdentity.json
new file mode 100644
index 000000000000..9402b3a3849e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateServiceWithUserAssignedIdentity.json
@@ -0,0 +1,156 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk"
+ },
+ "sku": {
+ "name": "Consumption",
+ "capacity": 0
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": {}
+ }
+ },
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAFzyQ=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Created",
+ "targetProvisioningState": "Activating",
+ "createdAtUtc": "2020-03-12T01:05:33.4573398Z",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "virtualNetworkType": "None",
+ "platformVersion": "mtv1"
+ },
+ "sku": {
+ "name": "Consumption",
+ "capacity": 0
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": {}
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAFzyk=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2020-03-12T01:05:33.4573398Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "platformVersion": "mtv1"
+ },
+ "sku": {
+ "name": "Consumption",
+ "capacity": 0
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "tenantId": "XXXXX-86f1-41af-XXXX-2d7cd011db47",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": {
+ "principalId": "XXXXX-6e62-4649-9f54-a119fc1ba85e",
+ "clientId": "5a2c6b8e-0905-XXXX-a772-993c9418137f"
+ }
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-02-01T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-02-02T02:03:01.1974346Z"
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json
new file mode 100644
index 000000000000..f14c353fc752
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateSoapPassThroughApiUsingWsdlImport.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "soapApi",
+ "parameters": {
+ "properties": {
+ "format": "wsdl-link",
+ "value": "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
+ "path": "currency",
+ "apiType": "soap",
+ "wsdlSelector": {
+ "wsdlServiceName": "CurrencyConvertor",
+ "wsdlEndpointName": "CurrencyConvertorSoap"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "soapApi",
+ "properties": {
+ "displayName": "CurrencyConvertor",
+ "apiRevision": "1",
+ "serviceUrl": "http://www.webservicex.net",
+ "path": "currency",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "type": "soap",
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "soapApi",
+ "properties": {
+ "displayName": "CurrencyConvertor",
+ "apiRevision": "1",
+ "serviceUrl": "http://www.webservicex.net",
+ "path": "currency",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "type": "soap",
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json
new file mode 100644
index 000000000000..a74369abbb36
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateSoapToRestApiUsingWsdlImport.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "soapApi",
+ "parameters": {
+ "properties": {
+ "format": "wsdl-link",
+ "value": "http://www.webservicex.net/CurrencyConvertor.asmx?WSDL",
+ "path": "currency",
+ "wsdlSelector": {
+ "wsdlServiceName": "CurrencyConvertor",
+ "wsdlEndpointName": "CurrencyConvertorSoap"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "soapApi",
+ "properties": {
+ "displayName": "CurrencyConvertor",
+ "apiRevision": "1",
+ "serviceUrl": "http://www.webservicex.net",
+ "path": "currency",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/soapApi",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "soapApi",
+ "properties": {
+ "displayName": "CurrencyConvertor",
+ "apiRevision": "1",
+ "serviceUrl": "http://www.webservicex.net",
+ "path": "currency",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateSubscription.json
new file mode 100644
index 000000000000..381331150998
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateSubscription.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "sid": "testsub",
+ "parameters": {
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57127d485157a511ace86ae7",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
+ "displayName": "testsub"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub",
+ "type": "Microsoft.ApiManagement/service/subscriptions",
+ "name": "testsub",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57127d485157a511ace86ae7",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
+ "displayName": "testsub",
+ "state": "submitted",
+ "createdDate": "2017-06-02T23:34:03.1055076Z"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub",
+ "type": "Microsoft.ApiManagement/service/subscriptions",
+ "name": "testsub",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57127d485157a511ace86ae7",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
+ "displayName": "testsub",
+ "state": "submitted",
+ "createdDate": "2017-06-02T23:34:03.1055076Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateTag.json
new file mode 100644
index 000000000000..2bca2fa1df7b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateTag.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "tagId": "tagId1",
+ "parameters": {
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/tagId1",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "tagId1",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateTemplate.json
new file mode 100644
index 000000000000..287b414cf93f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateTemplate.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "templateName": "newIssueNotificationMessage",
+ "parameters": {
+ "properties": {
+ "subject": "Your request for $IssueName was successfully received."
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/NewIssueNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/templates",
+ "name": "NewIssueNotificationMessage",
+ "properties": {
+ "subject": "Your request for $IssueName was successfully received.",
+ "body": "\r\n\r\n \r\n \r\n Dear $DevFirstName $DevLastName,
\r\n Thank you for contacting us. Our API team will review your issue and get back to you soon.
\r\n \r\n Click this link to view or edit your request.\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n",
+ "title": "New issue received",
+ "description": "This email is sent to developers after they create a new topic on the Issues page of the developer portal.",
+ "isDefault": false,
+ "parameters": [
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "IssueId",
+ "title": "Issue id"
+ },
+ {
+ "name": "IssueName",
+ "title": "Issue name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ }
+ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/NewIssueNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/templates",
+ "name": "NewIssueNotificationMessage",
+ "properties": {
+ "subject": "Your request for $IssueName was successfully received.",
+ "body": "\r\n\r\n \r\n \r\n Dear $DevFirstName $DevLastName,
\r\n Thank you for contacting us. Our API team will review your issue and get back to you soon.
\r\n \r\n Click this link to view or edit your request.\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n",
+ "title": "New issue received",
+ "description": "This email is sent to developers after they create a new topic on the Issues page of the developer portal.",
+ "isDefault": false,
+ "parameters": [
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "IssueId",
+ "title": "Issue id"
+ },
+ {
+ "name": "IssueName",
+ "title": "Issue name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateTenantAccess.json
new file mode 100644
index 000000000000..620b58bf752f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateTenantAccess.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "If-Match": "*",
+ "accessName": "access",
+ "parameters": {
+ "properties": {
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/access",
+ "type": "Microsoft.ApiManagement/service/tenant",
+ "name": "access",
+ "properties": {
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateUser.json
new file mode 100644
index 000000000000..173546ef60d8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateUser.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512288c680b",
+ "parameters": {
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foobar@outlook.com",
+ "confirmation": "signup"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512288c680b",
+ "type": "Microsoft.ApiManagement/service/users",
+ "name": "5931a75ae4bbd512288c680b",
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foobar@outlook.com",
+ "state": "active",
+ "registrationDate": "2018-01-07T21:21:29.16Z",
+ "groups": [],
+ "identities": [
+ {
+ "provider": "Basic",
+ "id": "foobar@outlook.com"
+ }
+ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512288c680b",
+ "type": "Microsoft.ApiManagement/service/users",
+ "name": "5931a75ae4bbd512288c680b",
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foobar@outlook.com",
+ "state": "active",
+ "registrationDate": "2018-01-07T21:21:29.16Z",
+ "groups": [],
+ "identities": [
+ {
+ "provider": "Basic",
+ "id": "foobar@outlook.com"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateWebsocketApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateWebsocketApi.json
new file mode 100644
index 000000000000..b899330201de
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementCreateWebsocketApi.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "tempgroup",
+ "parameters": {
+ "properties": {
+ "description": "apidescription5200",
+ "displayName": "apiname1463",
+ "type": "websocket",
+ "serviceUrl": "wss://echo.websocket.org",
+ "path": "newapiPath",
+ "protocols": [
+ "wss",
+ "ws"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "apiid9419",
+ "properties": {
+ "displayName": "apiname1463",
+ "apiRevision": "1",
+ "description": "apidescription5200",
+ "serviceUrl": "wss://echo.websocket.org",
+ "type": "websocket",
+ "path": "newapiPath",
+ "protocols": [
+ "ws",
+ "wss"
+ ],
+ "authenticationSettings": null,
+ "subscriptionKeyParameterNames": null,
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/apiid9419",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "apiid9419",
+ "properties": {
+ "displayName": "apiname1463",
+ "apiRevision": "1",
+ "description": "apidescription5200",
+ "serviceUrl": "wss://echo.websocket.org",
+ "type": "websocket",
+ "path": "newapiPath",
+ "protocols": [
+ "ws",
+ "wss"
+ ],
+ "authenticationSettings": null,
+ "subscriptionKeyParameterNames": null,
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApi.json
new file mode 100644
index 000000000000..cddf7f4a5fb4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApi.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "echo-api",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiDiagnostic.json
new file mode 100644
index 000000000000..4fa66d3b83bc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiDiagnostic.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiIssue.json
new file mode 100644
index 000000000000..4ddfaa0a9a7e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiIssue.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiIssueAttachment.json
new file mode 100644
index 000000000000..70ead9e1ae2c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiIssueAttachment.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "attachmentId": "57d2ef278aa04f0888cba3f3",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiIssueComment.json
new file mode 100644
index 000000000000..b57ea76fc1b7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiIssueComment.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "commentId": "599e29ab193c3c0bd0b3e2fb",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiOperation.json
new file mode 100644
index 000000000000..534761771aab
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiOperation.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "operationId": "57d2ef278aa04f0ad01d6cdc",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiOperationPolicy.json
new file mode 100644
index 000000000000..915fcf425e11
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiOperationPolicy.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "testapi",
+ "operationId": "testoperation",
+ "policyId": "policy",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiOperationTag.json
new file mode 100644
index 000000000000..7c2cc277e013
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiOperationTag.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "59d5b28d1f7fab116c282650",
+ "operationId": "59d5b28d1f7fab116c282651",
+ "tagId": "59d5b28e1f7fab116402044e",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiPolicy.json
new file mode 100644
index 000000000000..b3c1d965553a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiPolicy.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "loggerId",
+ "policyId": "policy",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiRelease.json
new file mode 100644
index 000000000000..245d103c4f34
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiRelease.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "5a5fcc09124a7fa9b89f2f1d",
+ "releaseId": "testrev",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiSchema.json
new file mode 100644
index 000000000000..2a1e2c9619a5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiSchema.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "59d5b28d1f7fab116c282650",
+ "schemaId": "59d5b28e1f7fab116402044e",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiTag.json
new file mode 100644
index 000000000000..9335bca9fb22
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiTag.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "59d5b28d1f7fab116c282650",
+ "tagId": "59d5b28e1f7fab116402044e",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiTagDescription.json
new file mode 100644
index 000000000000..78d85add14ea
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiTagDescription.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "59d5b28d1f7fab116c282650",
+ "tagDescriptionId": "59d5b28e1f7fab116402044e",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiVersionSet.json
new file mode 100644
index 000000000000..716344edd521
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteApiVersionSet.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "versionSetId": "a1",
+ "If-Match": "*"
+ },
+ "responses": {
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteAuthorizationServer.json
new file mode 100644
index 000000000000..be1cacce5447
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteAuthorizationServer.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "authsid": "newauthServer2",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteBackend.json
new file mode 100644
index 000000000000..c7597a891fb3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteBackend.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "backendId": "sfbackend",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteCache.json
new file mode 100644
index 000000000000..aa827b759b6e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteCache.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "cacheId": "southindia",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteCertificate.json
new file mode 100644
index 000000000000..2c392d9ae4d1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteCertificate.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "certificateId": "tempcert",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteContentType.json
new file mode 100644
index 000000000000..4cd2c5a5e274
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteContentType.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "contentTypeId": "page",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteContentTypeContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteContentTypeContentItem.json
new file mode 100644
index 000000000000..663446725860
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteContentTypeContentItem.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "contentTypeId": "page",
+ "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteDiagnostic.json
new file mode 100644
index 000000000000..4d3308722c3b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteDiagnostic.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGateway.json
new file mode 100644
index 000000000000..a00516ab47d0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGateway.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGatewayApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGatewayApi.json
new file mode 100644
index 000000000000..93d0d7286108
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGatewayApi.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "apiId": "echo-api",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGatewayCertificateAuthority.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGatewayCertificateAuthority.json
new file mode 100644
index 000000000000..57c160e1ccf6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGatewayCertificateAuthority.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "certificateId": "default",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGatewayHostnameConfiguration.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGatewayHostnameConfiguration.json
new file mode 100644
index 000000000000..5dbaa0db7cce
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGatewayHostnameConfiguration.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "hcId": "default",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGroup.json
new file mode 100644
index 000000000000..fc4cd1dd8f51
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGroup.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "groupId": "aadGroup",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGroupUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGroupUser.json
new file mode 100644
index 000000000000..65f0a4adf006
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteGroupUser.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "groupId": "templategroup",
+ "userId": "59307d350af58404d8a26300",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteIdentityProvider.json
new file mode 100644
index 000000000000..fa9adde106ed
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteIdentityProvider.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "identityProviderName": "aad",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteLogger.json
new file mode 100644
index 000000000000..f27388b98284
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteLogger.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "loggerId": "loggerId",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteNamedValue.json
new file mode 100644
index 000000000000..cb0e020e476f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteNamedValue.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "namedValueId": "testprop2",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteNotificationRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteNotificationRecipientEmail.json
new file mode 100644
index 000000000000..eb7872683a01
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteNotificationRecipientEmail.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "email": "contoso@live.com"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteNotificationRecipientUser.json
new file mode 100644
index 000000000000..77687d5123f6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteNotificationRecipientUser.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "userId": "576823d0a40f7e74ec07d642"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteOpenIdConnectProvider.json
new file mode 100644
index 000000000000..a3896bb5fbac
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteOpenIdConnectProvider.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "opid": "templateOpenIdConnect3",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletePolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletePolicy.json
new file mode 100644
index 000000000000..b378d5d3461d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletePolicy.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "policyId": "policy",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletePrivateEndpointConnection.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..fddeb07b9527
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletePrivateEndpointConnection.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "privateEndpointConnectionName": "privateEndpointConnectionName"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/tempgroup?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProduct.json
new file mode 100644
index 000000000000..17250a54be11
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProduct.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "testproduct",
+ "deleteSubscriptions": true,
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductApi.json
new file mode 100644
index 000000000000..e197403efded
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductApi.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "testproduct",
+ "apiId": "echo-api",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductGroup.json
new file mode 100644
index 000000000000..37cfb9d6c7e1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductGroup.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "testproduct",
+ "groupId": "templateGroup",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductPolicy.json
new file mode 100644
index 000000000000..60df4db33884
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductPolicy.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "testproduct",
+ "policyId": "policy",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductTag.json
new file mode 100644
index 000000000000..29700e5949f7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteProductTag.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "59d5b28d1f7fab116c282650",
+ "tagId": "59d5b28e1f7fab116402044e",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteSubscription.json
new file mode 100644
index 000000000000..5b688c6bb40c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteSubscription.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "sid": "testsub",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteTag.json
new file mode 100644
index 000000000000..5fe20e9610cd
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteTag.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "tagId": "tagId1",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteTemplate.json
new file mode 100644
index 000000000000..551aab32b810
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteTemplate.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "templateName": "newIssueNotificationMessage",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteUser.json
new file mode 100644
index 000000000000..191ccd09e9f5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeleteUser.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletedServicesListBySubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletedServicesListBySubscription.json
new file mode 100644
index 000000000000..37cd95ddc6a1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletedServicesListBySubscription.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.ApiManagement/locations/westus/deletedservices/apimService3",
+ "name": "apimService3",
+ "type": "Microsoft.ApiManagement/deletedservices",
+ "location": "West US",
+ "properties": {
+ "serviceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService3",
+ "scheduledPurgeDate": "2017-05-27T15:33:55.5426123Z",
+ "deletionDate": "2017-05-27T15:33:55.5426123Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/providers/Microsoft.ApiManagement/locations/westus2/deletedservices/apimService",
+ "name": "apimService",
+ "type": "Microsoft.ApiManagement/deletedservices",
+ "location": "West US 2",
+ "properties": {
+ "serviceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService",
+ "scheduledPurgeDate": "2017-05-27T15:33:55.5426123Z",
+ "deletionDate": "2017-05-27T15:33:55.5426123Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletedServicesPurge.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletedServicesPurge.json
new file mode 100644
index 000000000000..20ee9bc8f7db
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementDeletedServicesPurge.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService3",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "location": "westus"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/locations/westus/deletedservices/apimService3/operationresults/TGV2eTExMDZtMDJfVGVybV9jMmZlY2QwMA==?api-version=2021-08-01"
+ },
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.ApiManagement/locations/westus/deletedservices/apimService3",
+ "name": "apimService3",
+ "type": "Microsoft.ApiManagement/deletedservices",
+ "location": "West US",
+ "properties": {
+ "serviceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService3",
+ "scheduledPurgeDate": "2017-05-27T15:33:55.5426123Z",
+ "deletionDate": "2017-05-27T15:33:55.5426123Z"
+ }
+ }
+ },
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGatewayGenerateToken.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGatewayGenerateToken.json
new file mode 100644
index 000000000000..163e31094dbc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGatewayGenerateToken.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "parameters": {
+ "keyType": "primary",
+ "expiry": "2020-04-21T00:44:24.2845269Z"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "gw1&201904210044&9A1GR1f5WIhFvFmzQG+xxxxxxxxxxx/kBeu87DWad3tkasUXuvPL+MgzlwUHyg=="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGatewayListKeys.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGatewayListKeys.json
new file mode 100644
index 000000000000..2166e313b316
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGatewayListKeys.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primary": "primary_key_value",
+ "secondary": "secondary_key_value"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGatewayRegenerateKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGatewayRegenerateKey.json
new file mode 100644
index 000000000000..db72fd8b2d63
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGatewayRegenerateKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gwId",
+ "parameters": {
+ "keyType": "primary"
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiContract.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiContract.json
new file mode 100644
index 000000000000..ca09c32e188c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiContract.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "57d1f7558aa04f15146d9d8a",
+ "properties": {
+ "displayName": "Service",
+ "apiRevision": "1",
+ "serviceUrl": "https://api.plexonline.com/DataSource/Service.asmx",
+ "path": "schulte",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "type": "soap",
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiDiagnostic.json
new file mode 100644
index 000000000000..ad3fa4ed38b2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiDiagnostic.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/apis/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ },
+ "frontend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiExportInOpenApi2dot0.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiExportInOpenApi2dot0.json
new file mode 100644
index 000000000000..160a6211b8de
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiExportInOpenApi2dot0.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "echo-api",
+ "format": "swagger-link",
+ "export": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
+ "format": "swagger-link-json",
+ "value": {
+ "link": "https://apimgmtstkjpszxxxxxxx.blob.core.windows.net/api-export/Swagger Petstore Extensive.json?sv=2015-07-08&sr=b&sig=mxhLsFuOonu8EXIjyFPV%2FnDra0qTIoip7N7MuU%2BTFsA%3D&se=2019-04-10T22:41:31Z&sp=r"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiExportInOpenApi3dot0.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiExportInOpenApi3dot0.json
new file mode 100644
index 000000000000..b89abc625ee2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiExportInOpenApi3dot0.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "aid9676",
+ "format": "openapi-link",
+ "export": "true"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/aid9676",
+ "format": "openapi-link",
+ "value": {
+ "link": "https: //apimgmtstkjpszxxxxxxx.blob.core.windows.net/api-export/Swagger Petstore.yaml?sv=2015-07-08&sr=b&sig=qqtR1y5iTbz5P7USBduqB5vriIU4gmiGqe0lKVV8j9k%3D&se=2019-04-10T22:40:57Z&sp=r"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiIssue.json
new file mode 100644
index 000000000000..1bf61b9a6b2a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiIssue.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "issueId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiIssueAttachment.json
new file mode 100644
index 000000000000..c0f3d4ef3e3d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiIssueAttachment.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "attachmentId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/attachments/57d2ef278aa04f0888cba3f3",
+ "type": "Microsoft.ApiManagement/service/apis/issues/attachments",
+ "name": "57d2ef278aa04f0888cba3f3",
+ "properties": {
+ "title": "Issue attachment.",
+ "contentFormat": "link",
+ "content": "https://.../image.jpg"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiIssueComment.json
new file mode 100644
index 000000000000..1d39b85b3471
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiIssueComment.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "commentId": "599e29ab193c3c0bd0b3e2fb"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/comments/599e29ab193c3c0bd0b3e2fb",
+ "type": "Microsoft.ApiManagement/service/apis/issues/comments",
+ "name": "599e29ab193c3c0bd0b3e2fb",
+ "properties": {
+ "text": "Issue comment.",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperation.json
new file mode 100644
index 000000000000..7bfd403a97a8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperation.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "operationId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "displayName": "CancelOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/CancelOrder",
+ "templateParameters": [],
+ "request": {
+ "description": "IFazioService_CancelOrder_InputMessage",
+ "queryParameters": [],
+ "headers": [],
+ "representations": [
+ {
+ "contentType": "text/xml",
+ "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8",
+ "typeName": "CancelOrder"
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "IFazioService_CancelOrder_OutputMessage",
+ "representations": [
+ {
+ "contentType": "text/xml",
+ "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8",
+ "typeName": "CancelOrderResponse"
+ }
+ ],
+ "headers": []
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperationPetStore.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperationPetStore.json
new file mode 100644
index 000000000000..d485130557b9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperationPetStore.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "swagger-petstore",
+ "operationId": "loginUser"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/swagger-petstore/operations/loginUser",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "loginUser",
+ "properties": {
+ "displayName": "Logs user into the system",
+ "method": "GET",
+ "urlTemplate": "/user/login?username={username}&password={password}",
+ "templateParameters": [
+ {
+ "name": "username",
+ "description": "The user name for login",
+ "type": "string",
+ "required": true,
+ "values": []
+ },
+ {
+ "name": "password",
+ "description": "The password for login in clear text",
+ "type": "string",
+ "required": true,
+ "values": []
+ }
+ ],
+ "description": "",
+ "request": {
+ "queryParameters": [],
+ "headers": [],
+ "representations": []
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "successful operation",
+ "representations": [
+ {
+ "contentType": "application/xml",
+ "schemaId": "5ba91a35f373b513a0bf31c6",
+ "typeName": "UserLoginGet200ApplicationXmlResponse"
+ },
+ {
+ "contentType": "application/json",
+ "schemaId": "5ba91a35f373b513a0bf31c6",
+ "typeName": "UserLoginGet200ApplicationJsonResponse"
+ }
+ ],
+ "headers": [
+ {
+ "name": "X-Rate-Limit",
+ "description": "calls per hour allowed by the user",
+ "type": "integer",
+ "values": []
+ },
+ {
+ "name": "X-Expires-After",
+ "description": "date in UTC when token expires",
+ "type": "string",
+ "values": []
+ }
+ ]
+ },
+ {
+ "statusCode": 400,
+ "description": "Invalid username/password supplied",
+ "representations": [
+ {
+ "contentType": "application/xml"
+ },
+ {
+ "contentType": "application/json"
+ }
+ ],
+ "headers": []
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperationPolicy.json
new file mode 100644
index 000000000000..9ca04be92c7c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperationPolicy.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "5600b539c53f5b0062040001",
+ "operationId": "5600b53ac53f5b0062080006",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b539c53f5b0062040001/operations/5600b53ac53f5b0062080006/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n This is a sample\r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperationTag.json
new file mode 100644
index 000000000000..1724cab30f26
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiOperationTag.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "operationId": "59d6bb8f1f7fab13dc67ec9a",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiPolicy.json
new file mode 100644
index 000000000000..1d7507787783
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiPolicy.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "5600b59475ff190048040001",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b59475ff190048040001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n@{\r\n\tRandom Random = new Random();\r\n\t\t\t\tconst string Chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \"; \r\n return string.Join(\",\", DateTime.UtcNow, new string(\r\n Enumerable.Repeat(Chars, Random.Next(2150400))\r\n .Select(s => s[Random.Next(s.Length)])\r\n .ToArray()));\r\n } \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiRelease.json
new file mode 100644
index 000000000000..ca889df190a0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiRelease.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "a1",
+ "releaseId": "5a7cb545298324c53224a799"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/5a7cb545298324c53224a799",
+ "type": "Microsoft.ApiManagement/service/apis/releases",
+ "name": "5a7cb545298324c53224a799",
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "createdDateTime": "2018-02-08T20:38:29.173Z",
+ "updatedDateTime": "2018-02-08T20:38:29.173Z",
+ "notes": "yahoo"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiRevision.json
new file mode 100644
index 000000000000..d38dacef89ba
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiRevision.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "echo-api;rev=3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api;rev=3",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echo-api;rev=3",
+ "properties": {
+ "displayName": "Service",
+ "apiRevision": "3",
+ "serviceUrl": "https://api.plexonline.com/DataSource/Service.asmx",
+ "path": "schulte",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "apiRevisionDescription": "fixed bug in contract"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiSchema.json
new file mode 100644
index 000000000000..cbf183c03711
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiSchema.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "schemaId": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/schemas/ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "type": "Microsoft.ApiManagement/service/apis/schemas",
+ "name": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1",
+ "properties": {
+ "contentType": "application/vnd.ms-azure-apim.xsd+xml",
+ "document": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiTag.json
new file mode 100644
index 000000000000..254dcded2cd6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiTag.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiTagDescription.json
new file mode 100644
index 000000000000..c666e337a443
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiTagDescription.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagDescriptionId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d6bb8f1f7fab13dc67ec9b/tagDescriptions/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/apis/tagDescriptions",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "tagId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "displayName": "tag1",
+ "description": null,
+ "externalDocsDescription": "some additional info",
+ "externalDocsUrl": "http://some_url.com"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiVersionSet.json
new file mode 100644
index 000000000000..21837677c2e4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetApiVersionSet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "versionSetId": "vs1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/vs1",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "vs1",
+ "properties": {
+ "displayName": "Version Set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetAuthorizationServer.json
new file mode 100644
index 000000000000..8b32bbf351ec
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetAuthorizationServer.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "authsid": "newauthServer2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer2",
+ "type": "Microsoft.ApiManagement/service/authorizationServers",
+ "name": "newauthServer2",
+ "properties": {
+ "displayName": "test3",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "clientAuthenticationMethod": [
+ "Basic"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetBackend.json
new file mode 100644
index 000000000000..47ed6ce29b04
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetBackend.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "backendId": "sfbackend"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/sfbackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "sfbackend",
+ "properties": {
+ "description": "Service Fabric Test App 1",
+ "url": "fabric:/mytestapp/mytestservice",
+ "protocol": "http",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1",
+ "serverX509Names": [
+ {
+ "name": "ServerCommonName1",
+ "issuerCertificateThumbprint": "IssuerCertificateThumbprint1"
+ }
+ ],
+ "maxPartitionResolutionRetries": 5
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetCache.json
new file mode 100644
index 000000000000..b7095945d1fd
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetCache.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "cacheId": "c1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/c1",
+ "type": "Microsoft.ApiManagement/service/caches",
+ "name": "c1",
+ "properties": {
+ "useFromLocation": "default",
+ "description": "Redis cache instances in West India",
+ "connectionString": "{{5f7fbca77a891a2200f3db38}}",
+ "resourceId": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetCertificate.json
new file mode 100644
index 000000000000..04e213f1caf8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetCertificate.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "certificateId": "templateCert1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCert1",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "templateCert1",
+ "properties": {
+ "subject": "CN=mutual-authcert",
+ "thumbprint": "EBA**********************8594A6",
+ "expirationDate": "2017-04-23T17:03:41Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetCertificateWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetCertificateWithKeyVault.json
new file mode 100644
index 000000000000..5c7df6508ab9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetCertificateWithKeyVault.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "certificateId": "templateCertkv"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "templateCertkv",
+ "properties": {
+ "subject": "CN=*.msitesting.net",
+ "thumbprint": "EA**********************9AD690",
+ "expirationDate": "2037-01-01T07:00:00Z",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-22T00:24:53.3191468Z"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetContentType.json
new file mode 100644
index 000000000000..b1acd23e8602
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetContentType.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "contentTypeId": "page"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/contentTypes/page",
+ "type": "Microsoft.ApiManagement/service/contentTypes",
+ "name": "page",
+ "properties": {
+ "name": "Page",
+ "description": "A regular page",
+ "schema": {
+ "properties": {
+ "en_us": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "Title",
+ "description": "Page title. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "description": {
+ "title": "Description",
+ "description": "Page description. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "keywords": {
+ "title": "Keywords",
+ "description": "Page keywords. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "permalink": {
+ "title": "Permalink",
+ "description": "Page permalink, e.g. '/about'.",
+ "type": "string",
+ "indexed": true
+ },
+ "documentId": {
+ "title": "Document ID",
+ "description": "Reference to page content document.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "title",
+ "permalink",
+ "documentId"
+ ]
+ }
+ },
+ "additionalProperties": false
+ },
+ "version": "1.0.0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetContentTypeContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetContentTypeContentItem.json
new file mode 100644
index 000000000000..a063c37f9790
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetContentTypeContentItem.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "contentTypeId": "page",
+ "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "type": "Microsoft.ApiManagement/service/contentTypes/contentItems",
+ "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "properties": {
+ "en_us": {
+ "title": "About",
+ "description": "Short story about the company.",
+ "keywords": "company, about",
+ "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "permalink": "/about"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetDeletedServiceByName.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetDeletedServiceByName.json
new file mode 100644
index 000000000000..57b9741abb94
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetDeletedServiceByName.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService3",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "location": "westus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/providers/Microsoft.ApiManagement/locations/westus/deletedservices/apimService3",
+ "name": "apimService3",
+ "type": "Microsoft.ApiManagement/deletedservices",
+ "location": "West US",
+ "properties": {
+ "serviceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService3",
+ "scheduledPurgeDate": "2017-05-27T15:33:55.5426123Z",
+ "deletionDate": "2017-05-27T15:33:55.5426123Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetDiagnostic.json
new file mode 100644
index 000000000000..0f45b4b6bded
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetDiagnostic.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ },
+ "frontend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGateway.json
new file mode 100644
index 000000000000..c50478c37b12
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGateway.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1",
+ "type": "Microsoft.ApiManagement/service/gateways",
+ "name": "a1",
+ "properties": {
+ "description": "my gateway 1",
+ "locationData": {
+ "name": "my location"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGatewayCertificateAuthority.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGatewayCertificateAuthority.json
new file mode 100644
index 000000000000..c2eed16524f1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGatewayCertificateAuthority.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "certificateId": "cert1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/certificateAuthorities/cert1",
+ "type": "Microsoft.ApiManagement/service/gateways/certificateAuthorities",
+ "name": "cert1",
+ "properties": {
+ "isTrusted": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGatewayHostnameConfiguration.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGatewayHostnameConfiguration.json
new file mode 100644
index 000000000000..fdfbb8a5d1b1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGatewayHostnameConfiguration.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "hcId": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/hostnameConfigurations/default",
+ "type": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations",
+ "name": "default",
+ "properties": {
+ "hostname": "*",
+ "certificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1",
+ "negotiateClientCertificate": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGroup.json
new file mode 100644
index 000000000000..26d736c0e70e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetGroup.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "groupId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "AwesomeGroup (samiraad.onmicrosoft.com)",
+ "description": "awesome group of people",
+ "builtIn": false,
+ "type": "external",
+ "externalId": "aad://samiraad.onmicrosoft.com/groups/3773adf4-032e-4d25-9988-eaff9ca72eca"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetIdentityProvider.json
new file mode 100644
index 000000000000..121f312bb25b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetIdentityProvider.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "identityProviderName": "aadB2C"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/AadB2C",
+ "type": "Microsoft.ApiManagement/service/identityProviders",
+ "name": "AadB2C",
+ "properties": {
+ "clientId": "f02dafe2-b8b8-48ec-a38e-27e5c16c51e5",
+ "type": "aadB2C",
+ "authority": "login.microsoftonline.com",
+ "signinTenant": "contosoaadb2c.onmicrosoft.com",
+ "allowedTenants": [
+ "contosoaadb2c.onmicrosoft.com",
+ "contoso2aadb2c.onmicrosoft.com"
+ ],
+ "signupPolicyName": "B2C_1_policy-signup",
+ "signinPolicyName": "B2C_1_policy-signin"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetIssue.json
new file mode 100644
index 000000000000..bae30914fc68
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetIssue.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetLogger.json
new file mode 100644
index 000000000000..d01953084c9d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetLogger.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "loggerId": "templateLogger"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/kloudapilogger1",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "kloudapilogger1",
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "testeventhub3again",
+ "credentials": {
+ "name": "testeventhub4",
+ "connectionString": "Endpoint=sb://eventhubapim.servicebus.windows.net/;SharedAccessKeyName=Sender;SharedAccessKey=************"
+ },
+ "isBuffered": true,
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.EventHub/namespaces/eventhubapim"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetNamedValue.json
new file mode 100644
index 000000000000..6ac6323b7ced
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetNamedValue.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "namedValueId": "testarmTemplateproperties2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testarmTemplateproperties2",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "testarmTemplateproperties2",
+ "properties": {
+ "displayName": "propName",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetNamedValueWithKeyVault.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetNamedValueWithKeyVault.json
new file mode 100644
index 000000000000..08964b2fe226
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetNamedValueWithKeyVault.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "namedValueId": "testprop6"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "testprop6",
+ "properties": {
+ "displayName": "prop6namekv",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "2d2df842-44d8-4885-8dec-77cc1a984a31",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-11T00:54:31.8024882Z"
+ }
+ },
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetNotification.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetNotification.json
new file mode 100644
index 000000000000..90dddb1c5c00
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetNotification.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "RequestPublisherNotificationMessage",
+ "properties": {
+ "title": "Subscription requests (requiring approval)",
+ "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/contoso@live.com",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/foobar!live",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/recipientEmails/foobar@live.com"
+ ],
+ "users": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetOpenIdConnectProvider.json
new file mode 100644
index 000000000000..3f10a63f82a9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetOpenIdConnectProvider.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "opid": "templateOpenIdConnect2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/openidConnectProviders/templateOpenIdConnect2",
+ "type": "Microsoft.ApiManagement/service/openidconnectproviders",
+ "name": "templateOpenIdConnect2",
+ "properties": {
+ "displayName": "templateoidprovider2",
+ "description": "open id provider template2",
+ "metadataEndpoint": "https://oidprovider-template2.net",
+ "clientId": "oidprovidertemplate2"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPolicy.json
new file mode 100644
index 000000000000..8f6a32b8c69e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPolicy.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policies/policy",
+ "type": "Microsoft.ApiManagement/service/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPolicyFormat.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPolicyFormat.json
new file mode 100644
index 000000000000..34086f8e29c9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPolicyFormat.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "policyId": "policy",
+ "format": "rawxml"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policies/policy",
+ "type": "Microsoft.ApiManagement/service/policies",
+ "name": "policy",
+ "properties": {
+ "format": "rawxml",
+ "value": "\r\n\r\n\t\r\n\t\t\r\n\t\t\t@{\n var guidBinary = new byte[16];\n Array.Copy(Guid.NewGuid().ToByteArray(), 0, guidBinary, 0, 10);\n long time = DateTime.Now.Ticks;\n byte[] bytes = new byte[6];\n unchecked\n {\n bytes[5] = (byte)(time >> 40);\n bytes[4] = (byte)(time >> 32);\n bytes[3] = (byte)(time >> 24);\n bytes[2] = (byte)(time >> 16);\n bytes[1] = (byte)(time >> 8);\n bytes[0] = (byte)(time);\n }\n Array.Copy(bytes, 0, guidBinary, 10, 6);\n return new Guid(guidBinary).ToString();\n }\n \r\n\t\t\r\n\t\r\n\t\r\n\t\t\r\n\t\r\n\t\r\n\t\r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPortalRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPortalRevision.json
new file mode 100644
index 000000000000..287ec7782351
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPortalRevision.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "portalRevisionId": "20201112101010"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112101010",
+ "type": "Microsoft.ApiManagement/service/portalRevisions",
+ "name": "20201112101010",
+ "properties": {
+ "description": "portal revision 1",
+ "statusDetails": null,
+ "status": "completed",
+ "isCurrent": true,
+ "createdDateTime": "2020-11-12T22:51:36.47Z",
+ "updatedDateTime": "2020-11-12T22:52:00.097Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPrivateEndpointConnection.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPrivateEndpointConnection.json
new file mode 100644
index 000000000000..d0855272b98b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPrivateEndpointConnection.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "privateEndpointConnectionName": "privateEndpointConnectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateEndpointConnections/privateEndpointConnectionName",
+ "type": "Microsoft.ApiManagement/service/privateEndpointConnections",
+ "name": "privateEndpointProxyName",
+ "properties": {
+ "provisioningState": "Pending",
+ "privateEndpoint": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/privateEndpointName"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request, thanks",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPrivateLinkGroupResource.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPrivateLinkGroupResource.json
new file mode 100644
index 000000000000..b645701ca4f9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetPrivateLinkGroupResource.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "privateLinkSubResourceName": "privateLinkSubResourceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateLinkResources/privateLinkSubResourceName",
+ "name": "Gateway",
+ "type": "Microsoft.ApiManagement/service/privateLinkResources",
+ "properties": {
+ "groupId": "Gateway",
+ "requiredMembers": [
+ "Gateway_west_us"
+ ],
+ "requiredZoneNames": [
+ "privateLink.azure.api.net"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetProduct.json
new file mode 100644
index 000000000000..73f31f748450
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetProduct.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "unlimited"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/unlimited",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "unlimited",
+ "properties": {
+ "displayName": "Unlimited",
+ "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",
+ "subscriptionRequired": true,
+ "approvalRequired": true,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetProductPolicy.json
new file mode 100644
index 000000000000..05a6a6eaa025
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetProductPolicy.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "kjoshiarmTemplateProduct4",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/kjoshiarmTemplateProduct4/policies/policy",
+ "type": "Microsoft.ApiManagement/service/products/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetProductTag.json
new file mode 100644
index 000000000000..3e91ebdf555b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetProductTag.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetQuotaCounterKeys.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetQuotaCounterKeys.json
new file mode 100644
index 000000000000..64bb6dd1cd32
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetQuotaCounterKeys.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "quotaCounterKey": "ba"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "counterKey": "ba",
+ "periodKey": "0_P3Y6M4DT12H30M5S",
+ "periodStartTime": "2014-08-04T04:24:35Z",
+ "periodEndTime": "2018-02-08T16:54:40Z",
+ "value": {
+ "callsCount": 5,
+ "kbTransferred": 2.5830078125
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetQuotaCounterKeysByQuotaPeriod.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetQuotaCounterKeysByQuotaPeriod.json
new file mode 100644
index 000000000000..c83ea3f9074e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetQuotaCounterKeysByQuotaPeriod.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "quotaCounterKey": "ba",
+ "quotaPeriodKey": "0_P3Y6M4DT12H30M5S"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "counterKey": "ba",
+ "periodKey": "0_P3Y6M4DT12H30M5S",
+ "periodStartTime": "2014-08-04T04:24:35Z",
+ "periodEndTime": "2018-02-08T16:54:40Z",
+ "value": {
+ "callsCount": 0,
+ "kbTransferred": 2.5625
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByApi.json
new file mode 100644
index 000000000000..0b12c139080e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByApi.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Echo API",
+ "apiId": "/apis/5600b59475ff190048040001",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "httpbin",
+ "apiId": "/apis/57a03a13e4bbd5119c8b19e9",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByGeo.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByGeo.json
new file mode 100644
index 000000000000..643005b521a0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByGeo.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "country": "US",
+ "region": "WA",
+ "zip": "98052",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByOperation.json
new file mode 100644
index 000000000000..7e116abf1e6b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByOperation.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "get",
+ "apiId": "/apis/57a03a13e4bbd5119c8b19e9",
+ "operationId": "/apis/57a03a13e4bbd5119c8b19e9/operations/57a03a1dd8d14f0a780d7d14",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ },
+ {
+ "name": "GetWeatherInformation",
+ "apiId": "/apis/57c999d1e4bbd50c988cb2c3",
+ "operationId": "/apis/57c999d1e4bbd50c988cb2c3/operations/57c999d1e4bbd50df889c93e",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "GetCityForecastByZIP",
+ "apiId": "/apis/57c999d1e4bbd50c988cb2c3",
+ "operationId": "/apis/57c999d1e4bbd50c988cb2c3/operations/57c999d1e4bbd50df889c93f",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByProduct.json
new file mode 100644
index 000000000000..4f530601110a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByProduct.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Starter",
+ "productId": "/products/5600b59475ff190048060001",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "Unlimited",
+ "productId": "/products/5600b59475ff190048060002",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByRequest.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByRequest.json
new file mode 100644
index 000000000000..080d0c9b2940
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByRequest.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "apiId": "/apis/5931a75ae4bbd512a88c680b",
+ "operationId": "/apis/5931a75ae4bbd512a88c680b/operations/-",
+ "productId": "/products/-",
+ "userId": "/users/1",
+ "method": "GET",
+ "url": "https://apimService1.azure-api.net/echo/resource?param1=sample",
+ "ipAddress": "207.xx.155.xx",
+ "responseCode": 404,
+ "responseSize": 405,
+ "timestamp": "2017-06-03T00:17:00.1649134Z",
+ "cache": "none",
+ "apiTime": 221.1544,
+ "serviceTime": 0.0,
+ "apiRegion": "East Asia",
+ "subscriptionId": "/subscriptions/5600b59475ff190048070002",
+ "requestId": "63e7119c-26aa-433c-96d7-f6f3267ff52f",
+ "requestSize": 0
+ },
+ {
+ "apiId": "/apis/5931a75ae4bbd512a88c680b",
+ "operationId": "/apis/5931a75ae4bbd512a88c680b/operations/-",
+ "productId": "/products/-",
+ "userId": "/users/1",
+ "method": "POST",
+ "url": "https://apimService1.azure-api.net/echo/resource",
+ "ipAddress": "207.xx.155.xx",
+ "responseCode": 404,
+ "responseSize": 403,
+ "timestamp": "2017-06-03T00:17:20.5255131Z",
+ "cache": "none",
+ "apiTime": 6.6754000000000007,
+ "serviceTime": 0.0,
+ "apiRegion": "East Asia",
+ "subscriptionId": "/subscriptions/5600b59475ff190048070002",
+ "requestId": "e581b7f7-c9ec-4fc6-8ab9-3855d9b00b04",
+ "requestSize": 0
+ }
+ ],
+ "count": 2
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsBySubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsBySubscription.json
new file mode 100644
index 000000000000..b63d74d103cf
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsBySubscription.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "",
+ "userId": "/users/1",
+ "productId": "/products/5600b59475ff190048060001",
+ "subscriptionId": "/subscriptions/5600b59475ff190048070001",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "",
+ "userId": "/users/1",
+ "productId": "/products/5600b59475ff190048060002",
+ "subscriptionId": "/subscriptions/5600b59475ff190048070002",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ },
+ {
+ "name": "",
+ "userId": "/users/1",
+ "productId": "/products/5702e97e5157a50f48dce801",
+ "subscriptionId": "/subscriptions/5702e97e5157a50a9c733303",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByTime.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByTime.json
new file mode 100644
index 000000000000..1582da3d6188
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByTime.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'",
+ "interval": "PT15M"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "timestamp": "2017-06-03T00:15:00Z",
+ "interval": "PT15M",
+ "callCountSuccess": 4,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 4,
+ "bandwidth": 3243,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1337.46335,
+ "apiTimeMin": 885.0839000000001,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 1255.917425,
+ "serviceTimeMin": 882.8264,
+ "serviceTimeMax": 1697.3612
+ },
+ {
+ "timestamp": "2017-06-03T00:30:00Z",
+ "interval": "PT15M",
+ "callCountSuccess": 9,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 10,
+ "bandwidth": 7776,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 872.7818777777778,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1093.8407,
+ "serviceTimeAvg": 824.2847111111112,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 973.2262000000001
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByUser.json
new file mode 100644
index 000000000000..bee93956b8e2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetReportsByUser.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "$filter": "timestamp ge datetime'2017-06-01T00:00:00' and timestamp le datetime'2017-06-04T00:00:00'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Administrator",
+ "userId": "/users/1",
+ "callCountSuccess": 13,
+ "callCountBlocked": 1,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 14,
+ "bandwidth": 11019,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 1015.7607923076923,
+ "apiTimeMin": 330.3206,
+ "apiTimeMax": 1819.2173,
+ "serviceTimeAvg": 957.094776923077,
+ "serviceTimeMin": 215.24,
+ "serviceTimeMax": 1697.3612
+ },
+ {
+ "name": "Samir Solanki",
+ "userId": "/users/56eaec62baf08b06e46d27fd",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ },
+ {
+ "name": "Anonymous",
+ "userId": "/users/54c800b332965a0035030000",
+ "callCountSuccess": 0,
+ "callCountBlocked": 0,
+ "callCountFailed": 0,
+ "callCountOther": 0,
+ "callCountTotal": 0,
+ "bandwidth": 0,
+ "cacheHitCount": 0,
+ "cacheMissCount": 0,
+ "apiTimeAvg": 0,
+ "apiTimeMin": 0,
+ "apiTimeMax": 0,
+ "serviceTimeAvg": 0,
+ "serviceTimeMin": 0,
+ "serviceTimeMax": 0
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetSubscription.json
new file mode 100644
index 000000000000..2f7061bdf395
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetSubscription.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "sid": "5931a769d8d14f0ad8ce13b8"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/5931a769d8d14f0ad8ce13b8",
+ "type": "Microsoft.ApiManagement/service/subscriptions",
+ "name": "5931a769d8d14f0ad8ce13b8",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
+ "displayName": "Unlimited",
+ "state": "submitted",
+ "createdDate": "2017-06-02T17:59:06.223Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTag.json
new file mode 100644
index 000000000000..ae4ec0f06059
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTag.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTemplate.json
new file mode 100644
index 000000000000..89113d7d569d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTemplate.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "templateName": "newIssueNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/NewIssueNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/templates",
+ "name": "NewIssueNotificationMessage",
+ "properties": {
+ "subject": "Your request $IssueName was received",
+ "body": "\r\n\r\n \r\n \r\n Dear $DevFirstName $DevLastName,
\r\n Thank you for contacting us. Our API team will review your issue and get back to you soon.
\r\n \r\n Click this link to view or edit your request.\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n",
+ "title": "New issue received",
+ "description": "This email is sent to developers after they create a new topic on the Issues page of the developer portal.",
+ "isDefault": true,
+ "parameters": [
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "IssueId",
+ "title": "Issue id"
+ },
+ {
+ "name": "IssueName",
+ "title": "Issue name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTenantAccess.json
new file mode 100644
index 000000000000..c63d0a5d9f9c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTenantAccess.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "accessName": "access"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/access",
+ "type": "Microsoft.ApiManagement/service/tenant",
+ "name": "access",
+ "properties": {
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTenantGitAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTenantGitAccess.json
new file mode 100644
index 000000000000..096da5544d63
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTenantGitAccess.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "accessName": "gitAccess"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/gitAccess",
+ "type": "Microsoft.ApiManagement/service/tenant",
+ "name": "gitAccess",
+ "properties": {
+ "principalId": "git",
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTenantSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTenantSettings.json
new file mode 100644
index 000000000000..75e8e875f11e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetTenantSettings.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "settingsType": "public"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/settings/public",
+ "type": "Microsoft.ApiManagement/service/settings",
+ "name": "public",
+ "properties": {
+ "settings": {
+ "CustomPortalSettings.UserRegistrationTerms": null,
+ "CustomPortalSettings.UserRegistrationTermsEnabled": "False",
+ "CustomPortalSettings.UserRegistrationTermsConsentRequired": "False",
+ "CustomPortalSettings.DelegationEnabled": "False",
+ "CustomPortalSettings.DelegationUrl": "",
+ "CustomPortalSettings.DelegatedSubscriptionEnabled": "False"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetUser.json
new file mode 100644
index 000000000000..d3c1603f8c48
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetUser.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512a88c680b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "type": "Microsoft.ApiManagement/service/users",
+ "name": "5931a75ae4bbd512a88c680b",
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foobar@outlook.com",
+ "state": "active",
+ "registrationDate": "2017-06-02T17:58:50.357Z",
+ "identities": [
+ {
+ "provider": "Microsoft",
+ "id": "*************"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetUserSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetUserSubscription.json
new file mode 100644
index 000000000000..1fc4673e329f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementGetUserSubscription.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "userId": "1",
+ "sid": "5fa9b096f3df14003c070001"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1/subscriptions/5fa9b096f3df14003c070001",
+ "type": "Microsoft.ApiManagement/service/users/subscriptions",
+ "name": "5fa9b096f3df14003c070001",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/starter",
+ "state": "active",
+ "createdDate": "2020-11-09T21:11:50.58Z",
+ "allowTracing": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApi.json
new file mode 100644
index 000000000000..3eccbc3d6335
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApi.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiDiagnostic.json
new file mode 100644
index 000000000000..024a9ba7766e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiDiagnostic.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiIssue.json
new file mode 100644
index 000000000000..d896fb49636a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiIssue.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "issueId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiIssueAttachment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiIssueAttachment.json
new file mode 100644
index 000000000000..83a8c74fd71d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiIssueAttachment.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "attachmentId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiIssueComment.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiIssueComment.json
new file mode 100644
index 000000000000..2cf0e99d8196
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiIssueComment.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "commentId": "599e29ab193c3c0bd0b3e2fb"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiOperation.json
new file mode 100644
index 000000000000..1a178583b166
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiOperation.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "operationId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiOperationPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiOperationPolicy.json
new file mode 100644
index 000000000000..749ee58a6d64
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiOperationPolicy.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "5600b539c53f5b0062040001",
+ "operationId": "5600b53ac53f5b0062080006",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiOperationTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiOperationTag.json
new file mode 100644
index 000000000000..139408f333ab
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiOperationTag.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "operationId": "59d6bb8f1f7fab13dc67ec9a",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiPolicy.json
new file mode 100644
index 000000000000..dd2f3dcd5647
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiPolicy.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiRelease.json
new file mode 100644
index 000000000000..ab29facf8d08
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiRelease.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "a1",
+ "releaseId": "5a7cb545298324c53224a799"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiSchema.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiSchema.json
new file mode 100644
index 000000000000..193bb63926e4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiSchema.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "schemaId": "ec12520d-9d48-4e7b-8f39-698ca2ac63f1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiTag.json
new file mode 100644
index 000000000000..11299efdbca2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiTag.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiTagDescription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiTagDescription.json
new file mode 100644
index 000000000000..f4f043553419
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiTagDescription.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "59d6bb8f1f7fab13dc67ec9b",
+ "tagDescriptionId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiVersionSet.json
new file mode 100644
index 000000000000..7a7f7c04c986
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadApiVersionSet.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "versionSetId": "vs1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadAuthorizationServer.json
new file mode 100644
index 000000000000..35be3ffbe42c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadAuthorizationServer.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "authsid": "newauthServer2"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadBackend.json
new file mode 100644
index 000000000000..d575864b7640
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadBackend.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "backendId": "sfbackend"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadCache.json
new file mode 100644
index 000000000000..2936823070c8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadCache.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "cacheId": "default"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadCertificate.json
new file mode 100644
index 000000000000..773662ab2bce
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadCertificate.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "certificateId": "templateCert1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadContentTypeContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadContentTypeContentItem.json
new file mode 100644
index 000000000000..2173e9cb75ae
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadContentTypeContentItem.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "contentTypeId": "page",
+ "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadDelegationSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadDelegationSettings.json
new file mode 100644
index 000000000000..256f89199c72
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadDelegationSettings.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadDiagnostic.json
new file mode 100644
index 000000000000..31cb52161509
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadDiagnostic.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadEmailTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadEmailTemplate.json
new file mode 100644
index 000000000000..257b9df68d61
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadEmailTemplate.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "templateName": "newIssueNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGateway.json
new file mode 100644
index 000000000000..8767f97b6a1d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGateway.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "mygateway"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGatewayApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGatewayApi.json
new file mode 100644
index 000000000000..b34b5cdde95e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGatewayApi.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "apiId": "api1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGatewayCertificateAuthority.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGatewayCertificateAuthority.json
new file mode 100644
index 000000000000..8740e18f3679
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGatewayCertificateAuthority.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "certificateId": "cert1"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGatewayHostnameConfiguration.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGatewayHostnameConfiguration.json
new file mode 100644
index 000000000000..dfd69b4f9740
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGatewayHostnameConfiguration.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "hcId": "default"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGroup.json
new file mode 100644
index 000000000000..cb4d8054fb7f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGroup.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "groupId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGroupUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGroupUser.json
new file mode 100644
index 000000000000..fe4ff4daa86e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadGroupUser.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "groupId": "59306a29e4bbd510dc24e5f9",
+ "userId": "5931a75ae4bbd512a88c680b"
+ },
+ "responses": {
+ "204": {},
+ "404": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadIdentityProvider.json
new file mode 100644
index 000000000000..3aedcbc247c8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadIdentityProvider.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "identityProviderName": "aadB2C"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadLogger.json
new file mode 100644
index 000000000000..c6aa6de78f50
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadLogger.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "loggerId": "templateLogger"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadNamedValue.json
new file mode 100644
index 000000000000..467ec07b1839
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadNamedValue.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "namedValueId": "testarmTemplateproperties2"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadNotificationRecipientEmail.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadNotificationRecipientEmail.json
new file mode 100644
index 000000000000..fc0f7c7d971f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadNotificationRecipientEmail.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "email": "contoso@live.com"
+ },
+ "responses": {
+ "204": {},
+ "404": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadNotificationRecipientUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadNotificationRecipientUser.json
new file mode 100644
index 000000000000..803f5575b611
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadNotificationRecipientUser.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage",
+ "userId": "576823d0a40f7e74ec07d642"
+ },
+ "responses": {
+ "204": {},
+ "404": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadOpenIdConnectProvider.json
new file mode 100644
index 000000000000..45bed86af01c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadOpenIdConnectProvider.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "opid": "templateOpenIdConnect2"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadPolicy.json
new file mode 100644
index 000000000000..49916cb094c3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadPolicy.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadPortalRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadPortalRevision.json
new file mode 100644
index 000000000000..ca2258a92948
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadPortalRevision.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "portalRevisionId": "20201112101010"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProduct.json
new file mode 100644
index 000000000000..9787e88a9791
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProduct.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "unlimited"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductApi.json
new file mode 100644
index 000000000000..3de00eed4b07
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductApi.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "5931a75ae4bbd512a88c680b",
+ "apiId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductGroup.json
new file mode 100644
index 000000000000..7eae41a25b2f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductGroup.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "5931a75ae4bbd512a88c680b",
+ "groupId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductPolicy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductPolicy.json
new file mode 100644
index 000000000000..b49b159e3f3e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductPolicy.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "unlimited",
+ "policyId": "policy"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductTag.json
new file mode 100644
index 000000000000..05c95ae74ca5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadProductTag.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "59306a29e4bbd510dc24e5f8",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadSignInSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadSignInSettings.json
new file mode 100644
index 000000000000..256f89199c72
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadSignInSettings.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadSignUpSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadSignUpSettings.json
new file mode 100644
index 000000000000..256f89199c72
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadSignUpSettings.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadSubscription.json
new file mode 100644
index 000000000000..824e6fb09f41
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadSubscription.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "sid": "5931a769d8d14f0ad8ce13b8"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadTag.json
new file mode 100644
index 000000000000..c49abab0da18
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadTag.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "tagId": "59306a29e4bbd510dc24e5f9"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Etag": "AAAAAAAACCI="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadTenantAccess.json
new file mode 100644
index 000000000000..f1790d686920
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadTenantAccess.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "accessName": "access"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadUser.json
new file mode 100644
index 000000000000..ce143a052960
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementHeadUser.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512a88c680b"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "etag": "AAAAAAAAAAa="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementIdentityProviderListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementIdentityProviderListSecrets.json
new file mode 100644
index 000000000000..578e87ba285c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementIdentityProviderListSecrets.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "identityProviderName": "aadB2C"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "clientSecret": "XXXXXXX"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiDiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiDiagnostics.json
new file mode 100644
index 000000000000..a61e45ecae01
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiDiagnostics.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "echo-api"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/apis/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ },
+ "frontend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ }
+ }
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiIssueAttachments.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiIssueAttachments.json
new file mode 100644
index 000000000000..cc6820a48c44
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiIssueAttachments.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "issueId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/attachments/57d2ef278aa04f0888cba3f3",
+ "type": "Microsoft.ApiManagement/service/apis/issues/attachments",
+ "name": "57d2ef278aa04f0888cba3f3",
+ "properties": {
+ "title": "Issue attachment.",
+ "contentFormat": "link",
+ "content": "https://.../image.jpg"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiIssueComments.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiIssueComments.json
new file mode 100644
index 000000000000..ffd93d0e2e92
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiIssueComments.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "issueId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc/comments/599e29ab193c3c0bd0b3e2fb",
+ "type": "Microsoft.ApiManagement/service/apis/issues/comments",
+ "name": "599e29ab193c3c0bd0b3e2fb",
+ "properties": {
+ "text": "Issue comment.",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiIssues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiIssues.json
new file mode 100644
index 000000000000..f8d98b56b9f1
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiIssues.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d1f7558aa04f15146d9d8a"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperationPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperationPolicies.json
new file mode 100644
index 000000000000..0c9128f61e30
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperationPolicies.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "599e2953193c3c0bd0b3e2fa",
+ "operationId": "599e29ab193c3c0bd0b3e2fb"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/599e2953193c3c0bd0b3e2fa/operations/599e29ab193c3c0bd0b3e2fb/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/operations/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n xxx\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperationTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperationTags.json
new file mode 100644
index 000000000000..5005d5aaba03
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperationTags.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "operationId": "57d2ef278aa04f0888cba3f6"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperations.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperations.json
new file mode 100644
index 000000000000..09c5d9a569f0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperations.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3",
+ "operationId": "57d2ef278aa04f0ad01d6cdc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "displayName": "CancelOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/CancelOrder"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cda",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cda",
+ "properties": {
+ "displayName": "GetMostRecentOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/GetMostRecentOrder"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cd9",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cd9",
+ "properties": {
+ "displayName": "GetOpenOrders",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/GetOpenOrders"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdb",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cdb",
+ "properties": {
+ "displayName": "GetOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/GetOrder"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cd8",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cd8",
+ "properties": {
+ "displayName": "submitOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/submitOrder"
+ }
+ }
+ ],
+ "count": 5,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperationsByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperationsByTags.json
new file mode 100644
index 000000000000..016ba5cb7a58
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiOperationsByTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "a1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "tag": {
+ "id": "/tags/apitag123",
+ "name": "awesomeTag"
+ },
+ "operation": {
+ "id": "/apis/echo-api/operations/create-resource",
+ "apiName": "Echo API",
+ "apiRevision": "1",
+ "name": "Create resource",
+ "method": "POST",
+ "urlTemplate": "/resource",
+ "description": "A demonstration of a POST call based on the echo backend above. The request body is expected to contain JSON-formatted data (see example below). A policy is used to automatically transform any request sent in JSON directly to XML. In a real-world scenario this could be used to enable modern clients to speak to a legacy backend."
+ }
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiPolicies.json
new file mode 100644
index 000000000000..886dca100ad8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiPolicies.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "5600b59475ff190048040001"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5600b59475ff190048040001/policies/policy",
+ "type": "Microsoft.ApiManagement/service/apis/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n@{\r\n\tRandom Random = new Random();\r\n\t\t\t\tconst string Chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz \"; \r\n return string.Join(\",\", DateTime.UtcNow, new string(\r\n Enumerable.Repeat(Chars, Random.Next(2150400))\r\n .Select(s => s[Random.Next(s.Length)])\r\n .ToArray()));\r\n } \r\n \r\n \r\n \r\n"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiProducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiProducts.json
new file mode 100644
index 000000000000..22b82e401949
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiProducts.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/apis/products",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "displayName": "Unlimited",
+ "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",
+ "subscriptionRequired": true,
+ "approvalRequired": true,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiReleases.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiReleases.json
new file mode 100644
index 000000000000..a9fec7c5d608
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiReleases.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "a1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/5a7cb545298324c53224a799",
+ "type": "Microsoft.ApiManagement/service/apis/releases",
+ "name": "5a7cb545298324c53224a799",
+ "properties": {
+ "createdDateTime": "2018-02-08T20:38:29.173Z",
+ "updatedDateTime": "2018-02-08T20:38:29.173Z",
+ "notes": "yahoo"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiRevisions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiRevisions.json
new file mode 100644
index 000000000000..44210b3e2103
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiRevisions.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1;rev=1",
+ "apiRevision": "1",
+ "createdDateTime": "2018-02-01T22:21:20.467Z",
+ "updatedDateTime": "2018-02-01T22:21:20.467Z",
+ "isOnline": true,
+ "isCurrent": true
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiSchemas.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiSchemas.json
new file mode 100644
index 000000000000..9078da76fb4b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiSchemas.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "59d5b28d1f7fab116c282650"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/59d5b28d1f7fab116c282650/schemas/59d5b28e1f7fab116402044e",
+ "type": "Microsoft.ApiManagement/service/apis/schemas",
+ "name": "59d5b28e1f7fab116402044e",
+ "properties": {
+ "contentType": "application/vnd.ms-azure-apim.swagger.definitions+json"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiTagDescriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiTagDescriptions.json
new file mode 100644
index 000000000000..7816ef260417
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiTagDescriptions.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tagDescriptions/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "tagId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002",
+ "displayName": "tag1",
+ "externalDocsDescription": "some additional info",
+ "externalDocsUrl": "http://some_url.com"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiTags.json
new file mode 100644
index 000000000000..f6ce780b3577
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiTags.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiVersionSets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiVersionSets.json
new file mode 100644
index 000000000000..7a3255be04ba
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApiVersionSets.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/vs1",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "vs1",
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/vs2",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "vs2",
+ "properties": {
+ "displayName": "api set 2",
+ "versioningScheme": "Query",
+ "description": "Version configuration 2"
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApis.json
new file mode 100644
index 000000000000..4597120fa817
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApis.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "a1",
+ "properties": {
+ "displayName": "api1",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "api1",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true,
+ "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/c48f96c9-1385-4e2d-b410-5ab591ce0fc4"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5a73933b8f27f7cc82a2d533",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "5a73933b8f27f7cc82a2d533",
+ "properties": {
+ "displayName": "api1",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "api1",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true,
+ "apiVersion": "v1",
+ "apiVersionSetId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/c48f96c9-1385-4e2d-b410-5ab591ce0fc4"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echo-api",
+ "properties": {
+ "displayName": "Echo API",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/5a7390baa5816a110435aee0",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "5a7390baa5816a110435aee0",
+ "properties": {
+ "displayName": "Swagger Petstore Extensive",
+ "apiRevision": "1",
+ "description": "A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification",
+ "serviceUrl": "http://petstore.swagger.wordnik.com/api",
+ "path": "vvv",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true
+ }
+ }
+ ],
+ "count": 4,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApisByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApisByTags.json
new file mode 100644
index 000000000000..cee177437aa0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListApisByTags.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "tag": {
+ "id": "/tags/apitag123",
+ "name": "awesomeTag"
+ },
+ "api": {
+ "id": "/apis/echo-api",
+ "name": "Echo API",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo",
+ "isCurrent": true
+ }
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListAuthorizationServers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListAuthorizationServers.json
new file mode 100644
index 000000000000..fe74c97e39ad
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListAuthorizationServers.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer",
+ "type": "Microsoft.ApiManagement/service/authorizationServers",
+ "name": "newauthServer",
+ "properties": {
+ "displayName": "test2",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer2",
+ "type": "Microsoft.ApiManagement/service/authorizationServers",
+ "name": "newauthServer2",
+ "properties": {
+ "displayName": "test3",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "clientAuthenticationMethod": [
+ "Basic"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "1",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListBackends.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListBackends.json
new file mode 100644
index 000000000000..bb726fa31b1b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListBackends.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/proxybackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "proxybackend",
+ "properties": {
+ "description": "description5308",
+ "url": "https://backendname2644/",
+ "protocol": "http",
+ "credentials": {
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesma"
+ }
+ },
+ "proxy": {
+ "url": "http://192.168.1.1:8080",
+ "username": "Contoso\\admin",
+ "password": ""
+ },
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": false
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/sfbackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "sfbackend",
+ "properties": {
+ "description": "Service Fabric Test App 1",
+ "url": "fabric:/mytestapp/mytestservice",
+ "protocol": "http",
+ "properties": {
+ "serviceFabricCluster": {
+ "managementEndpoints": [
+ "https://somecluster.com"
+ ],
+ "clientCertificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1",
+ "serverX509Names": [
+ {
+ "name": "ServerCommonName1",
+ "issuerCertificateThumbprint": "IssuerCertificateThumbprint1"
+ }
+ ],
+ "maxPartitionResolutionRetries": 5
+ }
+ }
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListCaches.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListCaches.json
new file mode 100644
index 000000000000..e26ec62759de
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListCaches.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/c1",
+ "type": "Microsoft.ApiManagement/service/caches",
+ "name": "c1",
+ "properties": {
+ "useFromLocation": "default",
+ "description": "Redis cache instances in West India",
+ "connectionString": "{{5f7fbca77a891a2200f3db38}}",
+ "resourceId": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1"
+ }
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListCertificates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListCertificates.json
new file mode 100644
index 000000000000..e64ce1d7a6f7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListCertificates.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/kjoshiarmtemplateCert1",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "templateCert1",
+ "properties": {
+ "subject": "CN=mutual-authcert",
+ "thumbprint": "EBA************************48594A6",
+ "expirationDate": "2017-04-23T17:03:41Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "templateCertkv",
+ "properties": {
+ "subject": "CN=*.msitesting.net",
+ "thumbprint": "EA**********************9AD690",
+ "expirationDate": "2037-01-01T07:00:00Z",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-22T00:24:53.3191468Z"
+ }
+ }
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListContentTypeContentItems.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListContentTypeContentItems.json
new file mode 100644
index 000000000000..10eb340ac4f5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListContentTypeContentItems.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "contentTypeId": "page"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "type": "Microsoft.ApiManagement/service/contentTypes/contentItems",
+ "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "properties": {
+ "en_us": {
+ "title": "About",
+ "description": "Short story about the company.",
+ "keywords": "company, about",
+ "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "permalink": "/about"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListContentTypes.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListContentTypes.json
new file mode 100644
index 000000000000..72c21e989307
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListContentTypes.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/contentTypes/page",
+ "type": "Microsoft.ApiManagement/service/contentTypes",
+ "name": "page",
+ "properties": {
+ "name": "Page",
+ "description": "A regular page",
+ "schema": {
+ "properties": {
+ "en_us": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "Title",
+ "description": "Page title. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "description": {
+ "title": "Description",
+ "description": "Page description. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "keywords": {
+ "title": "Keywords",
+ "description": "Page keywords. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "permalink": {
+ "title": "Permalink",
+ "description": "Page permalink, e.g. '/about'.",
+ "type": "string",
+ "indexed": true
+ },
+ "documentId": {
+ "title": "Document ID",
+ "description": "Reference to page content document.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "title",
+ "permalink",
+ "documentId"
+ ]
+ }
+ },
+ "additionalProperties": false
+ },
+ "version": "1.0.0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListDiagnostics.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListDiagnostics.json
new file mode 100644
index 000000000000..a318ddc3198c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListDiagnostics.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "verbosity": "information",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ },
+ "frontend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 0
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 0
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 0
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 0
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/azuremonitor",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "azuremonitor",
+ "properties": {
+ "logClientIp": true,
+ "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/azuremonitor",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ }
+ }
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGatewayApis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGatewayApis.json
new file mode 100644
index 000000000000..6e21a62d688b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGatewayApis.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/apis/57681820a40f7eb6c49f6aca",
+ "type": "Microsoft.ApiManagement/service/gateways/apis",
+ "name": "57681820a40f7eb6c49f6aca",
+ "properties": {
+ "displayName": "api_57681820a40f7eb6c49f6acb",
+ "apiRevision": "1",
+ "description": "description_57681820a40f7eb6c49f6acc",
+ "serviceUrl": "http://contoso/57681820a40f7eb6c49f6acd",
+ "path": "suffix_57681820a40f7eb6c49f6ace",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGatewayCertificateAuthorities.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGatewayCertificateAuthorities.json
new file mode 100644
index 000000000000..b8c5168d6134
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGatewayCertificateAuthorities.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/certificateAuthorities/cert1",
+ "type": "Microsoft.ApiManagement/service/gateways/certificateAuthorities",
+ "name": "cert1",
+ "properties": {
+ "isTrusted": false
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/certificateAuthorities/cert2",
+ "type": "Microsoft.ApiManagement/service/gateways/certificateAuthorities",
+ "name": "cert2",
+ "properties": {
+ "isTrusted": true
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGatewayHostnameConfigurations.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGatewayHostnameConfigurations.json
new file mode 100644
index 000000000000..7abbd3f51e65
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGatewayHostnameConfigurations.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/hostnameConfigurations/default",
+ "type": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations",
+ "name": "default",
+ "properties": {
+ "hostname": "*",
+ "certificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert1",
+ "negotiateClientCertificate": false
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1/hostnameConfigurations/hostname1",
+ "type": "Microsoft.ApiManagement/service/gateways/hostnameConfigurations",
+ "name": "default",
+ "properties": {
+ "hostname": "foo.bar.com",
+ "certificateId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/cert2",
+ "negotiateClientCertificate": true
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGateways.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGateways.json
new file mode 100644
index 000000000000..d85c8f66f760
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGateways.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1",
+ "type": "Microsoft.ApiManagement/service/gateways",
+ "name": "a1",
+ "properties": {
+ "description": "my gateway 1",
+ "locationData": {
+ "name": "my location 1"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw2",
+ "type": "Microsoft.ApiManagement/service/gateways",
+ "name": "5a73933b8f27f7cc82a2d533",
+ "properties": {
+ "description": "my gateway 2",
+ "locationData": {
+ "name": "my location 2"
+ }
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGroupUsers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGroupUsers.json
new file mode 100644
index 000000000000..81dab98e2446
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGroupUsers.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "groupId": "57d2ef278aa04f0888cba3f3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/kjoshiarmTemplateUser1",
+ "type": "Microsoft.ApiManagement/service/groups/users",
+ "name": "armTemplateUser1",
+ "properties": {
+ "firstName": "user1",
+ "lastName": "lastname1",
+ "email": "user1@live.com",
+ "state": "active",
+ "registrationDate": "2017-05-31T18:54:41.447Z",
+ "note": "note for user 1",
+ "identities": [
+ {
+ "provider": "Basic",
+ "id": "user1@live.com"
+ }
+ ]
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGroups.json
new file mode 100644
index 000000000000..96cebe8dcaf2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListGroups.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/5600b59375ff190048020001",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "5600b59375ff190048020001",
+ "properties": {
+ "displayName": "Administrators",
+ "description": "Administrators is a built-in group. Its membership is managed by the system. Microsoft Azure subscription administrators fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/59306a29e4bbd510dc24e5f9",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "59306a29e4bbd510dc24e5f9",
+ "properties": {
+ "displayName": "AwesomeGroup (samiraad.onmicrosoft.com)",
+ "description": "awesome group of people",
+ "builtIn": false,
+ "type": "external",
+ "externalId": "aad://samiraad.onmicrosoft.com/groups/3773adf4-032e-4d25-9988-eaff9ca72eca"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/5600b59375ff190048020002",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "5600b59375ff190048020002",
+ "properties": {
+ "displayName": "Developers",
+ "description": "Developers is a built-in group. Its membership is managed by the system. Signed-in users fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/5600b59375ff190048020003",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "5600b59375ff190048020003",
+ "properties": {
+ "displayName": "Guests",
+ "description": "Guests is a built-in group. Its membership is managed by the system. Unauthenticated users visiting the developer portal fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ }
+ ],
+ "count": 4,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListIdentityProviders.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListIdentityProviders.json
new file mode 100644
index 000000000000..6e8a4e91582f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListIdentityProviders.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/Google",
+ "type": "Microsoft.ApiManagement/service/identityProviders",
+ "name": "Google",
+ "properties": {
+ "clientId": "googleId",
+ "type": "google"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/Aad",
+ "type": "Microsoft.ApiManagement/service/identityProviders",
+ "name": "Aad",
+ "properties": {
+ "clientId": "aadapplicationid",
+ "type": "aad",
+ "allowedTenants": [
+ "samiraad.onmicrosoft.com"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/AadB2C",
+ "type": "Microsoft.ApiManagement/service/identityProviders",
+ "name": "AadB2C",
+ "properties": {
+ "clientId": "aadb2clientId",
+ "type": "aadB2C",
+ "allowedTenants": [
+ "samirtestbc.onmicrosoft.com"
+ ],
+ "signupPolicyName": "B2C_1_Signup_Default",
+ "signinPolicyName": "B2C_1_Signin_Default"
+ }
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListIssues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListIssues.json
new file mode 100644
index 000000000000..f449935d2154
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListIssues.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListLoggers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListLoggers.json
new file mode 100644
index 000000000000..cbe27f21761d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListLoggers.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/azuremonitor",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "azuremonitor",
+ "properties": {
+ "loggerType": "azureMonitor",
+ "isBuffered": true
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/vvktest",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "vvktest",
+ "properties": {
+ "loggerType": "applicationInsights",
+ "credentials": {
+ "instrumentationKey": "{{Logger-Credentials-5b1a17ef2b3f91153004b10d}}"
+ },
+ "isBuffered": true
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "applicationinsights",
+ "properties": {
+ "loggerType": "applicationInsights",
+ "description": "miaoappinsight",
+ "credentials": {
+ "instrumentationKey": "{{Logger-Credentials-5b2056062b3f911ae84a3069}}"
+ },
+ "isBuffered": true
+ }
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNamedValues.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNamedValues.json
new file mode 100644
index 000000000000..61f52260cbf5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNamedValues.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/592f1174cc83890dc4f32686",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "592f1174cc83890dc4f32686",
+ "properties": {
+ "displayName": "Logger-Credentials-592f1174cc83890dc4f32687",
+ "value": "propValue",
+ "secret": false
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "testprop6",
+ "properties": {
+ "displayName": "prop6namekv",
+ "keyVault": {
+ "secretIdentifier": "https://contoso.vault.azure.net/secrets/aadSecret",
+ "identityClientId": "2d2df842-44d8-4885-8dec-77cc1a984a31",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-11T00:54:31.8024882Z"
+ }
+ },
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": true
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNotificationRecipientEmails.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNotificationRecipientEmails.json
new file mode 100644
index 000000000000..d5dbd436ac14
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNotificationRecipientEmails.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientEmails",
+ "name": "contoso@live.com",
+ "properties": {
+ "email": "contoso@live.com"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar!live",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientEmails",
+ "name": "foobar!live",
+ "properties": {
+ "email": "foobar!live"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientEmails",
+ "name": "foobar@live.com",
+ "properties": {
+ "email": "foobar@live.com"
+ }
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNotificationRecipientUsers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNotificationRecipientUsers.json
new file mode 100644
index 000000000000..52c40348e731
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNotificationRecipientUsers.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "notificationName": "RequestPublisherNotificationMessage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientUsers/576823d0a40f7e74ec07d642",
+ "type": "Microsoft.ApiManagement/service/notifications/recipientUsers",
+ "name": "576823d0a40f7e74ec07d642",
+ "properties": {
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNotifications.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNotifications.json
new file mode 100644
index 000000000000..1bb971a0ab0f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListNotifications.json
@@ -0,0 +1,127 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "RequestPublisherNotificationMessage",
+ "properties": {
+ "title": "Subscription requests (requiring approval)",
+ "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar!live",
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/foobar@live.com"
+ ],
+ "users": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/576823d0a40f7e74ec07d642"
+ ]
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/PurchasePublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "PurchasePublisherNotificationMessage",
+ "properties": {
+ "title": "New subscriptions",
+ "description": "The following email recipients and users will receive email notifications about new API product subscriptions.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com"
+ ],
+ "users": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ ]
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/NewApplicationNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "NewApplicationNotificationMessage",
+ "properties": {
+ "title": "Application gallery requests",
+ "description": "The following email recipients and users will receive email notifications when new applications are submitted to the application gallery.",
+ "recipients": {
+ "emails": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com"
+ ],
+ "users": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/BCC",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "BCC",
+ "properties": {
+ "title": "BCC",
+ "description": "The following recipients will receive blind carbon copies of all emails sent to developers.",
+ "recipients": {
+ "emails": [],
+ "users": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/NewIssuePublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "NewIssuePublisherNotificationMessage",
+ "properties": {
+ "title": "New issue or comment",
+ "description": "The following email recipients and users will receive email notifications when a new issue or comment is submitted on the developer portal.",
+ "recipients": {
+ "emails": [],
+ "users": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ ]
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/AccountClosedPublisher",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "AccountClosedPublisher",
+ "properties": {
+ "title": "Close account message",
+ "description": "The following email recipients and users will receive email notifications when developer closes his account",
+ "recipients": {
+ "emails": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/RequestPublisherNotificationMessage/recipientEmails/contoso@live.com"
+ ],
+ "users": []
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/notifications/QuotaLimitApproachingPublisherNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/notifications",
+ "name": "QuotaLimitApproachingPublisherNotificationMessage",
+ "properties": {
+ "title": "Approaching subscription quota limit",
+ "description": "The following email recipients and users will receive email notifications when subscription usage gets close to usage quota.",
+ "recipients": {
+ "emails": [],
+ "users": [
+ "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1"
+ ]
+ }
+ }
+ }
+ ],
+ "count": 7,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListOpenIdConnectProviders.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListOpenIdConnectProviders.json
new file mode 100644
index 000000000000..857222b710a8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListOpenIdConnectProviders.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/openidConnectProviders/templateOpenIdConnect2",
+ "type": "Microsoft.ApiManagement/service/openidconnectproviders",
+ "name": "templateOpenIdConnect2",
+ "properties": {
+ "displayName": "templateoidprovider2",
+ "description": "open id provider template2",
+ "metadataEndpoint": "https://oidprovider-template2.net",
+ "clientId": "oidprovidertemplate2"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListOperations.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListOperations.json
new file mode 100644
index 000000000000..df8ab578e4e0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListOperations.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.ApiManagement/service/write",
+ "display": {
+ "provider": "Microsoft API Management",
+ "resource": "Service",
+ "operation": "Create a new instance of API Management Service",
+ "description": "Create a new instance of API Management Service"
+ }
+ },
+ {
+ "name": "Microsoft.ApiManagement/service/read",
+ "display": {
+ "provider": "Microsoft API Management",
+ "resource": "Service",
+ "operation": "Read metadata for an API Management Service instance",
+ "description": "Read metadata for an API Management Service instance"
+ }
+ },
+ {
+ "name": "Microsoft.ApiManagement/service/delete",
+ "display": {
+ "provider": "Microsoft API Management",
+ "resource": "Service",
+ "operation": "Delete API Management Service instance",
+ "description": "Delete API Management Service instance"
+ }
+ },
+ {
+ "origin": "system",
+ "name": "Microsoft.ApiManagement/service/providers/Microsoft.Insights/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft API Management",
+ "resource": "Service",
+ "operation": "Write diagnostic setting",
+ "description": "Creates or updates the diagnostic setting for API Management service"
+ }
+ },
+ {
+ "name": "Microsoft.ApiManagement/service/tenant/operationResults/read",
+ "display": {
+ "provider": "Microsoft API Management",
+ "resource": "Results of async operations",
+ "operation": "Get operation results or Get operation result",
+ "description": "Get list of operation results or Get result of a specific operation"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPolicies.json
new file mode 100644
index 000000000000..fbb746d320a4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPolicies.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policies/policy",
+ "type": "Microsoft.ApiManagement/service/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n\r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPolicyDescriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPolicyDescriptions.json
new file mode 100644
index 000000000000..b99e4be6b0af
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPolicyDescriptions.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "scope": "Api"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policyDescriptions/authentication-basic",
+ "type": "Microsoft.ApiManagement/service/policyDescriptions",
+ "name": "authentication-basic",
+ "properties": {
+ "description": "Authenticate with the backend service using Basic authentication. Use in the inbound section at API scope.",
+ "scope": 268435471
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/policyDescriptions/authentication-certificate",
+ "type": "Microsoft.ApiManagement/service/policyDescriptions",
+ "name": "authentication-certificate",
+ "properties": {
+ "description": "Authenticate with the backend service using a client certificate. Use in the inbound section at API scope.",
+ "scope": 268435471
+ }
+ }
+ ],
+ "count": 2
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPortalRevisions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPortalRevisions.json
new file mode 100644
index 000000000000..d39a9a7c0224
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPortalRevisions.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112000000",
+ "type": "Microsoft.ApiManagement/service/portalRevisions",
+ "name": "20201112000000",
+ "properties": {
+ "description": "portal revision",
+ "statusDetails": null,
+ "status": "completed",
+ "isCurrent": false,
+ "createdDateTime": "2020-11-12T22:10:09.673Z",
+ "updatedDateTime": "2020-11-12T22:12:41.46Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112101010",
+ "type": "Microsoft.ApiManagement/service/portalRevisions",
+ "name": "20201112101010",
+ "properties": {
+ "description": "portal revision 1",
+ "statusDetails": null,
+ "status": "completed",
+ "isCurrent": true,
+ "createdDateTime": "2020-11-12T22:51:36.47Z",
+ "updatedDateTime": "2020-11-12T22:52:00.097Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPortalSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPortalSettings.json
new file mode 100644
index 000000000000..4579dc60b81d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPortalSettings.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/delegation",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "delegation",
+ "properties": {
+ "subscriptions": {
+ "enabled": false
+ },
+ "userRegistration": {
+ "enabled": false
+ },
+ "enabled": false
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signin",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "signin",
+ "properties": {
+ "enabled": false
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signup",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "signup",
+ "properties": {
+ "enabled": true,
+ "termsOfService": {
+ "text": "Terms of service",
+ "enabled": false,
+ "consentRequired": false
+ }
+ }
+ }
+ ],
+ "count": 3
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPrivateEndpointConnections.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPrivateEndpointConnections.json
new file mode 100644
index 000000000000..75219a8caade
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPrivateEndpointConnections.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateEndpointConnections/connectionName",
+ "type": "Microsoft.ApiManagement/service/privateEndpointConnections",
+ "name": "privateEndpointProxyName",
+ "properties": {
+ "provisioningState": "Pending",
+ "privateEndpoint": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/privateEndpointName"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request, thanks",
+ "actionsRequired": "None"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateEndpointConnections/privateEndpointProxyName2",
+ "type": "Microsoft.ApiManagement/service/privateEndpointConnections",
+ "name": "privateEndpointProxyName2",
+ "properties": {
+ "provisioningState": "Pending",
+ "privateEndpoint": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/privateEndpointName2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request, thanks",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPrivateLinkGroupResources.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPrivateLinkGroupResources.json
new file mode 100644
index 000000000000..3aceaf90f2da
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListPrivateLinkGroupResources.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateLinkResources/Gateway",
+ "name": "Gateway",
+ "type": "Microsoft.ApiManagement/service/privateLinkResources",
+ "properties": {
+ "groupId": "Gateway",
+ "requiredMembers": [
+ "Gateway_west_us"
+ ],
+ "requiredZoneNames": [
+ "privateLink.azure.api.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductApis.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductApis.json
new file mode 100644
index 000000000000..78b834607fa6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductApis.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "5768181ea40f7eb6c49f6ac7"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5768181ea40f7eb6c49f6ac7/apis/57681820a40f7eb6c49f6aca",
+ "type": "Microsoft.ApiManagement/service/products/apis",
+ "name": "57681820a40f7eb6c49f6aca",
+ "properties": {
+ "displayName": "api_57681820a40f7eb6c49f6acb",
+ "apiRevision": "1",
+ "description": "description_57681820a40f7eb6c49f6acc",
+ "serviceUrl": "http://contoso/57681820a40f7eb6c49f6acd",
+ "path": "suffix_57681820a40f7eb6c49f6ace",
+ "protocols": [
+ "https"
+ ],
+ "isCurrent": true
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductGroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductGroups.json
new file mode 100644
index 000000000000..9e51712220dc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductGroups.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "5600b57e7e8880006a060002"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002/groups/5600b57e7e8880006a020001",
+ "type": "Microsoft.ApiManagement/service/products/groups",
+ "name": "5600b57e7e8880006a020001",
+ "properties": {
+ "displayName": "Administrators",
+ "description": "Administrators is a built-in group. Its membership is managed by the system. Microsoft Azure subscription administrators fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002/groups/5600b57e7e8880006a020002",
+ "type": "Microsoft.ApiManagement/service/products/groups",
+ "name": "5600b57e7e8880006a020002",
+ "properties": {
+ "displayName": "Developers",
+ "description": "Developers is a built-in group. Its membership is managed by the system. Signed-in users fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002/groups/5600b57e7e8880006a020003",
+ "type": "Microsoft.ApiManagement/service/products/groups",
+ "name": "5600b57e7e8880006a020003",
+ "properties": {
+ "displayName": "Guests",
+ "description": "Guests is a built-in group. Its membership is managed by the system. Unauthenticated users visiting the developer portal fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductPolicies.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductPolicies.json
new file mode 100644
index 000000000000..5b73c8717139
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductPolicies.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "armTemplateProduct4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/armTemplateProduct4/policies/policy",
+ "type": "Microsoft.ApiManagement/service/products/policies",
+ "name": "policy",
+ "properties": {
+ "value": "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductSubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductSubscriptions.json
new file mode 100644
index 000000000000..2dd659bc36f6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductSubscriptions.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "5600b57e7e8880006a060002"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002/subscriptions/5600b57e7e8880006a070002",
+ "type": "Microsoft.ApiManagement/service/products/subscriptions",
+ "name": "5600b57e7e8880006a070002",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b57e7e8880006a060002",
+ "state": "active",
+ "createdDate": "2015-09-22T01:57:18.723Z"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductTags.json
new file mode 100644
index 000000000000..eaa89392e4c4
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductTags.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "57d2ef278aa04f0888cba3f1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b539c53f5b0062060002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b539c53f5b0062060002",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProducts.json
new file mode 100644
index 000000000000..b1e4b5b8c745
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProducts.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/kjoshiarmtemplateCert1",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "kjoshiarmtemplateCert1",
+ "properties": {
+ "displayName": "Dev",
+ "description": "Development Product",
+ "subscriptionRequired": false,
+ "state": "published"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/starter",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "starter",
+ "properties": {
+ "displayName": "Starter",
+ "description": "Subscribers will be able to run 5 calls/minute up to a maximum of 100 calls/week.",
+ "terms": "",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/unlimited",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "unlimited",
+ "properties": {
+ "displayName": "Unlimited",
+ "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",
+ "subscriptionRequired": true,
+ "approvalRequired": true,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductsByTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductsByTags.json
new file mode 100644
index 000000000000..bc5033838eba
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListProductsByTags.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "tag": {
+ "id": "/tags/apitag123",
+ "name": "awesomeTag"
+ },
+ "product": {
+ "id": "/products/starter",
+ "name": "Starter",
+ "description": "Subscribers will be able to run 5 calls/minute up to a maximum of 100 calls/week.",
+ "terms": "",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ ],
+ "count": 1
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListRegions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListRegions.json
new file mode 100644
index 000000000000..5edf679ee859
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListRegions.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "West US",
+ "isMasterRegion": true,
+ "isDeleted": false
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSKUs-Consumption.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSKUs-Consumption.json
new file mode 100644
index 000000000000..dc83e6423214
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSKUs-Consumption.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "Microsoft.ApiManagement/service",
+ "sku": {
+ "name": "Consumption"
+ },
+ "capacity": null
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSKUs-Dedicated.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSKUs-Dedicated.json
new file mode 100644
index 000000000000..d0ce55fd4c08
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSKUs-Dedicated.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "Microsoft.ApiManagement/service",
+ "sku": {
+ "name": "Developer"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 1,
+ "default": 1,
+ "scaleType": "none"
+ }
+ },
+ {
+ "resourceType": "Microsoft.ApiManagement/service",
+ "sku": {
+ "name": "Basic"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 2,
+ "default": 1,
+ "scaleType": "manual"
+ }
+ },
+ {
+ "resourceType": "Microsoft.ApiManagement/service",
+ "sku": {
+ "name": "Standard"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 4,
+ "default": 1,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "Microsoft.ApiManagement/service",
+ "sku": {
+ "name": "Premium"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 10,
+ "default": 1,
+ "scaleType": "automatic"
+ }
+ },
+ {
+ "resourceType": "Microsoft.ApiManagement/service",
+ "sku": {
+ "name": "Isolated"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 1,
+ "default": 1,
+ "scaleType": "automatic"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSecretsPortalSettingsValidationKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSecretsPortalSettingsValidationKey.json
new file mode 100644
index 000000000000..e044a5c77b00
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSecretsPortalSettingsValidationKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "validationKey": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSecretsTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSecretsTenantAccess.json
new file mode 100644
index 000000000000..3f66090062b8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSecretsTenantAccess.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "accessName": "access"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "5600b59375ff190048030003",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListServiceBySubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListServiceBySubscription.json
new file mode 100644
index 000000000000..c0c4ae21d82b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListServiceBySubscription.json
@@ -0,0 +1,355 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/OGF-Z3-06162021-Premium",
+ "name": "OGF-Z3-06162021-Premium",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "owner": "v-aswmoh",
+ "ReleaseName": "Z3"
+ },
+ "location": "East US",
+ "etag": "AAAAAAAWN/4=",
+ "properties": {
+ "publisherEmail": "bar@contoso.com",
+ "publisherName": "Test Premium",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-06-16T09:40:00.9453556Z",
+ "gatewayUrl": "https://ogf-z3-06162021-premium.azure-api.net",
+ "gatewayRegionalUrl": "https://ogf-z3-06162021-premium-eastus-01.regional.azure-api.net",
+ "portalUrl": "https://ogf-z3-06162021-premium.portal.azure-api.net",
+ "developerPortalUrl": "https://ogf-z3-06162021-premium.developer.azure-api.net",
+ "managementApiUrl": "https://ogf-z3-06162021-premium.management.azure-api.net",
+ "scmUrl": "https://ogf-z3-06162021-premium.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "ogf-z3-06162021-premium.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false,
+ "certificateSource": "BuiltIn"
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl",
+ "negotiateClientCertificate": true,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": true,
+ "certificateSource": "Custom"
+ },
+ {
+ "type": "DeveloperPortal",
+ "hostName": "developer.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": false,
+ "certificateSource": "Custom"
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": false,
+ "certificateSource": "Custom"
+ }
+ ],
+ "publicIPAddresses": [
+ "13.92.130.49"
+ ],
+ "additionalLocations": [
+ {
+ "location": "East US 2",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "zones": [],
+ "publicIPAddresses": [
+ "40.70.24.106"
+ ],
+ "gatewayRegionalUrl": "https://ogf-z3-06162021-premium-eastus2-01.regional.azure-api.net",
+ "disableGateway": false
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false"
+ },
+ "virtualNetworkType": "None",
+ "certificates": [],
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-12-01"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "306205e7-b21a-41bf-92e2-3e28af30041e",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ogf-identity": {
+ "principalId": "713784d2-ee37-412a-95f0-3768f397f82d",
+ "clientId": "8d9791f2-0cdf-41f4-9e66-cdc39b496789"
+ }
+ }
+ },
+ "systemData": {
+ "createdBy": "bar@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-06-16T09:40:00.7106733Z",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-06-20T06:33:09.6159006Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/vvktestcons",
+ "name": "vvktestcons",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Owner": "vitaliik"
+ },
+ "location": "East US",
+ "etag": "AAAAAAAWKwo=",
+ "properties": {
+ "publisherEmail": "bar@contoso.com",
+ "publisherName": "vvktestcons",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2020-08-10T18:07:23.4565211Z",
+ "gatewayUrl": "https://vvktestcons.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "vvktestcons.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "enableClientCertificate": false,
+ "disableGateway": false,
+ "publicNetworkAccess": "Enabled"
+ },
+ "sku": {
+ "name": "Consumption",
+ "capacity": 0
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/OGF-Z3-06162021-Standard",
+ "name": "OGF-Z3-06162021-Standard",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "East US",
+ "etag": "AAAAAAAWF7M=",
+ "properties": {
+ "publisherEmail": "bar@contoso.com",
+ "publisherName": "Test Standard",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-06-16T09:39:58.6555759Z",
+ "gatewayUrl": "https://ogf-z3-06162021-standard.azure-api.net",
+ "gatewayRegionalUrl": "https://ogf-z3-06162021-standard-eastus-01.regional.azure-api.net",
+ "portalUrl": "https://ogf-z3-06162021-standard.portal.azure-api.net",
+ "developerPortalUrl": "https://ogf-z3-06162021-standard.developer.azure-api.net",
+ "managementApiUrl": "https://ogf-z3-06162021-standard.management.azure-api.net",
+ "scmUrl": "https://ogf-z3-06162021-standard.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "ogf-z3-06162021-standard.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "publicIPAddresses": [
+ "13.82.208.32"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA": "true",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-12-01"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 2
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "347a5800-ca99-475a-9202-fe38ca79ee41",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ogf-identity": {
+ "principalId": "713784d2-ee37-412a-95f0-3768f397f82d",
+ "clientId": "8d9791f2-0cdf-41f4-9e66-cdc39b496789"
+ }
+ }
+ },
+ "systemData": {
+ "createdBy": "bar@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-06-16T09:39:58.4591834Z",
+ "lastModifiedBy": "bar@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-06-17T15:05:13.5494721Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/ogf-dev-060921",
+ "name": "ogf-dev-060921",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "East US",
+ "etag": "AAAAAAAWEFg=",
+ "properties": {
+ "publisherEmail": "v-ssaiprasan@microsoft.com",
+ "publisherName": "TechM",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-06-09T10:06:22.2133978Z",
+ "gatewayUrl": "https://ogf-dev-060921.azure-api.net",
+ "gatewayRegionalUrl": "https://ogf-dev-060921-eastus-01.regional.azure-api.net",
+ "portalUrl": "https://ogf-dev-060921.portal.azure-api.net",
+ "developerPortalUrl": "https://ogf-dev-060921.developer.azure-api.net",
+ "managementApiUrl": "https://ogf-dev-060921.management.azure-api.net",
+ "scmUrl": "https://ogf-dev-060921.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "ogf-dev-060921.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "publicIPAddresses": [
+ "168.62.39.172"
+ ],
+ "additionalLocations": [
+ {
+ "location": "South Central US",
+ "sku": {
+ "name": "Premium",
+ "capacity": 9
+ },
+ "zones": [],
+ "publicIPAddresses": [
+ "13.84.208.29"
+ ],
+ "gatewayRegionalUrl": "https://ogf-dev-060921-southcentralus-01.regional.azure-api.net",
+ "disableGateway": false
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false"
+ },
+ "virtualNetworkType": "None",
+ "certificates": [
+ {
+ "storeName": "Root",
+ "certificate": {
+ "expiry": "2021-11-25T22:51:47+00:00",
+ "thumbprint": "4E8234312EC69245D1AE296C4882D46FB84076A3",
+ "subject": "CN=*.apim.net"
+ }
+ }
+ ],
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-12-01"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 3
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "c9bd4c05-205e-4431-b232-112cf2e9e0aa",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd"
+ },
+ "systemData": {
+ "createdBy": "v-ssaiprasan@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2021-06-09T10:06:21.7336597Z",
+ "lastModifiedBy": "v-ssaiprasan@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-06-10T14:27:05.546816Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json
new file mode 100644
index 000000000000..10f74fdcf153
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListServiceBySubscriptionAndResourceGroup.json
@@ -0,0 +1,356 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/OGF-Z3-06162021-Premium",
+ "name": "OGF-Z3-06162021-Premium",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "owner": "v-aswmoh",
+ "ReleaseName": "Z3"
+ },
+ "location": "East US",
+ "etag": "AAAAAAAWN/4=",
+ "properties": {
+ "publisherEmail": "bar@contoso.com",
+ "publisherName": "Test Premium",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-06-16T09:40:00.9453556Z",
+ "gatewayUrl": "https://ogf-z3-06162021-premium.azure-api.net",
+ "gatewayRegionalUrl": "https://ogf-z3-06162021-premium-eastus-01.regional.azure-api.net",
+ "portalUrl": "https://ogf-z3-06162021-premium.portal.azure-api.net",
+ "developerPortalUrl": "https://ogf-z3-06162021-premium.developer.azure-api.net",
+ "managementApiUrl": "https://ogf-z3-06162021-premium.management.azure-api.net",
+ "scmUrl": "https://ogf-z3-06162021-premium.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "ogf-z3-06162021-premium.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false,
+ "certificateSource": "BuiltIn"
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl",
+ "negotiateClientCertificate": true,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": true,
+ "certificateSource": "Custom"
+ },
+ {
+ "type": "DeveloperPortal",
+ "hostName": "developer.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": false,
+ "certificateSource": "Custom"
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault-int.azure-int.net/secrets/current-ssl",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286F71AF3B6A01BDB240C58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": false,
+ "certificateSource": "Custom"
+ }
+ ],
+ "publicIPAddresses": [
+ "13.92.130.49"
+ ],
+ "additionalLocations": [
+ {
+ "location": "East US 2",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "zones": [],
+ "publicIPAddresses": [
+ "40.70.24.106"
+ ],
+ "gatewayRegionalUrl": "https://ogf-z3-06162021-premium-eastus2-01.regional.azure-api.net",
+ "disableGateway": false
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false"
+ },
+ "virtualNetworkType": "None",
+ "certificates": [],
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-12-01"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "306205e7-b21a-41bf-92e2-3e28af30041e",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ogf-identity": {
+ "principalId": "713784d2-ee37-412a-95f0-3768f397f82d",
+ "clientId": "8d9791f2-0cdf-41f4-9e66-cdc39b496789"
+ }
+ }
+ },
+ "systemData": {
+ "createdBy": "bar@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-06-16T09:40:00.7106733Z",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-06-20T06:33:09.6159006Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/vvktestcons",
+ "name": "vvktestcons",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Owner": "vitaliik"
+ },
+ "location": "East US",
+ "etag": "AAAAAAAWKwo=",
+ "properties": {
+ "publisherEmail": "bar@contoso.com",
+ "publisherName": "vvktestcons",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2020-08-10T18:07:23.4565211Z",
+ "gatewayUrl": "https://vvktestcons.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "vvktestcons.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "enableClientCertificate": false,
+ "disableGateway": false,
+ "publicNetworkAccess": "Enabled"
+ },
+ "sku": {
+ "name": "Consumption",
+ "capacity": 0
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/OGF-Z3-06162021-Standard",
+ "name": "OGF-Z3-06162021-Standard",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "East US",
+ "etag": "AAAAAAAWF7M=",
+ "properties": {
+ "publisherEmail": "bar@contoso.com",
+ "publisherName": "Test Standard",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-06-16T09:39:58.6555759Z",
+ "gatewayUrl": "https://ogf-z3-06162021-standard.azure-api.net",
+ "gatewayRegionalUrl": "https://ogf-z3-06162021-standard-eastus-01.regional.azure-api.net",
+ "portalUrl": "https://ogf-z3-06162021-standard.portal.azure-api.net",
+ "developerPortalUrl": "https://ogf-z3-06162021-standard.developer.azure-api.net",
+ "managementApiUrl": "https://ogf-z3-06162021-standard.management.azure-api.net",
+ "scmUrl": "https://ogf-z3-06162021-standard.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "ogf-z3-06162021-standard.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "publicIPAddresses": [
+ "13.82.208.32"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA": "true",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-12-01"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 2
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "347a5800-ca99-475a-9202-fe38ca79ee41",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ogf-identity": {
+ "principalId": "713784d2-ee37-412a-95f0-3768f397f82d",
+ "clientId": "8d9791f2-0cdf-41f4-9e66-cdc39b496789"
+ }
+ }
+ },
+ "systemData": {
+ "createdBy": "bar@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2021-06-16T09:39:58.4591834Z",
+ "lastModifiedBy": "bar@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-06-17T15:05:13.5494721Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/ogf-dev-060921",
+ "name": "ogf-dev-060921",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "East US",
+ "etag": "AAAAAAAWEFg=",
+ "properties": {
+ "publisherEmail": "v-ssaiprasan@microsoft.com",
+ "publisherName": "TechM",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-06-09T10:06:22.2133978Z",
+ "gatewayUrl": "https://ogf-dev-060921.azure-api.net",
+ "gatewayRegionalUrl": "https://ogf-dev-060921-eastus-01.regional.azure-api.net",
+ "portalUrl": "https://ogf-dev-060921.portal.azure-api.net",
+ "developerPortalUrl": "https://ogf-dev-060921.developer.azure-api.net",
+ "managementApiUrl": "https://ogf-dev-060921.management.azure-api.net",
+ "scmUrl": "https://ogf-dev-060921.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "ogf-dev-060921.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true,
+ "certificateSource": "BuiltIn"
+ }
+ ],
+ "publicIPAddresses": [
+ "168.62.39.172"
+ ],
+ "additionalLocations": [
+ {
+ "location": "South Central US",
+ "sku": {
+ "name": "Premium",
+ "capacity": 9
+ },
+ "zones": [],
+ "publicIPAddresses": [
+ "13.84.208.29"
+ ],
+ "gatewayRegionalUrl": "https://ogf-dev-060921-southcentralus-01.regional.azure-api.net",
+ "disableGateway": false
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false"
+ },
+ "virtualNetworkType": "None",
+ "certificates": [
+ {
+ "storeName": "Root",
+ "certificate": {
+ "expiry": "2021-11-25T22:51:47+00:00",
+ "thumbprint": "4E8234312EC69245D1AE296C4882D46FB84076A3",
+ "subject": "CN=*.apim.net"
+ }
+ }
+ ],
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-12-01"
+ },
+ "publicNetworkAccess": "Enabled"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 3
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "c9bd4c05-205e-4431-b232-112cf2e9e0aa",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd"
+ },
+ "systemData": {
+ "createdBy": "v-ssaiprasan@microsoft.com",
+ "createdByType": "User",
+ "createdAt": "2021-06-09T10:06:21.7336597Z",
+ "lastModifiedBy": "v-ssaiprasan@microsoft.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-06-10T14:27:05.546816Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSku.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSku.json
new file mode 100644
index 000000000000..47ee2a13d889
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSku.json
@@ -0,0 +1,224 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "service",
+ "name": "Developer",
+ "locations": [
+ "centralindia"
+ ],
+ "locationInfo": [
+ {
+ "location": "centralindia",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 1,
+ "maximum": 1,
+ "default": 1,
+ "scaleType": "None"
+ },
+ "restrictions": []
+ },
+ {
+ "resourceType": "service",
+ "name": "Standard",
+ "locations": [
+ "centralindia"
+ ],
+ "locationInfo": [
+ {
+ "location": "centralindia",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 1,
+ "maximum": 4,
+ "default": 1,
+ "scaleType": "Automatic"
+ },
+ "restrictions": []
+ },
+ {
+ "resourceType": "service",
+ "name": "Premium",
+ "locations": [
+ "centralindia"
+ ],
+ "locationInfo": [
+ {
+ "location": "centralindia",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 1,
+ "maximum": 10,
+ "default": 1,
+ "scaleType": "Automatic"
+ },
+ "restrictions": []
+ },
+ {
+ "resourceType": "service",
+ "name": "Basic",
+ "locations": [
+ "centralindia"
+ ],
+ "locationInfo": [
+ {
+ "location": "centralindia",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 1,
+ "maximum": 2,
+ "default": 1,
+ "scaleType": "Manual"
+ },
+ "restrictions": []
+ },
+ {
+ "resourceType": "service",
+ "name": "Consumption",
+ "locations": [
+ "centralindia"
+ ],
+ "locationInfo": [
+ {
+ "location": "centralindia",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 0,
+ "maximum": 0,
+ "default": 0,
+ "scaleType": "None"
+ },
+ "restrictions": []
+ },
+ {
+ "resourceType": "service",
+ "name": "Developer",
+ "locations": [
+ "uaenorth"
+ ],
+ "locationInfo": [
+ {
+ "location": "uaenorth",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 1,
+ "maximum": 1,
+ "default": 1,
+ "scaleType": "None"
+ },
+ "restrictions": []
+ },
+ {
+ "resourceType": "service",
+ "name": "Standard",
+ "locations": [
+ "uaenorth"
+ ],
+ "locationInfo": [
+ {
+ "location": "uaenorth",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 1,
+ "maximum": 4,
+ "default": 1,
+ "scaleType": "Automatic"
+ },
+ "restrictions": []
+ },
+ {
+ "resourceType": "service",
+ "name": "Premium",
+ "locations": [
+ "uaenorth"
+ ],
+ "locationInfo": [
+ {
+ "location": "uaenorth",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 1,
+ "maximum": 10,
+ "default": 1,
+ "scaleType": "Automatic"
+ },
+ "restrictions": []
+ },
+ {
+ "resourceType": "service",
+ "name": "Basic",
+ "locations": [
+ "uaenorth"
+ ],
+ "locationInfo": [
+ {
+ "location": "uaenorth",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 1,
+ "maximum": 2,
+ "default": 1,
+ "scaleType": "Manual"
+ },
+ "restrictions": []
+ },
+ {
+ "resourceType": "service",
+ "name": "Developer",
+ "locations": [
+ "australiacentral"
+ ],
+ "locationInfo": [
+ {
+ "location": "australiacentral",
+ "zones": [],
+ "zoneDetails": []
+ }
+ ],
+ "capacity": {
+ "minimum": 1,
+ "maximum": 1,
+ "default": 1,
+ "scaleType": "None"
+ },
+ "restrictions": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSubscriptions.json
new file mode 100644
index 000000000000..92c83fb00af6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListSubscriptions.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/5600b59475ff190048070001",
+ "type": "Microsoft.ApiManagement/service/subscriptions",
+ "name": "5600b59475ff190048070001",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060001",
+ "state": "active",
+ "createdDate": "2015-09-22T01:57:40.3Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/56eaed3dbaf08b06e46d27fe",
+ "type": "Microsoft.ApiManagement/service/subscriptions",
+ "name": "56eaed3dbaf08b06e46d27fe",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/56eaec62baf08b06e46d27fd",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060001",
+ "displayName": "Starter",
+ "state": "active",
+ "createdDate": "2016-03-17T17:45:33.837Z",
+ "startDate": "2016-03-17T00:00:00Z",
+ "expirationDate": "2016-04-01T00:00:00Z",
+ "notificationDate": "2016-03-20T00:00:00Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/5931a769d8d14f0ad8ce13b8",
+ "type": "Microsoft.ApiManagement/service/subscriptions",
+ "name": "5931a769d8d14f0ad8ce13b8",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
+ "displayName": "Unlimited",
+ "state": "submitted",
+ "createdDate": "2017-06-02T17:59:06.223Z"
+ }
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTagResources.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTagResources.json
new file mode 100644
index 000000000000..bc16c8a7550c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTagResources.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "tag": {
+ "id": "/tags/apitag123",
+ "name": "awesomeTag"
+ },
+ "operation": {
+ "id": "/apis/echo-api/operations/create-resource",
+ "apiName": "Echo API",
+ "apiRevision": "1",
+ "name": "Create resource",
+ "method": "POST",
+ "urlTemplate": "/resource",
+ "description": "A demonstration of a POST call based on the echo backend above. The request body is expected to contain JSON-formatted data (see example below). A policy is used to automatically transform any request sent in JSON directly to XML. In a real-world scenario this could be used to enable modern clients to speak to a legacy backend."
+ }
+ },
+ {
+ "tag": {
+ "id": "/tags/apitag123",
+ "name": "awesomeTag"
+ },
+ "api": {
+ "id": "/apis/echo-api",
+ "name": "Echo API",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api",
+ "path": "echo",
+ "isCurrent": true
+ }
+ },
+ {
+ "tag": {
+ "id": "/tags/apitag123",
+ "name": "awesomeTag"
+ },
+ "product": {
+ "id": "/products/starter",
+ "name": "Starter",
+ "description": "Subscribers will be able to run 5 calls/minute up to a maximum of 100 calls/week.",
+ "terms": "",
+ "subscriptionRequired": true,
+ "approvalRequired": false,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTags.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTags.json
new file mode 100644
index 000000000000..6e7f95910a68
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTags.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020001",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b59375ff190048020001",
+ "properties": {
+ "displayName": "tag1"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/5600b59375ff190048020002",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "5600b59375ff190048020002",
+ "properties": {
+ "displayName": "tag2"
+ }
+ }
+ ],
+ "count": 2,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTemplates.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTemplates.json
new file mode 100644
index 000000000000..f1b31f83f652
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTemplates.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/ApplicationApprovedNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/templates",
+ "name": "ApplicationApprovedNotificationMessage",
+ "properties": {
+ "subject": "Your application $AppName is published in the application gallery",
+ "body": "\r\n\r\n \r\n \r\n Dear $DevFirstName $DevLastName,
\r\n \r\n We are happy to let you know that your request to publish the $AppName application in the application gallery has been approved. Your application has been published and can be viewed here.\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n",
+ "title": "Application gallery submission approved",
+ "description": "Developers who submitted their application for publication in the application gallery on the developer portal receive this email after their submission is approved.",
+ "isDefault": true,
+ "parameters": [
+ {
+ "name": "AppId",
+ "title": "Application id"
+ },
+ {
+ "name": "AppName",
+ "title": "Application name"
+ },
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ }
+ ]
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTenantAccess.json
new file mode 100644
index 000000000000..bfaf2fb7254e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTenantAccess.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/access",
+ "type": "Microsoft.ApiManagement/service/tenant",
+ "name": "access",
+ "properties": {
+ "enabled": true
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTenantSettings.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTenantSettings.json
new file mode 100644
index 000000000000..a19d42162e67
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListTenantSettings.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/settings/public",
+ "type": "Microsoft.ApiManagement/service/settings",
+ "name": "public",
+ "properties": {
+ "settings": {
+ "CustomPortalSettings.UserRegistrationTerms": null,
+ "CustomPortalSettings.UserRegistrationTermsEnabled": "False",
+ "CustomPortalSettings.UserRegistrationTermsConsentRequired": "False",
+ "CustomPortalSettings.DelegationEnabled": "False",
+ "CustomPortalSettings.DelegationUrl": "",
+ "CustomPortalSettings.DelegatedSubscriptionEnabled": "False"
+ }
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUserGroups.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUserGroups.json
new file mode 100644
index 000000000000..529b712bf314
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUserGroups.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "userId": "57681833a40f7eb6c49f6acf"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf/groups/5600b57e7e8880006a020002",
+ "type": "Microsoft.ApiManagement/service/users/groups",
+ "name": "5600b57e7e8880006a020002",
+ "properties": {
+ "displayName": "Developers",
+ "description": "Developers is a built-in group. Its membership is managed by the system. Signed-in users fall into this group.",
+ "builtIn": true,
+ "type": "system"
+ }
+ }
+ ],
+ "count": 1,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUserIdentities.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUserIdentities.json
new file mode 100644
index 000000000000..6b15dd446438
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUserIdentities.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "userId": "57f2af53bb17172280f44057"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "provider": "Microsoft",
+ "id": "086cf9********55ab"
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUserSubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUserSubscriptions.json
new file mode 100644
index 000000000000..e9026f1ec4da
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUserSubscriptions.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "userId": "57681833a40f7eb6c49f6acf"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf/subscriptions/57681850a40f7eb6c49f6ae3",
+ "type": "Microsoft.ApiManagement/service/users/subscriptions",
+ "name": "57681850a40f7eb6c49f6ae3",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5768181ea40f7eb6c49f6ac7",
+ "displayName": "57681850a40f7eb6c49f6ae5",
+ "state": "active",
+ "createdDate": "2016-06-20T16:22:39.547Z",
+ "startDate": "2016-06-20T00:00:00Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf/subscriptions/57681850a40f7eb6c49f6b2b",
+ "type": "Microsoft.ApiManagement/service/users/subscriptions",
+ "name": "57681850a40f7eb6c49f6b2b",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/57681833a40f7eb6c49f6acf",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5768181ea40f7eb6c49f6ac7",
+ "displayName": "57681850a40f7eb6c49f6b2d",
+ "state": "active",
+ "createdDate": "2016-06-20T16:22:41.103Z",
+ "startDate": "2016-06-20T00:00:00Z"
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUsers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUsers.json
new file mode 100644
index 000000000000..b57f2736954f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementListUsers.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "type": "Microsoft.ApiManagement/service/users",
+ "name": "1",
+ "properties": {
+ "firstName": "Administrator",
+ "lastName": "",
+ "email": "admin@live.com",
+ "state": "active",
+ "registrationDate": "2015-09-22T01:57:39.677Z",
+ "identities": [
+ {
+ "provider": "Azure",
+ "id": "admin@live.com"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/56eaec62baf08b06e46d27fd",
+ "type": "Microsoft.ApiManagement/service/users",
+ "name": "56eaec62baf08b06e46d27fd",
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foo.bar.83@gmail.com",
+ "state": "active",
+ "registrationDate": "2016-03-17T17:41:56.327Z",
+ "identities": [
+ {
+ "provider": "Basic",
+ "id": "foo.bar.83@gmail.com"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "type": "Microsoft.ApiManagement/service/users",
+ "name": "5931a75ae4bbd512a88c680b",
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foobar@outlook.com",
+ "state": "active",
+ "registrationDate": "2017-06-02T17:58:50.357Z",
+ "identities": [
+ {
+ "provider": "Microsoft",
+ "id": "*************"
+ }
+ ]
+ }
+ }
+ ],
+ "count": 3,
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementNamedValueListValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementNamedValueListValue.json
new file mode 100644
index 000000000000..9a4cf73fefc6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementNamedValueListValue.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "namedValueId": "testarmTemplateproperties2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "propValue"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementOpenidConnectProviderListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementOpenidConnectProviderListSecrets.json
new file mode 100644
index 000000000000..12fcd5459ca8
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementOpenidConnectProviderListSecrets.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "opid": "templateOpenIdConnect2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "clientSecret": "oidsecretproviderTemplate2"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPerformConnectivityCheck.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPerformConnectivityCheck.json
new file mode 100644
index 000000000000..eac4ff4000b0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPerformConnectivityCheck.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "connectivityCheckRequestParams": {
+ "source": {
+ "region": "northeurope"
+ },
+ "destination": {
+ "address": "8.8.8.8",
+ "port": 53
+ },
+ "preferredIPVersion": "IPv4"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/connectivityCheck/operationresults/bmljb2xhLW5ldHdvcmt3YXRjaGVyNF9Db25uZWN0aXRpdml0eUNoZWNrXzE2MmExNmZl?api-version=2021-08-01"
+ }
+ },
+ "200": {
+ "body": {
+ "hops": [
+ {
+ "type": "Source",
+ "id": "7dbbe7aa-60ba-4650-831e-63d775d38e9e",
+ "address": "10.1.1.4",
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "nextHopIds": [
+ "75c8d819-b208-4584-a311-1aa45ce753f9"
+ ],
+ "issues": []
+ },
+ {
+ "type": "Internet",
+ "id": "75c8d819-b208-4584-a311-1aa45ce753f9",
+ "address": "8.8.8.8",
+ "nextHopIds": [],
+ "issues": []
+ }
+ ],
+ "connectionStatus": "Connected",
+ "avgLatencyInMs": 1,
+ "minLatencyInMs": 1,
+ "maxLatencyInMs": 4,
+ "probesSent": 100,
+ "probesFailed": 0
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPerformConnectivityCheckHttpConnect.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPerformConnectivityCheckHttpConnect.json
new file mode 100644
index 000000000000..eb5fb2781030
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPerformConnectivityCheckHttpConnect.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "connectivityCheckRequestParams": {
+ "source": {
+ "region": "northeurope"
+ },
+ "destination": {
+ "address": "https://microsoft.com",
+ "port": 3306
+ },
+ "protocol": "HTTPS",
+ "protocolConfiguration": {
+ "HTTPConfiguration": {
+ "method": "GET",
+ "validStatusCodes": [
+ 200,
+ 204
+ ],
+ "headers": [
+ {
+ "name": "Authorization",
+ "value": "Bearer myPreciousToken"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/connectivityCheck/operationresults/bmljb2xhLW5ldHdvcmt3YXRjaGVyNF9Db25uZWN0aXRpdml0eUNoZWNrXzE2MmExNmZl?api-version=2021-08-01"
+ }
+ },
+ "200": {
+ "body": {
+ "hops": [
+ {
+ "type": "Source",
+ "id": "c60e2296-5ebc-48cc-80e8-7e6d2981e7b2",
+ "address": "20.82.216.48",
+ "resourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "nextHopIds": [
+ "26aa44e7-04f1-462f-aa5d-5951957b5650"
+ ],
+ "issues": []
+ },
+ {
+ "type": "Internet",
+ "id": "26aa44e7-04f1-462f-aa5d-5951957b5650",
+ "address": "40.113.200.201",
+ "nextHopIds": [],
+ "issues": []
+ }
+ ],
+ "connectionStatus": "Reachable",
+ "avgLatencyInMs": 260,
+ "minLatencyInMs": 250,
+ "maxLatencyInMs": 281,
+ "probesSent": 3,
+ "probesFailed": 0
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsGetDelegation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsGetDelegation.json
new file mode 100644
index 000000000000..b36e296d4a7a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsGetDelegation.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/delegation",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "delegation",
+ "properties": {
+ "url": "http://contoso.com/delegation",
+ "subscriptions": {
+ "enabled": true
+ },
+ "userRegistration": {
+ "enabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsGetSignIn.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsGetSignIn.json
new file mode 100644
index 000000000000..0df55dd272cd
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsGetSignIn.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signin",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "signin",
+ "properties": {
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsGetSignUp.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsGetSignUp.json
new file mode 100644
index 000000000000..a2bd7c6bfcd0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsGetSignUp.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signup",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "signup",
+ "properties": {
+ "enabled": true,
+ "termsOfService": {
+ "text": "Terms of service text.",
+ "enabled": true,
+ "consentRequired": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsPutDelegation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsPutDelegation.json
new file mode 100644
index 000000000000..6a8f5772a016
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsPutDelegation.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "url": "http://contoso.com/delegation",
+ "validationKey": "",
+ "subscriptions": {
+ "enabled": true
+ },
+ "userRegistration": {
+ "enabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/delegation",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "delegation",
+ "properties": {
+ "url": "http://contoso.com/delegation",
+ "subscriptions": {
+ "enabled": true
+ },
+ "userRegistration": {
+ "enabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsPutSignIn.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsPutSignIn.json
new file mode 100644
index 000000000000..256543b06103
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsPutSignIn.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signin",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "signin",
+ "properties": {
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsPutSignUp.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsPutSignUp.json
new file mode 100644
index 000000000000..9ba00cea9006
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsPutSignUp.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "enabled": true,
+ "termsOfService": {
+ "enabled": true,
+ "text": "Terms of service text.",
+ "consentRequired": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalsettings/signup",
+ "type": "Microsoft.ApiManagement/service/portalsettings",
+ "name": "signup",
+ "properties": {
+ "enabled": true,
+ "termsOfService": {
+ "text": "Terms of service text.",
+ "enabled": true,
+ "consentRequired": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsUpdateDelegation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsUpdateDelegation.json
new file mode 100644
index 000000000000..52aafc4b0142
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsUpdateDelegation.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "url": "http://contoso.com/delegation",
+ "validationKey": "",
+ "subscriptions": {
+ "enabled": true
+ },
+ "userRegistration": {
+ "enabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsUpdateSignIn.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsUpdateSignIn.json
new file mode 100644
index 000000000000..523caff5d736
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsUpdateSignIn.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsUpdateSignUp.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsUpdateSignUp.json
new file mode 100644
index 000000000000..cb7a2bb60390
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementPortalSettingsUpdateSignUp.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512288c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "enabled": true,
+ "termsOfService": {
+ "enabled": true,
+ "text": "Terms of service text.",
+ "consentRequired": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementRefreshCertificate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementRefreshCertificate.json
new file mode 100644
index 000000000000..5c7df6508ab9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementRefreshCertificate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "certificateId": "templateCertkv"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/certificates/templateCertkv",
+ "type": "Microsoft.ApiManagement/service/certificates",
+ "name": "templateCertkv",
+ "properties": {
+ "subject": "CN=*.msitesting.net",
+ "thumbprint": "EA**********************9AD690",
+ "expirationDate": "2037-01-01T07:00:00Z",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault-int.azure-int.net/secrets/msitestingCert",
+ "identityClientId": "ceaa6b06-c00f-43ef-99ac-f53d1fe876a0",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-22T00:24:53.3191468Z"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementRefreshNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementRefreshNamedValue.json
new file mode 100644
index 000000000000..3d1218072d48
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementRefreshNamedValue.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "namedValueId": "testprop2"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6/refreshSecret?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=201"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop6",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "name": "testprop6",
+ "properties": {
+ "displayName": "prop6namekv",
+ "keyVault": {
+ "secretIdentifier": "https://rpbvtkeyvaultintegration.vault.azure.net/secrets/msitestingCert",
+ "identityClientId": "2d2df842-44d8-4885-8dec-77cc1a984a31",
+ "lastStatus": {
+ "code": "Success",
+ "timeStampUtc": "2020-09-11T00:54:31.8024882Z"
+ }
+ },
+ "tags": [
+ "foo",
+ "bar"
+ ],
+ "secret": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementRestoreWithAccessKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementRestoreWithAccessKey.json
new file mode 100644
index 000000000000..7cc22d8389e2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementRestoreWithAccessKey.json
@@ -0,0 +1,127 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "storageAccount": "teststorageaccount",
+ "containerName": "backupContainer",
+ "backupName": "apimService1backup_2017_03_19",
+ "accessType": "AccessKey",
+ "accessKey": "**************************************************"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2",
+ "tag3": "value3"
+ },
+ "location": "West US",
+ "etag": "AAAAAAACXok=",
+ "properties": {
+ "publisherEmail": "apim@autorestsdk.com",
+ "publisherName": "autorestsdk",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-12-18T06:26:20.3348609Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-westus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": true
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ },
+ {
+ "type": "Portal",
+ "hostName": "portal1.msitesting.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2036-01-01T07:00:00+00:00",
+ "thumbprint": "8E989XXXXXXXXXXXXXXXXB9C2C91F1D174FDB3A2",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": false
+ }
+ ],
+ "publicIPAddresses": [
+ "13.91.32.113"
+ ],
+ "additionalLocations": [
+ {
+ "location": "East US",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "publicIPAddresses": [
+ "23.101.138.153"
+ ],
+ "gatewayRegionalUrl": "https://apimService1-eastus-01.regional.azure-api.net",
+ "disableGateway": true
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-01-01"
+ }
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceCheckNameAvailability.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceCheckNameAvailability.json
new file mode 100644
index 000000000000..c05ca4846149
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceCheckNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "name": "apimService1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "Valid",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceDeleteService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceDeleteService.json
new file mode 100644
index 000000000000..0dc07a7ba3b3
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceDeleteService.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/TGV2eTExMDZtMDJfVGVybV9jMmZlY2QwMA==?api-version=2021-08-01"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "West US",
+ "etag": "AAAAAAFfhHY=",
+ "properties": {
+ "publisherEmail": "contoso@live.com",
+ "publisherName": "Microsoft",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "Deleting",
+ "createdAtUtc": "2016-12-20T19:41:21.5823069Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-westus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "40.XX.XXX.168"
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/BlockVNETSamir/subnets/default"
+ },
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "External"
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ }
+ }
+ },
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetDomainOwnershipIdentifier.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetDomainOwnershipIdentifier.json
new file mode 100644
index 000000000000..58f1681e63a2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetDomainOwnershipIdentifier.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "domainOwnershipIdentifier": "KLE1vdMblVeHECAi4nCe3oNaXXXXvNlLrXt2ev84KM="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetMultiRegionInternalVnet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetMultiRegionInternalVnet.json
new file mode 100644
index 000000000000..11e87867797d
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetMultiRegionInternalVnet.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimservice1",
+ "name": "apimservice1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "West US",
+ "etag": "AAAAAADqC0c=",
+ "properties": {
+ "publisherEmail": "abcs@contoso.com",
+ "publisherName": "contoso publisher",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-12-02T01:42:09.1268424Z",
+ "gatewayUrl": "https://apimservice1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimservice1-westus-01.regional.azure-api.net",
+ "portalUrl": "https://apimservice1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimservice1.management.azure-api.net",
+ "scmUrl": "https://apimservice1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false,
+ "certificateSource": "BuiltIn"
+ },
+ {
+ "type": "Proxy",
+ "hostName": "apimgatewaytest.preview.net",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2019-08-16T16:51:34+00:00",
+ "thumbprint": "B4330123DBAXXXXXXXXX1F35E84493476",
+ "subject": "CN=*.preview.net"
+ },
+ "defaultSslBinding": true,
+ "certificateSource": "Custom"
+ }
+ ],
+ "publicIPAddresses": [
+ "137.XXX.11.74"
+ ],
+ "privateIPAddresses": [
+ "172.XX.0.5"
+ ],
+ "additionalLocations": [
+ {
+ "location": "West US 2",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "publicIPAddresses": [
+ "40.XXX.79.187"
+ ],
+ "privateIPAddresses": [
+ "10.0.X.6"
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/APIMVNet/subnets/apim-internal-sub"
+ },
+ "gatewayRegionalUrl": "https://apimservice1-westus2-01.regional.azure-api.net",
+ "disableGateway": false
+ }
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/apim-appGateway-vnet/subnets/apim-subnet"
+ },
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False"
+ },
+ "virtualNetworkType": "Internal",
+ "disableGateway": false,
+ "apiVersionConstraint": {}
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetNetworkStatus.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetNetworkStatus.json
new file mode 100644
index 000000000000..fb73a959dc2f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetNetworkStatus.json
@@ -0,0 +1,150 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "location": "West US",
+ "networkStatus": {
+ "dnsServers": [
+ "10.82.98.10"
+ ],
+ "connectivityStatus": [
+ {
+ "name": "apimgmtst6xxxxxxxxxxx.blob.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:14.7035899Z",
+ "lastStatusChange": "2020-11-20T07:54:55.9365931Z",
+ "resourceType": "BlobStorage",
+ "isOptional": false
+ },
+ {
+ "name": "apimgmtst6xxxxxxxxxxx.file.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:41.5322463Z",
+ "lastStatusChange": "2020-11-20T07:54:55.9265938Z",
+ "resourceType": "FileStorage",
+ "isOptional": true
+ },
+ {
+ "name": "apimgmtst6xxxxxxxxxxx.queue.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:30.645994Z",
+ "lastStatusChange": "2020-11-20T07:54:55.8410477Z",
+ "resourceType": "Queue",
+ "isOptional": true
+ },
+ {
+ "name": "apimgmtst6xxxxxxxxxxx.table.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:23.8789171Z",
+ "lastStatusChange": "2020-11-20T07:54:55.9365931Z",
+ "resourceType": "TableStorage",
+ "isOptional": false
+ },
+ {
+ "name": "gcs.prod.monitoring.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:57:34.8666833Z",
+ "lastStatusChange": "2020-11-20T08:07:37.5486932Z",
+ "resourceType": "Monitoring",
+ "isOptional": true
+ },
+ {
+ "name": "https://gcs.ppe.warm.ingestion.monitoring.azure.com",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:56:26.1870188Z",
+ "lastStatusChange": "2020-11-20T07:54:56.1060523Z",
+ "resourceType": "Monitoring",
+ "isOptional": true
+ },
+ {
+ "name": "https://global.metrics.nsatc.net/",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:56:35.9620612Z",
+ "lastStatusChange": "2020-11-20T07:54:56.0510519Z",
+ "resourceType": "Monitoring",
+ "isOptional": true
+ },
+ {
+ "name": "https://login.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:56:30.8047708Z",
+ "lastStatusChange": "2020-11-20T07:54:56.1060523Z",
+ "resourceType": "AzureActiveDirectory",
+ "isOptional": true
+ },
+ {
+ "name": "https://prod2.metrics.nsatc.net:1886/RecoveryService",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:56:45.2095302Z",
+ "lastStatusChange": "2020-11-20T07:54:56.2796235Z",
+ "resourceType": "Metrics",
+ "isOptional": true
+ },
+ {
+ "name": "LocalGatewayRedis",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:15.1345836Z",
+ "lastStatusChange": "2020-11-20T07:54:55.9365931Z",
+ "resourceType": "InternalCache",
+ "isOptional": true
+ },
+ {
+ "name": "prod.warmpath.msftcloudes.com",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:57.8992141Z",
+ "lastStatusChange": "2020-11-20T07:54:55.8410477Z",
+ "resourceType": "Monitoring",
+ "isOptional": false
+ },
+ {
+ "name": "Scm",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T23:01:24.0553684Z",
+ "lastStatusChange": "2019-07-20T02:25:48.7066996Z",
+ "resourceType": "SourceControl",
+ "isOptional": true
+ },
+ {
+ "name": "smtpi-ch1.msn.com:25028",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:58:22.2430074Z",
+ "lastStatusChange": "2020-11-20T07:54:56.3510577Z",
+ "resourceType": "Email",
+ "isOptional": true
+ },
+ {
+ "name": "zwcvuxxxx.database.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:44.3582171Z",
+ "lastStatusChange": "2020-11-20T07:54:56.0410467Z",
+ "resourceType": "SQLDatabase",
+ "isOptional": false
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetNetworkStatusByLocation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetNetworkStatusByLocation.json
new file mode 100644
index 000000000000..1d60309d9aee
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetNetworkStatusByLocation.json
@@ -0,0 +1,146 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "locationName": "North Central US"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "dnsServers": [
+ "10.82.98.10"
+ ],
+ "connectivityStatus": [
+ {
+ "name": "apimgmtst6tnxxxxxxxxxxx.blob.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:14.7035899Z",
+ "lastStatusChange": "2020-11-20T07:54:55.9365931Z",
+ "resourceType": "BlobStorage",
+ "isOptional": false
+ },
+ {
+ "name": "apimgmtst6tnxxxxxxxxxxx.file.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:41.5322463Z",
+ "lastStatusChange": "2020-11-20T07:54:55.9265938Z",
+ "resourceType": "FileStorage",
+ "isOptional": true
+ },
+ {
+ "name": "apimgmtst6tnxxxxxxxxxxx.queue.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:30.645994Z",
+ "lastStatusChange": "2020-11-20T07:54:55.8410477Z",
+ "resourceType": "Queue",
+ "isOptional": true
+ },
+ {
+ "name": "apimgmtst6tnxxxxxxxxxxx.table.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:23.8789171Z",
+ "lastStatusChange": "2020-11-20T07:54:55.9365931Z",
+ "resourceType": "TableStorage",
+ "isOptional": false
+ },
+ {
+ "name": "gcs.prod.monitoring.core.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:57:34.8666833Z",
+ "lastStatusChange": "2020-11-20T08:07:37.5486932Z",
+ "resourceType": "Monitoring",
+ "isOptional": true
+ },
+ {
+ "name": "https://gcs.ppe.warm.ingestion.monitoring.azure.com",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:56:26.1870188Z",
+ "lastStatusChange": "2020-11-20T07:54:56.1060523Z",
+ "resourceType": "Monitoring",
+ "isOptional": true
+ },
+ {
+ "name": "https://global.metrics.nsatc.net/",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:56:35.9620612Z",
+ "lastStatusChange": "2020-11-20T07:54:56.0510519Z",
+ "resourceType": "Monitoring",
+ "isOptional": true
+ },
+ {
+ "name": "https://login.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:56:30.8047708Z",
+ "lastStatusChange": "2020-11-20T07:54:56.1060523Z",
+ "resourceType": "AzureActiveDirectory",
+ "isOptional": true
+ },
+ {
+ "name": "https://prod2.metrics.nsatc.net:1886/RecoveryService",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:56:45.2095302Z",
+ "lastStatusChange": "2020-11-20T07:54:56.2796235Z",
+ "resourceType": "Metrics",
+ "isOptional": true
+ },
+ {
+ "name": "LocalGatewayRedis",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:15.1345836Z",
+ "lastStatusChange": "2020-11-20T07:54:55.9365931Z",
+ "resourceType": "InternalCache",
+ "isOptional": true
+ },
+ {
+ "name": "prod.warmpath.msftcloudes.com",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:57.8992141Z",
+ "lastStatusChange": "2020-11-20T07:54:55.8410477Z",
+ "resourceType": "Monitoring",
+ "isOptional": false
+ },
+ {
+ "name": "Scm",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T23:03:57.6187917Z",
+ "lastStatusChange": "2020-11-20T07:54:57.325384Z",
+ "resourceType": "SourceControl",
+ "isOptional": true
+ },
+ {
+ "name": "smtpi-xxx.msn.com:25028",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:58:22.2430074Z",
+ "lastStatusChange": "2020-11-20T07:54:56.3510577Z",
+ "resourceType": "Email",
+ "isOptional": true
+ },
+ {
+ "name": "zwcvuxxxx.database.windows.net",
+ "status": "success",
+ "error": "",
+ "lastUpdated": "2020-11-24T22:55:44.3582171Z",
+ "lastStatusChange": "2020-11-20T07:54:56.0410467Z",
+ "resourceType": "SQLDatabase",
+ "isOptional": false
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetOutboundNetworkDependenciesEndpoints.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetOutboundNetworkDependenciesEndpoints.json
new file mode 100644
index 000000000000..8ecf9d7c0863
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetOutboundNetworkDependenciesEndpoints.json
@@ -0,0 +1,463 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "category": "Azure SMTP",
+ "endpoints": [
+ {
+ "domainName": "smtpi-ch1.msn.com",
+ "endpointDetails": [
+ {
+ "port": 25028,
+ "region": "West US"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "Azure SQL",
+ "endpoints": [
+ {
+ "domainName": "xxxx1345234.database.windows.net",
+ "endpointDetails": [
+ {
+ "port": 1433,
+ "region": "West US"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "Azure Storage",
+ "endpoints": [
+ {
+ "domainName": "xxxx32storagedgfbay.blob.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx1362629927xt.blob.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx1362629927xt.table.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx141483183xt.blob.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx141483183xt.table.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx1949864718xt.blob.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx1949864718xt.table.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx3292114122xt.blob.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx3292114122xt.table.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx32tst4oto8t0mlesawmm.blob.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx32tst4oto8t0mlesawmm.file.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 445,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx32tst4oto8t0mlesawmm.queue.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx32tst4oto8t0mlesawmm.table.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "Azure Event Hub",
+ "endpoints": [
+ {
+ "domainName": "xxxx1362629927eh.servicebus.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ },
+ {
+ "port": 5671,
+ "region": "West US"
+ },
+ {
+ "port": 5672,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx1949864718eh.servicebus.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ },
+ {
+ "port": 5671,
+ "region": "West US"
+ },
+ {
+ "port": 5672,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx3292114122eh.servicebus.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ },
+ {
+ "port": 5671,
+ "region": "West US"
+ },
+ {
+ "port": 5672,
+ "region": "West US"
+ }
+ ]
+ },
+ {
+ "domainName": "xxxx141483183eh.servicebus.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "West US"
+ },
+ {
+ "port": 5671,
+ "region": "West US"
+ },
+ {
+ "port": 5672,
+ "region": "West US"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "SSL Certificate Verification",
+ "endpoints": [
+ {
+ "domainName": "ocsp.msocsp.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "region": "Global"
+ },
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "mscrl.microsoft.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "region": "Global"
+ },
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "crl.microsoft.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "region": "Global"
+ },
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "crl3.digicert.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "region": "Global"
+ },
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "ocsp.digicert.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "region": "Global"
+ },
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "cacerts.digicert.com",
+ "endpointDetails": [
+ {
+ "port": 80,
+ "region": "Global"
+ },
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "Azure Monitor",
+ "endpoints": [
+ {
+ "domainName": "gcs.ppe.monitoring.core.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "global.prod.microsoftmetrics.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "xxx3.prod.microsoftmetrics.com",
+ "endpointDetails": [
+ {
+ "port": 1886,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "xxx3-red.prod.microsoftmetrics.com",
+ "endpointDetails": [
+ {
+ "port": 1886,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "xxx3-black.prod.microsoftmetrics.com",
+ "endpointDetails": [
+ {
+ "port": 1886,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "gcs.ppe.warm.ingestion.monitoring.azure.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "metrichost23.prod.microsoftmetrics.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "metrichost23-red.prod.microsoftmetrics.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "metrichost23-black.prod.microsoftmetrics.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "Portal Captcha",
+ "endpoints": [
+ {
+ "domainName": "client.xxx.live.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "partner.xxx.live.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "category": "Azure Active Directory",
+ "endpoints": [
+ {
+ "domainName": "login.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "graph.windows.net",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ },
+ {
+ "domainName": "login.microsoftonline.com",
+ "endpointDetails": [
+ {
+ "port": 443,
+ "region": "Global"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetService.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetService.json
new file mode 100644
index 000000000000..d9409be2a41b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetService.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/OGF-Z3-06162021-Premium",
+ "name": "OGF-Z3-06162021-Premium",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "owner": "v-aswmoh",
+ "ReleaseName": "Z3"
+ },
+ "location": "East US",
+ "etag": "AAAAAAAWN/4=",
+ "properties": {
+ "publisherEmail": "string",
+ "publisherName": "Test Premium",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2021-06-16T09:40:00.9453556Z",
+ "gatewayUrl": "https://ogf-z3-06162021-premium.azure-api.net",
+ "gatewayRegionalUrl": "https://ogf-z3-06162021-premium-eastus-01.regional.azure-api.net",
+ "portalUrl": "https://ogf-z3-06162021-premium.portal.azure-api.net",
+ "developerPortalUrl": "https://ogf-z3-06162021-premium.developer.azure-api.net",
+ "managementApiUrl": "https://ogf-z3-06162021-premium.management.azure-api.net",
+ "scmUrl": "https://ogf-z3-06162021-premium.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "ogf-z3-06162021-premium.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false,
+ "certificateSource": "BuiltIn"
+ },
+ {
+ "type": "Proxy",
+ "hostName": "gateway.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault.azure.net/secrets/current-ssl",
+ "negotiateClientCertificate": true,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286XXXXXXXX58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": true,
+ "certificateSource": "Custom"
+ },
+ {
+ "type": "DeveloperPortal",
+ "hostName": "developer.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault.azure.net/secrets/current-ssl",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286XXXXXXXX58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": false,
+ "certificateSource": "Custom"
+ },
+ {
+ "type": "Management",
+ "hostName": "mgmt.current.int-azure-api.net",
+ "keyVaultId": "https://ogf-testing.vault.azure.net/secrets/current-ssl",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2022-01-08T22:32:32+00:00",
+ "thumbprint": "BA0C286XXXXXXXX58A4A507E3DBD51",
+ "subject": "CN=*.current.int-azure-api.net, O=Microsoft Corporation, L=Redmond, S=WA, C=US"
+ },
+ "defaultSslBinding": false,
+ "certificateSource": "Custom"
+ }
+ ],
+ "publicIPAddresses": [
+ "13.92.130.49"
+ ],
+ "additionalLocations": [
+ {
+ "location": "East US 2",
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "zones": [],
+ "publicIPAddresses": [
+ "40.70.24.106"
+ ],
+ "gatewayRegionalUrl": "https://ogf-z3-06162021-premium-eastus2-01.regional.azure-api.net",
+ "disableGateway": false,
+ "platformVersion": "stv2"
+ }
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "false",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "false"
+ },
+ "virtualNetworkType": "None",
+ "certificates": [],
+ "disableGateway": false,
+ "apiVersionConstraint": {
+ "minApiVersion": "2019-12-01"
+ },
+ "publicNetworkAccess": "Enabled",
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/privateEndpointConnections/privateEndpointProxyName",
+ "type": "Microsoft.ApiManagement/service/privateEndpointConnections",
+ "name": "privateEndpointProxyName",
+ "properties": {
+ "provisioningState": "Pending",
+ "privateEndpoint": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/privateEndpoints/privateEndpointName"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request, thanks",
+ "actionsRequired": "None"
+ },
+ "groupIds": [
+ "Gateway"
+ ]
+ }
+ }
+ ],
+ "platformVersion": "stv2"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "306205e7-b21a-41bf-92e2-3e28af30041e",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ogf-identity": {
+ "principalId": "713784d2-ee37-412a-95f0-3768f397f82d",
+ "clientId": "8d9791f2-0cdf-41f4-9e66-cdc39b496789"
+ }
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "User",
+ "createdAt": "2021-06-16T09:40:00.7106733Z",
+ "lastModifiedBy": "foo@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-06-20T06:33:09.6159006Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetServiceHavingMsi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetServiceHavingMsi.json
new file mode 100644
index 000000000000..8c91425c65ad
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetServiceHavingMsi.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "West Europe",
+ "etag": "AAAAAAAENfI=",
+ "properties": {
+ "publisherEmail": "foo@contoso.com",
+ "publisherName": "Contoso",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2016-04-12T00:20:15.6018952Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-westeurope-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false,
+ "certificateSource": "BuiltIn"
+ },
+ {
+ "type": "Proxy",
+ "hostName": "proxy.msitesting.net",
+ "keyVaultId": "https://samir-msi-keyvault.vault.azure.net/secrets/msicertificate",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2020-12-18T11:11:47+00:00",
+ "thumbprint": "9833D531D7A45XXXXXA85908BD3692E0BD3F",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": true,
+ "certificateSource": "KeyVault"
+ }
+ ],
+ "publicIPAddresses": [
+ "13.94.xxx.188"
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/dfVirtualNetwork/subnets/backendSubnet"
+ },
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "External",
+ "disableGateway": false
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 1
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "ca1d33f7-xxxx-42ec-xxxx-d526a1ee953a",
+ "tenantId": "72f988bf-xxxx-41af-xxxx-2d7cd011db47",
+ "userAssignedIdentities": {
+ "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/apimService1": {
+ "principalId": "95194df2-9208-xxxx-xxxx-a10d2af9b5a3",
+ "clientId": "aaff9c7d-xxxx-4db2-xxxx-ab0e3e7806cf"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetSsoToken.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetSsoToken.json
new file mode 100644
index 000000000000..434a2ff8f8de
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementServiceGetSsoToken.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "redirectUri": "https://apimService1.portal.azure-api.net:443/signin-sso?token=1%26201705301929%26eIkr3%2fnfaLs1GVJ0OVbzkJjAcwPFkEZAPM8VUXvXPf7cJ6lWsB9oUwsk2zln9x0KLkn21txCPJWWheSPq7SNeA%3d%3d"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementSubscriptionListSecrets.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementSubscriptionListSecrets.json
new file mode 100644
index 000000000000..9e293ced6cc9
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementSubscriptionListSecrets.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "sid": "5931a769d8d14f0ad8ce13b8"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "secondaryKey": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementSubscriptionRegeneratePrimaryKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementSubscriptionRegeneratePrimaryKey.json
new file mode 100644
index 000000000000..d48e2966eaf5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementSubscriptionRegeneratePrimaryKey.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "sid": "testsub"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementSubscriptionRegenerateSecondaryKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementSubscriptionRegenerateSecondaryKey.json
new file mode 100644
index 000000000000..d48e2966eaf5
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementSubscriptionRegenerateSecondaryKey.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "sid": "testsub"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantAccessRegenerateKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantAccessRegenerateKey.json
new file mode 100644
index 000000000000..40485f9c7345
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantAccessRegenerateKey.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "accessName": "access"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantAccessSyncState.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantAccessSyncState.json
new file mode 100644
index 000000000000..a545462574de
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantAccessSyncState.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "configurationName": "configuration"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "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/2021-08-01/examples/ApiManagementTenantConfigurationDeploy.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantConfigurationDeploy.json
new file mode 100644
index 000000000000..327c11140360
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantConfigurationDeploy.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "configurationName": "configuration",
+ "parameters": {
+ "properties": {
+ "branch": "master"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5a1af4ae2a6d2e0b688d7517?api-version=2021-08-01"
+ }
+ },
+ "200": {
+ "body": {
+ "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/2021-08-01/examples/ApiManagementTenantConfigurationSave.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantConfigurationSave.json
new file mode 100644
index 000000000000..381a4cddc93c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantConfigurationSave.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "configurationName": "configuration",
+ "parameters": {
+ "properties": {
+ "branch": "master"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5a1af57d2a6d2e0b688d751b?api-version=2021-08-01"
+ }
+ },
+ "200": {
+ "body": {
+ "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/2021-08-01/examples/ApiManagementTenantConfigurationValidate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantConfigurationValidate.json
new file mode 100644
index 000000000000..1116c4757605
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementTenantConfigurationValidate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "configurationName": "configuration",
+ "parameters": {
+ "properties": {
+ "branch": "master"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/operationResults/5a1af64e2a6d2e0b688d751e?api-version=2021-08-01"
+ }
+ },
+ "200": {
+ "body": {
+ "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/2021-08-01/examples/ApiManagementUndelete.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUndelete.json
new file mode 100644
index 000000000000..473d248d71c2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUndelete.json
@@ -0,0 +1,113 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "publisherEmail": "foo@contoso.com",
+ "publisherName": "foo",
+ "restore": true
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ },
+ "location": "South Central US"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/dGVjaGVkX01hbmFnZVJvbGVfNWRiNGI3Ng==?api-version=2021-08-01"
+ },
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "location": "South Central US",
+ "etag": "AAAAAAAp3P0=",
+ "properties": {
+ "publisherEmail": "foo@contoso.com",
+ "publisherName": "foo",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Created",
+ "targetProvisioningState": "Activating",
+ "createdAtUtc": "2019-12-18T06:10:56.0327105Z",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {}
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "location": "South Central US",
+ "etag": "AAAAAAAp3T4=",
+ "properties": {
+ "publisherEmail": "foo@contoso.com",
+ "publisherName": "foo",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2019-12-18T06:10:56.0327105Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-southcentralus-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": true
+ }
+ ],
+ "publicIPAddresses": [
+ "23.102.171.124"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "virtualNetworkType": "None",
+ "disableGateway": false,
+ "apiVersionConstraint": {}
+ },
+ "sku": {
+ "name": "Developer",
+ "capacity": 1
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/c2RrdGVzdGFwaW0xNTkxX0FjdF9jZTkyMmNmOQ==?api-version=2021-08-01"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApi.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApi.json
new file mode 100644
index 000000000000..6149673cb4af
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApi.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "echo-api",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "Echo API New",
+ "serviceUrl": "http://echoapi.cloudapp.net/api2",
+ "path": "newecho"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api",
+ "type": "Microsoft.ApiManagement/service/apis",
+ "name": "echo-api",
+ "properties": {
+ "displayName": "Echo API New",
+ "apiRevision": "1",
+ "serviceUrl": "http://echoapi.cloudapp.net/api2",
+ "path": "newecho",
+ "protocols": [
+ "https"
+ ],
+ "subscriptionKeyParameterNames": {
+ "header": "Ocp-Apim-Subscription-Key",
+ "query": "subscription-key"
+ },
+ "isCurrent": true,
+ "isOnline": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiDiagnostic.json
new file mode 100644
index 000000000000..e028b4b2ebe0
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiDiagnostic.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights",
+ "apiId": "echo-api",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/echo-api/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/apis/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 100
+ },
+ "frontend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ },
+ "response": {
+ "headers": [],
+ "body": {
+ "bytes": 100
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiIssue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiIssue.json
new file mode 100644
index 000000000000..c95ff910a43e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiIssue.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "issueId": "57d2ef278aa04f0ad01d6cdc",
+ "apiId": "57d1f7558aa04f15146d9d8a",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "state": "closed"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a/issues/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/issues",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "title": "New API issue",
+ "description": "New API issue description",
+ "createdDate": "2018-02-01T22:21:20.467Z",
+ "state": "open",
+ "userId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/1",
+ "apiId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d1f7558aa04f15146d9d8a"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiOperation.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiOperation.json
new file mode 100644
index 000000000000..da6f745108cc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiOperation.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "echo-api",
+ "operationId": "operationId",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "Retrieve resource",
+ "method": "GET",
+ "urlTemplate": "/resource",
+ "templateParameters": [],
+ "request": {
+ "queryParameters": [
+ {
+ "name": "param1",
+ "description": "A sample parameter that is required and has a default value of \"sample\".",
+ "type": "string",
+ "defaultValue": "sample",
+ "required": true,
+ "values": [
+ "sample"
+ ]
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "Returned in all cases.",
+ "representations": [],
+ "headers": []
+ },
+ {
+ "statusCode": 500,
+ "description": "Server Error.",
+ "representations": [],
+ "headers": []
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/57d2ef278aa04f0888cba3f3/operations/57d2ef278aa04f0ad01d6cdc",
+ "type": "Microsoft.ApiManagement/service/apis/operations",
+ "name": "57d2ef278aa04f0ad01d6cdc",
+ "properties": {
+ "displayName": "CancelOrder",
+ "method": "POST",
+ "urlTemplate": "/?soapAction=http://tempuri.org/IFazioService/CancelOrder",
+ "templateParameters": [],
+ "request": {
+ "description": "IFazioService_CancelOrder_InputMessage",
+ "queryParameters": [],
+ "headers": [],
+ "representations": [
+ {
+ "contentType": "text/xml",
+ "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8",
+ "typeName": "CancelOrder"
+ }
+ ]
+ },
+ "responses": [
+ {
+ "statusCode": 200,
+ "description": "IFazioService_CancelOrder_OutputMessage",
+ "representations": [
+ {
+ "contentType": "text/xml",
+ "schemaId": "6980a395-f08b-4a59-8295-1440cbd909b8",
+ "typeName": "CancelOrderResponse"
+ }
+ ],
+ "headers": []
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiRelease.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiRelease.json
new file mode 100644
index 000000000000..20d59feff280
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiRelease.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "apiId": "a1",
+ "releaseId": "testrev",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "notes": "yahooagain"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1/releases/testrev",
+ "type": "Microsoft.ApiManagement/service/apis/releases",
+ "name": "testrev",
+ "properties": {
+ "apiId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apis/a1",
+ "createdDateTime": "2018-02-08T20:38:29.173Z",
+ "updatedDateTime": "2018-02-08T20:38:29.173Z",
+ "notes": "yahoo"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiVersionSet.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiVersionSet.json
new file mode 100644
index 000000000000..5e516540fecc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateApiVersionSet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "versionSetId": "vs1",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/apiVersionSets/vs1",
+ "type": "Microsoft.ApiManagement/service/api-version-sets",
+ "name": "vs1",
+ "properties": {
+ "displayName": "api set 1",
+ "versioningScheme": "Segment",
+ "description": "Version configuration"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateAuthorizationServer.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateAuthorizationServer.json
new file mode 100644
index 000000000000..a1cba8b73d6e
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateAuthorizationServer.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "authsid": "newauthServer",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "clientId": "update",
+ "clientSecret": "updated"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer",
+ "type": "Microsoft.ApiManagement/service/authorizationServers",
+ "name": "newauthServer",
+ "properties": {
+ "displayName": "test3",
+ "description": "test server",
+ "clientRegistrationEndpoint": "https://www.contoso.com/apps",
+ "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
+ "authorizationMethods": [
+ "GET"
+ ],
+ "clientAuthenticationMethod": [
+ "Basic"
+ ],
+ "tokenEndpoint": "https://www.contoso.com/oauth2/token",
+ "supportState": true,
+ "defaultScope": "read write",
+ "grantTypes": [
+ "authorizationCode",
+ "implicit"
+ ],
+ "bearerTokenSendingMethods": [
+ "authorizationHeader"
+ ],
+ "clientId": "updated",
+ "resourceOwnerUsername": "un",
+ "resourceOwnerPassword": "pwd"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateBackend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateBackend.json
new file mode 100644
index 000000000000..e07db99ef6e6
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateBackend.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "backendId": "proxybackend",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "description": "description5308",
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/backends/proxybackend",
+ "type": "Microsoft.ApiManagement/service/backends",
+ "name": "proxybackend",
+ "properties": {
+ "description": "description5308",
+ "url": "https://backendname2644/",
+ "protocol": "http",
+ "credentials": {
+ "query": {
+ "sv": [
+ "xx",
+ "bb",
+ "cc"
+ ]
+ },
+ "header": {
+ "x-my-1": [
+ "val1",
+ "val2"
+ ]
+ },
+ "authorization": {
+ "scheme": "Basic",
+ "parameter": "opensesma"
+ }
+ },
+ "proxy": {
+ "url": "http://192.168.1.1:8080",
+ "username": "Contoso\\admin",
+ "password": ""
+ },
+ "tls": {
+ "validateCertificateChain": false,
+ "validateCertificateName": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateCache.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateCache.json
new file mode 100644
index 000000000000..846fc963cb9b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateCache.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "cacheId": "c1",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "useFromLocation": "westindia"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/caches/c1",
+ "type": "Microsoft.ApiManagement/service/caches",
+ "name": "c1",
+ "properties": {
+ "useFromLocation": "westindia",
+ "description": "Redis cache instances in West India",
+ "connectionString": "{{5f7fbca77a891a2200f3db38}}",
+ "resourceId": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cache/redis/apimservice1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateDiagnostic.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateDiagnostic.json
new file mode 100644
index 000000000000..99487e9ba2cc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateDiagnostic.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "diagnosticId": "applicationinsights",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "alwaysLog": "allErrors",
+ "loggerId": "/loggers/applicationinsights",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights",
+ "type": "Microsoft.ApiManagement/service/diagnostics",
+ "name": "applicationinsights",
+ "properties": {
+ "alwaysLog": "allErrors",
+ "httpCorrelationProtocol": "Legacy",
+ "logClientIp": true,
+ "loggerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/aisamplingtest",
+ "sampling": {
+ "samplingType": "fixed",
+ "percentage": 50
+ },
+ "frontend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ },
+ "backend": {
+ "request": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ },
+ "response": {
+ "headers": [
+ "Content-type"
+ ],
+ "body": {
+ "bytes": 512
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateGateway.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateGateway.json
new file mode 100644
index 000000000000..efcc6bc83a25
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateGateway.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "gatewayId": "gw1",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "description": "my gateway 1",
+ "locationData": {
+ "name": "my location"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/gateways/gw1",
+ "type": "Microsoft.ApiManagement/service/gateways",
+ "name": "a1",
+ "properties": {
+ "description": "my gateway 1",
+ "locationData": {
+ "name": "my location"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateGroup.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateGroup.json
new file mode 100644
index 000000000000..097e6372c757
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateGroup.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "groupId": "tempgroup",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "temp group"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/groups/tempgroup",
+ "type": "Microsoft.ApiManagement/service/groups",
+ "name": "tempgroup",
+ "properties": {
+ "displayName": "tempgroup",
+ "description": "awesome group of people",
+ "builtIn": false,
+ "type": "external",
+ "externalId": "aad://samiraad.onmicrosoft.com/groups/3773adf4-032e-4d25-9988-eaff9ca72eca"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateIdentityProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateIdentityProvider.json
new file mode 100644
index 000000000000..c56010869f0a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateIdentityProvider.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "identityProviderName": "facebook",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "clientId": "updatedfacebookid",
+ "clientSecret": "updatedfacebooksecret"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/identityProviders/AadB2C",
+ "type": "Microsoft.ApiManagement/service/identityProviders",
+ "name": "AadB2C",
+ "properties": {
+ "clientId": "f02dafe2-b8b8-48ec-a38e-27e5c16c51e5",
+ "type": "aadB2C",
+ "authority": "login.microsoftonline.com",
+ "signinTenant": "contosoaadb2c.onmicrosoft.com",
+ "allowedTenants": [
+ "contosoaadb2c.onmicrosoft.com",
+ "contoso2aadb2c.onmicrosoft.com"
+ ],
+ "signupPolicyName": "B2C_1_policy-signup",
+ "signinPolicyName": "B2C_1_policy-signin"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateLogger.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateLogger.json
new file mode 100644
index 000000000000..3e01ac9cb232
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateLogger.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "loggerId": "eh1",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "updating description"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/loggers/eh1",
+ "type": "Microsoft.ApiManagement/service/loggers",
+ "name": "eh1",
+ "properties": {
+ "loggerType": "azureEventHub",
+ "description": "updating description",
+ "credentials": {
+ "connectionString": "{{Logger-Credentials-5f28745bbebeeb13cc3f7301}}"
+ },
+ "isBuffered": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateNamedValue.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateNamedValue.json
new file mode 100644
index 000000000000..59f88dae957a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateNamedValue.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "namedValueId": "testprop2",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "prop3name",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar2"
+ ],
+ "secret": false
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2?api-version=2021-08-01&asyncId=5c730e343244df1b9cb56e85&asyncCode=204"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2",
+ "type": "Microsoft.ApiManagement/service/namedValues",
+ "properties": {
+ "displayName": "prop3name",
+ "value": "propValue",
+ "tags": [
+ "foo",
+ "bar2"
+ ],
+ "secret": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateOpenIdConnectProvider.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateOpenIdConnectProvider.json
new file mode 100644
index 000000000000..a52e83ed6ddc
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateOpenIdConnectProvider.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "opid": "templateOpenIdConnect2",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "clientSecret": "updatedsecret"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/openidConnectProviders/templateOpenIdConnect2",
+ "type": "Microsoft.ApiManagement/service/openidconnectproviders",
+ "name": "templateOpenIdConnect2",
+ "properties": {
+ "displayName": "templateoidprovider2",
+ "description": "open id provider template2",
+ "metadataEndpoint": "https://oidprovider-template2.net",
+ "clientId": "oidprovidertemplate2"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdatePortalRevision.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdatePortalRevision.json
new file mode 100644
index 000000000000..6d34cbf12a12
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdatePortalRevision.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "portalRevisionId": "20201112101010",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "description": "portal revision update",
+ "isCurrent": true
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/portalRevisions/20201112101010?api-version=2021-08-01&asyncId=5faf16b81d9a028970d0bfbb&asyncCode=200"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/namedValues/testprop2",
+ "type": "Microsoft.ApiManagement/service/portalRevisions",
+ "name": "20201112101010",
+ "properties": {
+ "description": "portal revision update",
+ "statusDetails": null,
+ "status": "completed",
+ "isCurrent": true,
+ "createdDateTime": "2020-11-13T22:47:13.397Z",
+ "updatedDateTime": "2020-11-13T23:29:25.34Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateProduct.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateProduct.json
new file mode 100644
index 000000000000..142e7daad5f7
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateProduct.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "productId": "testproduct",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "Test Template ProductName 4"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/testproduct",
+ "type": "Microsoft.ApiManagement/service/products",
+ "name": "testproduct",
+ "properties": {
+ "displayName": "Test Template ProductName 4",
+ "description": "Subscribers have completely unlimited access to the API. Administrator approval is required.",
+ "subscriptionRequired": true,
+ "approvalRequired": true,
+ "subscriptionsLimit": 1,
+ "state": "published"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateQuotaCounterKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateQuotaCounterKey.json
new file mode 100644
index 000000000000..567a25ad2c3f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateQuotaCounterKey.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "quotaCounterKey": "ba",
+ "parameters": {
+ "properties": {
+ "callsCount": 0,
+ "kbTransferred": 2.5630078125
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "counterKey": "ba",
+ "periodKey": "0_P3Y6M4DT12H30M5S",
+ "periodStartTime": "2014-08-04T04:24:35Z",
+ "periodEndTime": "2018-02-08T16:54:40Z",
+ "value": {
+ "callsCount": 5,
+ "kbTransferred": 2.5830078125
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json
new file mode 100644
index 000000000000..d64f25431c4a
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "quotaCounterKey": "ba",
+ "quotaPeriodKey": "0_P3Y6M4DT12H30M5S",
+ "parameters": {
+ "properties": {
+ "callsCount": 0,
+ "kbTransferred": 0
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "counterKey": "ba",
+ "periodKey": "0_P3Y6M4DT12H30M5S",
+ "periodStartTime": "2014-08-04T04:24:35Z",
+ "periodEndTime": "2018-02-08T16:54:40Z",
+ "value": {
+ "callsCount": 0,
+ "kbTransferred": 2.5625
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateServiceDisableTls10.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateServiceDisableTls10.json
new file mode 100644
index 000000000000..63cddf37078b
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateServiceDisableTls10.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "false"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "TestExpiration": "Thu, 29 Jun 2017 18:50:40 GMT"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAYRPs=",
+ "properties": {
+ "publisherEmail": "admin@live.com",
+ "publisherName": "Contoso",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2017-06-29T17:50:42.3191122Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "40.86.176.232"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False"
+ },
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Owner": "sasolank",
+ "UID": "4f5025fe-0669-4e2e-8320-5199466e5eb3",
+ "Reserved": "",
+ "TestExpiration": "Thu, 29 Jun 2017 18:50:40 GMT",
+ "Pool": "Manual",
+ "TestSuiteExpiration": "Thu, 29 Jun 2017 18:51:46 GMT"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAYRPs=",
+ "properties": {
+ "publisherEmail": "admin@live.com",
+ "publisherName": "Contoso",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2017-06-29T17:50:42.3191122Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "40.86.176.232"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False"
+ },
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateServicePublisherDetails.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateServicePublisherDetails.json
new file mode 100644
index 000000000000..9ff1ef257992
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateServicePublisherDetails.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "publisherEmail": "foobar@live.com",
+ "publisherName": "Contoso Vnext"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "TestExpiration": "Thu, 29 Jun 2017 18:50:40 GMT"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAYRPs=",
+ "properties": {
+ "publisherEmail": "admin@live.com",
+ "publisherName": "Contoso",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2017-06-29T17:50:42.3191122Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "40.86.176.232"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False"
+ },
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {
+ "Owner": "sasolank",
+ "UID": "4f5025fe-0669-4e2e-8320-5199466e5eb3",
+ "Reserved": "",
+ "TestExpiration": "Thu, 29 Jun 2017 18:50:40 GMT",
+ "Pool": "Manual",
+ "TestSuiteExpiration": "Thu, 29 Jun 2017 18:51:46 GMT"
+ },
+ "location": "West US",
+ "etag": "AAAAAAAYRPs=",
+ "properties": {
+ "publisherEmail": "foobar@live.com",
+ "publisherName": "Contoso Vnext",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2017-06-29T17:50:42.3191122Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [],
+ "publicIPAddresses": [
+ "40.86.176.232"
+ ],
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "False"
+ },
+ "virtualNetworkType": "None"
+ },
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateServiceToNewVnetAndAZs.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateServiceToNewVnetAndAZs.json
new file mode 100644
index 000000000000..aa4656f77d73
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateServiceToNewVnetAndAZs.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/apimService1v2/subnets/default"
+ },
+ "publicIpAddressId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/apimService1ip",
+ "virtualNetworkType": "External"
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 2
+ },
+ "zones": [
+ "1",
+ "2"
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/operationresults/TGV2eTExMDZtMDJfVGVybV9jMmZlY2QwMA==?api-version=2021-08-01"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1",
+ "name": "apimService1",
+ "type": "Microsoft.ApiManagement/service",
+ "tags": {},
+ "location": "West Europe",
+ "etag": "AAAAAABlaZ0=",
+ "properties": {
+ "publisherEmail": "foobar@contoso.com",
+ "publisherName": "Microsoft",
+ "notificationSenderEmail": "apimgmt-noreply@mail.windowsazure.com",
+ "provisioningState": "Succeeded",
+ "targetProvisioningState": "",
+ "createdAtUtc": "2016-04-12T00:20:15.6018952Z",
+ "gatewayUrl": "https://apimService1.azure-api.net",
+ "gatewayRegionalUrl": "https://apimService1-westeurope-01.regional.azure-api.net",
+ "portalUrl": "https://apimService1.portal.azure-api.net",
+ "developerPortalUrl": "https://apimService1.developer.azure-api.net",
+ "managementApiUrl": "https://apimService1.management.azure-api.net",
+ "scmUrl": "https://apimService1.scm.azure-api.net",
+ "hostnameConfigurations": [
+ {
+ "type": "Proxy",
+ "hostName": "apimService1.azure-api.net",
+ "negotiateClientCertificate": false,
+ "defaultSslBinding": false,
+ "certificateSource": "BuiltIn"
+ },
+ {
+ "type": "Proxy",
+ "hostName": "proxy.msitesting.net",
+ "keyVaultId": "https://demo-msi-keyvault.vault.azure.net/secrets/msicertificate",
+ "negotiateClientCertificate": false,
+ "certificate": {
+ "expiry": "2020-12-18T11:11:47+00:00",
+ "thumbprint": "9833D531D7A4XXXX766F2A85908BD3692E0BD3F",
+ "subject": "CN=*.msitesting.net"
+ },
+ "defaultSslBinding": true,
+ "certificateSource": "Custom"
+ }
+ ],
+ "publicIPAddresses": [
+ "13.94.XXX.188"
+ ],
+ "virtualNetworkConfiguration": {
+ "subnetResourceId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/apimService1v2/subnets/default"
+ },
+ "publicIpAddressId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/apimService1ip",
+ "virtualNetworkType": "External",
+ "customProperties": {
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11": "True",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Ssl30": "False",
+ "Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2": "False"
+ },
+ "disableGateway": false
+ },
+ "sku": {
+ "name": "Premium",
+ "capacity": 2
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "ca1d33f7-XXXX-42ec-b3e9-XXXX",
+ "tenantId": "72f988bf-XXXX-41af-91ab-2d7cd011db47"
+ },
+ "zones": [
+ "1",
+ "2"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateSubscription.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateSubscription.json
new file mode 100644
index 000000000000..9ce374ce7992
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateSubscription.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "sid": "testsub",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "testsub"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/subscriptions/testsub",
+ "type": "Microsoft.ApiManagement/service/subscriptions",
+ "name": "testsub",
+ "properties": {
+ "ownerId": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "scope": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/products/5600b59475ff190048060002",
+ "displayName": "testsub",
+ "state": "submitted",
+ "createdDate": "2017-06-02T17:59:06.223Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateTag.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateTag.json
new file mode 100644
index 000000000000..ac6bda3689f2
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateTag.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "tagId": "temptag",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "displayName": "temp tag"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tags/temptag",
+ "type": "Microsoft.ApiManagement/service/tags",
+ "name": "temptag",
+ "properties": {
+ "displayName": "tag1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateTemplate.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateTemplate.json
new file mode 100644
index 000000000000..769779842009
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateTemplate.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "templateName": "newIssueNotificationMessage",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "subject": "Your request $IssueName was received",
+ "body": "\r\n\r\n \r\n \r\n Dear $DevFirstName $DevLastName,
\r\n \r\n We are happy to let you know that your request to publish the $AppName application in the gallery has been approved. Your application has been published and can be viewed here.\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/templates/NewIssueNotificationMessage",
+ "type": "Microsoft.ApiManagement/service/templates",
+ "name": "NewIssueNotificationMessage",
+ "properties": {
+ "subject": "Your request $IssueName was received",
+ "body": "\r\n\r\n \r\n \r\n Dear $DevFirstName $DevLastName,
\r\n Thank you for contacting us. Our API team will review your issue and get back to you soon.
\r\n \r\n Click this link to view or edit your request.\r\n
\r\n Best,
\r\n The $OrganizationName API Team
\r\n \r\n",
+ "title": "New issue received",
+ "description": "This email is sent to developers after they create a new topic on the Issues page of the developer portal.",
+ "isDefault": true,
+ "parameters": [
+ {
+ "name": "DevFirstName",
+ "title": "Developer first name"
+ },
+ {
+ "name": "DevLastName",
+ "title": "Developer last name"
+ },
+ {
+ "name": "IssueId",
+ "title": "Issue id"
+ },
+ {
+ "name": "IssueName",
+ "title": "Issue name"
+ },
+ {
+ "name": "OrganizationName",
+ "title": "Organization name"
+ },
+ {
+ "name": "DevPortalUrl",
+ "title": "Developer portal URL"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateTenantAccess.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateTenantAccess.json
new file mode 100644
index 000000000000..620b58bf752f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateTenantAccess.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "If-Match": "*",
+ "accessName": "access",
+ "parameters": {
+ "properties": {
+ "enabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/tenant/access",
+ "type": "Microsoft.ApiManagement/service/tenant",
+ "name": "access",
+ "properties": {
+ "enabled": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateUser.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateUser.json
new file mode 100644
index 000000000000..4716c8c34763
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUpdateUser.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "userId": "5931a75ae4bbd512a88c680b",
+ "If-Match": "*",
+ "parameters": {
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foobar@outlook.com"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/users/5931a75ae4bbd512a88c680b",
+ "type": "Microsoft.ApiManagement/service/users",
+ "name": "5931a75ae4bbd512a88c680b",
+ "properties": {
+ "firstName": "foo",
+ "lastName": "bar",
+ "email": "foobar@outlook.com",
+ "state": "active",
+ "registrationDate": "2017-06-02T17:58:50.357Z",
+ "identities": [
+ {
+ "provider": "Microsoft",
+ "id": "*************"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUserConfirmationPasswordSend.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUserConfirmationPasswordSend.json
new file mode 100644
index 000000000000..d36da4a4af75
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUserConfirmationPasswordSend.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "userId": "57127d485157a511ace86ae7"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUserGenerateSsoUrl.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUserGenerateSsoUrl.json
new file mode 100644
index 000000000000..53837d002bed
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUserGenerateSsoUrl.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "userId": "57127d485157a511ace86ae7"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "https://apimService1.portal.azure-api.net/signin-sso?token=57127d485157a511ace86ae7%26201706051624%267VY18MlwAom***********2bYr2bDQHg21OzQsNakExQ%3d%3d"
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUserToken.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUserToken.json
new file mode 100644
index 000000000000..7d3619140212
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2021-08-01/examples/ApiManagementUserToken.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-08-01",
+ "subscriptionId": "subid",
+ "userId": "userId1718",
+ "parameters": {
+ "properties": {
+ "keyType": "primary",
+ "expiry": "2019-04-21T00:44:24.2845269Z"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": "userId1718&201904210044&9A1GR1f5WIhFvFmzQG+xxxxxxxxxxx/kBeu87DWad3tkasUXuvPL+MgzlwUHyg=="
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/readme.go.md b/specification/apimanagement/resource-manager/readme.go.md
index a1b8b3c0b661..1b9d4de0d97e 100644
--- a/specification/apimanagement/resource-manager/readme.go.md
+++ b/specification/apimanagement/resource-manager/readme.go.md
@@ -11,7 +11,7 @@ go:
``` yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/apimanagement/armapimanagement
+module-name: sdk/resourcemanager/apimanagement/armapimanagement
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
@@ -21,6 +21,7 @@ azure-arm: true
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-08
- tag: package-preview-2021-01
- tag: package-2020-12
- tag: package-2019-12
@@ -33,6 +34,15 @@ batch:
- tag: package-2016-07
```
+### Tag: package-2021-08 and go
+
+These settings apply only when `--tag=package-2021-08 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-08' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-08-01/$(namespace)
+```
+
### Tag: package-preview-2021-01 and go
These settings apply only when `--tag=package-preview-2021-01 --go` is specified on the command line.
diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md
index 66d874436704..07eba9058b41 100644
--- a/specification/apimanagement/resource-manager/readme.md
+++ b/specification/apimanagement/resource-manager/readme.md
@@ -34,13 +34,64 @@ tag: package-preview-2021-04
``` yaml
modelerfour:
lenient-model-deduplication: true
+tag: package-2021-08
```
+
+### Tag: package-2021-08
+
+These settings apply only when `--tag=package-2021-08` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-08'
+input-file:
+ - Microsoft.ApiManagement/stable/2021-08-01/apimanagement.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimapis.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimapisByTags.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimapiversionsets.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimauthorizationservers.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimbackends.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimcaches.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimcertificates.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimconnectivitycheck.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimcontenttypes.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimdeletedservices.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimdeployment.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimdiagnostics.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimemailtemplates.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimgateways.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimgroups.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimidentityprovider.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimissues.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimloggers.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimnamedvalues.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimnetworkstatus.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimnotifications.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimoutbounddependency.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimpolicies.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimpolicydescriptions.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimportalrevisions.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimportalsettings.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimprivatelink.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimproducts.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimproductsByTags.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimquotas.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimregions.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimreports.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimsettings.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimskus.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimsubscriptions.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimtagresources.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimtags.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimtenant.json
+ - Microsoft.ApiManagement/stable/2021-08-01/apimusers.json
+ - Microsoft.ApiManagement/stable/2021-08-01/definitions.json
+```
### Tag: package-preview-2021-04
These settings apply only when `--tag=package-preview-2021-04` is specified on the command line.
-```yaml $(tag) == 'package-preview-2021-04'
+``` yaml $(tag) == 'package-preview-2021-04'
input-file:
- Microsoft.ApiManagement/preview/2021-04-01-preview/apimanagement.json
- Microsoft.ApiManagement/preview/2021-04-01-preview/apimapis.json
@@ -75,6 +126,7 @@ input-file:
- Microsoft.ApiManagement/preview/2021-04-01-preview/apimquotas.json
- Microsoft.ApiManagement/preview/2021-04-01-preview/apimregions.json
- Microsoft.ApiManagement/preview/2021-04-01-preview/apimreports.json
+ - Microsoft.ApiManagement/preview/2021-04-01-preview/apimschema.json
- Microsoft.ApiManagement/preview/2021-04-01-preview/apimsettings.json
- Microsoft.ApiManagement/preview/2021-04-01-preview/apimskus.json
- Microsoft.ApiManagement/preview/2021-04-01-preview/apimsubscriptions.json
@@ -85,6 +137,7 @@ input-file:
- Microsoft.ApiManagement/preview/2021-04-01-preview/apimconnectivitycheck.json
- Microsoft.ApiManagement/preview/2021-04-01-preview/definitions.json
```
+
### Tag: package-preview-2021-01
These settings apply only when `--tag=package-preview-2021-01` is specified on the command line.
@@ -571,10 +624,6 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
-## AZ
-
-See configuration in [readme.az.md](./readme.az.md)
-
## Suppression
``` yaml
@@ -651,6 +700,9 @@ directive:
- suppress: R4009
from: apimportalrevisions.json
reason: Warning raised to error while PR was being reviewed. SystemData will implement in next preview version.
+ - suppress: R4009
+ from: apimschema.json
+ reason: Warning raised to error while PR was being reviewed. SystemData will implement in next preview version.
- suppress: R4009
from: apimsettings.json
reason: Warning raised to error while PR was being reviewed. SystemData will implement in next preview version.
@@ -672,4 +724,7 @@ directive:
- suppress: R4009
from: apimprivatelink.json
reason: Warning raised to error while PR was being reviewed. SystemData will implement in next preview version.
+ - suppress: R4009
+ from: apimprivatelink.json
+ reason: Warning raised to error while PR was being reviewed. SystemData will implement in next preview version.
```
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookAdd.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookAdd.json
new file mode 100644
index 000000000000..978ae3841103
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookAdd.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup",
+ "workbookProperties": {
+ "location": "west us",
+ "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": "sample01",
+ "TagSample02": "sample02"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/microsoft.insights/workbooks/deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "Microsoft.Insights/workbooks",
+ "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": "Notebook/1.0",
+ "category": "workbook",
+ "timeModified": "2021-08-24T06:56:31.6301521Z",
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb"
+ },
+ "tags": {
+ "TagSample01": "sample01",
+ "TagSample02": "sample02"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/microsoft.insights/workbooks/deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "Microsoft.Insights/workbooks",
+ "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": "Notebook/1.0",
+ "category": "workbook",
+ "timeModified": "2021-08-24T06:56:31.6301521Z",
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb"
+ },
+ "tags": {
+ "TagSample01": "sample01",
+ "TagSample02": "sample02"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookDelete.json
new file mode 100644
index 000000000000..ca98a38004ee
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "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-08-01/examples/WorkbookGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookGet.json
new file mode 100644
index 000000000000..64388e923167
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/microsoft.insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "Microsoft.Insights/workbooks",
+ "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": "Notebook/1.0",
+ "category": "workbook",
+ "timeModified": "2021-08-24T06:56:31.6301521Z",
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb"
+ },
+ "tags": {
+ "TagSample01": "sample01",
+ "TagSample02": "sample02"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookGet1.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookGet1.json
new file mode 100644
index 000000000000..7e855e64ba66
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookGet1.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/microsoft.insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "Microsoft.Insights/workbooks",
+ "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": "Notebook/1.0",
+ "category": "workbook",
+ "timeModified": "2021-08-24T06:56:31.6301521Z",
+ "storageUri": null
+ },
+ "tags": {
+ "TagSample01": "sample01",
+ "TagSample02": "sample02"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedAdd.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedAdd.json
new file mode 100644
index 000000000000..15c86b4574aa
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedAdd.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "resourceGroupName": "my-resource-group",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup",
+ "workbookProperties": {
+ "location": "westus",
+ "tags": {
+ "hidden-title": "tttt"
+ },
+ "kind": "shared",
+ "etag": "\"4a00f78d-0000-0700-0000-5f8f616c1000\"",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/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/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270432",
+ "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9x19"
+ }
+ }
+ },
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "type": "Microsoft.Insights/workbooks",
+ "location": "westus",
+ "tags": {
+ "hidden-title": "tttt"
+ },
+ "kind": "shared",
+ "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/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup",
+ "timeModified": "2020-10-20T22:00:26.4229554Z",
+ "tags": [],
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb",
+ "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270432",
+ "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9x19"
+ }
+ }
+ },
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "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/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup",
+ "timeModified": "2020-10-20T22:00:26.4229554Z",
+ "tags": [],
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb",
+ "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedGet.json
new file mode 100644
index 000000000000..ae6073404407
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedGet.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270432",
+ "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9x19"
+ },
+ "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": {
+ "clientId": "47429305-c0d3-40bc-8595-6194sdfdf3dc",
+ "principalId": "bf9ebbc8-b92d-4752-8e66-c999d560326e0"
+ }
+ }
+ },
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "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/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedUpdate.json
new file mode 100644
index 000000000000..e9d64ee84625
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookManagedUpdate.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup",
+ "location": "westus",
+ "tags": {
+ "TagSample01": "sample01",
+ "TagSample02": "sample02"
+ },
+ "type": "Microsoft.Insights/workbooks",
+ "kind": "shared",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {},
+ "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/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/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer"
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270432",
+ "principalId": "075a0ca6-43f6-4434-9abf-c9b1b79f9x19"
+ },
+ "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id2": {
+ "clientId": "47429305-c0d3-40bc-8595-6194sdfdf3dc",
+ "principalId": "bf9ebbc8-b92d-4752-8e66-c999d560326e0"
+ }
+ }
+ },
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "name": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "type": "Microsoft.Insights/workbooks",
+ "location": "westus",
+ "tags": {
+ "TagSample01": "sample01",
+ "TagSample02": "sample02",
+ "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/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/MyGroup",
+ "timeModified": "2020-10-20T22:15:08.1875458Z",
+ "tags": [],
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb",
+ "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionGet.json
new file mode 100644
index 000000000000..ef073acb903e
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "revisionId": "1e2f8435b98248febee70c64ac22e1ab"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "Microsoft.Insights/workbooks",
+ "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": "Notebook/1.0",
+ "category": "workbook",
+ "timeModified": "2020-09-04T09:07:17.735638Z",
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1ab"
+ },
+ "tags": {
+ "TagSample01": "sample01",
+ "TagSample02": "sample02"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionsList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionsList.json
new file mode 100644
index 000000000000..f1f58ae89577
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookRevisionsList.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "Microsoft.Insights/workbooks",
+ "location": "westus",
+ "tags": {},
+ "kind": "shared",
+ "properties": {
+ "displayName": "My Workbook 1",
+ "userId": "userId",
+ "sourceId": "Azure Monitor",
+ "serializedData": null,
+ "version": "Notebook/1.0",
+ "category": "workbook",
+ "timeModified": "2020-09-04T09:07:17.735638Z",
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1ab"
+ }
+ },
+ {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "Microsoft.Insights/workbooks",
+ "location": "westus",
+ "tags": {
+ "TagSample01": "sample01",
+ "TagSample02": "sample02"
+ },
+ "kind": "shared",
+ "properties": {
+ "displayName": "My Workbook 2",
+ "userId": "userId",
+ "sourceId": "Azure Monitor",
+ "serializedData": null,
+ "version": "Notebook/1.0",
+ "category": "workbook",
+ "timeModified": "2020-08-04T09:07:17.735638Z",
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookUpdate.json
new file mode 100644
index 000000000000..9905cd92d222
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbookUpdate.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/Default-Web-WestUS/providers/Microsoft.Web/sites/MyTestApp-CodeLens1",
+ "workbookProperties": {
+ "tags": {
+ "TagSample01": "sample01",
+ "TagSample02": "sample02"
+ },
+ "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": "Notebook/1.0",
+ "category": "workbook",
+ "description": "Sample workbook"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "name": "deadb33f-8bee-4ddq-a059-9be8dac93960",
+ "type": "Microsoft.Insights/workbooks",
+ "location": "westus",
+ "tags": {
+ "TagSample01": "sample01",
+ "TagSample02": "sample02"
+ },
+ "kind": "shared",
+ "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}",
+ "userId": "userId",
+ "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/Default-Web-WestUS/providers/Microsoft.Web/sites/MyTestApp-CodeLens1",
+ "version": "Notebook/1.0",
+ "category": "workbook",
+ "timeModified": "2020-10-20T22:00:26.4229554Z",
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksList.json
new file mode 100644
index 000000000000..3dd9830d5d0d
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksList.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "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": {
+ "value": [
+ {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "Microsoft.Insights/workbooks",
+ "location": "westus",
+ "tags": {},
+ "kind": "shared",
+ "properties": {
+ "displayName": "My Workbook 1",
+ "userId": "userId",
+ "sourceId": "Azure Monitor",
+ "serializedData": "{\"verion\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "Notebook/1.0",
+ "category": "workbook",
+ "timeModified": "2020-09-04T09:07:17.735638Z",
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb"
+ }
+ },
+ {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "name": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "type": "Microsoft.Insights/workbooks",
+ "location": "westus",
+ "tags": {
+ "TagSample01": "sample01",
+ "TagSample02": "sample02"
+ },
+ "kind": "shared",
+ "properties": {
+ "displayName": "My Workbook 2",
+ "userId": "userId",
+ "sourceId": "Azure Monitor",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "Notebook/1.0",
+ "category": "workbook",
+ "timeModified": "2020-08-04T09:07:17.735638Z",
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksList2.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksList2.json
new file mode 100644
index 000000000000..adb75304e8ef
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksList2.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "category": "workbook"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksListSub.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksListSub.json
new file mode 100644
index 000000000000..8986796960bc
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksListSub.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "category": "workbook",
+ "sourceId": "/subscriptions/ad2f1a83-caac-4e21-9d2a-9ca3f87105e2/providers/Microsoft.Web/sites/MyTestApp-CodeLens1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "Microsoft.Insights/workbooks",
+ "location": "westus",
+ "tags": {},
+ "kind": "shared",
+ "properties": {
+ "displayName": "My Workbook 1",
+ "userId": "userId",
+ "sourceId": "Azure Monitor",
+ "serializedData": "{\"verion\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "Notebook/1.0",
+ "category": "workbook",
+ "timeModified": "2020-10-20T22:00:26.4229554Z",
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb"
+ }
+ },
+ {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "name": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "type": "Microsoft.Insights/workbooks",
+ "location": "westus",
+ "tags": {
+ "TagSample01": "sample01",
+ "TagSample02": "sample02"
+ },
+ "kind": "shared",
+ "properties": {
+ "displayName": "My Workbook 2",
+ "userId": "userId",
+ "sourceId": "Azure Monitor",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "Notebook/1.0",
+ "category": "workbook",
+ "timeModified": "2020-10-20T22:00:26.4229554Z",
+ "storageUri": null,
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksManagedList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksManagedList.json
new file mode 100644
index 000000000000..7d849d06f920
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/examples/WorkbooksManagedList.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac119r124af",
+ "resourceGroupName": "my-resource-group",
+ "category": "workbook",
+ "sourceId": "/subscriptions/6b643656-33eb-422f-aee8-3ac119r124af/resourceGroups/Default-Web-WestUS/providers/Microsoft.Web/sites/MyTestApp-CodeLens1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/6b643656-33eb-422f-aee8-3ac119r124af/resourceGroups/eu2cgroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {
+ "clientId": "fbe75b66-01c5-4f87-a220-233af3270433",
+ "principalId": "075a0ca6-4326-4434-9abf-c9b1b79f9x19"
+ }
+ }
+ },
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "name": "deadb33f-8bee-4ddq-a059-9be8dac93960",
+ "type": "Microsoft.Insights/workbooks",
+ "location": "westus",
+ "tags": {},
+ "kind": "shared",
+ "properties": {
+ "displayName": "My Workbook 1",
+ "userId": "userId",
+ "sourceId": "Azure Monitor",
+ "serializedData": "{\"verion\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "Notebook/1.0",
+ "category": "workbook",
+ "timeModified": "2020-10-20T22:00:26.4229554Z",
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb",
+ "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac119r124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer"
+ }
+ },
+ {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourcegroups/my-resource-group/providers/Microsoft.Insights/workbooks/c0deea5e-3344-40f2-96f8-6f8e1cdd5722",
+ "name": "c0deea5e-3344-40f2-96f8-6f8e1cdd5722",
+ "type": "Microsoft.Insights/workbooks",
+ "location": "westus",
+ "tags": {
+ "TagSample01": "sample01",
+ "TagSample02": "sample02"
+ },
+ "kind": "shared",
+ "properties": {
+ "displayName": "My Workbook 2",
+ "userId": "userId",
+ "sourceId": "Azure Monitor",
+ "serializedData": "{\"version\":\"Notebook/1.0\",\"items\":[{\"type\":1,\"content\":\"{\"json\":\"## New workbook\\r\\n---\\r\\n\\r\\nWelcome to your new workbook. This area will display text formatted as markdown.\\r\\n\\r\\n\\r\\nWe've included a basic analytics query to get you started. Use the `Edit` button below each section to configure it or add more sections.\"}\",\"halfWidth\":null,\"conditionalVisibility\":null},{\"type\":3,\"content\":\"{\"version\":\"KqlItem/1.0\",\"query\":\"union withsource=TableName *\\n| summarize Count=count() by TableName\\n| render barchart\",\"showQuery\":false,\"size\":1,\"aggregation\":0,\"showAnnotations\":false}\",\"halfWidth\":null,\"conditionalVisibility\":null}],\"isLocked\":false}",
+ "version": "Notebook/1.0",
+ "category": "workbook",
+ "timeModified": "2020-10-20T21:00:26.4229554Z",
+ "description": "Sample workbook",
+ "revision": "1e2f8435b98248febee70c64ac22e1bb",
+ "storageUri": "/subscriptions/6b643656-33eb-422f-aee8-3ac119r124af/resourceGroups/MyGroup/providers/Microsoft.Storage/storageAccounts/testStorage/blobServices/default/containers/testContainer"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/workbooks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/workbooks_API.json
new file mode 100644
index 000000000000..67ba82399ddd
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-08-01/workbooks_API.json
@@ -0,0 +1,741 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApplicationInsightsManagementClient",
+ "description": "Azure Application Insights workbook type.",
+ "version": "2021-08-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.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": {
+ "WorkbooksListSub": {
+ "$ref": "./examples/WorkbooksListSub.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"
+ }
+ }
+ }
+ },
+ "/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": {
+ "WorkbookResource": {
+ "type": "object",
+ "description": "An azure resource object",
+ "x-ms-azure-resource": true,
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "identity": {
+ "description": "Identity used for BYOS",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity"
+ }
+ ]
+ },
+ "kind": {
+ "type": "string",
+ "description": "The kind of workbook. Choices are user and shared.",
+ "enum": [
+ "user",
+ "shared"
+ ],
+ "x-ms-enum": {
+ "name": "kind",
+ "modelAsString": true
+ }
+ },
+ "etag": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "type": "string",
+ "description": "Resource etag"
+ }
+ }
+ },
+ "WorkbooksListResult": {
+ "type": "object",
+ "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.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/WorkbookResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Metadata describing a workbook for an Azure resource.",
+ "$ref": "#/definitions/WorkbookProperties"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData",
+ "readOnly": true
+ }
+ }
+ },
+ "WorkbookProperties": {
+ "description": "Properties that contain a workbook.",
+ "type": "object",
+ "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 schema version format, like 'Notebook/1.0', which should match the workbook in serializedData"
+ },
+ "timeModified": {
+ "type": "string",
+ "format": "date-time",
+ "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": "Being deprecated, please use the other tags field"
+ },
+ "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": "The resourceId to the storage account when bring your own storage is used"
+ },
+ "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",
+ "readOnly": true
+ }
+ }
+ },
+ "WorkbookUpdateParameters": {
+ "description": "The parameters that can be provided when updating workbook properties properties.",
+ "type": "object",
+ "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"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Metadata describing a workbook for an Azure resource.",
+ "$ref": "#/definitions/WorkbookPropertiesUpdateParameters"
+ }
+ }
+ },
+ "WorkbookPropertiesUpdateParameters": {
+ "description": "Properties that contain a workbook for PATCH operation.",
+ "type": "object",
+ "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.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/WorkbookErrorDefinition",
+ "description": "The error details."
+ }
+ }
+ },
+ "WorkbookErrorDefinition": {
+ "description": "Error definition.",
+ "type": "object",
+ "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/WorkbookInnerErrorTrace"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "WorkbookInnerErrorTrace": {
+ "description": "Error details",
+ "type": "object",
+ "properties": {
+ "trace": {
+ "description": "detailed error trace",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "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/Microsoft.Insights/stable/2021-10-14/examples/LiveTokenGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/examples/LiveTokenGet.json
new file mode 100644
index 000000000000..757eac4dfcf0
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/examples/LiveTokenGet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/FabrikamFiberApp/providers/microsoft.insights/components/CustomAvailabilityTest/providers/microsoft.insights/generatelivetoken",
+ "api-version": "2021-10-14"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "liveToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/examples/Operations_List.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/examples/Operations_List.json
new file mode 100644
index 000000000000..a88a7c1454a9
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/examples/Operations_List.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2021-10-14"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "microsoft.insights/generatelivetoken",
+ "display": {
+ "provider": "Microsoft Container Instance",
+ "resource": "generatelivetoken",
+ "operation": "Gets an access token for live metrics stream data",
+ "description": "Gets an access token for live metrics stream data"
+ },
+ "origin": "User"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/livetoken_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/livetoken_API.json
new file mode 100644
index 000000000000..6b267321a6d0
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2021-10-14/livetoken_API.json
@@ -0,0 +1,209 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApplicationInsightsManagementClient",
+ "x-ms-code-generation-settings": {
+ "name": "ApplicationInsightsManagementClient"
+ },
+ "version": "2021-10-14"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Insights/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "List available operations.",
+ "description": "List the available operations supported by the resource provider.",
+ "operationId": "Operations_List",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.Insights/generatelivetoken": {
+ "post": {
+ "tags": [
+ "LiveToken"
+ ],
+ "operationId": "LiveToken_Get",
+ "description": "**Gets an access token for live metrics stream data.**",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json#/definitions/ErrorResponseLinkedStorage"
+ }
+ },
+ "200": {
+ "description": "Successful response containing the live metrics stream token.",
+ "schema": {
+ "$ref": "#/definitions/LiveTokenResponse"
+ },
+ "examples": {
+ "application/json": {
+ "liveToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get live token for resource": {
+ "$ref": "./examples/LiveTokenGet.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "LiveTokenResponse": {
+ "type": "object",
+ "properties": {
+ "liveToken": {
+ "type": "string",
+ "description": "JWT token for accessing live metrics stream data.",
+ "readOnly": true
+ }
+ },
+ "description": "The response to a live token query."
+ },
+ "OperationsListResult": {
+ "description": "Result of the List Operations operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of operations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationLive"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "OperationLive": {
+ "description": "Represents an operation returned by the GetOperations request",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationInfo",
+ "description": "Display name of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Properties of the operation",
+ "type": "object",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OperationInfo": {
+ "description": "Information about an operation",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Name of the provider",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Name of the resource type",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ResourceUriParameter": {
+ "name": "resourceUri",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The identifier of the resource.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/readme.azureresourceschema.md b/specification/applicationinsights/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 15fdfa11ba7a..000000000000
--- a/specification/applicationinsights/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,173 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` 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
- - tag: schema-insights-2020-03-01-preview
- - tag: schema-insights-2020-02-10-preview
- - tag: schema-insights-2020-02-02-preview
- - tag: schema-insights-2019-10-17-preview
- - tag: schema-insights-2018-06-17-preview
- - tag: schema-insights-2018-05-01-preview
- - tag: schema-insights-2017-10-01
- - tag: schema-insights-2015-05-01
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-insights-2020-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)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - 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: schema-insights-2020-10-05-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-insights-2020-10-05-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Insights/preview/2020-10-05-preview/webTests_API.json
-
-```
-
-### Tag: schema-insights-2020-06-02-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-insights-2020-06-02-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json
-
-```
-
-### Tag: schema-insights-2020-03-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-insights-2020-03-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json
-
-```
-
-### Tag: schema-insights-2020-02-10-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-insights-2020-02-10-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json
-
-```
-
-### Tag: schema-insights-2020-02-02-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-insights-2020-02-02-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Insights/preview/2020-02-02-preview/components_API.json
-
-```
-
-### Tag: schema-insights-2019-10-17-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-insights-2019-10-17-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json
-
-```
-
-### Tag: schema-insights-2018-06-17-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-insights-2018-06-17-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
-
-```
-
-### Tag: schema-insights-2018-05-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-insights-2018-05-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Insights/preview/2018-05-01-preview/components_API.json
- - Microsoft.Insights/preview/2018-05-01-preview/componentProactiveDetection_API.json
-
-```
-
-### Tag: schema-insights-2017-10-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-insights-2017-10-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Insights/preview/2017-10-01/eaSubscriptionMigration_API.json
- - Microsoft.Insights/preview/2017-10-01/componentFeaturesAndPricing_API.json
-
-```
-
-### Tag: schema-insights-2015-05-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-insights-2015-05-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.Insights/stable/2015-05-01/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/2015-05-01/aiOperations_API.json
- - Microsoft.Insights/stable/2015-05-01/workbooks_API.json
- - Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json
-
-```
diff --git a/specification/applicationinsights/resource-manager/readme.go.md b/specification/applicationinsights/resource-manager/readme.go.md
index 0d015d62389f..02735ea8ec9e 100644
--- a/specification/applicationinsights/resource-manager/readme.go.md
+++ b/specification/applicationinsights/resource-manager/readme.go.md
@@ -9,12 +9,13 @@ go:
clear-output-folder: true
```
-### Go mult-api
+### Go multi-api
``` yaml $(go) && $(multiapi)
batch:
- tag: package-2015-05
- tag: package-2020-02-02
+ - tag: package-2021-11-01
```
### Tag: package-2015-05 and go
@@ -34,3 +35,12 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-11-01' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/appinsights/mgmt/2021-11-01-preview/$(namespace)
+```
\ No newline at end of file
diff --git a/specification/applicationinsights/resource-manager/readme.md b/specification/applicationinsights/resource-manager/readme.md
index ed7bef93c90c..a09e56a940f7 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-2020-11-only
+tag: package-2021-11-01
```
### Suppression
@@ -222,6 +222,58 @@ directive:
```
+### Tag: package-2021-11-01
+
+These settings apply only when `--tag=package-2021-11-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-11-01'
+input-file:
+ - Microsoft.Insights/stable/2015-05-01/aiOperations_API.json
+ - Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json
+ - Microsoft.Insights/stable/2015-05-01/componentApiKeys_API.json
+ - Microsoft.Insights/stable/2015-05-01/componentContinuousExport_API.json
+ - Microsoft.Insights/stable/2015-05-01/componentFeaturesAndPricing_API.json
+ - Microsoft.Insights/stable/2015-05-01/componentProactiveDetection_API.json
+ - Microsoft.Insights/stable/2015-05-01/componentWorkItemConfigs_API.json
+ - Microsoft.Insights/stable/2015-05-01/favorites_API.json
+ - Microsoft.Insights/stable/2015-05-01/webTestLocations_API.json
+ - Microsoft.Insights/stable/2015-05-01/webTests_API.json
+ - Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json
+ - Microsoft.Insights/stable/2020-11-20/workbookTemplates_API.json
+ - Microsoft.Insights/stable/2021-03-08/myworkbooks_API.json
+ - Microsoft.Insights/stable/2021-08-01/workbooks_API.json
+ - Microsoft.Insights/preview/2018-05-01-preview/components_API.json
+ - Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json
+ - Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json
+```
+
+### Tag: package-2021-10
+
+These settings apply only when `--tag=package-2021-10` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-10'
+input-file:
+ - Microsoft.Insights/stable/2021-10-14/livetoken_API.json
+```
+
+### Tag: package-2021-08
+
+These settings apply only when `--tag=package-2021-08` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-08'
+input-file:
+ - Microsoft.Insights/stable/2021-08-01/workbooks_API.json
+```
+
+### Tag: package-2021-03-08-only
+
+These settings apply only when `--tag=package-2021-03-08-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-03-08-only'
+input-file:
+ - Microsoft.Insights/stable/2021-03-08/myworkbooks_API.json
+```
+
### Tag: package-2021-03-only
These settings apply only when `--tag=package-2021-03-only` is specified on the command line.
@@ -237,7 +289,7 @@ input-file:
These settings apply only when `--tag=package-preview-2021-03-only` is specified on the command line.
-```yaml $(tag) == 'package-preview-2021-03-only'
+``` yaml $(tag) == 'package-preview-2021-03-only'
input-file:
- Microsoft.Insights/preview/2021-03-03-preview/diagnosticServicesToken_API.json
```
@@ -255,7 +307,7 @@ input-file:
These settings apply only when `--tag=package-2020-10-only` is specified on the command line.
-```yaml $(tag) == 'package-2020-10-only'
+``` 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
@@ -266,7 +318,7 @@ input-file:
These settings apply only when `--tag=package-preview-2020-10-only` is specified on the command line.
-```yaml $(tag) == 'package-preview-2020-10-only'
+``` yaml $(tag) == 'package-preview-2020-10-only'
input-file:
- Microsoft.Insights/preview/2020-10-05-preview/webTests_API.json
```
@@ -392,6 +444,7 @@ These settings apply only when `--tag=package-2018-06-17-preview` is specified o
``` yaml $(tag) == 'package-2018-06-17-preview'
input-file:
- Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
+- Microsoft.Insights/preview/2018-06-17-preview/workbookOperations_API.json
```
### Tag: package-2018-05-01-preview
@@ -521,6 +574,5 @@ These settings apply only when `--tag=schema-2018-06-17-preview` is specified on
``` yaml $(tag) == 'schema-2018-06-17-preview'
input-file:
- Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
+- Microsoft.Insights/preview/2018-06-17-preview/workbookOperations_API.json
```
-
-
diff --git a/specification/applicationinsights/resource-manager/readme.python.md b/specification/applicationinsights/resource-manager/readme.python.md
index 7a82c19ac38b..f0ccfb240591 100644
--- a/specification/applicationinsights/resource-manager/readme.python.md
+++ b/specification/applicationinsights/resource-manager/readme.python.md
@@ -25,6 +25,9 @@ batch:
- tag: package-2020-02-02
- tag: package-2020-03-01-preview
- tag: package-preview-2020-06-only
+ - tag: package-2020-11-only
+ - tag: package-2021-03-08-only
+ - tag: package-2021-08
- multiapiscript: true
```
@@ -105,7 +108,36 @@ These settings apply only when `--tag=package-preview-2020-06-only --python` is
namespace: azure.mgmt.applicationinsights.v2020_06_02_preview
output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2020_06_02_preview
```
+
+### Tag: package-2020-11-only and python
+
+These settings apply only when `--tag=package-2020-11-only --python` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-11-only' && $(python) && $(track2)
+namespace: azure.mgmt.applicationinsights.v2020_11_20
+output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2020_11_20
+```
+
+### Tag: package-2021-03-08-only and python
+
+These settings apply only when `--tag=package-2021-03-08-only --python` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-03-08-only' && $(python) && $(track2)
+namespace: azure.mgmt.applicationinsights.v2021_03_08
+output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2021_03_08
+```
+
+### Tag: package-2021-08 and python
+
+These settings apply only when `--tag=package-2021-08 --python` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-08' && $(python) && $(track2)
+namespace: azure.mgmt.applicationinsights.v2021_08_01
+output-folder: $(python-sdks-folder)/applicationinsights/azure-mgmt-applicationinsights/azure/mgmt/applicationinsights/v2021_08_01
+```
+
+
```yaml $(python) && $(track2)
modelerfour:
lenient-model-deduplication: true
-```
\ No newline at end of file
+```
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/appplatform.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/appplatform.json
new file mode 100644
index 000000000000..4e96f4b01cf5
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/appplatform.json
@@ -0,0 +1,5546 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-09-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}/stop": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Stop a Service.",
+ "operationId": "Services_Stop",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The response indicates the stop operation is performed in the background."
+ },
+ "404": {
+ "description": "Not found. The response indicates the service does not exist.",
+ "x-ms-error-response": true
+ },
+ "409": {
+ "description": "Conflict. The response indicates the exiting Service is now updating.",
+ "x-ms-error-response": true
+ },
+ "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_Stop": {
+ "$ref": "./examples/Services_Stop.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/start": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Start a Service.",
+ "operationId": "Services_Start",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The response indicates the stop operation is performed in the background."
+ },
+ "404": {
+ "description": "Not found. The response indicates the service does not exist.",
+ "x-ms-error-response": true
+ },
+ "409": {
+ "description": "Conflict. The response indicates the exiting Service is now updating.",
+ "x-ms-error-response": true
+ },
+ "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_Start": {
+ "$ref": "./examples/Services_Start.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}/storages/{storageName}": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Get the storage resource.",
+ "operationId": "Storages_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describe the storage.",
+ "schema": {
+ "$ref": "#/definitions/StorageResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Storages_Get": {
+ "$ref": "./examples/Storages_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Create or update storage resource.",
+ "operationId": "Storages_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageNameParameter"
+ },
+ {
+ "name": "storageResource",
+ "in": "body",
+ "description": "Parameters for the create or update operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StorageResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describe the existed storage updated.",
+ "schema": {
+ "$ref": "#/definitions/StorageResource"
+ }
+ },
+ "201": {
+ "description": "Created. The response describes the new storage resource created.",
+ "schema": {
+ "$ref": "#/definitions/StorageResource"
+ }
+ },
+ "202": {
+ "description": "Accepted. The response indicates the exiting storage is now updating and contains a Location\r\nheader to query the operation result.",
+ "schema": {
+ "$ref": "#/definitions/StorageResource"
+ }
+ },
+ "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": {
+ "Storages_CreateOrUpdate": {
+ "$ref": "./examples/Storages_CreateOrUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Delete the storage resource.",
+ "operationId": "Storages_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StorageNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response indicates the storage deleted."
+ },
+ "202": {
+ "description": "Accepted. The response indicates the delete operation is performed in the background."
+ },
+ "204": {
+ "description": "No content. The response indicates the storage 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": {
+ "Storages_Delete": {
+ "$ref": "./examples/Storages_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/storages": {
+ "get": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "List all the storages of one Azure Spring Cloud instance.",
+ "operationId": "Storages_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describe all the storages attached to one Azure Spring Cloud instance.",
+ "schema": {
+ "$ref": "#/definitions/StorageResourceCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Storages_List": {
+ "$ref": "./examples/Storages_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 list of certificates in the Service.",
+ "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}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/generateHeapDump": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Generate Heap Dump",
+ "operationId": "Deployments_GenerateHeapDump",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "diagnosticParameters",
+ "in": "body",
+ "description": "Parameters for the diagnostic operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiagnosticParameters"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The response indicates a heap dump is generating."
+ },
+ "200": {
+ "description": "Success. A heap dump was generated."
+ },
+ "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_GenerateHeapDump": {
+ "$ref": "./examples/Deployments_GenerateHeapDump.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/generateThreadDump": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Generate Thread Dump",
+ "operationId": "Deployments_GenerateThreadDump",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "diagnosticParameters",
+ "in": "body",
+ "description": "Parameters for the diagnostic operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiagnosticParameters"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The response indicates a thread dump is generating."
+ },
+ "200": {
+ "description": "Success. A thread dump was generated."
+ },
+ "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_GenerateHeapDump": {
+ "$ref": "./examples/Deployments_GenerateThreadDump.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/StartJFR": {
+ "post": {
+ "tags": [
+ "AppPlatform"
+ ],
+ "description": "Start JFR",
+ "operationId": "Deployments_StartJFR",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AppNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DeploymentNameParameter"
+ },
+ {
+ "name": "diagnosticParameters",
+ "in": "body",
+ "description": "Parameters for the diagnostic operation",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiagnosticParameters"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted. The response indicates a JFR is starting."
+ },
+ "200": {
+ "description": "Success. A JFR generated."
+ },
+ "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_StartJFR": {
+ "$ref": "./examples/Deployments_StartJFR.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
+ },
+ "powerState": {
+ "description": "Power state of the Service",
+ "enum": [
+ "Running",
+ "Stopped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PowerState",
+ "modelAsString": 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",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "appSubnetId": {
+ "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Apps",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "serviceCidr": {
+ "description": "Azure Spring Cloud service reserved CIDR",
+ "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",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "appNetworkResourceGroup": {
+ "description": "Name of the resource group containing network resources of Azure Spring Cloud Apps",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "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",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "httpsOnly": {
+ "description": "Indicate if only https is allowed.",
+ "type": "boolean",
+ "default": false
+ },
+ "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"
+ },
+ "customPersistentDisks": {
+ "$ref": "#/definitions/CustomPersistentDiskCollection",
+ "description": "List of custom persistent disks"
+ },
+ "enableEndToEndTLS": {
+ "description": "Indicate if end to end TLS is enabled.",
+ "type": "boolean",
+ "default": false
+ },
+ "loadedCertificates": {
+ "description": "Collection of loaded certificates",
+ "$ref": "#/definitions/LoadedCertificateCollection"
+ }
+ }
+ },
+ "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",
+ "default": "/tmp"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "LoadedCertificate": {
+ "description": "Loaded certificate payload",
+ "required": [
+ "resourceId"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "Resource Id of loaded certificate",
+ "type": "string"
+ },
+ "loadTrustStore": {
+ "description": "Indicate whether the certificate will be loaded into default trust store, only work for Java runtime.",
+ "type": "boolean",
+ "default": false
+ }
+ }
+ },
+ "LoadedCertificateCollection": {
+ "description": "Collection of loaded certificate resources list and a possible link for next page.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LoadedCertificate"
+ }
+ },
+ "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": [
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the certificate source.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "thumbprint": {
+ "description": "The thumbprint of certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "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
+ }
+ },
+ "discriminator": "type"
+ },
+ "KeyVaultCertificateProperties": {
+ "description": "Properties of certificate imported from key vault.",
+ "required": [
+ "type",
+ "vaultUri",
+ "keyVaultCertName"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CertificateProperties"
+ }
+ ],
+ "properties": {
+ "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"
+ },
+ "excludePrivateKey": {
+ "description": "Optional. If set to true, it will not import private key from key vault.",
+ "type": "boolean",
+ "default": false
+ }
+ },
+ "x-ms-discriminator-value": "KeyVaultCertificate"
+ },
+ "ContentCertificateProperties": {
+ "description": "Properties of certificate imported from key vault.",
+ "required": [
+ "type",
+ "content"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CertificateProperties"
+ }
+ ],
+ "properties": {
+ "content": {
+ "description": "The content of uploaded certificate.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "ContentCertificate"
+ },
+ "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"
+ }
+ }
+ },
+ "StorageResource": {
+ "description": "Storage resource payload.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageProperties",
+ "description": "Properties of the storage resource payload.",
+ "x-ms-client-flatten": false
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageProperties": {
+ "description": "Storage resource payload.",
+ "type": "object",
+ "required": [
+ "storageType"
+ ],
+ "properties": {
+ "storageType": {
+ "description": "The type of the storage.",
+ "enum": [
+ "StorageAccount"
+ ],
+ "type": "string"
+ }
+ },
+ "discriminator": "storageType"
+ },
+ "StorageAccount": {
+ "description": "storage resource of type Azure Storage Account.",
+ "type": "object",
+ "required": [
+ "storageType",
+ "accountName",
+ "accountKey"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/StorageProperties"
+ }
+ ],
+ "properties": {
+ "accountName": {
+ "description": "The account name of the Azure Storage Account.",
+ "type": "string"
+ },
+ "accountKey": {
+ "description": "The account key of the Azure Storage Account.",
+ "type": "string",
+ "x-ms-secret": true,
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ]
+ }
+ },
+ "x-ms-discriminator-value": "StorageAccount"
+ },
+ "StorageResourceCollection": {
+ "description": "Collection compose of storage resources list and a possible link for next page.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The storage resources list.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageResource"
+ }
+ },
+ "nextLink": {
+ "description": "The link to next page of storage list.",
+ "type": "string"
+ }
+ }
+ },
+ "CustomPersistentDiskResource": {
+ "description": "Custom persistent disk resource payload.",
+ "type": "object",
+ "required": [
+ "storageId"
+ ],
+ "properties": {
+ "customPersistentDiskProperties": {
+ "$ref": "#/definitions/CustomPersistentDiskProperties",
+ "description": "Properties of the custom persistent disk resource payload.",
+ "x-ms-client-flatten": false
+ },
+ "storageId": {
+ "description": "The resource id of Azure Spring Cloud Storage resource.",
+ "type": "string"
+ }
+ }
+ },
+ "CustomPersistentDiskProperties": {
+ "description": "Custom persistent disk resource payload.",
+ "required": [
+ "type",
+ "mountPath"
+ ],
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the underlying resource to mount as a persistent disk.",
+ "enum": [
+ "AzureFileVolume"
+ ],
+ "type": "string"
+ },
+ "mountPath": {
+ "description": "The mount path of the persistent disk.",
+ "type": "string"
+ },
+ "readOnly": {
+ "description": "Indicates whether the persistent disk is a readOnly one.",
+ "type": "boolean"
+ },
+ "mountOptions": {
+ "description": "These are the mount options for a persistent disk.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "discriminator": "type"
+ },
+ "CustomPersistentDiskCollection": {
+ "description": "Collection of persistent disk resources list and a possible link for next page.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CustomPersistentDiskResource"
+ }
+ },
+ "AzureFileVolume": {
+ "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.",
+ "type": "object",
+ "required": [
+ "type",
+ "mountPath",
+ "shareName"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/CustomPersistentDiskProperties"
+ }
+ ],
+ "properties": {
+ "shareName": {
+ "description": "The share name of the Azure File share.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "AzureFileVolume"
+ },
+ "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-09-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-09-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",
+ "default": "Java_8",
+ "enum": [
+ "Java_8",
+ "Java_11",
+ "NetCore_31"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RuntimeVersion",
+ "modelAsString": true
+ }
+ },
+ "containerProbeSettings": {
+ "description": "Container liveness and readiness probe settings",
+ "type": "object",
+ "properties": {
+ "disableProbe": {
+ "description": "Indicates whether disable the liveness and readiness probe",
+ "type": "boolean"
+ }
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "DiagnosticParameters": {
+ "description": "Diagnostic parameters of diagnostic operations",
+ "type": "object",
+ "properties": {
+ "appInstance": {
+ "description": "App instance name",
+ "type": "string"
+ },
+ "filePath": {
+ "description": "Your target file path in your own BYOS",
+ "type": "string"
+ },
+ "duration": {
+ "description": "Duration of your JFR. 1 min can be represented by 1m or 60s.",
+ "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"
+ }
+ },
+ "sourceMdmNamespace": {
+ "description": "Name of the MDM namespace. Optional.",
+ "type": "string"
+ }
+ }
+ },
+ "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"
+ },
+ "toBeExportedForShoebox": {
+ "description": "Whether this dimension should be included for the Shoebox export scenario",
+ "type": "boolean"
+ }
+ }
+ },
+ "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"
+ },
+ "StorageNameParameter": {
+ "name": "storageName",
+ "in": "path",
+ "description": "The name of the storage 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-09-01-preview/examples/Apps_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_CreateOrUpdate.json
new file mode 100644
index 000000000000..a487da11c5e4
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_CreateOrUpdate.json
@@ -0,0 +1,197 @@
+{
+ "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"
+ },
+ "loadedCertificates": [
+ {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycert1",
+ "loadTrustStore": false
+ },
+ {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycert2",
+ "loadTrustStore": true
+ }
+ ],
+ "customPersistentDisks": [
+ {
+ "customPersistentDiskProperties": {
+ "type": "AzureFileVolume",
+ "mountPath": "/mypath1/mypath2",
+ "mountOptions": [
+ "uid=0",
+ "gid=0",
+ "dir_mode=0777",
+ "file_mode=0777"
+ ],
+ "shareName": "myFileShare"
+ },
+ "storageId": "myASCStorageID"
+ }
+ ]
+ },
+ "identity": null,
+ "location": "eastus"
+ },
+ "api-version": "2021-09-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"
+ },
+ "customPersistentDisks": [
+ {
+ "customPersistentDiskProperties": {
+ "type": "AzureFileVolume",
+ "mountPath": "/mypath1/mypath2",
+ "mountOptions": [
+ "uid=0",
+ "gid=0",
+ "dir_mode=0777",
+ "file_mode=0777"
+ ],
+ "shareName": "myFileShare"
+ },
+ "storageId": "myASCStorageID"
+ }
+ ]
+ },
+ "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"
+ },
+ "customPersistentDisks": [
+ {
+ "customPersistentDiskProperties": {
+ "type": "AzureFileVolume",
+ "mountPath": "/mypath1/mypath2",
+ "mountOptions": [
+ "uid=0",
+ "gid=0",
+ "dir_mode=0777",
+ "file_mode=0777"
+ ],
+ "shareName": "myFileShare"
+ },
+ "storageId": "myASCStorageID"
+ }
+ ]
+ },
+ "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"
+ },
+ "customPersistentDisks": [
+ {
+ "customPersistentDiskProperties": {
+ "type": "AzureFileVolume",
+ "mountPath": "/mypath1/mypath2",
+ "mountOptions": [
+ "uid=0",
+ "gid=0",
+ "dir_mode=0777",
+ "file_mode=0777"
+ ],
+ "shareName": "myFileShare"
+ },
+ "storageId": "myASCStorageID"
+ }
+ ]
+ },
+ "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-09-01-preview/examples/Apps_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_Delete.json
new file mode 100644
index 000000000000..7eb9f2816ba5
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Apps_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_Get.json
new file mode 100644
index 000000000000..86ce345eb413
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_Get.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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"
+ },
+ "loadedCertificates": [
+ {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycert1",
+ "loadTrustStore": false
+ },
+ {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycert2",
+ "loadTrustStore": true
+ }
+ ],
+ "customPersistentDisks": [
+ {
+ "customPersistentDiskProperties": {
+ "type": "AzureFileVolume",
+ "mountPath": "/mypath1/mypath2",
+ "mountOptions": [
+ "uid=0",
+ "gid=0",
+ "dir_mode=0777",
+ "file_mode=0777"
+ ],
+ "shareName": "myFileShare"
+ },
+ "storageId": "myASCStorageID"
+ }
+ ]
+ },
+ "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-09-01-preview/examples/Apps_GetResourceUploadUrl.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_GetResourceUploadUrl.json
new file mode 100644
index 000000000000..09605e72f59d
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_GetResourceUploadUrl.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Apps_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_List.json
new file mode 100644
index 000000000000..335abbcc1bfe
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_List.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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"
+ },
+ "loadedCertificates": [
+ {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycert1",
+ "loadTrustStore": false
+ },
+ {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates/mycert2",
+ "loadTrustStore": true
+ }
+ ],
+ "customPersistentDisks": [
+ {
+ "customPersistentDiskProperties": {
+ "type": "AzureFileVolume",
+ "mountPath": "/mypath1/mypath2",
+ "mountOptions": [
+ "uid=0",
+ "gid=0",
+ "dir_mode=0777",
+ "file_mode=0777"
+ ],
+ "shareName": "myFileShare"
+ },
+ "storageId": "myASCStorageID"
+ }
+ ]
+ },
+ "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-09-01-preview/examples/Apps_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_Update.json
new file mode 100644
index 000000000000..9c933f30320a
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_Update.json
@@ -0,0 +1,129 @@
+{
+ "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"
+ },
+ "customPersistentDisks": [
+ {
+ "customPersistentDiskProperties": {
+ "type": "AzureFileVolume",
+ "mountPath": "/mypath1/mypath2",
+ "mountOptions": [],
+ "shareName": "myFileShare"
+ },
+ "storageId": "myASCStorageID"
+ }
+ ]
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": null,
+ "tenantId": null
+ },
+ "location": "eastus"
+ },
+ "api-version": "2021-09-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"
+ },
+ "customPersistentDisks": [
+ {
+ "customPersistentDiskProperties": {
+ "type": "AzureFileVolume",
+ "mountPath": "/mypath1/mypath2",
+ "mountOptions": [],
+ "shareName": "myFileShare"
+ },
+ "storageId": "myASCStorageID"
+ }
+ ]
+ },
+ "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"
+ },
+ "customPersistentDisks": [
+ {
+ "customPersistentDiskProperties": {
+ "type": "AzureFileVolume",
+ "mountPath": "/mypath1/mypath2",
+ "mountOptions": [],
+ "shareName": "myFileShare"
+ },
+ "storageId": "myASCStorageID"
+ }
+ ]
+ },
+ "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-09-01-preview/examples/Apps_ValidateDomain.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_ValidateDomain.json
new file mode 100644
index 000000000000..a13a672d2ceb
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Apps_ValidateDomain.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "validatePayload": {
+ "name": "mydomain.io"
+ },
+ "api-version": "2021-09-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-09-01-preview/examples/Bindings_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_CreateOrUpdate.json
new file mode 100644
index 000000000000..47b4dea861d9
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-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-09-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-09-01-preview/examples/Bindings_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Delete.json
new file mode 100644
index 000000000000..e858d8f0420c
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Bindings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Get.json
new file mode 100644
index 000000000000..ef97f4afd141
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Get.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Bindings_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_List.json
new file mode 100644
index 000000000000..dae73256dc3d
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_List.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Bindings_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Bindings_Update.json
new file mode 100644
index 000000000000..a170c3e09775
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-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-09-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-09-01-preview/examples/Certificates_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_CreateOrUpdate.json
new file mode 100644
index 000000000000..f5db361bb12c
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_CreateOrUpdate.json
@@ -0,0 +1,94 @@
+{
+ "parameters": {
+ "certificateResource": {
+ "properties": {
+ "type": "KeyVaultCertificate",
+ "vaultUri": "https://myvault.vault.azure.net",
+ "keyVaultCertName": "mycert",
+ "certVersion": "08a219d06d874795a96db47e06fbb01e"
+ }
+ },
+ "api-version": "2021-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "certificateName": "mycertificate"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "type": "KeyVaultCertificate",
+ "excludePrivateKey": false,
+ "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": {
+ "type": "KeyVaultCertificate",
+ "excludePrivateKey": false,
+ "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": {
+ "type": "KeyVaultCertificate",
+ "excludePrivateKey": false,
+ "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-09-01-preview/examples/Certificates_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_Delete.json
new file mode 100644
index 000000000000..7241fdf48d45
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Certificates_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_Get.json
new file mode 100644
index 000000000000..02b53814cd65
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_Get.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "certificateName": "mycertificate"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "type": "KeyVaultCertificate",
+ "excludePrivateKey": false,
+ "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-09-01-preview/examples/Certificates_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_List.json
new file mode 100644
index 000000000000..5fa97340e929
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Certificates_List.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myService"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "type": "KeyVaultCertificate",
+ "excludePrivateKey": false,
+ "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-09-01-preview/examples/ConfigServers_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/ConfigServers_Get.json
new file mode 100644
index 000000000000..0626a3668b22
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/ConfigServers_Get.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/ConfigServers_UpdatePatch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/ConfigServers_UpdatePatch.json
new file mode 100644
index 000000000000..8cb3dbe44f33
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-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-09-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-09-01-preview/examples/ConfigServers_UpdatePut.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/ConfigServers_UpdatePut.json
new file mode 100644
index 000000000000..8cb3dbe44f33
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-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-09-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-09-01-preview/examples/ConfigServers_Validate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/ConfigServers_Validate.json
new file mode 100644
index 000000000000..d3723d4e29f1
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-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-09-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-09-01-preview/examples/CustomDomains_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_CreateOrUpdate.json
new file mode 100644
index 000000000000..e930a63d915b
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_CreateOrUpdate.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "domainResource": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "certName": "mycert"
+ }
+ },
+ "api-version": "2021-09-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-09-01-preview/examples/CustomDomains_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_Delete.json
new file mode 100644
index 000000000000..0f7dadd338fe
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/CustomDomains_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_Get.json
new file mode 100644
index 000000000000..c2e352a9ac88
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/CustomDomains_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_List.json
new file mode 100644
index 000000000000..392808671f69
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/CustomDomains_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_Update.json
new file mode 100644
index 000000000000..a929be25df40
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/CustomDomains_Update.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "domainResource": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "certName": "mycert"
+ }
+ },
+ "api-version": "2021-09-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-09-01-preview/examples/Deployments_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_CreateOrUpdate.json
new file mode 100644
index 000000000000..e52a5295b8f2
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-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-09-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-09-01-preview/examples/Deployments_CreateOrUpdate_CustomContainer.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_CreateOrUpdate_CustomContainer.json
new file mode 100644
index 000000000000..97bc5ae24dcc
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-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-09-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-09-01-preview/examples/Deployments_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Delete.json
new file mode 100644
index 000000000000..c89d0f3001f8
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Deployments_GenerateHeapDump.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_GenerateHeapDump.json
new file mode 100644
index 000000000000..62d191157c49
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_GenerateHeapDump.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "diagnosticParameters": {
+ "appInstance": "myappinstance",
+ "filePath": "/byos/diagnose"
+ },
+ "api-version": "2021-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_GenerateThreadDump.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_GenerateThreadDump.json
new file mode 100644
index 000000000000..62d191157c49
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_GenerateThreadDump.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "diagnosticParameters": {
+ "appInstance": "myappinstance",
+ "filePath": "/byos/diagnose"
+ },
+ "api-version": "2021-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Get.json
new file mode 100644
index 000000000000..02c52088b46f
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Get.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Deployments_GetLogFileUrl.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_GetLogFileUrl.json
new file mode 100644
index 000000000000..37b32ae7138a
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_GetLogFileUrl.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Deployments_Get_CustomContainer.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Get_CustomContainer.json
new file mode 100644
index 000000000000..ad39ec8ad3b3
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Get_CustomContainer.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Deployments_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_List.json
new file mode 100644
index 000000000000..f60215617ee1
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_List.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Deployments_ListForCluster.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_ListForCluster.json
new file mode 100644
index 000000000000..f60215617ee1
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_ListForCluster.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Deployments_Restart.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Restart.json
new file mode 100644
index 000000000000..36f317fc109d
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Restart.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Deployments_Start.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Start.json
new file mode 100644
index 000000000000..36f317fc109d
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Start.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Deployments_StartJFR.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_StartJFR.json
new file mode 100644
index 000000000000..62a2467dd009
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_StartJFR.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "diagnosticParameters": {
+ "appInstance": "myappinstance",
+ "filePath": "/byos/diagnose",
+ "duration": "60s"
+ },
+ "api-version": "2021-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Stop.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Stop.json
new file mode 100644
index 000000000000..36f317fc109d
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Stop.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Deployments_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Update.json
new file mode 100644
index 000000000000..0cd712cdf830
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-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-09-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-09-01-preview/examples/Deployments_Update_CustomContainer.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Deployments_Update_CustomContainer.json
new file mode 100644
index 000000000000..107fb21e8548
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-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-09-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-09-01-preview/examples/MonitoringSettings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/MonitoringSettings_Get.json
new file mode 100644
index 000000000000..68711d8f5fd2
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/MonitoringSettings_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/MonitoringSettings_UpdatePatch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/MonitoringSettings_UpdatePatch.json
new file mode 100644
index 000000000000..cc403ce56602
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-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-09-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-09-01-preview/examples/MonitoringSettings_UpdatePut.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/MonitoringSettings_UpdatePut.json
new file mode 100644
index 000000000000..cc403ce56602
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-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-09-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-09-01-preview/examples/Operations_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Operations_List.json
new file mode 100644
index 000000000000..87f670333eaf
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Operations_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json
new file mode 100644
index 000000000000..ba309854304b
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Services_CheckNameAvailability.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_CheckNameAvailability.json
new file mode 100644
index 000000000000..98eafa46c531
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_CheckNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "location": "eastus",
+ "availabilityParameters": {
+ "type": "Microsoft.AppPlatform/Spring",
+ "name": "myservice"
+ },
+ "api-version": "2021-09-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-09-01-preview/examples/Services_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_CreateOrUpdate.json
new file mode 100644
index 000000000000..5105610de061
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-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-09-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-09-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json
new file mode 100644
index 000000000000..1e55e91ef0b2
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-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-09-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-09-01-preview/examples/Services_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Delete.json
new file mode 100644
index 000000000000..19aec44dd5e5
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Delete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Services_DisableTestEndpoint.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_DisableTestEndpoint.json
new file mode 100644
index 000000000000..48d95999c3ce
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_DisableTestEndpoint.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Services_EnableTestEndpoint.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_EnableTestEndpoint.json
new file mode 100644
index 000000000000..845d8c0a8e2d
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_EnableTestEndpoint.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Services_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Get.json
new file mode 100644
index 000000000000..0dcd54500d65
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Get.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Services_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_List.json
new file mode 100644
index 000000000000..50e3a5dc53a5
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_List.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Services_ListBySubscription.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_ListBySubscription.json
new file mode 100644
index 000000000000..6864348e2c77
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_ListBySubscription.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Services_ListTestKeys.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_ListTestKeys.json
new file mode 100644
index 000000000000..845d8c0a8e2d
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_ListTestKeys.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Services_RegenerateTestKey.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_RegenerateTestKey.json
new file mode 100644
index 000000000000..bdc2be57fd45
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_RegenerateTestKey.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "regenerateTestKeyRequest": {
+ "keyType": "Primary"
+ },
+ "api-version": "2021-09-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-09-01-preview/examples/Services_Start.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Start.json
new file mode 100644
index 000000000000..ad524000f701
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Start.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {},
+ "404": {},
+ "409": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Stop.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Stop.json
new file mode 100644
index 000000000000..ad524000f701
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Stop.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {},
+ "404": {},
+ "409": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Services_Update.json
new file mode 100644
index 000000000000..27bde247ea04
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-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-09-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-09-01-preview/examples/Skus_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Skus_List.json
new file mode 100644
index 000000000000..e03c04935b20
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Skus_List.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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/preview/2021-09-01-preview/examples/Storages_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_CreateOrUpdate.json
new file mode 100644
index 000000000000..5c75cfc7319d
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_CreateOrUpdate.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "storageResource": {
+ "properties": {
+ "storageType": "StorageAccount",
+ "accountName": "storage-account-name",
+ "accountKey": "account-key-of-storage-account"
+ }
+ },
+ "api-version": "2021-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "storageName": "mystorage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageType": "StorageAccount",
+ "accountName": "storage-account-name"
+ },
+ "type": "Microsoft.AppPlatform/Spring/storages",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/storages/mystorage",
+ "name": "mystorage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageType": "StorageAccount",
+ "accountName": "storage-account-name"
+ },
+ "type": "Microsoft.AppPlatform/Spring/storages",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/storages/mystorage",
+ "name": "mystorage"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "storageType": "StorageAccount",
+ "accountName": "storage-account-name"
+ },
+ "type": "Microsoft.AppPlatform/Spring/storages",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/storages/mystorage",
+ "name": "mystorage"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_Delete.json
new file mode 100644
index 000000000000..64509bb066c4
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "storageName": "mystorage"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_Get.json
new file mode 100644
index 000000000000..b3d45358ca52
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_Get.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "storageName": "mystorage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageType": "StorageAccount",
+ "accountName": "storage-account-name"
+ },
+ "type": "Microsoft.AppPlatform/Spring/storages",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/storages/mystorage",
+ "name": "mystorage"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_List.json
new file mode 100644
index 000000000000..6146cc4ff716
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2021-09-01-preview/examples/Storages_List.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myService"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "storageType": "StorageAccount",
+ "accountName": "storage-account-name"
+ },
+ "type": "Microsoft.AppPlatform/Spring/storages",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/storages/mystorage",
+ "name": "mystorage"
+ }
+ ],
+ "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/storages?$page=2"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/readme.go.md b/specification/appplatform/resource-manager/readme.go.md
index c00cc2c0ff59..9b92ff84080b 100644
--- a/specification/appplatform/resource-manager/readme.go.md
+++ b/specification/appplatform/resource-manager/readme.go.md
@@ -11,7 +11,7 @@ go:
``` yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/appplatform/armappplatform
+module-name: sdk/resourcemanager/appplatform/armappplatform
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
@@ -21,12 +21,22 @@ azure-arm: true
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-preview-2021-09
- tag: package-preview-2021-06
- tag: package-preview-2020-11
- tag: package-2020-07
- tag: package-2019-05-01-preview
```
+### Tag: package-preview-2021-09 and go
+
+These settings apply only when `--tag=package-preview-2021-09 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-preview-2021-09' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-09-01-preview/$(namespace)
+```
+
### Tag: package-preview-2021-06 and go
These settings apply only when `--tag=package-preview-2021-06 --go` is specified on the command line.
diff --git a/specification/appplatform/resource-manager/readme.java.md b/specification/appplatform/resource-manager/readme.java.md
index a8db157ff0c9..a46209b5d669 100644
--- a/specification/appplatform/resource-manager/readme.java.md
+++ b/specification/appplatform/resource-manager/readme.java.md
@@ -16,12 +16,26 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-appplatform
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-preview-2021-09
- tag: package-preview-2021-06
- tag: package-preview-2020-11
- tag: package-2020-07
- tag: package-2019-05-01-preview
```
+### Tag: package-preview-2021-09 and java
+
+These settings apply only when `--tag=package-preview-2021-09 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-preview-2021-09' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.appplatform.v2021_09_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/appplatform/mgmt-v2021_09_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-preview-2021-06 and java
These settings apply only when `--tag=package-preview-2021-06 --java` is specified on the command line.
diff --git a/specification/appplatform/resource-manager/readme.md b/specification/appplatform/resource-manager/readme.md
index c169a4fccdb7..a8608cdf7fec 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-2021-06
+tag: package-preview-2021-09
```
### Suppression
@@ -50,14 +50,23 @@ directive:
```
+### Tag: package-preview-2021-09
+
+These settings apply only when `--tag=package-preview-2021-09` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2021-09'
+input-file:
+ - Microsoft.AppPlatform/preview/2021-09-01-preview/appplatform.json
+```
### 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'
+``` 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.
@@ -103,6 +112,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-node
- repo: azure-sdk-for-js
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_appplatform']
diff --git a/specification/appplatform/resource-manager/readme.python.md b/specification/appplatform/resource-manager/readme.python.md
index 748f15d43ccc..c2a4ee13d67f 100644
--- a/specification/appplatform/resource-manager/readme.python.md
+++ b/specification/appplatform/resource-manager/readme.python.md
@@ -22,6 +22,7 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi) && $(track2)
clear-output-folder: true
batch:
+ - tag: package-preview-2021-09
- tag: package-preview-2021-06
- tag: package-preview-2020-11
- tag: package-2020-07
@@ -35,6 +36,16 @@ clear-output-folder: false
perform-load: false
```
+### Tag: package-preview-2021-09 and python
+
+These settings apply only when `--tag=package-preview-2021-09 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-preview-2021-09' && $(python) && $(track2)
+namespace: azure.mgmt.appplatform.v2021_09_01_preview
+output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2021_09_01_preview
+```
+
### Tag: package-preview-2021-06 and python
These settings apply only when `--tag=package-preview-2021-06 --python` is specified on the command line.
diff --git a/specification/appplatform/resource-manager/readme.ruby.md b/specification/appplatform/resource-manager/readme.ruby.md
index 379a5ac27cb1..4dcb722d5833 100644
--- a/specification/appplatform/resource-manager/readme.ruby.md
+++ b/specification/appplatform/resource-manager/readme.ruby.md
@@ -12,12 +12,23 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-preview-2021-09
- tag: package-preview-2021-06
- tag: package-preview-2020-11
- tag: package-2020-07
- tag: package-2019-05-01-preview
```
+### Tag: package-preview-2021-09 and ruby
+
+These settings apply only when `--tag=package-preview-2021-09 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-preview-2021-09' && $(ruby)
+namespace: "Azure::AppPlatform::Mgmt::V2021_09_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_appplatform/lib
+```
+
### Tag: package-preview-2021-06 and ruby
These settings apply only when `--tag=package-preview-2021-06 --ruby` is specified on the command line.
diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/attestation.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/attestation.json
index c0dc950776d4..f1032e7a85ba 100644
--- a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/attestation.json
+++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2021-06-01-preview/attestation.json
@@ -267,7 +267,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Attestation/attestationProvider/{providerName}/privateEndpointConnections": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Attestation/attestationProviders/{providerName}/privateEndpointConnections": {
"get": {
"tags": [
"PrivateEndpointConnections"
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 7eab57d6a9be..27f75f0ba69f 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
@@ -267,7 +267,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Attestation/attestationProvider/{providerName}/privateEndpointConnections": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Attestation/attestationProviders/{providerName}/privateEndpointConnections": {
"get": {
"tags": [
"PrivateEndpointConnections"
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/authorization-RoleAssignmentsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/authorization-RoleAssignmentsCalls.json
index d7ec0c79ca0c..9eb61cda463f 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/authorization-RoleAssignmentsCalls.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2017-10-01-preview/authorization-RoleAssignmentsCalls.json
@@ -234,7 +234,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the role assignment to create. It can be any valid GUID."
+ "description": "A GUID for the role assignment to create. The name must be unique and different for each role assignment."
},
{
"name": "parameters",
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleAssignmentsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleAssignmentsCalls.json
index cec28e312ab5..72d56b3c3869 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleAssignmentsCalls.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleAssignmentsCalls.json
@@ -230,7 +230,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the role assignment to create. It can be any valid GUID."
+ "description": "A GUID for the role assignment to create. The name must be unique and different for each role assignment."
},
{
"name": "parameters",
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-09-01-preview/authorization-RoleAssignmentsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-09-01-preview/authorization-RoleAssignmentsCalls.json
index 786241892497..62aaca33046b 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-09-01-preview/authorization-RoleAssignmentsCalls.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2018-09-01-preview/authorization-RoleAssignmentsCalls.json
@@ -230,7 +230,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the role assignment to create. It can be any valid GUID."
+ "description": "A GUID for the role assignment to create. The name must be unique and different for each role assignment."
},
{
"name": "parameters",
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 ccd6e28121eb..80055f3d4f33 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
@@ -239,7 +239,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the role assignment to create. It can be any valid GUID."
+ "description": "A GUID for the role assignment to create. The name must be unique and different for each role assignment."
},
{
"name": "parameters",
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentScheduleRequest.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-10-01-preview/RoleAssignmentScheduleRequest.json
index fd87a39ab5ae..70527b318b19 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
@@ -55,7 +55,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the role assignment to create. It can be any valid GUID."
+ "description": "A GUID for the role assignment to create. The name must be unique and different for each role assignment."
},
{
"name": "parameters",
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.json
index 79a41c0510c3..91983c7fdbe1 100644
--- a/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.json
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.json
@@ -234,7 +234,7 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The name of the role assignment to create. It can be any valid GUID."
+ "description": "A GUID for the role assignment to create. The name must be unique and different for each role assignment."
},
{
"name": "parameters",
diff --git a/specification/authorization/resource-manager/readme.go.md b/specification/authorization/resource-manager/readme.go.md
index 60b1d5130283..2e1f38bdf947 100644
--- a/specification/authorization/resource-manager/readme.go.md
+++ b/specification/authorization/resource-manager/readme.go.md
@@ -11,7 +11,7 @@ go:
``` yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/authorization/armauthorization
+module-name: sdk/resourcemanager/authorization/armauthorization
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
diff --git a/specification/authorization/resource-manager/readme.java.md b/specification/authorization/resource-manager/readme.java.md
index 50d86a2a1032..ec0052482c0c 100644
--- a/specification/authorization/resource-manager/readme.java.md
+++ b/specification/authorization/resource-manager/readme.java.md
@@ -142,3 +142,26 @@ java:
regenerate-manager: true
generate-interface: true
```
+
+### Tag: profile-hybrid-2020-09-01 and java
+
+These settings apply only when `--tag=profile-hybrid-2020-09-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'profile-hybrid-2020-09-01' && $(java)
+input-file:
+ - Microsoft.Authorization/stable/2015-07-01/authorization-RoleDefinitionsCalls.json
+ - Microsoft.Authorization/stable/2015-07-01/authorization-ProviderOperationsCalls.json
+ - Microsoft.Authorization/stable/2015-07-01/authorization-ElevateAccessCalls.json
+ - Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.json
+ - Microsoft.Authorization/stable/2015-07-01/authorization-ClassicAdminCalls.json
+directive:
+ - from: authorization-RoleAssignmentsCalls.json
+ where: $.definitions.RoleAssignment.properties.properties
+ transform: >
+ $['x-ms-client-flatten'] = true;
+ - from: authorization-RoleAssignmentsCalls.json
+ where: $.definitions.RoleAssignmentCreateParameters.properties.properties
+ transform: >
+ $['x-ms-client-flatten'] = true;
+```
diff --git a/specification/authorization/resource-manager/readme.md b/specification/authorization/resource-manager/readme.md
index 10ef4af1ddca..9d8db3aa2a21 100644
--- a/specification/authorization/resource-manager/readme.md
+++ b/specification/authorization/resource-manager/readme.md
@@ -379,6 +379,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-node
- repo: azure-sdk-for-js
- repo: azure-sdk-for-ruby
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/automanage.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/automanage.json
new file mode 100644
index 000000000000..fbeea72e8cbb
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/automanage.json
@@ -0,0 +1,1626 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-04-30-preview",
+ "title": "Automanage"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Automanage/bestPractices/{bestPracticeName}": {
+ "get": {
+ "tags": [
+ "BestPractices"
+ ],
+ "operationId": "BestPractices_Get",
+ "description": "Get information about a Automanage best practice",
+ "x-ms-examples": {
+ "Get an Automanage best practice ": {
+ "$ref": "./examples/getBestPractice.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "bestPracticeName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Automanage best practice name."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The Automanage best practice was returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/BestPractice"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/providers/Microsoft.Automanage/bestPractices": {
+ "get": {
+ "tags": [
+ "BestPractices"
+ ],
+ "operationId": "BestPractices_ListByTenant",
+ "description": "Retrieve a list of Automanage best practices",
+ "x-ms-examples": {
+ "List Automanage bestPractices ": {
+ "$ref": "./examples/listBestPracticesByTenant.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. List of Automanage bestPractices configuration profile.",
+ "schema": {
+ "$ref": "#/definitions/BestPracticeList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/providers/Microsoft.Automanage/bestPractices/{bestPracticeName}/versions/{versionName}": {
+ "get": {
+ "tags": [
+ "BestPracticesVersions"
+ ],
+ "operationId": "BestPracticesVersions_Get",
+ "description": "Get information about a Automanage best practice version",
+ "x-ms-examples": {
+ "Get an Automanage best practice version ": {
+ "$ref": "./examples/getBestPracticeVersion.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "bestPracticeName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Automanage best practice name."
+ },
+ {
+ "name": "versionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Automanage best practice version name."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The Automanage best practice version was returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/BestPractice"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/providers/Microsoft.Automanage/bestPractices/{bestPracticeName}/versions": {
+ "get": {
+ "tags": [
+ "BestPracticesVersions"
+ ],
+ "operationId": "BestPracticesVersions_ListByTenant",
+ "description": "Retrieve a list of Automanage best practices versions",
+ "x-ms-examples": {
+ "List Automanage best practices versions ": {
+ "$ref": "./examples/listBestPracticesVersionsByTenant.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "bestPracticeName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Automanage best practice name."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. List of Automanage bestPractices configuration profile versions.",
+ "schema": {
+ "$ref": "#/definitions/BestPracticeList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfiles/{configurationProfileName}": {
+ "put": {
+ "tags": [
+ "ConfigurationProfiles"
+ ],
+ "operationId": "ConfigurationProfiles_CreateOrUpdate",
+ "description": "Creates a configuration profile",
+ "x-ms-examples": {
+ "Create or update configuration profile": {
+ "$ref": "./examples/createOrUpdateConfigurationProfile.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "configurationProfileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the configuration profile."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfile"
+ },
+ "description": "Parameters supplied to create or update configuration profile."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created. The configuration profile was created successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfile"
+ }
+ },
+ "200": {
+ "description": "OK. The configuration profile was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "get": {
+ "tags": [
+ "ConfigurationProfiles"
+ ],
+ "operationId": "ConfigurationProfiles_Get",
+ "description": "Get information about a configuration profile",
+ "x-ms-examples": {
+ "Get a configuration profile": {
+ "$ref": "./examples/getConfigurationProfile.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "configurationProfileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The configuration profile name."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The configuration profile was returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "ConfigurationProfiles"
+ ],
+ "operationId": "ConfigurationProfiles_Delete",
+ "description": "Delete a configuration profile",
+ "x-ms-examples": {
+ "Delete a configuration profile": {
+ "$ref": "./examples/deleteConfigurationProfile.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "configurationProfileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the configuration profile"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "patch": {
+ "tags": [
+ "ConfigurationProfiles"
+ ],
+ "operationId": "ConfigurationProfiles_Update",
+ "description": "Updates a configuration profile",
+ "x-ms-examples": {
+ "Update configuration profile": {
+ "$ref": "./examples/updateConfigurationProfile.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "configurationProfileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the configuration profile."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileUpdate"
+ },
+ "description": "Parameters supplied to update configuration profile."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The configuration profile was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfiles": {
+ "get": {
+ "tags": [
+ "ConfigurationProfiles"
+ ],
+ "operationId": "ConfigurationProfiles_ListByResourceGroup",
+ "description": "Retrieve a list of configuration profile within a given resource group",
+ "x-ms-examples": {
+ "List configuration profiles by resource group": {
+ "$ref": "./examples/listConfigurationProfilesByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. List of configuration profiles.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Automanage/configurationProfiles": {
+ "get": {
+ "tags": [
+ "ConfigurationProfiles"
+ ],
+ "operationId": "ConfigurationProfiles_ListBySubscription",
+ "description": "Retrieve a list of configuration profile within a subscription",
+ "x-ms-examples": {
+ "List configuration profiles by subscription": {
+ "$ref": "./examples/listConfigurationProfilesBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. List of configuration profiles.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfiles/{configurationProfileName}/versions/{versionName}": {
+ "put": {
+ "tags": [
+ "ConfigurationProfilesVersions"
+ ],
+ "operationId": "ConfigurationProfilesVersions_CreateOrUpdate",
+ "description": "Creates a configuration profile version",
+ "x-ms-examples": {
+ "Create or update configuration profile version": {
+ "$ref": "./examples/createOrUpdateConfigurationProfileVersion.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "configurationProfileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the configuration profile."
+ },
+ {
+ "name": "versionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The configuration profile version name."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfile"
+ },
+ "description": "Parameters supplied to create or update configuration profile."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created. The configuration profile was created successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfile"
+ }
+ },
+ "200": {
+ "description": "OK. The configuration profile was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "get": {
+ "tags": [
+ "ConfigurationProfilesVersions"
+ ],
+ "operationId": "ConfigurationProfilesVersions_Get",
+ "description": "Get information about a configuration profile version",
+ "x-ms-examples": {
+ "Get a configuration profile version": {
+ "$ref": "./examples/getConfigurationProfileVersion.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "configurationProfileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The configuration profile name."
+ },
+ {
+ "name": "versionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The configuration profile version name."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The configuration profile was returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "ConfigurationProfilesVersions"
+ ],
+ "operationId": "ConfigurationProfilesVersions_Delete",
+ "description": "Delete a configuration profile version",
+ "x-ms-examples": {
+ "Delete a configuration profile version": {
+ "$ref": "./examples/deleteConfigurationProfileVersion.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "configurationProfileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the configuration profile"
+ },
+ {
+ "name": "versionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The configuration profile version name."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "patch": {
+ "tags": [
+ "ConfigurationProfilesVersions"
+ ],
+ "operationId": "ConfigurationProfilesVersions_Update",
+ "description": "Updates a configuration profile version",
+ "x-ms-examples": {
+ "Update configuration profile version": {
+ "$ref": "./examples/updateConfigurationProfileVersion.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "configurationProfileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the configuration profile."
+ },
+ {
+ "name": "versionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The configuration profile version name."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileUpdate"
+ },
+ "description": "Parameters supplied to update configuration profile."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The configuration profile was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfiles/{configurationProfileName}/versions": {
+ "get": {
+ "tags": [
+ "ConfigurationProfilesVersions"
+ ],
+ "operationId": "ConfigurationProfilesVersions_ListChildResources",
+ "description": "Retrieve a list of configuration profile version for a configuration profile ",
+ "x-ms-examples": {
+ "List configuration profile versions by configuration profile": {
+ "$ref": "./examples/listConfigurationProfileVersions.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "configurationProfileName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the configuration profile."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. List of configuration profiles.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.Automanage/configurationProfileAssignments/{configurationProfileAssignmentName}": {
+ "put": {
+ "tags": [
+ "ConfigurationProfileAssignments"
+ ],
+ "operationId": "ConfigurationProfileAssignments_CreateOrUpdate",
+ "description": "Creates an association between a VM and Automanage configuration profile",
+ "x-ms-examples": {
+ "Create or update configuration profile assignment": {
+ "$ref": "./examples/createOrUpdateConfigurationProfileAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "configurationProfileAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the configuration profile assignment. Only default is supported."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileAssignment"
+ },
+ "description": "Parameters supplied to the create or update configuration profile assignment."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created. The Automanage configuration profile assignment for the VM was created successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileAssignment"
+ }
+ },
+ "200": {
+ "description": "OK. The configuration profile assignment for the VM was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "get": {
+ "tags": [
+ "ConfigurationProfileAssignments"
+ ],
+ "operationId": "ConfigurationProfileAssignments_Get",
+ "description": "Get information about a configuration profile assignment",
+ "x-ms-examples": {
+ "Get a configuration profile assignment": {
+ "$ref": "./examples/getConfigurationProfileAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "configurationProfileAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The configuration profile assignment name."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The configuration profile assignment was returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "ConfigurationProfileAssignments"
+ ],
+ "operationId": "ConfigurationProfileAssignments_Delete",
+ "description": "Delete a configuration profile assignment",
+ "x-ms-examples": {
+ "Delete an configuration profile assignment": {
+ "$ref": "./examples/deleteConfigurationProfileAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "configurationProfileAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the configuration profile assignment"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfileAssignments": {
+ "get": {
+ "tags": [
+ "ConfigurationProfileAssignments"
+ ],
+ "operationId": "ConfigurationProfileAssignments_List",
+ "description": "Get list of configuration profile assignments",
+ "x-ms-examples": {
+ "List configuration profile assignments by resourceGroup": {
+ "$ref": "./examples/listConfigurationProfileAssignmentsByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The list of configuration profile assignments were returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileAssignmentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Automanage/configurationProfileAssignments": {
+ "get": {
+ "tags": [
+ "ConfigurationProfileAssignments"
+ ],
+ "operationId": "ConfigurationProfileAssignments_ListBySubscription",
+ "description": "Get list of configuration profile assignments under a given subscription",
+ "x-ms-examples": {
+ "List configuration profile assignments by subscription": {
+ "$ref": "./examples/listConfigurationProfileAssignmentsBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The list of configuration profile assignments were returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileAssignmentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/providers/Microsoft.Automanage/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available Automanage REST API operations.",
+ "x-ms-examples": {
+ "Lists all of the available Automanage REST API operations": {
+ "$ref": "./examples/listOperations.json"
+ }
+ },
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of operations.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.Automanage/configurationProfileAssignments/{configurationProfileAssignmentName}/reports/{reportName}": {
+ "get": {
+ "tags": [
+ "reports"
+ ],
+ "operationId": "reports_Get",
+ "description": "Get information about a report associated with a configuration profile assignment run",
+ "x-ms-examples": {
+ "Get a report for a configuration profile assignment": {
+ "$ref": "./examples/getReport.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "configurationProfileAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The configuration profile assignment name."
+ },
+ {
+ "name": "reportName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The report name."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The report was returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/Report"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.Automanage/configurationProfileAssignments/{configurationProfileAssignmentName}/reports": {
+ "get": {
+ "tags": [
+ "reports"
+ ],
+ "operationId": "reports_ListByConfigurationProfileAssignments",
+ "description": "Retrieve a list of reports within a given configuration profile assignment",
+ "x-ms-examples": {
+ "List reports by configuration profiles assignment": {
+ "$ref": "./examples/listReportsByconfigurationProfileAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "configurationProfileAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The configuration profile assignment name."
+ },
+ {
+ "$ref": "#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. List of reports.",
+ "schema": {
+ "$ref": "#/definitions/ReportList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "BestPracticeList": {
+ "description": "The response of the list best practice operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BestPractice"
+ },
+ "description": "Result of the list best practice operation."
+ }
+ }
+ },
+ "ConfigurationProfileList": {
+ "description": "The response of the list configuration profile operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfigurationProfile"
+ },
+ "description": "Result of the list ConfigurationProfile operation."
+ }
+ }
+ },
+ "BestPractice": {
+ "description": "Definition of the Automanage best practice.",
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified ID for the best practice. For example, /providers/Microsoft.Automanage/bestPractices/azureBestPracticesProduction",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource. For example, Microsoft.Automanage/bestPractices",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the best practice. For example, azureBestPracticesProduction",
+ "readOnly": true
+ },
+ "properties": {
+ "title": "Properties",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ConfigurationProfileProperties",
+ "description": "Properties of the best practice."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true,
+ "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information."
+ }
+ }
+ },
+ "ConfigurationProfile": {
+ "description": "Definition of the configuration profile.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": false,
+ "$ref": "#/definitions/ConfigurationProfileProperties",
+ "description": "Properties of the configuration profile."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true,
+ "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ]
+ },
+ "ConfigurationProfileProperties": {
+ "description": "Automanage configuration profile properties.",
+ "type": "object",
+ "properties": {
+ "configuration": {
+ "title": "configuration",
+ "$ref": "#/definitions/ConfigurationDictionary",
+ "description": "configuration dictionary of the configuration profile."
+ },
+ "overrides": {
+ "title": "overrides",
+ "$ref": "#/definitions/Overrides",
+ "description": "overrides of the configuration profile."
+ }
+ }
+ },
+ "ConfigurationDictionary": {
+ "description": "The custom configuration for configuration profile. Name and value pairs that define the configuration details of the configuration profile.",
+ "type": "object",
+ "example": {
+ "Antimalware/Enable": true
+ }
+ },
+ "Overrides": {
+ "description": "The custom overrides for configuration profile",
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ },
+ "ConfigurationProfileUpdate": {
+ "description": "Definition of the configuration profile.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": false,
+ "$ref": "#/definitions/ConfigurationProfileProperties",
+ "description": "Properties of the configuration profile."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ]
+ },
+ "ConfigurationProfileAssignmentList": {
+ "description": "The response of the list configuration profile assignment operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfigurationProfileAssignment"
+ },
+ "description": "Result of the list configuration profile assignment operation."
+ }
+ }
+ },
+ "ConfigurationProfileAssignment": {
+ "description": "Configuration profile assignment is an association between a VM and automanage profile configuration.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": false,
+ "$ref": "#/definitions/ConfigurationProfileAssignmentProperties",
+ "description": "Properties of the configuration profile assignment."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true,
+ "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "ConfigurationProfileAssignmentProperties": {
+ "description": "Automanage configuration profile assignment properties.",
+ "type": "object",
+ "properties": {
+ "configurationProfile": {
+ "type": "string",
+ "description": "The Automanage configurationProfile ARM Resource URI."
+ },
+ "targetId": {
+ "type": "string",
+ "description": "The target VM resource URI"
+ },
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The status of onboarding, which only appears in the response."
+ },
+ "profileOverrides": {
+ "$ref": "#/definitions/ConfigurationProfileAssignmentProfileOverrides",
+ "description": "The profileOverrides setting for the configuration profile assignment."
+ }
+ }
+ },
+ "ConfigurationProfileAssignmentProfileOverrides": {
+ "description": "Data related to configuration profile assignment profile overrides.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "UpdateResource": {
+ "description": "Represents an update resource",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags of the resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ReportList": {
+ "description": "The response of the list report operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Report"
+ },
+ "description": "Result of the list report operation."
+ }
+ }
+ },
+ "Report": {
+ "description": "Definition of the report.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "title": "Properties",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AssignmentReportProperties",
+ "description": "The properties for the report."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true,
+ "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "AssignmentReportProperties": {
+ "description": "Data related to the report detail.",
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "type": "string",
+ "description": "Start time of the configuration profile assignment processing."
+ },
+ "endTime": {
+ "type": "string",
+ "description": "End time of the configuration profile assignment processing."
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Last modified time of the configuration profile assignment processing."
+ },
+ "duration": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Duration of the configuration profile assignment processing."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Type of the configuration profile assignment processing (Initial/Consistency)."
+ },
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The status of the configuration profile assignment."
+ },
+ "configurationProfile": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The configurationProfile linked to the assignment."
+ },
+ "resources": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ReportResource"
+ },
+ "description": "List of resources processed by the configuration profile assignment."
+ },
+ "error": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail",
+ "readOnly": true,
+ "description": "Error message, if any, returned by the configuration profile assignment processing."
+ },
+ "reportFormatVersion": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Version of the report format"
+ }
+ }
+ },
+ "ReportResource": {
+ "description": "Details about the resource processed by the configuration profile assignment",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of the resource."
+ },
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ARM id of the resource."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Type of the resource."
+ },
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Status of the resource."
+ },
+ "error": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail",
+ "readOnly": true,
+ "description": "Error message, if any, returned when deploying the resource."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "VmNameParameter": {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/createOrUpdateConfigurationProfile.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/createOrUpdateConfigurationProfile.json
new file mode 100644
index 000000000000..9d2e84a1e0c8
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/createOrUpdateConfigurationProfile.json
@@ -0,0 +1,173 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "configurationProfileName": "customConfigurationProfile",
+ "api-version": "2021-04-30-preview",
+ "parameters": {
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": false,
+ "Backup/Enable": false,
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ },
+ "overrides": [
+ {
+ "priority": 100,
+ "if": {
+ "field": "$.location",
+ "equals": "eastus"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus",
+ "LogAnalytics/Reprovision": true
+ }
+ },
+ {
+ "priority": 200,
+ "if": {
+ "field": "$.location",
+ "equals": "centralcanada"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada",
+ "LogAnalytics/Reprovision": true
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile",
+ "name": "customConfigurationProfile",
+ "type": "Microsoft.Automanage/configurationProfiles",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": false,
+ "Backup/Enable": false,
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ },
+ "overrides": [
+ {
+ "priority": 100,
+ "if": {
+ "field": "$.location",
+ "equals": "eastus"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus",
+ "LogAnalytics/Reprovision": true
+ }
+ },
+ {
+ "priority": 200,
+ "if": {
+ "field": "$.location",
+ "equals": "centralcanada"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada",
+ "LogAnalytics/Reprovision": true
+ }
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-14T02:03:01.1974346Z"
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile",
+ "name": "customConfigurationProfile",
+ "type": "Microsoft.Automanage/configurationProfiles",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": false,
+ "Backup/Enable": false,
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ },
+ "overrides": [
+ {
+ "priority": 100,
+ "if": {
+ "field": "$.location",
+ "equals": "eastus"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus",
+ "LogAnalytics/Reprovision": true
+ }
+ },
+ {
+ "priority": 200,
+ "if": {
+ "field": "$.location",
+ "equals": "centralcanada"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada",
+ "LogAnalytics/Reprovision": true
+ }
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/createOrUpdateConfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/createOrUpdateConfigurationProfileAssignment.json
new file mode 100644
index 000000000000..419004c39974
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/createOrUpdateConfigurationProfileAssignment.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "configurationProfileAssignmentName": "default",
+ "api-version": "2021-04-30-preview",
+ "parameters": {
+ "properties": {
+ "configurationProfile": "/providers/Microsoft.Automanage/bestPractices/AzureBestPracticesProduction"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName/providers/Microsoft.Automanage/AutomanageAssignments/default",
+ "name": "default",
+ "properties": {
+ "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName",
+ "configurationProfile": "/providers/Microsoft.Automanage/bestPractices/AzureBestPracticesProduction",
+ "profileOverrides": null,
+ "status": null
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName/providers/Microsoft.Automanage/AutomanageAssignments/default",
+ "name": "default",
+ "properties": {
+ "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName",
+ "configurationProfile": "/providers/Microsoft.Automanage/bestPractices/AzureBestPracticesProduction",
+ "profileOverrides": null,
+ "status": null
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/createOrUpdateConfigurationProfileVersion.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/createOrUpdateConfigurationProfileVersion.json
new file mode 100644
index 000000000000..af717f6842ba
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/createOrUpdateConfigurationProfileVersion.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "configurationProfileName": "customConfigurationProfile",
+ "versionName": "version1",
+ "api-version": "2021-04-30-preview",
+ "parameters": {
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": false,
+ "Backup/Enable": false,
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ },
+ "overrides": [
+ {
+ "priority": 100,
+ "if": {
+ "field": "$.location",
+ "equals": "eastus"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus",
+ "LogAnalytics/Reprovision": true
+ }
+ },
+ {
+ "priority": 200,
+ "if": {
+ "field": "$.location",
+ "equals": "centralcanada"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada",
+ "LogAnalytics/Reprovision": true
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile/versions/version1",
+ "name": "customConfigurationProfile/version1",
+ "type": "Microsoft.Automanage/configurationProfiles/versions",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": false,
+ "Backup/Enable": false,
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ },
+ "overrides": [
+ {
+ "priority": 100,
+ "if": {
+ "field": "$.location",
+ "equals": "eastus"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus",
+ "LogAnalytics/Reprovision": true
+ }
+ },
+ {
+ "priority": 200,
+ "if": {
+ "field": "$.location",
+ "equals": "centralcanada"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada",
+ "LogAnalytics/Reprovision": true
+ }
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile/versions/version1",
+ "name": "customConfigurationProfile/version1",
+ "type": "Microsoft.Automanage/configurationProfiles/versions",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": false,
+ "Backup/Enable": false,
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ },
+ "overrides": [
+ {
+ "priority": 100,
+ "if": {
+ "field": "$.location",
+ "equals": "eastus"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus",
+ "LogAnalytics/Reprovision": true
+ }
+ },
+ {
+ "priority": 200,
+ "if": {
+ "field": "$.location",
+ "equals": "centralcanada"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada",
+ "LogAnalytics/Reprovision": true
+ }
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/deleteConfigurationProfile.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/deleteConfigurationProfile.json
new file mode 100644
index 000000000000..992f88534c43
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/deleteConfigurationProfile.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "configurationProfileName": "customConfigurationProfile",
+ "api-version": "2021-04-30-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/deleteConfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/deleteConfigurationProfileAssignment.json
new file mode 100644
index 000000000000..18cd1e3e7e6e
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/deleteConfigurationProfileAssignment.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "configurationProfileAssignmentName": "default",
+ "api-version": "2021-04-30-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/deleteConfigurationProfileVersion.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/deleteConfigurationProfileVersion.json
new file mode 100644
index 000000000000..4ee733a0dd9f
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/deleteConfigurationProfileVersion.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "configurationProfileName": "customConfigurationProfile",
+ "versionName": "version1",
+ "api-version": "2021-04-30-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getBestPractice.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getBestPractice.json
new file mode 100644
index 000000000000..cabf946e3401
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getBestPractice.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "bestPracticeName": "azureBestPracticesProduction",
+ "api-version": "2021-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "azureBestPracticesProduction",
+ "id": "/providers/Microsoft.Automanage/bestPractices/azureBestPracticesProduction",
+ "type": "Microsoft.Automanage/bestPractices",
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": true,
+ "Antimalware/EnableRealTimeProtection": true,
+ "Antimalware/RunScheduledScan": true,
+ "Antimalware/ScanType": "Quick",
+ "Antimalware/ScanDay": "7",
+ "Antimalware/ScanTimeInMinutes": "120",
+ "Backup/Enable": true,
+ "Backup/PolicyName": "dailyBackupPolicy",
+ "Backup/TimeZone": "UTC",
+ "Backup/InstantRpRetentionRangeInDays": "2",
+ "Backup/SchedulePolicy/ScheduleRunFrequency": "Daily",
+ "Backup/SchedulePolicy/ScheduleRunTimes": "[ 2017-01-26T00:00:00Z ]",
+ "Backup/SchedulePolicy/SchedulePolicyType": "SimpleSchedulePolicy",
+ "Backup/RetentionPolicy/RetentionPolicyType": "LongTermRetentionPolicy",
+ "Backup/RetentionPolicy/DailySchedule/RetentionTimes": "[ 2017-01-26T00:00:00Z ]",
+ "Backup/RetentionPolicy/DailySchedule/RetentionDuration/Count": "180",
+ "Backup/RetentionPolicy/DailySchedule/RetentionDuration/DurationType": "Days",
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ }
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getBestPracticeVersion.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getBestPracticeVersion.json
new file mode 100644
index 000000000000..8f9c15233dc4
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getBestPracticeVersion.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "bestPracticeName": "azureBestPracticesProduction",
+ "versionName": "version1",
+ "api-version": "2021-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "azureBestPracticesProduction/version1",
+ "id": "/providers/Microsoft.Automanage/bestPractices/azureBestPracticesProduction/versions/version1",
+ "type": "Microsoft.Automanage/bestPractices/versions",
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": true,
+ "Antimalware/EnableRealTimeProtection": true,
+ "Antimalware/RunScheduledScan": true,
+ "Antimalware/ScanType": "Quick",
+ "Antimalware/ScanDay": "7",
+ "Antimalware/ScanTimeInMinutes": "120",
+ "Backup/Enable": true,
+ "Backup/PolicyName": "dailyBackupPolicy",
+ "Backup/TimeZone": "UTC",
+ "Backup/InstantRpRetentionRangeInDays": "2",
+ "Backup/SchedulePolicy/ScheduleRunFrequency": "Daily",
+ "Backup/SchedulePolicy/ScheduleRunTimes": "[ 2017-01-26T00:00:00Z ]",
+ "Backup/SchedulePolicy/SchedulePolicyType": "SimpleSchedulePolicy",
+ "Backup/RetentionPolicy/RetentionPolicyType": "LongTermRetentionPolicy",
+ "Backup/RetentionPolicy/DailySchedule/RetentionTimes": "[ 2017-01-26T00:00:00Z ]",
+ "Backup/RetentionPolicy/DailySchedule/RetentionDuration/Count": "180",
+ "Backup/RetentionPolicy/DailySchedule/RetentionDuration/DurationType": "Days",
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ }
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getConfigurationProfile.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getConfigurationProfile.json
new file mode 100644
index 000000000000..e3badc38e671
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getConfigurationProfile.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "configurationProfileName": "customConfigurationProfile",
+ "api-version": "2021-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile",
+ "name": "customConfigurationProfile",
+ "type": "Microsoft.Automanage/ConfigurationProfiles",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": false,
+ "Backup/Enable": false,
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ },
+ "overrides": [
+ {
+ "priority": 100,
+ "if": {
+ "field": "$.location",
+ "equals": "eastus"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus",
+ "LogAnalytics/Reprovision": true
+ }
+ },
+ {
+ "priority": 200,
+ "if": {
+ "field": "$.location",
+ "equals": "centralcanada"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada",
+ "LogAnalytics/Reprovision": true
+ }
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getConfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getConfigurationProfileAssignment.json
new file mode 100644
index 000000000000..71dcff0a5610
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getConfigurationProfileAssignment.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "configurationProfileAssignmentName": "default",
+ "api-version": "2021-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName/providers/Microsoft.Automanage/configurationProfileAssignments/default",
+ "name": "default",
+ "type": "Microsoft.Automanage/ConfigurationProfileAssignments",
+ "properties": {
+ "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName",
+ "configurationProfile": "/providers/Microsoft.Automanage/bestPractices/AzureBestPracticesDevTest",
+ "profileOverrides": null,
+ "status": "Compliant"
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getConfigurationProfileVersion.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getConfigurationProfileVersion.json
new file mode 100644
index 000000000000..ed72727c99c7
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getConfigurationProfileVersion.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "configurationProfileName": "customConfigurationProfile",
+ "versionName": "version1",
+ "api-version": "2021-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile/versions/version1",
+ "name": "customConfigurationProfile/version1",
+ "type": "Microsoft.Automanage/ConfigurationProfiles/versions",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": false,
+ "Backup/Enable": false,
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ },
+ "overrides": [
+ {
+ "priority": 100,
+ "if": {
+ "field": "$.location",
+ "equals": "eastus"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus",
+ "LogAnalytics/Reprovision": true
+ }
+ },
+ {
+ "priority": 200,
+ "if": {
+ "field": "$.location",
+ "equals": "centralcanada"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada",
+ "LogAnalytics/Reprovision": true
+ }
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getReport.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getReport.json
new file mode 100644
index 000000000000..297f298aec54
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/getReport.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "configurationProfileAssignmentName": "default",
+ "reportName": "b4e9ee6b-1717-4ff0-a8d2-e6d72c33d5f4",
+ "api-version": "2021-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName/providers/Microsoft.Automanage/configurationProfileAssignments/default/reports/b4e9ee6b-1717-4ff0-a8d2-e6d72c33d5f4",
+ "name": "b4e9ee6b-1717-4ff0-a8d2-e6d72c33d5f4",
+ "type": "Microsoft.Automanage/configurationProfileAssignments/reports",
+ "properties": {
+ "startTime": "2021-03-31T22:13:06Z",
+ "endTime": "2021-03-31T22:17:42Z",
+ "lastModifiedTime": "2021-03-31T22:32:42Z",
+ "duration": "PT15M32S",
+ "type": "Consistency",
+ "status": "Conformant",
+ "configurationProfile": "anyConfigurationProfile",
+ "resources": [
+ {
+ "name": "myResourceGroupName",
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName",
+ "type": "Microsoft.Resources/resourceGroups",
+ "status": "Conformant",
+ "error": null
+ }
+ ],
+ "error": null,
+ "reportFormatVersion": "1.0"
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listBestPracticesByTenant.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listBestPracticesByTenant.json
new file mode 100644
index 000000000000..4c4931b5600a
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listBestPracticesByTenant.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2021-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "azureBestPracticesProduction",
+ "id": "/providers/Microsoft.Automanage/bestPractices/azureBestPracticesProduction",
+ "type": "Microsoft.Automanage/bestPractices",
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": true,
+ "Antimalware/EnableRealTimeProtection": true,
+ "Antimalware/RunScheduledScan": true,
+ "Antimalware/ScanType": "Quick",
+ "Antimalware/ScanDay": "7",
+ "Antimalware/ScanTimeInMinutes": "120",
+ "Backup/Enable": true,
+ "Backup/PolicyName": "dailyBackupPolicy",
+ "Backup/TimeZone": "UTC",
+ "Backup/InstantRpRetentionRangeInDays": "2",
+ "Backup/SchedulePolicy/ScheduleRunFrequency": "Daily",
+ "Backup/SchedulePolicy/ScheduleRunTimes": "[ 2017-01-26T00:00:00Z ]",
+ "Backup/SchedulePolicy/SchedulePolicyType": "SimpleSchedulePolicy",
+ "Backup/RetentionPolicy/RetentionPolicyType": "LongTermRetentionPolicy",
+ "Backup/RetentionPolicy/DailySchedule/RetentionTimes": "[ 2017-01-26T00:00:00Z ]",
+ "Backup/RetentionPolicy/DailySchedule/RetentionDuration/Count": "180",
+ "Backup/RetentionPolicy/DailySchedule/RetentionDuration/DurationType": "Days",
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ }
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ },
+ {
+ "name": "azureBestPracticesDevTest",
+ "id": "/providers/Microsoft.Automanage/bestPractices/azureBestPracticesDevTest",
+ "type": "Microsoft.Automanage/bestPractices",
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": true,
+ "Antimalware/EnableRealTimeProtection": true,
+ "Antimalware/RunScheduledScan": true,
+ "Antimalware/ScanType": "Quick",
+ "Antimalware/ScanDay": "7",
+ "Antimalware/ScanTimeInMinutes": "120",
+ "Backup/Enable": false,
+ "VMInsights/Enable": false,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ }
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listBestPracticesVersionsByTenant.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listBestPracticesVersionsByTenant.json
new file mode 100644
index 000000000000..8f3bb5631750
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listBestPracticesVersionsByTenant.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "bestPracticeName": "azureBestPracticesProduction",
+ "api-version": "2021-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "azureBestPracticesProduction/version1",
+ "id": "/providers/Microsoft.Automanage/bestPractices/azureBestPracticesProduction/versions/version1",
+ "type": "Microsoft.Automanage/bestPractices/versions",
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": true,
+ "Antimalware/EnableRealTimeProtection": true,
+ "Antimalware/RunScheduledScan": true,
+ "Antimalware/ScanType": "Quick",
+ "Antimalware/ScanDay": "7",
+ "Antimalware/ScanTimeInMinutes": "120",
+ "Backup/Enable": true,
+ "Backup/PolicyName": "dailyBackupPolicy",
+ "Backup/TimeZone": "UTC",
+ "Backup/InstantRpRetentionRangeInDays": "2",
+ "Backup/SchedulePolicy/ScheduleRunFrequency": "Daily",
+ "Backup/SchedulePolicy/ScheduleRunTimes": "[ 2017-01-26T00:00:00Z ]",
+ "Backup/SchedulePolicy/SchedulePolicyType": "SimpleSchedulePolicy",
+ "Backup/RetentionPolicy/RetentionPolicyType": "LongTermRetentionPolicy",
+ "Backup/RetentionPolicy/DailySchedule/RetentionTimes": "[ 2017-01-26T00:00:00Z ]",
+ "Backup/RetentionPolicy/DailySchedule/RetentionDuration/Count": "180",
+ "Backup/RetentionPolicy/DailySchedule/RetentionDuration/DurationType": "Days",
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ }
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ },
+ {
+ "name": "azureBestPracticesProduction/version2",
+ "id": "/providers/Microsoft.Automanage/bestPractices/azureBestPracticesProduction/versions/version2",
+ "type": "Microsoft.Automanage/bestPractices/versions",
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": true,
+ "Antimalware/EnableRealTimeProtection": true,
+ "Antimalware/RunScheduledScan": true,
+ "Antimalware/ScanType": "Quick",
+ "Antimalware/ScanDay": "7",
+ "Antimalware/ScanTimeInMinutes": "120",
+ "Backup/Enable": false,
+ "VMInsights/Enable": false,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ }
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfileAssignmentsByResourceGroup.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfileAssignmentsByResourceGroup.json
new file mode 100644
index 000000000000..5bceb993e53a
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfileAssignmentsByResourceGroup.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "api-version": "2021-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName/providers/Microsoft.Automanage/configurationProfileAssignments/default",
+ "name": "default",
+ "type": "Microsoft.Automanage/ConfigurationProfileAssignments",
+ "properties": {
+ "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName",
+ "configurationProfile": "/providers/Microsoft.Automanage/bestPractices/AzureBestPracticesDevTest",
+ "profileOverrides": null,
+ "status": "Compliant"
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ },
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myArcMachineName/providers/Microsoft.Automanage/configurationProfileAssignments/default",
+ "name": "default",
+ "type": "Microsoft.Automanage/ConfigurationProfileAssignments",
+ "properties": {
+ "targetId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myArcMachineName",
+ "configurationProfile": "/providers/Microsoft.Automanage/bestPractices/AzureBestPracticesProduction",
+ "profileOverrides": null,
+ "status": "NotCompliant "
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfileAssignmentsBySubscription.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfileAssignmentsBySubscription.json
new file mode 100644
index 000000000000..c02a50c28681
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfileAssignmentsBySubscription.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "api-version": "2021-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName/providers/Microsoft.Automanage/configurationProfileAssignments/default",
+ "name": "default",
+ "type": "Microsoft.Automanage/ConfigurationProfileAssignments",
+ "properties": {
+ "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName",
+ "configurationProfile": "/providers/Microsoft.Automanage/bestPractices/AzureBestPracticesDevTest",
+ "profileOverrides": null,
+ "status": "Compliant"
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ },
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myArcMachineName/providers/Microsoft.Automanage/configurationProfileAssignments/default",
+ "name": "default",
+ "type": "Microsoft.Automanage/ConfigurationProfileAssignments",
+ "properties": {
+ "targetId": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myArcMachineName",
+ "configurationProfile": "/providers/Microsoft.Automanage/bestPractices/AzureBestPracticesProduction",
+ "profileOverrides": null,
+ "status": "NotCompliant "
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfileVersions.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfileVersions.json
new file mode 100644
index 000000000000..b74236edd66e
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfileVersions.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "configurationProfileName": "customConfigurationProfile",
+ "api-version": "2021-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile/versions/versions1",
+ "name": "customConfigurationProfile/version1",
+ "type": "Microsoft.Automanage/ConfigurationProfiles/versions",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": false,
+ "Backup/Enable": false,
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ },
+ "overrides": [
+ {
+ "priority": 100,
+ "if": {
+ "field": "$.location",
+ "equals": "eastus"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus",
+ "LogAnalytics/Reprovision": true
+ }
+ },
+ {
+ "priority": 200,
+ "if": {
+ "field": "$.location",
+ "equals": "centralcanada"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada",
+ "LogAnalytics/Reprovision": true
+ }
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile/versions/version2",
+ "name": "customConfigurationProfile/version2",
+ "type": "Microsoft.Automanage/ConfigurationProfiles/versions",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": false,
+ "Backup/Enable": false,
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ }
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfilesByResourceGroup.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfilesByResourceGroup.json
new file mode 100644
index 000000000000..988bdc60d6cd
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfilesByResourceGroup.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "api-version": "2021-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile",
+ "name": "customConfigurationProfile",
+ "type": "Microsoft.Automanage/ConfigurationProfiles",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": false,
+ "Backup/Enable": false,
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ },
+ "overrides": [
+ {
+ "priority": 100,
+ "if": {
+ "field": "$.location",
+ "equals": "eastus"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus",
+ "LogAnalytics/Reprovision": true
+ }
+ },
+ {
+ "priority": 200,
+ "if": {
+ "field": "$.location",
+ "equals": "centralcanada"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada",
+ "LogAnalytics/Reprovision": true
+ }
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile2",
+ "name": "customConfigurationProfile2",
+ "type": "Microsoft.Automanage/ConfigurationProfiles",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": false,
+ "Backup/Enable": false,
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ }
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfilesBySubscription.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfilesBySubscription.json
new file mode 100644
index 000000000000..00d814eac4fa
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listConfigurationProfilesBySubscription.json
@@ -0,0 +1,127 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "api-version": "2021-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile",
+ "name": "customConfigurationProfile",
+ "type": "Microsoft.Automanage/ConfigurationProfiles",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": false,
+ "Backup/Enable": false,
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ },
+ "overrides": [
+ {
+ "priority": 100,
+ "if": {
+ "field": "$.location",
+ "equals": "eastus"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus",
+ "LogAnalytics/Reprovision": true
+ }
+ },
+ {
+ "priority": 200,
+ "if": {
+ "field": "$.location",
+ "equals": "centralcanada"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada",
+ "LogAnalytics/Reprovision": true
+ }
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile2",
+ "name": "customConfigurationProfile2",
+ "type": "Microsoft.Automanage/ConfigurationProfiles",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": false,
+ "Backup/Enable": false,
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ },
+ "overrides": [
+ {
+ "priority": 100,
+ "if": {
+ "field": "$.location",
+ "equals": "eastus"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/eastus",
+ "LogAnalytics/Reprovision": true
+ }
+ },
+ {
+ "priority": 200,
+ "if": {
+ "field": "$.location",
+ "equals": "centralcanada"
+ },
+ "then": {
+ "LogAnalytics/Enable": true,
+ "LogAnalytics/Workspace": "/subscriptions/abc/resourceGroups/xyz/providers/Microsoft.La/Workspaces/centralcanada",
+ "LogAnalytics/Reprovision": true
+ }
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listOperations.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listOperations.json
new file mode 100644
index 000000000000..8926f7e7eb16
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listOperations.json
@@ -0,0 +1,131 @@
+{
+ "parameters": {
+ "api-version": "2021-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Automanage/register/action",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Automanage Resource Provider",
+ "operation": "Register the Automanage Resource Provider",
+ "description": "Registers the subscription for the Automanage Resource Provider"
+ }
+ },
+ {
+ "name": "Microsoft.Automanage/configurationProfileAssignments/write",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/configurationProfileAssignments",
+ "operation": "Microsoft.Automanage/configurationProfileAssignments/write",
+ "description": "Create new configuration profile assignment."
+ }
+ },
+ {
+ "name": "Microsoft.Automanage/configurationProfileAssignments/read",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/configurationProfileAssignments",
+ "operation": "Microsoft.Automanage/configurationProfileAssignments/read",
+ "description": "Get configuration profile assignment."
+ }
+ },
+ {
+ "name": "Microsoft.Automanage/configurationProfileAssignments/delete",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/configurationProfileAssignments",
+ "operation": "Microsoft.Automanage/configurationProfileAssignments/delete",
+ "description": "Delete configuration profile assignment."
+ }
+ },
+ {
+ "name": "Microsoft.Automanage/bestPractices/read",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/bestPractices",
+ "operation": "Microsoft.Automanage/bestPractices/read",
+ "description": "Get Automanage bestPractice."
+ }
+ },
+ {
+ "name": "Microsoft.Automanage/bestPractices/versions/read",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/bestPractices/versions",
+ "operation": "Microsoft.Automanage/bestPractices/versions/read",
+ "description": "Get Automanage bestPractice version."
+ }
+ },
+ {
+ "name": "Microsoft.Automanage/configurationProfiles/write",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/configurationProfiles",
+ "operation": "Microsoft.Automanage/configurationProfiles/write",
+ "description": "Create new Automanage Configuration Profile ."
+ }
+ },
+ {
+ "name": "Microsoft.Automanage/configurationProfiles/read",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/configurationProfiles",
+ "operation": "Microsoft.Automanage/configurationProfiles/read",
+ "description": "Get Automanage Configuration Profile."
+ }
+ },
+ {
+ "name": "Microsoft.Automanage/configurationProfiles/delete",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/configurationProfiles",
+ "operation": "Microsoft.Automanage/configurationProfiles/delete",
+ "description": "Delete Automanage Configuration Profile."
+ }
+ },
+ {
+ "name": "Microsoft.Automanage/configurationProfiles/versions/write",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/configurationProfiles/versions",
+ "operation": "Microsoft.Automanage/configurationProfiles/versions/write",
+ "description": "Create new Automanage Configuration Profile version."
+ }
+ },
+ {
+ "name": "Microsoft.Automanage/configurationProfiles/versions/read",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/configurationProfiles/versions",
+ "operation": "Microsoft.Automanage/configurationProfiles/versions/read",
+ "description": "Get Automanage Configuration Profile version."
+ }
+ },
+ {
+ "name": "Microsoft.Automanage/configurationProfiles/versions/delete",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/configurationProfiles/versions",
+ "operation": "Microsoft.Automanage/configurationProfiles/versions/delete",
+ "description": "Delete Automanage Configuration Profile version."
+ }
+ },
+ {
+ "name": "Microsoft.Automanage/configurationProfileAssignments/reports/read",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/configurationProfileAssignments/reports",
+ "operation": "Microsoft.Automanage/configurationProfileAssignments/reports/read",
+ "description": "Get report for configuration profile assignment."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listReportsByconfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listReportsByconfigurationProfileAssignment.json
new file mode 100644
index 000000000000..d90ec6e724fc
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/listReportsByconfigurationProfileAssignment.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "configurationProfileAssignmentName": "default",
+ "api-version": "2021-04-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName/providers/Microsoft.Automanage/configurationProfileAssignments/default/reports/b4e9ee6b-1717-4ff0-a8d2-e6d72c33d5f4",
+ "name": "b4e9ee6b-1717-4ff0-a8d2-e6d72c33d5f4",
+ "type": "Microsoft.Automanage/configurationProfileAssignments/reports",
+ "properties": {
+ "startTime": "2021-03-31T22:13:06Z",
+ "endTime": "2021-03-31T22:17:42Z",
+ "lastModifiedTime": "2021-03-31T22:32:42Z",
+ "duration": "PT15M32S",
+ "type": "Consistency",
+ "status": "Conformant",
+ "configurationProfile": "anyConfigurationProfile",
+ "resources": [
+ {
+ "name": "myResourceGroupName",
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName",
+ "type": "Microsoft.Resources/resourceGroups",
+ "status": "Conformant",
+ "error": null
+ }
+ ],
+ "error": null,
+ "reportFormatVersion": "1.0"
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ },
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMName/providers/Microsoft.Automanage/configurationProfileAssignments/default/reports/142cd92e-6413-49ba-94b0-8e74f251d828",
+ "name": "142cd92e-6413-49ba-94b0-8e74f251d828",
+ "type": "Microsoft.Automanage/configurationProfileAssignments/reports",
+ "properties": {
+ "startTime": "2021-03-31T22:13:06Z",
+ "endTime": "2021-03-31T22:17:42Z",
+ "lastModifiedTime": "2021-03-31T22:32:42Z",
+ "duration": "PT15M32S",
+ "type": "Consistency",
+ "status": "Conformant",
+ "configurationProfile": "anyConfigurationProfile",
+ "resources": [
+ {
+ "name": "myResourceGroupName",
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName",
+ "type": "Microsoft.Resources/resourceGroups",
+ "status": "Conformant",
+ "error": null
+ }
+ ],
+ "error": null,
+ "reportFormatVersion": "1.0"
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/updateConfigurationProfile.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/updateConfigurationProfile.json
new file mode 100644
index 000000000000..95984fa0de14
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/updateConfigurationProfile.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "configurationProfileName": "customConfigurationProfile",
+ "api-version": "2021-04-30-preview",
+ "parameters": {
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": false,
+ "Backup/Enable": false,
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile",
+ "name": "customConfigurationProfile",
+ "type": "Microsoft.Automanage/configurationProfiles",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": false,
+ "Backup/Enable": false,
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ }
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/updateConfigurationProfileVersion.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/updateConfigurationProfileVersion.json
new file mode 100644
index 000000000000..13efe09f5eca
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2021-04-30-preview/examples/updateConfigurationProfileVersion.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "configurationProfileName": "customConfigurationProfile",
+ "versionName": "version1",
+ "api-version": "2021-04-30-preview",
+ "parameters": {
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": false,
+ "Backup/Enable": false,
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/customConfigurationProfile/versions/version1",
+ "name": "customConfigurationProfile/version1",
+ "type": "Microsoft.Automanage/configurationProfiles/versions",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configuration": {
+ "Antimalware/Enable": false,
+ "Backup/Enable": false,
+ "VMInsights/Enable": true,
+ "AzureSecurityCenter/Enable": true,
+ "UpdateManagement/Enable": true,
+ "ChangeTrackingAndInventory/Enable": true,
+ "GuestConfiguration/Enable": true,
+ "LogAnalytics/Enable": true,
+ "BootDiagnostics/Enable": true
+ }
+ },
+ "systemData": {
+ "createdBy": "user1@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "user2@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/readme.md b/specification/automanage/resource-manager/readme.md
index c2b15407698e..15d7cdc9e7b9 100644
--- a/specification/automanage/resource-manager/readme.md
+++ b/specification/automanage/resource-manager/readme.md
@@ -31,6 +31,19 @@ openapi-type: arm
tag: package-2020-06-30-preview
```
+### Tag: package-2021-04-30-preview
+
+These settings apply only when `--tag=package-2021-04-30-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-04-30-preview'
+input-file:
+- Microsoft.Automanage/preview/2021-04-30-preview/automanage.json
+directive:
+ - suppress: R3010
+ from: Microsoft.Automanage/preview/2021-04-30-preview/automanage.json
+ reason: list by immediate parent operations are defined
+```
+
### Tag: package-2020-06-30-preview
These settings apply only when `--tag=package-2020-06-30-preview` is specified on the command line.
@@ -48,6 +61,11 @@ directive:
from: automanage.json
where: $.paths
reason: 'Microsoft.Automanage is a proxy resource provider under Microsoft. Please refer PR https://github.com/Azure/azure-rest-api-specs-pr/pull/1283'
+ - suppress: R3018 # EnumInsteadOfBoolean - Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: isDataAction"
+ where:
+ - $.definitions.Operation.properties.isDataAction
+ from: types.json
+ reason: its per the RPC specification
```
---
diff --git a/specification/automation/resource-manager/readme.go.md b/specification/automation/resource-manager/readme.go.md
index 073c5412e899..5cdbc0918df2 100644
--- a/specification/automation/resource-manager/readme.go.md
+++ b/specification/automation/resource-manager/readme.go.md
@@ -11,7 +11,7 @@ go:
``` yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/automation/armautomation
+module-name: sdk/resourcemanager/automation/armautomation
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
diff --git a/specification/automation/resource-manager/readme.md b/specification/automation/resource-manager/readme.md
index 6f2106821aa7..9c5c06b99dbe 100644
--- a/specification/automation/resource-manager/readme.md
+++ b/specification/automation/resource-manager/readme.md
@@ -326,6 +326,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-sdk-for-ruby
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/BackupLocations.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/BackupLocations.json
new file mode 100644
index 000000000000..3717a024a0d1
--- /dev/null
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/BackupLocations.json
@@ -0,0 +1,539 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-09-01",
+ "title": "BackupManagementClient",
+ "description": "The Admin Backup Management Client."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the list of backup locations.": {
+ "$ref": "./examples/BackupLocations/List.json"
+ }
+ },
+ "description": "Returns the list of backup locations.",
+ "tags": [
+ "BackupLocations"
+ ],
+ "operationId": "BackupLocations_List",
+ "parameters": [
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "Backups.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SkipParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupLocationList"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}": {
+ "get": {
+ "x-ms-examples": {
+ "Returns a specific fileshare backup location based on name.": {
+ "$ref": "./examples/BackupLocations/GetFileshare.json"
+ },
+ "Returns a specific blob backup location based on name.": {
+ "$ref": "./examples/BackupLocations/GetBlob.json"
+ }
+ },
+ "description": "Returns a specific backup location based on name.",
+ "tags": [
+ "BackupLocations"
+ ],
+ "operationId": "BackupLocations_Get",
+ "parameters": [
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/BackupLocationParameter"
+ },
+ {
+ "$ref": "Backups.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupLocation"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Put update new fileshare backup location.": {
+ "$ref": "./examples/BackupLocations/PutFileshare.json"
+ },
+ "Put update new blob backup location.": {
+ "$ref": "./examples/BackupLocations/PutBlob.json"
+ },
+ "Blank put clear backup location.": {
+ "$ref": "./examples/BackupLocations/BlankPut.json"
+ }
+ },
+ "description": "Put update a backup location.",
+ "tags": [
+ "BackupLocations"
+ ],
+ "operationId": "BackupLocations_Set",
+ "parameters": [
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/BackupLocationParameter"
+ },
+ {
+ "$ref": "Backups.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/BackupLocationObjectParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupLocation"
+ }
+ },
+ "202": {
+ "description": "ACCEPTED",
+ "schema": {
+ "$ref": "#/definitions/BackupLocation"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ },
+ "patch": {
+ "x-ms-examples": {
+ "Patch update new fileshare backup location.": {
+ "$ref": "./examples/BackupLocations/PatchFileshare.json"
+ },
+ "Patch update new blob backup location.": {
+ "$ref": "./examples/BackupLocations/PatchBlob.json"
+ }
+ },
+ "description": "Patch update a backup location.",
+ "tags": [
+ "BackupLocations"
+ ],
+ "operationId": "BackupLocations_Update",
+ "parameters": [
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/BackupLocationParameter"
+ },
+ {
+ "$ref": "Backups.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/BackupLocationObjectParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupLocation"
+ }
+ },
+ "202": {
+ "description": "ACCEPTED",
+ "schema": {
+ "$ref": "#/definitions/BackupLocation"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/createBackup": {
+ "post": {
+ "x-ms-examples": {
+ "Back up a specific location.": {
+ "$ref": "./examples/BackupLocations/Backup.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "description": "Back up a specific location.",
+ "tags": [
+ "BackupLocations"
+ ],
+ "operationId": "BackupLocations_CreateBackup",
+ "parameters": [
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/BackupLocationParameter"
+ },
+ {
+ "$ref": "Backups.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "Backups.json#/definitions/Backup"
+ }
+ },
+ "202": {
+ "description": "ACCEPTED",
+ "schema": {
+ "$ref": "Backups.json#/definitions/Backup"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/pruneExternalStore": {
+ "post": {
+ "x-ms-examples": {
+ "Prune the external backup store": {
+ "$ref": "./examples/BackupLocations/Prune.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "description": "Prune the external backup store.",
+ "tags": [
+ "BackupLocations"
+ ],
+ "operationId": "BackupLocations_PruneExternalStore",
+ "parameters": [
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/BackupLocationParameter"
+ },
+ {
+ "$ref": "#/parameters/PruneBackupStoreOptionParameter"
+ },
+ {
+ "$ref": "Backups.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PruneList"
+ }
+ },
+ "202": {
+ "description": "ACCEPTED"
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "BackupLocation": {
+ "description": "Information about the backup location.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of a backup location.",
+ "$ref": "#/definitions/BackupLocationModel",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/definitions/Resource"
+ }
+ ]
+ },
+ "BackupLocationModel": {
+ "type": "object",
+ "description": "Properties of a backup location.",
+ "properties": {
+ "externalStoreDefault": {
+ "description": "Information about an external storage location.",
+ "$ref": "#/definitions/ExternalStore",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ExternalStore": {
+ "type": "object",
+ "description": "Information about an external storage location.",
+ "properties": {
+ "path": {
+ "description": "Path to the update fileshare location",
+ "type": "string"
+ },
+ "userName": {
+ "description": "Username to access the fileshare location.",
+ "type": "string"
+ },
+ "password": {
+ "description": "Password to access the fileshare location.",
+ "type": "string"
+ },
+ "blobStorageUrl": {
+ "description": "Url to the update blob location",
+ "type": "string"
+ },
+ "blobStorageKey": {
+ "description": "Key to access the blob location.",
+ "type": "string"
+ },
+ "encryptionCertBase64": {
+ "description": "The base64 raw data for the backup encryption certificate.",
+ "type": "string"
+ },
+ "encryptionCertThumbprint": {
+ "description": "The thumbprint of the encryption certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "backupFrequencyInHours": {
+ "description": "The interval, in hours, for the frequency that the scheduler takes a backup.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "availableCapacity": {
+ "description": "Free space at the backup location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isBackupSchedulerEnabled": {
+ "description": "True if the backup scheduler is enabled.",
+ "type": "boolean"
+ },
+ "nextBackupTime": {
+ "description": "The scheduled time of the next backup.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "lastBackupTime": {
+ "description": "Time of backup.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "backupRetentionPeriodInDays": {
+ "description": "The retention period, in days, for backs in the storage location.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "BackupLocationList": {
+ "type": "object",
+ "description": "List of backup locations.",
+ "properties": {
+ "value": {
+ "description": "List of backup locations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BackupLocation"
+ }
+ },
+ "nextLink": {
+ "description": "URI to the next page.",
+ "type": "string"
+ }
+ }
+ },
+ "PruneBackupStoreOperationType": {
+ "description": "Prune backup store operation type.",
+ "type": "string",
+ "enum": [
+ "Default",
+ "DryRun"
+ ],
+ "x-ms-enum": {
+ "name": "PruneBackupStoreOperationType",
+ "modelAsString": false
+ }
+ },
+ "PruneBackupStoreOperationOptionModel": {
+ "type": "object",
+ "description": "Prune backup store operation model.",
+ "properties": {
+ "operationType": {
+ "description": "Operation type.",
+ "$ref": "#/definitions/PruneBackupStoreOperationType"
+ }
+ }
+ },
+ "PruneModel": {
+ "type": "object",
+ "description": "Properties for a prune list.",
+ "properties": {
+ "pathsToDelete": {
+ "description": "Garbage file list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PruneList": {
+ "type": "object",
+ "description": "List of files to delete.",
+ "properties": {
+ "properties": {
+ "description": "Holds information for a backup.",
+ "$ref": "#/definitions/PruneModel",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "BackupLocationParameter": {
+ "name": "location",
+ "in": "path",
+ "description": "Name of the backup location.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "BackupLocationObjectParameter": {
+ "name": "backup",
+ "in": "body",
+ "description": "Backup location object.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BackupLocation"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "PruneBackupStoreOptionParameter": {
+ "name": "option",
+ "in": "body",
+ "description": "Prune operation option.",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/PruneBackupStoreOperationOptionModel"
+ },
+ "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/backup/Microsoft.Backup.Admin/preview/2021-09-01/Backups.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/Backups.json
new file mode 100644
index 000000000000..85bbe37ed873
--- /dev/null
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/Backups.json
@@ -0,0 +1,377 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-09-01",
+ "title": "BackupManagementClient",
+ "description": "The Admin Backup Management Client."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups": {
+ "get": {
+ "x-ms-examples": {
+ "Returns a list of backups from a location.": {
+ "$ref": "./examples/Backups/List.json"
+ }
+ },
+ "description": "Returns a list of backups from a location.",
+ "tags": [
+ "Backups"
+ ],
+ "operationId": "Backups_List",
+ "parameters": [
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "BackupLocations.json#/parameters/BackupLocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SkipParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/BackupList"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}": {
+ "get": {
+ "x-ms-examples": {
+ "Returns a backup from a location based on name.": {
+ "$ref": "./examples/Backups/Get.json"
+ }
+ },
+ "description": "Returns a backup from a location based on name.",
+ "tags": [
+ "Backups"
+ ],
+ "operationId": "Backups_Get",
+ "parameters": [
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "BackupLocations.json#/parameters/BackupLocationParameter"
+ },
+ {
+ "$ref": "#/parameters/BackupParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Backup"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Backup.Admin/backupLocations/{location}/backups/{backup}/restore": {
+ "post": {
+ "x-ms-examples": {
+ "Restore a backup.": {
+ "$ref": "./examples/Backups/Restore.json"
+ },
+ "Restore a single role from backup.": {
+ "$ref": "./examples/Backups/SingleRepoRestore.json"
+ }
+ },
+ "description": "Restore a backup.",
+ "tags": [
+ "Backups"
+ ],
+ "operationId": "Backups_Restore",
+ "parameters": [
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "BackupLocations.json#/parameters/BackupLocationParameter"
+ },
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/BackupParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/RestoreOptionsParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "ACCEPTED"
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Backup": {
+ "description": "Information related to a backup.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties for a backup.",
+ "$ref": "#/definitions/BackupModel",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../stable/2018-09-01/Backup.json#/definitions/Resource"
+ }
+ ]
+ },
+ "BackupModel": {
+ "type": "object",
+ "description": "Properties for a backup.",
+ "properties": {
+ "backupInfo": {
+ "description": "Holds information for a backup.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BackupInfo"
+ }
+ }
+ },
+ "BackupInfo": {
+ "type": "object",
+ "description": "Holds information for a backup.",
+ "properties": {
+ "backupDataVersion": {
+ "description": "Version of the backup data.",
+ "type": "string",
+ "readOnly": true
+ },
+ "roleStatus": {
+ "description": "Backup status for each role.",
+ "$ref": "#/definitions/RoleOperationStatusList",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Current status of the backup.",
+ "$ref": "#/definitions/OperationStatus",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "description": "Creation time of the backup.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "timeTakenToCreate": {
+ "description": "Duration to create the backup.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deploymentID": {
+ "description": "Deployment Id of the stamp.",
+ "type": "string",
+ "readOnly": true
+ },
+ "stampVersion": {
+ "description": "Azure Stack stamp version of the backup.",
+ "type": "string",
+ "readOnly": true
+ },
+ "oemVersion": {
+ "description": "OEM version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isCloudRecoveryReady": {
+ "description": "True if the backup can be used for cloud recovery scenario.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "encryptionCertThumbprint": {
+ "description": "The thumbprint of the certificate used to encrypt the backup encryption key.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationStatus": {
+ "description": "Status of an operation.",
+ "type": "string",
+ "enum": [
+ "Creating",
+ "Queued",
+ "Running",
+ "Deleted",
+ "Failed",
+ "Skipped",
+ "PartialSucceeded",
+ "Succeeded"
+ ],
+ "x-ms-enum": {
+ "name": "OperationStatus",
+ "modelAsString": false
+ }
+ },
+ "RoleOperationStatusList": {
+ "description": "object",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoleOperationStatus"
+ }
+ },
+ "RoleOperationStatus": {
+ "description": "Backup status for a role.",
+ "type": "object",
+ "properties": {
+ "roleName": {
+ "description": "Name of the role.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Status of the role.",
+ "$ref": "#/definitions/OperationStatus"
+ }
+ }
+ },
+ "BackupList": {
+ "type": "object",
+ "description": "List of backups.",
+ "properties": {
+ "value": {
+ "description": "List of backups.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Backup"
+ }
+ },
+ "nextLink": {
+ "description": "URI to the next page.",
+ "type": "string"
+ }
+ }
+ },
+ "RestoreOptions": {
+ "type": "object",
+ "description": "Properties for restore options.",
+ "properties": {
+ "roleName": {
+ "description": "The Azure Stack role name for restore, set it to empty for all infrastructure role",
+ "type": "string"
+ },
+ "decryptionCertBase64": {
+ "description": "The certificate file raw data in Base64 string. This should be the .pfx file with the private key.",
+ "type": "string"
+ },
+ "decryptionCertPassword": {
+ "description": "The password for the decryption certificate.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client API version.",
+ "required": true,
+ "type": "string",
+ "default": "2021-09-01"
+ },
+ "BackupParameter": {
+ "name": "backup",
+ "in": "path",
+ "description": "Name of the backup.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "RestoreOptionsParameter": {
+ "name": "restoreOptions",
+ "in": "body",
+ "description": "Restore options.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RestoreOptions"
+ },
+ "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/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/Backup.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/Backup.json
new file mode 100644
index 000000000000..de639ebe4949
--- /dev/null
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/Backup.json
@@ -0,0 +1,162 @@
+{
+ "parameters": {
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/system.local/providers/Microsoft.Backup.Admin/backupLocations/local/backups/64e8625a-8dc0-49df-a195-932901b4be81",
+ "name": "local/64e8625a-8dc0-49df-a195-932901b4be81",
+ "type": "Microsoft.Backup.Admin/backupLocations/backups",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "backupInfo": {
+ "backupDataVersion": "1.0.1",
+ "roleStatus": [
+ {
+ "roleName": "NRP",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "SRP",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "CRP",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultInternalControlPlane",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultInternalDataPlane",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultControlPlane",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultDataPlane",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultNamingService",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "WAS",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "ECE",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "Domain",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "CA",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "ACS",
+ "status": "Succeeded"
+ }
+ ],
+ "status": "Succeeded",
+ "createdDateTime": "2018-08-28T07:47:11.3081476Z",
+ "timeTakenToCreate": "PT20M48.5970829S",
+ "stampVersion": "1.1809.0.25",
+ "oemVersion": null,
+ "isCloudRecoveryReady": true,
+ "deploymentID": "d3236bc0-6a46-4877-a9da-6fe69e9661df",
+ "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8"
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/system.local/providers/Microsoft.Backup.Admin/backupLocations/local/backups/64e8625a-8dc0-49df-a195-932901b4be81",
+ "name": "local/64e8625a-8dc0-49df-a195-932901b4be81",
+ "type": "Microsoft.Backup.Admin/backupLocations/backups",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "backupInfo": {
+ "backupDataVersion": "1.0.1",
+ "roleStatus": [
+ {
+ "roleName": "NRP",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "SRP",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "CRP",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultInternalControlPlane",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultInternalDataPlane",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultControlPlane",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultDataPlane",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultNamingService",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "WAS",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "ECE",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "Domain",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "CA",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "ACS",
+ "status": "Succeeded"
+ }
+ ],
+ "status": "Succeeded",
+ "createdDateTime": "2018-08-28T07:47:11.3081476Z",
+ "timeTakenToCreate": "PT20M48.5970829S",
+ "stampVersion": "1.1809.0.25",
+ "oemVersion": null,
+ "isCloudRecoveryReady": true,
+ "deploymentID": "d3236bc0-6a46-4877-a9da-6fe69e9661df",
+ "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/BlankPut.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/BlankPut.json
new file mode 100644
index 000000000000..f49cf273c018
--- /dev/null
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/BlankPut.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "backup": {
+ "properties": {
+ "externalStoreDefault": {
+ "path": "",
+ "userName": "",
+ "password": "",
+ "blobStorageUrl": "",
+ "blobStorageKey": "",
+ "encryptionCertBase64": "",
+ "backupFrequencyInHours": null,
+ "isBackupSchedulerEnabled": null,
+ "backupRetentionPeriodInDays": null
+ }
+ },
+ "location": "local",
+ "tags": {}
+ },
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local",
+ "name": "local",
+ "type": "Microsoft.Backup.Admin/backupLocations",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "externalStoreDefault": {
+ "path": "",
+ "userName": "",
+ "password": null,
+ "blobStorageUrl": null,
+ "blobStorageKey": null,
+ "encryptionCertBase64": null,
+ "encryptionCertThumbprint": null,
+ "backupFrequencyInHours": 12,
+ "availableCapacity": null,
+ "isBackupSchedulerEnabled": null,
+ "nextBackupTime": null,
+ "lastBackupTime": null,
+ "backupRetentionPeriodInDays": 7
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local",
+ "name": "local",
+ "type": "Microsoft.Backup.Admin/backupLocations",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "externalStoreDefault": {
+ "path": "",
+ "userName": "",
+ "password": null,
+ "blobStorageUrl": "",
+ "blobStorageKey": null,
+ "encryptionCertBase64": null,
+ "encryptionCertThumbprint": null,
+ "backupFrequencyInHours": 12,
+ "availableCapacity": null,
+ "isBackupSchedulerEnabled": null,
+ "nextBackupTime": null,
+ "lastBackupTime": null,
+ "backupRetentionPeriodInDays": 7
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/GetBlob.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/GetBlob.json
new file mode 100644
index 000000000000..1c3abb766454
--- /dev/null
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/GetBlob.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local",
+ "name": "local",
+ "type": "Microsoft.Backup.Admin/backupLocations",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "externalStoreDefault": {
+ "path": "",
+ "userName": "",
+ "password": null,
+ "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5",
+ "blobStorageKey": null,
+ "encryptionCertBase64": null,
+ "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8",
+ "backupFrequencyInHours": 10,
+ "availableCapacity": "29.6 TB",
+ "isBackupSchedulerEnabled": false,
+ "nextBackupTime": "2018-08-28T17:26:00.9454387Z",
+ "lastBackupTime": "2018-08-28T07:47:11.3081476Z",
+ "backupRetentionPeriodInDays": 6
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/GetFileshare.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/GetFileshare.json
new file mode 100644
index 000000000000..a38aa3cc432e
--- /dev/null
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/GetFileshare.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local",
+ "name": "local",
+ "type": "Microsoft.Backup.Admin/backupLocations",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "externalStoreDefault": {
+ "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore",
+ "userName": "azurestack\\azurestackadmin",
+ "password": null,
+ "blobStorageUrl": null,
+ "blobStorageKey": null,
+ "encryptionCertBase64": null,
+ "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8",
+ "backupFrequencyInHours": 10,
+ "availableCapacity": "29.6 TB",
+ "isBackupSchedulerEnabled": false,
+ "nextBackupTime": "2018-08-28T17:26:00.9454387Z",
+ "lastBackupTime": "2018-08-28T07:47:11.3081476Z",
+ "backupRetentionPeriodInDays": 6
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/List.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/List.json
new file mode 100644
index 000000000000..36c3c43d2f36
--- /dev/null
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/List.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "System.local",
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/fileshare",
+ "name": "fileshare",
+ "type": "Microsoft.Backup.Admin/backupLocations",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "externalStoreDefault": {
+ "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore",
+ "userName": "azurestack\\azurestackadmin",
+ "password": null,
+ "blobStorageUrl": null,
+ "blobStorageKey": null,
+ "encryptionCertBase64": null,
+ "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8",
+ "backupFrequencyInHours": 10,
+ "availableCapacity": "29.6 TB",
+ "isBackupSchedulerEnabled": false,
+ "nextBackupTime": "2018-08-28T17:26:00.9454387Z",
+ "lastBackupTime": "2018-08-28T07:47:11.3081476Z",
+ "backupRetentionPeriodInDays": 6
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/blob",
+ "name": "blob",
+ "type": "Microsoft.Backup.Admin/backupLocations",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "externalStoreDefault": {
+ "path": "",
+ "userName": "",
+ "password": null,
+ "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5",
+ "blobStorageKey": null,
+ "encryptionCertBase64": null,
+ "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8",
+ "backupFrequencyInHours": 12,
+ "availableCapacity": "29.6 TB",
+ "isBackupSchedulerEnabled": false,
+ "nextBackupTime": "2018-08-28T17:26:00.9454387Z",
+ "lastBackupTime": "2018-08-28T07:47:11.3081476Z",
+ "backupRetentionPeriodInDays": 8
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PatchBlob.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PatchBlob.json
new file mode 100644
index 000000000000..ca77f8c002f0
--- /dev/null
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PatchBlob.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "backup": {
+ "properties": {
+ "externalStoreDefault": {
+ "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5",
+ "blobStorageKey": "blobStorageKey",
+ "encryptionCertBase64": "encryptioncert",
+ "backupFrequencyInHours": 10,
+ "isBackupSchedulerEnabled": false,
+ "backupRetentionPeriodInDays": 6
+ }
+ },
+ "location": "local",
+ "tags": {}
+ },
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local",
+ "name": "local",
+ "type": "Microsoft.Backup.Admin/backupLocations",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "externalStoreDefault": {
+ "path": "",
+ "userName": "",
+ "password": null,
+ "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5",
+ "blobStorageKey": null,
+ "encryptionCertBase64": null,
+ "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8",
+ "backupFrequencyInHours": 10,
+ "availableCapacity": "29.6 TB",
+ "isBackupSchedulerEnabled": false,
+ "nextBackupTime": "2018-08-28T17:26:00.9454387Z",
+ "lastBackupTime": "2018-08-28T07:47:11.3081476Z",
+ "backupRetentionPeriodInDays": 6
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local",
+ "name": "local",
+ "type": "Microsoft.Backup.Admin/backupLocations",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "externalStoreDefault": {
+ "path": "",
+ "userName": "",
+ "password": null,
+ "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5",
+ "blobStorageKey": null,
+ "encryptionCertBase64": null,
+ "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8",
+ "backupFrequencyInHours": 10,
+ "availableCapacity": "29.6 TB",
+ "isBackupSchedulerEnabled": false,
+ "nextBackupTime": "2018-08-28T17:26:00.9454387Z",
+ "lastBackupTime": "2018-08-28T07:47:11.3081476Z",
+ "backupRetentionPeriodInDays": 6
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PatchFileshare.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PatchFileshare.json
new file mode 100644
index 000000000000..c7ef2d8dcda9
--- /dev/null
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PatchFileshare.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "backup": {
+ "properties": {
+ "externalStoreDefault": {
+ "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore",
+ "userName": "azurestack\\azurestackadmin",
+ "password": "password",
+ "encryptionCertBase64": "encryptioncert",
+ "backupFrequencyInHours": 12
+ }
+ },
+ "location": "local",
+ "tags": {}
+ },
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local",
+ "name": "local",
+ "type": "Microsoft.Backup.Admin/backupLocations",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "externalStoreDefault": {
+ "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore",
+ "userName": "azurestack\\azurestackadmin",
+ "password": null,
+ "blobStorageUrl": null,
+ "blobStorageKey": null,
+ "encryptionCertBase64": null,
+ "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8",
+ "backupFrequencyInHours": 12,
+ "availableCapacity": "29.6 TB",
+ "isBackupSchedulerEnabled": false,
+ "nextBackupTime": "2018-08-28T17:26:00.9454387Z",
+ "lastBackupTime": "2018-08-28T07:47:11.3081476Z",
+ "backupRetentionPeriodInDays": 6
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local",
+ "name": "local",
+ "type": "Microsoft.Backup.Admin/backupLocations",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "externalStoreDefault": {
+ "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore",
+ "userName": "azurestack\\azurestackadmin",
+ "password": null,
+ "blobStorageUrl": null,
+ "blobStorageKey": null,
+ "encryptionCertBase64": null,
+ "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8",
+ "backupFrequencyInHours": 12,
+ "availableCapacity": "29.6 TB",
+ "isBackupSchedulerEnabled": false,
+ "nextBackupTime": "2018-08-28T17:26:00.9454387Z",
+ "lastBackupTime": "2018-08-28T07:47:11.3081476Z",
+ "backupRetentionPeriodInDays": 6
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/Prune.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/Prune.json
new file mode 100644
index 000000000000..f0daaf1b3f37
--- /dev/null
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/Prune.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "8742f75d-84ae-4f1b-b22e-0e63dde0d6f4",
+ "resourceGroupName": "System.redmond",
+ "location": "redmond",
+ "api-version": "2021-09-01",
+ "OperationType": "DryRun"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "pathsToDelete": [
+ "masbackup/progressivebackup/1.2011.0.23/BackupEncryptionCert.cer",
+ "masbackup/progressivebackup/1.2011.0.23/BackupEncryptionCert.pfx"
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PutBlob.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PutBlob.json
new file mode 100644
index 000000000000..ca77f8c002f0
--- /dev/null
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PutBlob.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "backup": {
+ "properties": {
+ "externalStoreDefault": {
+ "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5",
+ "blobStorageKey": "blobStorageKey",
+ "encryptionCertBase64": "encryptioncert",
+ "backupFrequencyInHours": 10,
+ "isBackupSchedulerEnabled": false,
+ "backupRetentionPeriodInDays": 6
+ }
+ },
+ "location": "local",
+ "tags": {}
+ },
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local",
+ "name": "local",
+ "type": "Microsoft.Backup.Admin/backupLocations",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "externalStoreDefault": {
+ "path": "",
+ "userName": "",
+ "password": null,
+ "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5",
+ "blobStorageKey": null,
+ "encryptionCertBase64": null,
+ "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8",
+ "backupFrequencyInHours": 10,
+ "availableCapacity": "29.6 TB",
+ "isBackupSchedulerEnabled": false,
+ "nextBackupTime": "2018-08-28T17:26:00.9454387Z",
+ "lastBackupTime": "2018-08-28T07:47:11.3081476Z",
+ "backupRetentionPeriodInDays": 6
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local",
+ "name": "local",
+ "type": "Microsoft.Backup.Admin/backupLocations",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "externalStoreDefault": {
+ "path": "",
+ "userName": "",
+ "password": null,
+ "blobStorageUrl": "https://blobstore.blob.core.windows.net/7d92cab5",
+ "blobStorageKey": null,
+ "encryptionCertBase64": null,
+ "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8",
+ "backupFrequencyInHours": 10,
+ "availableCapacity": "29.6 TB",
+ "isBackupSchedulerEnabled": false,
+ "nextBackupTime": "2018-08-28T17:26:00.9454387Z",
+ "lastBackupTime": "2018-08-28T07:47:11.3081476Z",
+ "backupRetentionPeriodInDays": 6
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PutFileshare.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PutFileshare.json
new file mode 100644
index 000000000000..6779062b5d0b
--- /dev/null
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/BackupLocations/PutFileshare.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "backup": {
+ "properties": {
+ "externalStoreDefault": {
+ "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore",
+ "userName": "azurestack\\azurestackadmin",
+ "password": "password",
+ "encryptionCertBase64": "encryptioncert",
+ "backupFrequencyInHours": 10,
+ "isBackupSchedulerEnabled": false,
+ "backupRetentionPeriodInDays": 6
+ }
+ },
+ "location": "local",
+ "tags": {}
+ },
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local",
+ "name": "local",
+ "type": "Microsoft.Backup.Admin/backupLocations",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "externalStoreDefault": {
+ "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore",
+ "userName": "azurestack\\azurestackadmin",
+ "password": null,
+ "blobStorageUrl": null,
+ "blobStorageKey": null,
+ "encryptionCertBase64": null,
+ "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8",
+ "backupFrequencyInHours": 10,
+ "availableCapacity": "29.6 TB",
+ "isBackupSchedulerEnabled": false,
+ "nextBackupTime": "2018-08-28T17:26:00.9454387Z",
+ "lastBackupTime": "2018-08-28T07:47:11.3081476Z",
+ "backupRetentionPeriodInDays": 6
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local",
+ "name": "local",
+ "type": "Microsoft.Backup.Admin/backupLocations",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "externalStoreDefault": {
+ "path": "\\\\su1fileserver\\SU1_Infrastructure_2\\BackupStore",
+ "userName": "azurestack\\azurestackadmin",
+ "password": null,
+ "blobStorageUrl": null,
+ "blobStorageKey": null,
+ "encryptionCertBase64": null,
+ "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8",
+ "backupFrequencyInHours": 10,
+ "availableCapacity": "29.6 TB",
+ "isBackupSchedulerEnabled": false,
+ "nextBackupTime": "2018-08-28T17:26:00.9454387Z",
+ "lastBackupTime": "2018-08-28T07:47:11.3081476Z",
+ "backupRetentionPeriodInDays": 6
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/Get.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/Get.json
new file mode 100644
index 000000000000..2a0a160968ad
--- /dev/null
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/Get.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "backup": "64e8625a-8dc0-49df-a195-932901b4be81",
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local/backups/64e8625a-8dc0-49df-a195-932901b4be81",
+ "name": "64e8625a-8dc0-49df-a195-932901b4be81",
+ "type": "Microsoft.Backup.Admin/backupLocations/backups",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "backupInfo": {
+ "backupDataVersion": "1.0.1",
+ "roleStatus": [
+ {
+ "roleName": "NRP",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "SRP",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "CRP",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultInternalControlPlane",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultInternalDataPlane",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultControlPlane",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultDataPlane",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultNamingService",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "WAS",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "ECE",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "Domain",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "CA",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "ACS",
+ "status": "Succeeded"
+ }
+ ],
+ "status": "Succeeded",
+ "createdDateTime": "2018-08-28T07:47:11.3081476Z",
+ "timeTakenToCreate": "PT20M48.5970829S",
+ "stampVersion": "1.1809.0.25",
+ "oemVersion": null,
+ "isCloudRecoveryReady": true,
+ "deploymentID": "d3236bc0-6a46-4877-a9da-6fe69e9661df",
+ "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/List.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/List.json
new file mode 100644
index 000000000000..cad2f78a0c13
--- /dev/null
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/List.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/11111111-2222-3333-4444-555555555555/resourceGroups/System.local/providers/Microsoft.Backup.Admin/backupLocations/local/backups/64e8625a-8dc0-49df-a195-932901b4be81",
+ "name": "64e8625a-8dc0-49df-a195-932901b4be81",
+ "type": "Microsoft.Backup.Admin/backupLocations/backups",
+ "location": "local",
+ "tags": {},
+ "properties": {
+ "backupInfo": {
+ "backupDataVersion": "1.0.1",
+ "roleStatus": [
+ {
+ "roleName": "NRP",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "SRP",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "CRP",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultInternalControlPlane",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultInternalDataPlane",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultControlPlane",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultDataPlane",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "KeyVaultNamingService",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "WAS",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "ECE",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "Domain",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "CA",
+ "status": "Succeeded"
+ },
+ {
+ "roleName": "ACS",
+ "status": "Succeeded"
+ }
+ ],
+ "status": "Succeeded",
+ "createdDateTime": "2018-08-28T07:47:11.3081476Z",
+ "timeTakenToCreate": "PT20M48.5970829S",
+ "stampVersion": "1.1809.0.25",
+ "oemVersion": null,
+ "isCloudRecoveryReady": true,
+ "deploymentID": "d3236bc0-6a46-4877-a9da-6fe69e9661df",
+ "encryptionCertThumbprint": "BDB07F879C1F1A05B74EB43AEAF5E5B5F84DCEA8"
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/Restore.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/Restore.json
new file mode 100644
index 000000000000..609d8eec9385
--- /dev/null
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/Restore.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "backup": "64e8625a-8dc0-49df-a195-932901b4be81",
+ "restoreOptions": {
+ "decryptionCertBase64": "decryptionCert",
+ "decryptionCertPassword": "decryptionCertPassword"
+ },
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/SingleRepoRestore.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/SingleRepoRestore.json
new file mode 100644
index 000000000000..05f9d5cbf568
--- /dev/null
+++ b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2021-09-01/examples/Backups/SingleRepoRestore.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "11111111-2222-3333-4444-555555555555",
+ "resourceGroupName": "System.local",
+ "location": "local",
+ "backup": "64e8625a-8dc0-49df-a195-932901b4be81",
+ "restoreOptions": {
+ "roleName": "fakerp",
+ "decryptionCertBase64": "decryptionCert",
+ "decryptionCertPassword": "decryptionCertPassword"
+ },
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/Backup.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/Backup.json
similarity index 100%
rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/Backup.json
rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/Backup.json
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/BackupLocations.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/BackupLocations.json
similarity index 100%
rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/BackupLocations.json
rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/BackupLocations.json
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/Backups.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/Backups.json
similarity index 100%
rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/Backups.json
rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/Backups.json
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Backup.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/Backup.json
similarity index 100%
rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Backup.json
rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/Backup.json
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Get.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/Get.json
similarity index 100%
rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Get.json
rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/Get.json
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/List.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/List.json
similarity index 100%
rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/List.json
rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/List.json
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Prune.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/Prune.json
similarity index 100%
rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Prune.json
rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/Prune.json
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Update.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/Update.json
similarity index 100%
rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/BackupLocations/Update.json
rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/BackupLocations/Update.json
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/Get.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Backups/Get.json
similarity index 100%
rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/Get.json
rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Backups/Get.json
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/List.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Backups/List.json
similarity index 100%
rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/List.json
rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Backups/List.json
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/Restore.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Backups/Restore.json
similarity index 100%
rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/Restore.json
rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Backups/Restore.json
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/SingleRepoRestore.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Backups/SingleRepoRestore.json
similarity index 100%
rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Backups/SingleRepoRestore.json
rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Backups/SingleRepoRestore.json
diff --git a/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Operations/List.json b/specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Operations/List.json
similarity index 100%
rename from specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/preview/2018-09-01/examples/Operations/List.json
rename to specification/azsadmin/resource-manager/backup/Microsoft.Backup.Admin/stable/2018-09-01/examples/Operations/List.json
diff --git a/specification/azsadmin/resource-manager/backup/readme.md b/specification/azsadmin/resource-manager/backup/readme.md
index 75d721d5948e..b72507639724 100644
--- a/specification/azsadmin/resource-manager/backup/readme.md
+++ b/specification/azsadmin/resource-manager/backup/readme.md
@@ -24,7 +24,7 @@ These are the global settings for the Backup Admin API.
title: BackupAdminClient
description: Backup Admin Client
openapi-type: arm
-tag: package-2018-09-01
+tag: package-2021-09-01
```
### Tag: package-2018-09-01
@@ -33,9 +33,20 @@ These settings apply only when `--tag=package-2018-09-01` is specified on the co
``` yaml $(tag) == 'package-2018-09-01'
input-file:
- - Microsoft.Backup.Admin/preview/2018-09-01/Backup.json
- - Microsoft.Backup.Admin/preview/2018-09-01/BackupLocations.json
- - Microsoft.Backup.Admin/preview/2018-09-01/Backups.json
+ - Microsoft.Backup.Admin/stable/2018-09-01/Backup.json
+ - Microsoft.Backup.Admin/stable/2018-09-01/BackupLocations.json
+ - Microsoft.Backup.Admin/stable/2018-09-01/Backups.json
+```
+
+### Tag: package-2021-09-01
+
+These settings apply only when `--tag=package-2021-09-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-09-01'
+input-file:
+ - Microsoft.Backup.Admin/stable/2018-09-01/Backup.json
+ - Microsoft.Backup.Admin/preview/2021-09-01/BackupLocations.json
+ - Microsoft.Backup.Admin/preview/2021-09-01/Backups.json
```
---
@@ -64,9 +75,11 @@ require: $(this-folder)/../../../../profiles/readme.md
# all the input files across all versions
input-file:
- - $(this-folder)/Microsoft.Backup.Admin/preview/2018-09-01/Backup.json
- - $(this-folder)/Microsoft.Backup.Admin/preview/2018-09-01/BackupLocations.json
- - $(this-folder)/Microsoft.Backup.Admin/preview/2018-09-01/Backups.json
+ - $(this-folder)/Microsoft.Backup.Admin/stable/2018-09-01/Backup.json
+ - $(this-folder)/Microsoft.Backup.Admin/stable/2018-09-01/BackupLocations.json
+ - $(this-folder)/Microsoft.Backup.Admin/stable/2018-09-01/Backups.json
+ - $(this-folder)/Microsoft.Backup.Admin/preview/2021-09-01/BackupLocations.json
+ - $(this-folder)/Microsoft.Backup.Admin/preview/2021-09-01/Backups.json
```
If there are files that should not be in the `all-api-versions` set,
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/DiskMigrationJobs.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/DiskMigrationJobs.json
new file mode 100644
index 000000000000..acceaaf3eb04
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/DiskMigrationJobs.json
@@ -0,0 +1,494 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-09-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": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "DiskMigrationJobs.json#/parameters/MigrationJobStatusParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.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": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "DiskMigrationJobs.json#/parameters/MigrationIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.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": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../preview/2015-12-01-preview/Compute.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": "../../../../../../common-types/resource-management/v2/types.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": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "DiskMigrationJobs.json#/parameters/MigrationIdParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.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
+ },
+ "progress": {
+ "description": "The progress of migration sub task which measures the percent of content migrated.",
+ "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-09-01/Disks.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/Disks.json
new file mode 100644
index 000000000000..7f6a0457f8d4
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/Disks.json
@@ -0,0 +1,424 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-09-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": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../preview/2015-12-01-preview/Compute.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": "../../../../../../common-types/resource-management/v2/types.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": "../../preview/2015-12-01-preview/Compute.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../preview/2015-12-01-preview/Compute.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/DiskIdParameter"
+ },
+ {
+ "$ref": "Disks.json#/parameters/DiskSizeDetailParameter"
+ },
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.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": {
+ "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-09-01/examples/DiskMigrationJobs/Cancel.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/Cancel.json
new file mode 100644
index 000000000000..d769ce2fc77f
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/Cancel.json
@@ -0,0 +1,54 @@
+{
+ "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",
+ "progress": "0%"
+ }
+ },
+ {
+ "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",
+ "progress": "100%"
+ }
+ }
+ ],
+ "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-09-01/examples/DiskMigrationJobs/Create.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/Create.json
new file mode 100644
index 000000000000..78c2b146a679
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/Create.json
@@ -0,0 +1,72 @@
+{
+ "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",
+ "progress": "0%"
+ }
+ },
+ {
+ "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-09-01/examples/DiskMigrationJobs/Get.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/Get.json
new file mode 100644
index 000000000000..940342cf7d24
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/Get.json
@@ -0,0 +1,54 @@
+{
+ "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",
+ "progress": "100%"
+ }
+ },
+ {
+ "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",
+ "progress": "50%"
+ }
+ }
+ ],
+ "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-09-01/examples/DiskMigrationJobs/List.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/List.json
new file mode 100644
index 000000000000..8247ef66b75a
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-01/examples/DiskMigrationJobs/List.json
@@ -0,0 +1,99 @@
+{
+ "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",
+ "progress": "100%"
+ }
+ },
+ {
+ "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",
+ "progress": "100%"
+ }
+ }
+ ],
+ "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",
+ "progress": "100%"
+ }
+ },
+ {
+ "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",
+ "progress": "100%"
+ }
+ }
+ ],
+ "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-09-01/examples/Disks/Get.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-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-09-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-09-01/examples/Disks/List.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/stable/2021-09-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-09-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 3c4569631855..79b144850b7d 100644
--- a/specification/azsadmin/resource-manager/compute/readme.azsautogen.md
+++ b/specification/azsadmin/resource-manager/compute/readme.azsautogen.md
@@ -10,6 +10,6 @@ input-file:
- 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
+ - Microsoft.Compute.Admin/stable/2021-09-01/Disks.json
+ - Microsoft.Compute.Admin/stable/2021-09-01/DiskMigrationJobs.json
```
diff --git a/specification/azsadmin/resource-manager/compute/readme.md b/specification/azsadmin/resource-manager/compute/readme.md
index 94fc994fddf8..71b8e816d611 100644
--- a/specification/azsadmin/resource-manager/compute/readme.md
+++ b/specification/azsadmin/resource-manager/compute/readme.md
@@ -25,7 +25,7 @@ These are the global settings for the Compute API.
title: ComputeAdminClient
description: Compute Admin Client
openapi-type: arm
-tag: package-2021-04-01
+tag: package-2021-09-01
directive:
- where:
@@ -36,11 +36,11 @@ directive:
- CRP cannot support the list API for scale units due to the undesired load that would inflict on the system
```
-### Tag: package-2021-04-01
+### Tag: package-2021-09-01
-These settings apply only when `--tag=package-2021-04-01` is specified on the command line.
+These settings apply only when `--tag=package-2021-09-01` is specified on the command line.
-``` yaml $(tag) == 'package-2021-04-01'
+``` yaml $(tag) == 'package-2021-09-01'
input-file:
- Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json
- Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json
@@ -48,8 +48,8 @@ input-file:
- 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
+ - Microsoft.Compute.Admin/stable/2021-09-01/Disks.json
+ - Microsoft.Compute.Admin/stable/2021-09-01/DiskMigrationJobs.json
```
---
@@ -79,8 +79,8 @@ input-file:
- 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
+ - Microsoft.Compute.Admin/stable/2021-09-01/Disks.json
+ - Microsoft.Compute.Admin/stable/2021-09-01/DiskMigrationJobs.json
```
## Multi-API/Profile support for AutoRest v3 generators
@@ -106,6 +106,8 @@ input-file:
- $(this-folder)/Microsoft.Compute.Admin/stable/2021-03-30/ScaleUnits.json
- $(this-folder)/Microsoft.Compute.Admin/stable/2021-04-01/Disks.json
- $(this-folder)/Microsoft.Compute.Admin/stable/2021-04-01/DiskMigrationJobs.json
+ - $(this-folder)/Microsoft.Compute.Admin/stable/2021-09-01/Disks.json
+ - $(this-folder)/Microsoft.Compute.Admin/stable/2021-09-01/DiskMigrationJobs.json
```
If there are files that should not be in the `all-api-versions` set,
diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/configuration.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/configuration.json
index e652eb31a23d..6dcd887b8751 100644
--- a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/configuration.json
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/configuration.json
@@ -192,6 +192,9 @@
"$ref": "#/definitions/ContainerRegistryConfigurationProperty"
}
},
+ "required": [
+ "properties"
+ ],
"allOf": [
{
"$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
@@ -207,7 +210,10 @@
"type": "integer",
"format": "int32"
}
- }
+ },
+ "required": [
+ "maximumCapacityInGiB"
+ ]
},
"ContainerRegistryConfigurationList": {
"description": "List of configuration.",
diff --git a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/setup.json b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/setup.json
index a68f10c6a958..7c084bddaf60 100644
--- a/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/setup.json
+++ b/specification/azsadmin/resource-manager/containerregistry/Microsoft.ContainerRegistry.Admin/preview/2019-11-01-preview/setup.json
@@ -111,7 +111,11 @@
"type": "string",
"format": "byte"
}
- }
+ },
+ "required": [
+ "password",
+ "sslCertBase64"
+ ]
},
"ContainerRegistrySetup": {
"description": "Container registry start setup return.",
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoClustersCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoClustersCreateOrUpdate.json
index f684d5df26d4..95222abdd594 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoClustersCreateOrUpdate.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoClustersCreateOrUpdate.json
@@ -31,6 +31,22 @@
}
}
},
- "201": {}
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/clusters",
+ "etag": "W/\"datetime'2017-12-06T12%3A05%3A57.2528942Z'\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Creating"
+ },
+ "sku": {
+ "name": "L8",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ }
}
}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoClustersUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoClustersUpdate.json
index f24c6bb7fcd4..cfda61a75da2 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoClustersUpdate.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoClustersUpdate.json
@@ -26,6 +26,22 @@
}
}
},
- "201": {}
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/clusters",
+ "etag": "W/\"datetime'2017-12-06T12%3A05%3A57.2528942Z'\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Updating"
+ },
+ "sku": {
+ "name": "L8",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ }
}
}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoDatabasesCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoDatabasesCreateOrUpdate.json
index 5d5f50d6e485..ee7b562f74c3 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoDatabasesCreateOrUpdate.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoDatabasesCreateOrUpdate.json
@@ -26,7 +26,19 @@
}
}
},
- "201": {},
+ "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",
+ "etag": "W/\"datetime'2017-12-05T15%3A28%3A05.732611Z'\"",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriodInDays": 1,
+ "provisioningState": "Creating"
+ }
+ }
+ },
"202": {}
}
}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoDatabasesUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoDatabasesUpdate.json
index 5d5f50d6e485..0ef8268e6488 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoDatabasesUpdate.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoDatabasesUpdate.json
@@ -26,7 +26,19 @@
}
}
},
- "201": {},
+ "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",
+ "etag": "W/\"datetime'2017-12-05T15%3A28%3A05.732611Z'\"",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriodInDays": 1,
+ "provisioningState": "Updating"
+ }
+ }
+ },
"202": {}
}
}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoEventHubConnectionsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoEventHubConnectionsCreateOrUpdate.json
index 4a7e3b1ca72a..00e478ef715a 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoEventHubConnectionsCreateOrUpdate.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoEventHubConnectionsCreateOrUpdate.json
@@ -27,7 +27,18 @@
}
}
},
- "201": {},
+ "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",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
"202": {}
}
}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoEventHubConnectionsUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoEventHubConnectionsUpdate.json
index 4a7e3b1ca72a..00e478ef715a 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoEventHubConnectionsUpdate.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoEventHubConnectionsUpdate.json
@@ -27,7 +27,18 @@
}
}
},
- "201": {},
+ "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",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
"202": {}
}
}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoOperationsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoOperationsList.json
index 0d52f48f1197..bdd00b0f7344 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoOperationsList.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/examples/KustoOperationsList.json
@@ -12,7 +12,7 @@
"provider": "providerName",
"resource": "resourceName",
"operation": "operationName",
- "description": "description"
+ "description": "operation description for example, 'GET Cluster'"
}
}
]
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/kusto.json
index 7c7893e30cee..c95c40d54fca 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/kusto.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2017-09-07-privatepreview/kusto.json
@@ -1540,6 +1540,7 @@
},
"statistics": {
"$ref": "#/definitions/DatabaseStatistics",
+ "readOnly": true,
"description": "The statistics of the database."
}
},
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoClustersCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoClustersCreateOrUpdate.json
index 0d2feed0ae5f..b886e292f485 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoClustersCreateOrUpdate.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoClustersCreateOrUpdate.json
@@ -31,6 +31,22 @@
}
}
},
- "201": {}
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/clusters",
+ "etag": "W/\"datetime'2017-12-06T12%3A05%3A57.2528942Z'\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Creating"
+ },
+ "sku": {
+ "name": "L8",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ }
}
}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoClustersUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoClustersUpdate.json
index 137644dbf281..20f3c69293a6 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoClustersUpdate.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoClustersUpdate.json
@@ -26,6 +26,22 @@
}
}
},
- "201": {}
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/clusters",
+ "etag": "W/\"datetime'2017-12-06T12%3A05%3A57.2528942Z'\"",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Updating"
+ },
+ "sku": {
+ "name": "L8",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ }
}
}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoDatabasesCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoDatabasesCreateOrUpdate.json
index e808235ec4fb..13f6787125d4 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoDatabasesCreateOrUpdate.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoDatabasesCreateOrUpdate.json
@@ -26,7 +26,19 @@
}
}
},
- "201": {},
+ "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",
+ "etag": "W/\"datetime'2017-12-05T15%3A28%3A05.732611Z'\"",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriodInDays": 1,
+ "provisioningState": "Creating"
+ }
+ }
+ },
"202": {}
}
}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoDatabasesUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoDatabasesUpdate.json
index e808235ec4fb..a889293964d9 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoDatabasesUpdate.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoDatabasesUpdate.json
@@ -26,7 +26,19 @@
}
}
},
- "201": {},
+ "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",
+ "etag": "W/\"datetime'2017-12-05T15%3A28%3A05.732611Z'\"",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriodInDays": 1,
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
"202": {}
}
}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoEventHubConnectionsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoEventHubConnectionsCreateOrUpdate.json
index ae8c7c300f0e..b1d2ef75768b 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoEventHubConnectionsCreateOrUpdate.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoEventHubConnectionsCreateOrUpdate.json
@@ -27,7 +27,18 @@
}
}
},
- "201": {},
+ "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",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
"202": {}
}
}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoEventHubConnectionsUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoEventHubConnectionsUpdate.json
index ae8c7c300f0e..b1d2ef75768b 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoEventHubConnectionsUpdate.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoEventHubConnectionsUpdate.json
@@ -27,7 +27,18 @@
}
}
},
- "201": {},
+ "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",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
"202": {}
}
}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoOperationsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoOperationsList.json
index 0d52f48f1197..bdd00b0f7344 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoOperationsList.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/examples/KustoOperationsList.json
@@ -12,7 +12,7 @@
"provider": "providerName",
"resource": "resourceName",
"operation": "operationName",
- "description": "description"
+ "description": "operation description for example, 'GET Cluster'"
}
}
]
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/kusto.json
index 1ded4566c196..99bf76436088 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/kusto.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/preview/2018-09-07-preview/kusto.json
@@ -1540,6 +1540,7 @@
},
"statistics": {
"$ref": "#/definitions/DatabaseStatistics",
+ "readOnly": true,
"description": "The statistics of the database."
}
},
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesCreateOrUpdate.json
index 2997b7db0195..2e7c4a2c959e 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesCreateOrUpdate.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesCreateOrUpdate.json
@@ -25,7 +25,18 @@
}
}
},
- "201": {},
+ "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",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Creating"
+ }
+ }
+ },
"202": {}
}
}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesUpdate.json
index 2997b7db0195..9ba1e931fb04 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesUpdate.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/examples/KustoDatabasesUpdate.json
@@ -25,7 +25,18 @@
}
}
},
- "201": {},
+ "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",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Updating"
+ }
+ }
+ },
"202": {}
}
}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/kusto.json
index 96b80760e8e3..6c3b58ddeab7 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/kusto.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-01-21/kusto.json
@@ -1607,6 +1607,7 @@
},
"statistics": {
"$ref": "#/definitions/DatabaseStatistics",
+ "readOnly": true,
"description": "The statistics of the database."
}
},
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-05-15/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-05-15/kusto.json
index 12b407ce17a5..217e6a6309b6 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-05-15/kusto.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-05-15/kusto.json
@@ -1765,6 +1765,7 @@
},
"statistics": {
"$ref": "#/definitions/DatabaseStatistics",
+ "readOnly": true,
"description": "The statistics of the database."
}
},
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/kusto.json
index d6b35f06ee7e..1d7367087b33 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/kusto.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-09-07/kusto.json
@@ -2143,6 +2143,7 @@
},
"statistics": {
"$ref": "#/definitions/DatabaseStatistics",
+ "readOnly": true,
"description": "The statistics of the database."
}
},
@@ -2180,6 +2181,7 @@
},
"statistics": {
"$ref": "#/definitions/DatabaseStatistics",
+ "readOnly": true,
"description": "The statistics of the database."
},
"leaderClusterResourceId": {
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/kusto.json
index 7e70bb6c6537..5b5582044db4 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/kusto.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2019-11-09/kusto.json
@@ -2706,6 +2706,7 @@
},
"statistics": {
"$ref": "#/definitions/DatabaseStatistics",
+ "readOnly": true,
"description": "The statistics of the database."
},
"isFollowed": {
@@ -2748,6 +2749,7 @@
},
"statistics": {
"$ref": "#/definitions/DatabaseStatistics",
+ "readOnly": true,
"description": "The statistics of the database."
},
"leaderClusterResourceId": {
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-02-15/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-02-15/kusto.json
index de503c5dc6ef..2ceb8fafbbb5 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-02-15/kusto.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-02-15/kusto.json
@@ -2874,6 +2874,7 @@
},
"statistics": {
"$ref": "#/definitions/DatabaseStatistics",
+ "readOnly": true,
"description": "The statistics of the database."
},
"isFollowed": {
@@ -2916,6 +2917,7 @@
},
"statistics": {
"$ref": "#/definitions/DatabaseStatistics",
+ "readOnly": true,
"description": "The statistics of the database."
},
"leaderClusterResourceId": {
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/kusto.json
index ff8aa4954aa6..dbaf77b1c7e5 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/kusto.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/kusto.json
@@ -1,4288 +1,4290 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "KustoManagementClient",
- "version": "2020-06-14"
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}": {
- "get": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_Get",
- "x-ms-examples": {
- "KustoClustersGet": {
- "$ref": "./examples/KustoClustersGet.json"
- }
- },
- "description": "Gets a Kusto cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The Kusto cluster.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "put": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_CreateOrUpdate",
- "x-ms-examples": {
- "KustoClustersCreateOrUpdate": {
- "$ref": "./examples/KustoClustersCreateOrUpdate.json"
- }
- },
- "x-ms-long-running-operation": true,
- "description": "Create or update a Kusto cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Cluster"
- },
- "description": "The Kusto cluster parameters supplied to the CreateOrUpdate operation."
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated the Cluster.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "201": {
- "description": "Successfully created the cluster.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "patch": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_Update",
- "x-ms-examples": {
- "KustoClustersUpdate": {
- "$ref": "./examples/KustoClustersUpdate.json"
- }
- },
- "x-ms-long-running-operation": true,
- "description": "Update a Kusto cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ClusterUpdate"
- },
- "description": "The Kusto cluster parameters supplied to the Update operation."
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated the Cluster.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "201": {
- "description": "Successfully updated the cluster.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "202": {
- "description": "Successfully updated the cluster.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "delete": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_Delete",
- "x-ms-examples": {
- "KustoClustersDelete": {
- "$ref": "./examples/KustoClustersDelete.json"
- }
- },
- "x-ms-long-running-operation": true,
- "description": "Deletes a Kusto cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- cluster deleted successfully."
- },
- "202": {
- "description": "Accepted the delete cluster request."
- },
- "204": {
- "description": "NoContent -- cluster does not exist in the subscription."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop": {
- "post": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_Stop",
- "x-ms-examples": {
- "KustoClustersStop": {
- "$ref": "./examples/KustoClustersStop.json"
- }
- },
- "x-ms-long-running-operation": true,
- "description": "Stops a Kusto cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK."
- },
- "202": {
- "description": "Accepted"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start": {
- "post": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_Start",
- "x-ms-examples": {
- "KustoClustersStart": {
- "$ref": "./examples/KustoClustersStart.json"
- }
- },
- "x-ms-long-running-operation": true,
- "description": "Starts a Kusto cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK."
- },
- "202": {
- "description": "Accepted."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkPrincipalAssignmentNameAvailability": {
- "post": {
- "tags": [
- "ClusterPrincipalAssignments"
- ],
- "operationId": "ClusterPrincipalAssignments_CheckNameAvailability",
- "x-ms-examples": {
- "KustoClusterPrincipalAssignmentsCheckNameAvailability": {
- "$ref": "./examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json"
- }
- },
- "description": "Checks that the principal assignment name is valid and is not already in use.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "principalAssignmentName",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ClusterPrincipalAssignmentCheckNameRequest"
- },
- "description": "The name of the principal assignment."
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Operation to check the kusto resource name availability was successful.",
- "schema": {
- "$ref": "#/definitions/CheckNameResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}": {
- "get": {
- "tags": [
- "ClusterPrincipalAssignments"
- ],
- "operationId": "ClusterPrincipalAssignments_Get",
- "x-ms-examples": {
- "KustoClusterPrincipalAssignmentsGet": {
- "$ref": "./examples/KustoClusterPrincipalAssignmentsGet.json"
- }
- },
- "description": "Gets a Kusto cluster principalAssignment.",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/PrincipalAssignmentNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The Kusto cluster principal assignment object.",
- "schema": {
- "$ref": "#/definitions/ClusterPrincipalAssignment"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "put": {
- "tags": [
- "ClusterPrincipalAssignments"
- ],
- "operationId": "ClusterPrincipalAssignments_CreateOrUpdate",
- "x-ms-examples": {
- "KustoClusterPrincipalAssignmentsCreateOrUpdate": {
- "$ref": "./examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json"
- }
- },
- "x-ms-long-running-operation": true,
- "description": "Create a Kusto cluster principalAssignment.",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/PrincipalAssignmentNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ClusterPrincipalAssignment"
- },
- "description": "The Kusto cluster principalAssignment's parameters supplied for the operation."
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated the PrincipalAssignment.",
- "schema": {
- "$ref": "#/definitions/ClusterPrincipalAssignment"
- }
- },
- "201": {
- "description": "Successfully created the principalAssignment.",
- "schema": {
- "$ref": "#/definitions/ClusterPrincipalAssignment"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "delete": {
- "tags": [
- "ClusterPrincipalAssignments"
- ],
- "operationId": "ClusterPrincipalAssignments_Delete",
- "x-ms-examples": {
- "KustoClusterPrincipalAssignmentsDelete": {
- "$ref": "./examples/KustoClusterPrincipalAssignmentsDelete.json"
- }
- },
- "x-ms-long-running-operation": true,
- "description": "Deletes a Kusto cluster principalAssignment.",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/PrincipalAssignmentNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- principalAssignments deleted successfully."
- },
- "202": {
- "description": "Accepted the delete principalAssignments request."
- },
- "204": {
- "description": "NoContent -- principalAssignments does not exist in the subscription."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments": {
- "get": {
- "tags": [
- "ClusterPrincipalAssignments"
- ],
- "operationId": "ClusterPrincipalAssignments_List",
- "x-ms-examples": {
- "KustoPrincipalAssignmentsList": {
- "$ref": "./examples/KustoClusterPrincipalAssignmentsList.json"
- }
- },
- "description": "Lists all Kusto cluster principalAssignments.",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK.",
- "schema": {
- "$ref": "#/definitions/ClusterPrincipalAssignmentListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listFollowerDatabases": {
- "post": {
- "tags": [
- "Clusters"
- ],
- "description": "Returns a list of databases that are owned by this cluster and were followed by another cluster.",
- "operationId": "Clusters_ListFollowerDatabases",
- "x-ms-examples": {
- "KustoClusterListFollowerDatabases": {
- "$ref": "./examples/KustoClusterListFollowerDatabases.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the list of followed databases.",
- "schema": {
- "$ref": "#/definitions/FollowerDatabaseListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/detachFollowerDatabases": {
- "post": {
- "tags": [
- "Clusters"
- ],
- "description": "Detaches all followers of a database owned by this cluster.",
- "operationId": "Clusters_DetachFollowerDatabases",
- "x-ms-examples": {
- "KustoClusterDetachFollowerDatabases": {
- "$ref": "./examples/KustoClusterDetachFollowerDatabases.json"
- }
- },
- "x-ms-long-running-operation": true,
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "name": "followerDatabaseToRemove",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/FollowerDatabaseDefinition"
- },
- "description": "The follower databases properties to remove."
- }
- ],
- "responses": {
- "200": {
- "description": "OK."
- },
- "202": {
- "description": "Accepted"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/diagnoseVirtualNetwork": {
- "post": {
- "tags": [
- "Clusters"
- ],
- "description": "Diagnoses network connectivity status for external resources on which the service is dependent on.",
- "operationId": "Clusters_DiagnoseVirtualNetwork",
- "x-ms-examples": {
- "KustoClusterDiagnoseVirtualNetwork": {
- "$ref": "./examples/KustoClustersDiagnoseVirtualNetwork.json"
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK.",
- "schema": {
- "$ref": "#/definitions/DiagnoseVirtualNetworkResult"
- }
- },
- "202": {
- "description": "Accepted"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters": {
- "get": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_ListByResourceGroup",
- "x-ms-examples": {
- "KustoClustersListByResourceGroup": {
- "$ref": "./examples/KustoClustersListByResourceGroup.json"
- }
- },
- "description": "Lists all Kusto clusters within a resource group.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK.",
- "schema": {
- "$ref": "#/definitions/ClusterListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/clusters": {
- "get": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_List",
- "x-ms-examples": {
- "KustoClustersList": {
- "$ref": "./examples/KustoClustersList.json"
- }
- },
- "description": "Lists all Kusto clusters within a subscription.",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK.",
- "schema": {
- "$ref": "#/definitions/ClusterListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/skus": {
- "get": {
- "description": "Lists eligible SKUs for Kusto resource provider.",
- "x-ms-examples": {
- "KustoClustersListSkus": {
- "$ref": "./examples/KustoClustersListSkus.json"
- }
- },
- "operationId": "Clusters_ListSkus",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK.",
- "schema": {
- "$ref": "#/definitions/SkuDescriptionList"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/checkNameAvailability": {
- "post": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_CheckNameAvailability",
- "x-ms-examples": {
- "KustoClustersCheckNameAvailability": {
- "$ref": "./examples/KustoClustersCheckNameAvailability.json"
- }
- },
- "description": "Checks that the cluster name is valid and is not already in use.",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "location",
- "in": "path",
- "description": "Azure location.",
- "required": true,
- "type": "string"
- },
- {
- "name": "clusterName",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ClusterCheckNameRequest"
- },
- "description": "The name of the cluster."
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Operation to check the kusto resource name availability was successful.",
- "schema": {
- "$ref": "#/definitions/CheckNameResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkNameAvailability": {
- "post": {
- "tags": [
- "Databases"
- ],
- "operationId": "Databases_CheckNameAvailability",
- "x-ms-examples": {
- "KustoDatabaseCheckNameAvailability": {
- "$ref": "./examples/KustoDatabasesCheckNameAvailability.json"
- }
- },
- "description": "Checks that the database name is valid and is not already in use.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "resourceName",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/CheckNameRequest"
- },
- "description": "The name of the resource."
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Operation to check the kusto resource name availability was successful.",
- "schema": {
- "$ref": "#/definitions/CheckNameResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/skus": {
- "get": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_ListSkusByResource",
- "x-ms-examples": {
- "KustoClustersListResourceSkus": {
- "$ref": "./examples/KustoClustersListResourceSkus.json"
- }
- },
- "description": "Returns the SKUs available for the provided resource.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK.",
- "schema": {
- "$ref": "#/definitions/ListResourceSkusResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases": {
- "get": {
- "tags": [
- "Databases"
- ],
- "description": "Returns the list of databases of the given Kusto cluster.",
- "operationId": "Databases_ListByCluster",
- "x-ms-examples": {
- "KustoDatabasesListByCluster": {
- "$ref": "./examples/KustoDatabasesListByCluster.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the list of databases.",
- "schema": {
- "$ref": "#/definitions/DatabaseListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}": {
- "get": {
- "tags": [
- "Databases"
- ],
- "description": "Returns a database.",
- "operationId": "Databases_Get",
- "x-ms-examples": {
- "KustoDatabasesGet": {
- "$ref": "./examples/KustoDatabasesGet.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the specified database.",
- "schema": {
- "$ref": "#/definitions/Database"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "put": {
- "tags": [
- "Databases"
- ],
- "description": "Creates or updates a database.",
- "operationId": "Databases_CreateOrUpdate",
- "x-ms-examples": {
- "KustoDatabasesCreateOrUpdate": {
- "$ref": "./examples/KustoDatabasesCreateOrUpdate.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Database"
- },
- "description": "The database parameters supplied to the CreateOrUpdate operation."
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated the database.",
- "schema": {
- "$ref": "#/definitions/Database"
- }
- },
- "201": {
- "description": "Successfully created the database.",
- "schema": {
- "$ref": "#/definitions/Database"
- }
- },
- "202": {
- "description": "Accepted the create database request.",
- "schema": {
- "$ref": "#/definitions/Database"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true
- },
- "patch": {
- "tags": [
- "Databases"
- ],
- "description": "Updates a database.",
- "operationId": "Databases_Update",
- "x-ms-examples": {
- "KustoDatabasesUpdate": {
- "$ref": "./examples/KustoDatabasesUpdate.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Database"
- },
- "description": "The database parameters supplied to the Update operation."
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated the database.",
- "schema": {
- "$ref": "#/definitions/Database"
- }
- },
- "201": {
- "description": "Successfully updated the database.",
- "schema": {
- "$ref": "#/definitions/Database"
- }
- },
- "202": {
- "description": "Accepted the update database request.",
- "schema": {
- "$ref": "#/definitions/Database"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "Databases"
- ],
- "description": "Deletes the database with the given name.",
- "operationId": "Databases_Delete",
- "x-ms-examples": {
- "KustoDatabasesDelete": {
- "$ref": "./examples/KustoDatabasesDelete.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully deleted the database."
- },
- "202": {
- "description": "Accepted."
- },
- "204": {
- "description": "The specified database does not exist."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkPrincipalAssignmentNameAvailability": {
- "post": {
- "tags": [
- "DatabasePrincipalAssignments"
- ],
- "operationId": "DatabasePrincipalAssignments_CheckNameAvailability",
- "x-ms-examples": {
- "KustoDatabaseCheckNameAvailability": {
- "$ref": "./examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json"
- }
- },
- "description": "Checks that the database principal assignment is valid and is not already in use.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "principalAssignmentName",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalAssignmentCheckNameRequest"
- },
- "description": "The name of the resource."
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Operation to check the kusto resource name availability was successful.",
- "schema": {
- "$ref": "#/definitions/CheckNameResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}": {
- "get": {
- "tags": [
- "DatabasePrincipalAssignments"
- ],
- "operationId": "DatabasePrincipalAssignments_Get",
- "x-ms-examples": {
- "KustoDatabasePrincipalAssignmentsGet": {
- "$ref": "./examples/KustoDatabasePrincipalAssignmentsGet.json"
- }
- },
- "description": "Gets a Kusto cluster database principalAssignment.",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/PrincipalAssignmentNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The Kusto cluster database principal assignment object.",
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalAssignment"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "put": {
- "tags": [
- "DatabasePrincipalAssignments"
- ],
- "operationId": "DatabasePrincipalAssignments_CreateOrUpdate",
- "x-ms-examples": {
- "KustoDatabasePrincipalAssignmentsCreateOrUpdate": {
- "$ref": "./examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json"
- }
- },
- "x-ms-long-running-operation": true,
- "description": "Creates a Kusto cluster database principalAssignment.",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/PrincipalAssignmentNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalAssignment"
- },
- "description": "The Kusto principalAssignments parameters supplied for the operation."
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated the PrincipalAssignments.",
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalAssignment"
- }
- },
- "201": {
- "description": "Successfully created the principalAssignments.",
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalAssignment"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "delete": {
- "tags": [
- "DatabasePrincipalAssignments"
- ],
- "operationId": "DatabasePrincipalAssignments_Delete",
- "x-ms-examples": {
- "KustoDatabasePrincipalAssignmentsDelete": {
- "$ref": "./examples/KustoDatabasePrincipalAssignmentsDelete.json"
- }
- },
- "x-ms-long-running-operation": true,
- "description": "Deletes a Kusto principalAssignment.",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/PrincipalAssignmentNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- principalAssignments deleted successfully."
- },
- "202": {
- "description": "Accepted the delete principalAssignments request."
- },
- "204": {
- "description": "NoContent -- principalAssignments does not exist in the subscription."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments": {
- "get": {
- "tags": [
- "DatabasePrincipalAssignments"
- ],
- "operationId": "DatabasePrincipalAssignments_List",
- "x-ms-examples": {
- "KustoPrincipalAssignmentsList": {
- "$ref": "./examples/KustoDatabasePrincipalAssignmentsList.json"
- }
- },
- "description": "Lists all Kusto cluster database principalAssignments.",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK.",
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalAssignmentListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/listPrincipals": {
- "post": {
- "tags": [
- "Databases"
- ],
- "description": "Returns a list of database principals of the given Kusto cluster and database.",
- "operationId": "Databases_ListPrincipals",
- "x-ms-examples": {
- "KustoDatabaseListPrincipals": {
- "$ref": "./examples/KustoDatabaseListPrincipals.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the list of database principals.",
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/addPrincipals": {
- "post": {
- "tags": [
- "Databases"
- ],
- "operationId": "Databases_AddPrincipals",
- "x-ms-examples": {
- "KustoDatabaseAddPrincipals": {
- "$ref": "./examples/KustoDatabaseAddPrincipals.json"
- }
- },
- "description": "Add Database principals permissions.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "name": "databasePrincipalsToAdd",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalListRequest"
- },
- "description": "List of database principals to add."
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Successfully added the list of database principals. Returns the updated list of principals.",
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations": {
- "get": {
- "tags": [
- "AttachedDatabaseConfigurations"
- ],
- "description": "Returns the list of attached database configurations of the given Kusto cluster.",
- "operationId": "AttachedDatabaseConfigurations_ListByCluster",
- "x-ms-examples": {
- "KustoAttachedDatabaseConfigurationsListByCluster": {
- "$ref": "./examples/KustoAttachedDatabaseConfigurationsListByCluster.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the list of attached database configurations.",
- "schema": {
- "$ref": "#/definitions/AttachedDatabaseConfigurationListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}": {
- "get": {
- "tags": [
- "AttachedDatabaseConfigurations"
- ],
- "description": "Returns an attached database configuration.",
- "operationId": "AttachedDatabaseConfigurations_Get",
- "x-ms-examples": {
- "AttachedDatabaseConfigurationsGet": {
- "$ref": "./examples/KustoAttachedDatabaseConfigurationsGet.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the specified attached database configuration.",
- "schema": {
- "$ref": "#/definitions/AttachedDatabaseConfiguration"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "put": {
- "tags": [
- "AttachedDatabaseConfigurations"
- ],
- "description": "Creates or updates an attached database configuration.",
- "operationId": "AttachedDatabaseConfigurations_CreateOrUpdate",
- "x-ms-examples": {
- "AttachedDatabaseConfigurationsCreateOrUpdate": {
- "$ref": "./examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/AttachedDatabaseConfiguration"
- },
- "description": "The database parameters supplied to the CreateOrUpdate operation."
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated the database.",
- "schema": {
- "$ref": "#/definitions/AttachedDatabaseConfiguration"
- }
- },
- "201": {
- "description": "Successfully created the database.",
- "schema": {
- "$ref": "#/definitions/AttachedDatabaseConfiguration"
- }
- },
- "202": {
- "description": "Accepted the create database request.",
- "schema": {
- "$ref": "#/definitions/AttachedDatabaseConfiguration"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "AttachedDatabaseConfigurations"
- ],
- "description": "Deletes the attached database configuration with the given name.",
- "operationId": "AttachedDatabaseConfigurations_Delete",
- "x-ms-examples": {
- "AttachedDatabaseConfigurationsDelete": {
- "$ref": "./examples/KustoAttachedDatabaseConfigurationsDelete.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully deleted the database."
- },
- "202": {
- "description": "Accepted."
- },
- "204": {
- "description": "The specified database does not exist."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/removePrincipals": {
- "post": {
- "tags": [
- "Databases"
- ],
- "operationId": "Databases_RemovePrincipals",
- "x-ms-examples": {
- "KustoDatabaseRemovePrincipals": {
- "$ref": "./examples/KustoDatabaseRemovePrincipals.json"
- }
- },
- "description": "Remove Database principals permissions.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "name": "databasePrincipalsToRemove",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalListRequest"
- },
- "description": "List of database principals to remove."
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Successfully removed the list of database principals. Returns the updated list of principals.",
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections": {
- "get": {
- "tags": [
- "DataConnections"
- ],
- "description": "Returns the list of data connections of the given Kusto database.",
- "operationId": "DataConnections_ListByDatabase",
- "x-ms-examples": {
- "KustoDatabasesListByCluster": {
- "$ref": "./examples/KustoDataConnectionsListByDatabase.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the list of data connections.",
- "schema": {
- "$ref": "#/definitions/DataConnectionListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnectionValidation": {
- "post": {
- "tags": [
- "DataConnections"
- ],
- "operationId": "DataConnections_dataConnectionValidation",
- "x-ms-examples": {
- "KustoDataConnectionValidation": {
- "$ref": "./examples/KustoDataConnectionValidation.json"
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- },
- "description": "Checks that the data connection parameters are valid.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DataConnectionValidation"
- },
- "description": "The data connection parameters supplied to the CreateOrUpdate operation."
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Operation to check the kusto resource name availability was successful.",
- "schema": {
- "$ref": "#/definitions/DataConnectionValidationListResult"
- }
- },
- "202": {
- "description": "Accepted"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkNameAvailability": {
- "post": {
- "tags": [
- "DataConnections"
- ],
- "operationId": "DataConnections_CheckNameAvailability",
- "x-ms-examples": {
- "KustoDataConnectionsCheckNameAvailability": {
- "$ref": "./examples/KustoDataConnectionsCheckNameAvailability.json"
- }
- },
- "description": "Checks that the data connection name is valid and is not already in use.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "dataConnectionName",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DataConnectionCheckNameRequest"
- },
- "description": "The name of the data connection."
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Operation to check the Kusto resource name availability was successful.",
- "schema": {
- "$ref": "#/definitions/CheckNameResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}": {
- "get": {
- "tags": [
- "DataConnections"
- ],
- "description": "Returns a data connection.",
- "operationId": "DataConnections_Get",
- "x-ms-examples": {
- "KustoDataConnectionsGet": {
- "$ref": "./examples/KustoDataConnectionsGet.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/DataConnectionNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the specified data connection.",
- "schema": {
- "$ref": "#/definitions/DataConnection"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "put": {
- "tags": [
- "DataConnections"
- ],
- "description": "Creates or updates a data connection.",
- "operationId": "DataConnections_CreateOrUpdate",
- "x-ms-examples": {
- "KustoDataConnectionsCreateOrUpdate": {
- "$ref": "./examples/KustoDataConnectionsCreateOrUpdate.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/DataConnectionNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DataConnection"
- },
- "description": "The data connection parameters supplied to the CreateOrUpdate operation."
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated the data connection.",
- "schema": {
- "$ref": "#/definitions/DataConnection"
- }
- },
- "201": {
- "description": "Successfully created the data connection.",
- "schema": {
- "$ref": "#/definitions/DataConnection"
- }
- },
- "202": {
- "description": "Accepted the create data connection request.",
- "schema": {
- "$ref": "#/definitions/DataConnection"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true
- },
- "patch": {
- "tags": [
- "DataConnections"
- ],
- "description": "Updates a data connection.",
- "operationId": "DataConnections_Update",
- "x-ms-examples": {
- "KustoDataConnectionsUpdate": {
- "$ref": "./examples/KustoDataConnectionsUpdate.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/DataConnectionNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DataConnection"
- },
- "description": "The data connection parameters supplied to the Update operation."
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated the data connection.",
- "schema": {
- "$ref": "#/definitions/DataConnection"
- }
- },
- "201": {
- "description": "Successfully updated the data connection.",
- "schema": {
- "$ref": "#/definitions/DataConnection"
- }
- },
- "202": {
- "description": "Accepted the update data connection request.",
- "schema": {
- "$ref": "#/definitions/DataConnection"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "DataConnections"
- ],
- "description": "Deletes the data connection with the given name.",
- "operationId": "DataConnections_Delete",
- "x-ms-examples": {
- "KustoDataConnectionsDelete": {
- "$ref": "./examples/KustoDataConnectionsDelete.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/DataConnectionNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully deleted the data connection."
- },
- "202": {
- "description": "Accepted."
- },
- "204": {
- "description": "The specified data connection does not exist."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/providers/Microsoft.Kusto/operations": {
- "get": {
- "tags": [
- "Operations"
- ],
- "operationId": "Operations_List",
- "x-ms-examples": {
- "KustoOperationsList": {
- "$ref": "./examples/KustoOperationsList.json"
- }
- },
- "description": "Lists available operations for the Microsoft.Kusto provider.",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the list of available operations.",
- "schema": {
- "$ref": "#/definitions/OperationListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listLanguageExtensions": {
- "post": {
- "tags": [
- "Clusters"
- ],
- "description": "Returns a list of language extensions that can run within KQL queries.",
- "operationId": "Clusters_ListLanguageExtensions",
- "x-ms-examples": {
- "KustoClusterListLanguageExtensions": {
- "$ref": "./examples/KustoClusterListLanguageExtensions.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the list of language extensions.",
- "schema": {
- "$ref": "#/definitions/LanguageExtensionsList"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/addLanguageExtensions": {
- "post": {
- "tags": [
- "Clusters"
- ],
- "description": "Add a list of language extensions that can run within KQL queries.",
- "operationId": "Clusters_AddLanguageExtensions",
- "x-ms-examples": {
- "KustoClusterAddLanguageExtensions": {
- "$ref": "./examples/KustoClusterAddLanguageExtensions.json"
- }
- },
- "x-ms-long-running-operation": true,
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "name": "languageExtensionsToAdd",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/LanguageExtensionsList"
- },
- "description": "The language extensions to add."
- }
- ],
- "responses": {
- "200": {
- "description": "OK."
- },
- "202": {
- "description": "Accepted"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/removeLanguageExtensions": {
- "post": {
- "tags": [
- "Clusters"
- ],
- "description": "Remove a list of language extensions that can run within KQL queries.",
- "operationId": "Clusters_RemoveLanguageExtensions",
- "x-ms-examples": {
- "KustoClusterRemoveLanguageExtensions": {
- "$ref": "./examples/KustoClusterRemoveLanguageExtensions.json"
- }
- },
- "x-ms-long-running-operation": true,
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "name": "languageExtensionsToRemove",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/LanguageExtensionsList"
- },
- "description": "The language extensions to remove."
- }
- ],
- "responses": {
- "200": {
- "description": "OK."
- },
- "202": {
- "description": "Accepted"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- }
- },
- "definitions": {
- "ClusterProperties": {
- "properties": {
- "state": {
- "type": "string",
- "readOnly": true,
- "description": "The state of the resource.",
- "enum": [
- "Creating",
- "Unavailable",
- "Running",
- "Deleting",
- "Deleted",
- "Stopping",
- "Stopped",
- "Starting",
- "Updating"
- ],
- "x-ms-enum": {
- "name": "State",
- "modelAsString": true
- }
- },
- "provisioningState": {
- "type": "string",
- "readOnly": true,
- "description": "The provisioned state of the resource.",
- "enum": [
- "Running",
- "Creating",
- "Deleting",
- "Succeeded",
- "Failed",
- "Moving"
- ],
- "x-ms-enum": {
- "name": "ProvisioningState",
- "modelAsString": true
- }
- },
- "uri": {
- "type": "string",
- "readOnly": true,
- "description": "The cluster URI."
- },
- "dataIngestionUri": {
- "type": "string",
- "readOnly": true,
- "description": "The cluster data ingestion URI."
- },
- "stateReason": {
- "type": "string",
- "readOnly": true,
- "description": "The reason for the cluster's current state."
- },
- "trustedExternalTenants": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/TrustedExternalTenant"
- },
- "description": "The cluster's external tenants."
- },
- "optimizedAutoscale": {
- "type": "object",
- "$ref": "#/definitions/OptimizedAutoscale",
- "description": "Optimized auto scale definition."
- },
- "enableDiskEncryption": {
- "description": "A boolean value that indicates if the cluster's disks are encrypted.",
- "type": "boolean"
- },
- "enableStreamingIngest": {
- "description": "A boolean value that indicates if the streaming ingest is enabled.",
- "default": false,
- "type": "boolean"
- },
- "virtualNetworkConfiguration": {
- "type": "object",
- "$ref": "#/definitions/VirtualNetworkConfiguration",
- "description": "Virtual network definition."
- },
- "keyVaultProperties": {
- "type": "object",
- "$ref": "#/definitions/KeyVaultProperties",
- "description": "KeyVault properties for the cluster encryption."
- },
- "enablePurge": {
- "description": "A boolean value that indicates if the purge operations are enabled.",
- "default": false,
- "type": "boolean"
- },
- "languageExtensions": {
- "type": "object",
- "$ref": "#/definitions/LanguageExtensionsList",
- "readOnly": true,
- "description": "List of the cluster's language extensions."
- },
- "enableDoubleEncryption": {
- "description": "A boolean value that indicates if double encryption is enabled.",
- "default": false,
- "type": "boolean"
- }
- },
- "description": "Class representing the Kusto cluster properties."
- },
- "TrustedExternalTenant": {
- "properties": {
- "value": {
- "type": "string",
- "description": "GUID representing an external tenant."
- }
- },
- "description": "Represents a tenant ID that is trusted by the cluster."
- },
- "AzureResourceSku": {
- "properties": {
- "resourceType": {
- "type": "string",
- "description": "Resource Namespace and Type."
- },
- "sku": {
- "$ref": "#/definitions/AzureSku",
- "description": "The SKU details."
- },
- "capacity": {
- "$ref": "#/definitions/AzureCapacity",
- "description": "The number of instances of the cluster."
- }
- },
- "description": "Azure resource SKU definition."
- },
- "AzureCapacity": {
- "type": "object",
- "required": [
- "minimum",
- "maximum",
- "default",
- "scaleType"
- ],
- "properties": {
- "scaleType": {
- "description": "Scale type.",
- "type": "string",
- "enum": [
- "automatic",
- "manual",
- "none"
- ],
- "x-ms-enum": {
- "name": "AzureScaleType",
- "modelAsString": true
- }
- },
- "minimum": {
- "description": "Minimum allowed capacity.",
- "type": "integer",
- "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_D11_v2",
- "Standard_D12_v2",
- "Standard_L4s",
- "Dev(No SLA)_Standard_D11_v2",
- "Standard_E2a_v4",
- "Standard_E4a_v4",
- "Standard_E8a_v4",
- "Standard_E16a_v4",
- "Standard_E8as_v4+1TB_PS",
- "Standard_E8as_v4+2TB_PS",
- "Standard_E16as_v4+3TB_PS",
- "Standard_E16as_v4+4TB_PS",
- "Dev(No SLA)_Standard_E2a_v4"
- ],
- "x-ms-enum": {
- "name": "AzureSkuName",
- "modelAsString": true
- }
- },
- "capacity": {
- "description": "The number of instances of the cluster.",
- "type": "integer",
- "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"
- },
- "enginePublicIpId": {
- "description": "Engine service's public IP address resource id.",
- "type": "string"
- },
- "dataManagementPublicIpId": {
- "description": "Data management's service public IP address resource id.",
- "type": "string"
- }
- },
- "description": "A class that contains virtual network definition."
- },
- "DatabaseStatistics": {
- "type": "object",
- "readOnly": true,
- "properties": {
- "size": {
- "type": "number",
- "description": "The database size - the total size of compressed data and index in bytes."
- }
- },
- "description": "A class that contains database statistics information."
- },
- "AttachedDatabaseConfigurationProperties": {
- "properties": {
- "provisioningState": {
- "type": "string",
- "readOnly": true,
- "description": "The provisioned state of the resource.",
- "enum": [
- "Running",
- "Creating",
- "Deleting",
- "Succeeded",
- "Failed",
- "Moving"
- ],
- "x-ms-enum": {
- "name": "ProvisioningState",
- "modelAsString": true
- }
- },
- "databaseName": {
- "type": "string",
- "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases."
- },
- "clusterResourceId": {
- "type": "string",
- "description": "The resource id of the cluster where the databases you would like to attach reside."
- },
- "attachedDatabaseNames": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "readOnly": true,
- "description": "The list of databases from the clusterResourceId which are currently attached to the cluster."
- },
- "defaultPrincipalsModificationKind": {
- "type": "string",
- "enum": [
- "Union",
- "Replace",
- "None"
- ],
- "x-ms-enum": {
- "name": "DefaultPrincipalsModificationKind",
- "modelAsString": true
- },
- "description": "The default principals modification kind"
- }
- },
- "description": "Class representing the an attached database configuration properties of kind specific.",
- "required": [
- "databaseName",
- "clusterResourceId",
- "defaultPrincipalsModificationKind"
- ]
- },
- "ReadWriteDatabaseProperties": {
- "properties": {
- "provisioningState": {
- "type": "string",
- "readOnly": true,
- "description": "The provisioned state of the resource.",
- "enum": [
- "Running",
- "Creating",
- "Deleting",
- "Succeeded",
- "Failed",
- "Moving"
- ],
- "x-ms-enum": {
- "name": "ProvisioningState",
- "modelAsString": true
- }
- },
- "softDeletePeriod": {
- "type": "string",
- "format": "duration",
- "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan."
- },
- "hotCachePeriod": {
- "type": "string",
- "format": "duration",
- "description": "The time the data should be kept in cache for fast queries in TimeSpan."
- },
- "statistics": {
- "$ref": "#/definitions/DatabaseStatistics",
- "description": "The statistics of the database."
- },
- "isFollowed": {
- "type": "boolean",
- "readOnly": true,
- "description": "Indicates whether the database is followed."
- }
- },
- "description": "Class representing the Kusto database properties."
- },
- "ReadOnlyFollowingDatabaseProperties": {
- "properties": {
- "provisioningState": {
- "type": "string",
- "readOnly": true,
- "description": "The provisioned state of the resource.",
- "enum": [
- "Running",
- "Creating",
- "Deleting",
- "Succeeded",
- "Failed",
- "Moving"
- ],
- "x-ms-enum": {
- "name": "ProvisioningState",
- "modelAsString": true
- }
- },
- "softDeletePeriod": {
- "type": "string",
- "readOnly": true,
- "format": "duration",
- "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan."
- },
- "hotCachePeriod": {
- "type": "string",
- "format": "duration",
- "description": "The time the data should be kept in cache for fast queries in TimeSpan."
- },
- "statistics": {
- "$ref": "#/definitions/DatabaseStatistics",
- "description": "The statistics of the database."
- },
- "leaderClusterResourceId": {
- "type": "string",
- "readOnly": true,
- "description": "The name of the leader cluster"
- },
- "attachedDatabaseConfigurationName": {
- "type": "string",
- "readOnly": true,
- "description": "The name of the attached database configuration cluster"
- },
- "principalsModificationKind": {
- "type": "string",
- "readOnly": true,
- "enum": [
- "Union",
- "Replace",
- "None"
- ],
- "x-ms-enum": {
- "name": "PrincipalsModificationKind",
- "modelAsString": true
- },
- "description": "The principals modification kind of the database"
- }
- },
- "description": "Class representing the Kusto database properties."
- },
- "EventHubConnectionProperties": {
- "properties": {
- "eventHubResourceId": {
- "type": "string",
- "description": "The resource ID of the event hub to be used to create a data connection."
- },
- "consumerGroup": {
- "type": "string",
- "description": "The event hub consumer group."
- },
- "tableName": {
- "type": "string",
- "description": "The table where the data should be ingested. Optionally the table information can be added to each message."
- },
- "mappingRuleName": {
- "type": "string",
- "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message."
- },
- "dataFormat": {
- "$ref": "#/definitions/EventHubDataFormat",
- "description": "The data format of the message. Optionally the data format can be added to each message."
- },
- "eventSystemProperties": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "System properties of the event hub"
- },
- "compression": {
- "$ref": "#/definitions/Compression",
- "description": "The event hub messages compression type"
- }
- },
- "required": [
- "eventHubResourceId",
- "consumerGroup"
- ],
- "description": "Class representing the Kusto event hub connection properties."
- },
- "IotHubConnectionProperties": {
- "properties": {
- "iotHubResourceId": {
- "type": "string",
- "description": "The resource ID of the Iot hub to be used to create a data connection."
- },
- "consumerGroup": {
- "type": "string",
- "description": "The iot hub consumer group."
- },
- "tableName": {
- "type": "string",
- "description": "The table where the data should be ingested. Optionally the table information can be added to each message."
- },
- "mappingRuleName": {
- "type": "string",
- "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message."
- },
- "dataFormat": {
- "$ref": "#/definitions/IotHubDataFormat",
- "description": "The data format of the message. Optionally the data format can be added to each message."
- },
- "eventSystemProperties": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "System properties of the iot hub"
- },
- "sharedAccessPolicyName": {
- "type": "string",
- "description": "The name of the share access policy"
- }
- },
- "required": [
- "iotHubResourceId",
- "consumerGroup",
- "sharedAccessPolicyName"
- ],
- "description": "Class representing the Kusto Iot hub connection properties."
- },
- "EventHubDataFormat": {
- "description": "The data format of the message. Optionally the data format can be added to each message.",
- "type": "string",
- "enum": [
- "MULTIJSON",
- "JSON",
- "CSV",
- "TSV",
- "SCSV",
- "SOHSV",
- "PSV",
- "TXT",
- "RAW",
- "SINGLEJSON",
- "AVRO",
- "TSVE",
- "PARQUET",
- "ORC",
- "APACHEAVRO",
- "W3CLOGFILE"
- ],
- "x-ms-enum": {
- "name": "eventHubDataFormat",
- "modelAsString": true
- }
- },
- "IotHubDataFormat": {
- "description": "The data format of the message. Optionally the data format can be added to each message.",
- "type": "string",
- "enum": [
- "MULTIJSON",
- "JSON",
- "CSV",
- "TSV",
- "SCSV",
- "SOHSV",
- "PSV",
- "TXT",
- "RAW",
- "SINGLEJSON",
- "AVRO",
- "TSVE",
- "PARQUET",
- "ORC",
- "APACHEAVRO",
- "W3CLOGFILE"
- ],
- "x-ms-enum": {
- "name": "iotHubDataFormat",
- "modelAsString": true
- }
- },
- "EventGridDataFormat": {
- "description": "The data format of the message. Optionally the data format can be added to each message.",
- "type": "string",
- "enum": [
- "MULTIJSON",
- "JSON",
- "CSV",
- "TSV",
- "SCSV",
- "SOHSV",
- "PSV",
- "TXT",
- "RAW",
- "SINGLEJSON",
- "AVRO",
- "TSVE",
- "PARQUET",
- "ORC",
- "APACHEAVRO",
- "W3CLOGFILE"
- ],
- "x-ms-enum": {
- "name": "eventGridDataFormat",
- "modelAsString": true
- }
- },
- "BlobStorageEventType": {
- "description": "The name of blob storage event type to process.",
- "type": "string",
- "enum": [
- "Microsoft.Storage.BlobCreated",
- "Microsoft.Storage.BlobRenamed"
- ],
- "x-ms-enum": {
- "name": "blobStorageEventType",
- "modelAsString": true
- }
- },
- "Compression": {
- "description": "The compression type",
- "type": "string",
- "enum": [
- "None",
- "GZip"
- ],
- "x-ms-enum": {
- "name": "compression",
- "modelAsString": true
- }
- },
- "EventGridConnectionProperties": {
- "properties": {
- "storageAccountResourceId": {
- "type": "string",
- "description": "The resource ID of the storage account where the data resides."
- },
- "eventHubResourceId": {
- "type": "string",
- "description": "The resource ID where the event grid is configured to send events."
- },
- "consumerGroup": {
- "type": "string",
- "description": "The event hub consumer group."
- },
- "tableName": {
- "type": "string",
- "description": "The table where the data should be ingested. Optionally the table information can be added to each message."
- },
- "mappingRuleName": {
- "type": "string",
- "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message."
- },
- "dataFormat": {
- "$ref": "#/definitions/EventGridDataFormat",
- "description": "The data format of the message. Optionally the data format can be added to each message."
- },
- "ignoreFirstRecord": {
- "type": "boolean",
- "description": "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file"
- },
- "blobStorageEventType": {
- "$ref": "#/definitions/BlobStorageEventType",
- "description": "The name of blob storage event type to process."
- }
- },
- "required": [
- "storageAccountResourceId",
- "eventHubResourceId",
- "consumerGroup"
- ],
- "description": "Class representing the Kusto event grid connection properties."
- },
- "Cluster": {
- "required": [
- "sku"
- ],
- "properties": {
- "sku": {
- "$ref": "#/definitions/AzureSku",
- "description": "The SKU of the cluster."
- },
- "zones": {
- "$ref": "#/definitions/Zones",
- "description": "The availability zones of the cluster."
- },
- "identity": {
- "$ref": "#/definitions/Identity",
- "description": "The identity of the cluster, if configured."
- },
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ClusterProperties",
- "description": "The cluster properties."
- }
- },
- "allOf": [
- {
- "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
- }
- ],
- "description": "Class representing a Kusto cluster."
- },
- "ClusterUpdate": {
- "properties": {
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "x-ms-mutability": [
- "read",
- "create",
- "update"
- ],
- "description": "Resource tags."
- },
- "location": {
- "type": "string",
- "description": "Resource location."
- },
- "sku": {
- "$ref": "#/definitions/AzureSku",
- "description": "The SKU of the cluster."
- },
- "identity": {
- "$ref": "#/definitions/Identity",
- "description": "The identity of the cluster, if configured."
- },
- "properties": {
- "x-ms-client-flatten": true,
- "description": "The cluster properties.",
- "$ref": "#/definitions/ClusterProperties"
- }
- },
- "allOf": [
- {
- "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
- }
- ],
- "description": "Class representing an update to a Kusto cluster."
- },
- "AttachedDatabaseConfigurationListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/AttachedDatabaseConfiguration"
- },
- "description": "The list of attached database configurations."
- }
- },
- "description": "The list attached database configurations operation response."
- },
- "AttachedDatabaseConfiguration": {
- "properties": {
- "location": {
- "type": "string",
- "description": "Resource location."
- },
- "properties": {
- "x-ms-client-flatten": true,
- "description": "The properties of the attached database configuration.",
- "$ref": "#/definitions/AttachedDatabaseConfigurationProperties"
- }
- },
- "allOf": [
- {
- "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
- }
- ],
- "description": "Class representing an attached database configuration."
- },
- "Database": {
- "required": [
- "kind"
- ],
- "properties": {
- "location": {
- "type": "string",
- "description": "Resource location."
- },
- "kind": {
- "description": "Kind of the database",
- "enum": [
- "ReadWrite",
- "ReadOnlyFollowing"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "Kind",
- "modelAsString": true
- }
- }
- },
- "allOf": [
- {
- "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
- }
- ],
- "description": "Class representing a Kusto database.",
- "discriminator": "kind"
- },
- "ReadWriteDatabase": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "The database properties.",
- "$ref": "#/definitions/ReadWriteDatabaseProperties"
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Database"
- }
- ],
- "description": "Class representing a read write database.",
- "x-ms-discriminator-value": "ReadWrite"
- },
- "ReadOnlyFollowingDatabase": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "The database properties.",
- "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties"
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Database"
- }
- ],
- "description": "Class representing a read only following database.",
- "x-ms-discriminator-value": "ReadOnlyFollowing"
- },
- "DatabasePrincipal": {
- "type": "object",
- "required": [
- "name",
- "role",
- "type"
- ],
- "properties": {
- "role": {
- "description": "Database principal role.",
- "type": "string",
- "enum": [
- "Admin",
- "Ingestor",
- "Monitor",
- "User",
- "UnrestrictedViewers",
- "Viewer"
- ],
- "x-ms-enum": {
- "name": "DatabasePrincipalRole",
- "modelAsString": true
- }
- },
- "name": {
- "description": "Database principal name.",
- "type": "string"
- },
- "type": {
- "description": "Database principal type.",
- "type": "string",
- "enum": [
- "App",
- "Group",
- "User"
- ],
- "x-ms-enum": {
- "name": "DatabasePrincipalType",
- "modelAsString": true
- }
- },
- "fqn": {
- "description": "Database principal fully qualified name.",
- "type": "string"
- },
- "email": {
- "description": "Database principal email if exists.",
- "type": "string"
- },
- "appId": {
- "description": "Application id - relevant only for application principal type.",
- "type": "string"
- },
- "tenantName": {
- "type": "string",
- "readOnly": true,
- "description": "The tenant name of the principal"
- }
- },
- "description": "A class representing database principal entity."
- },
- "DatabasePrincipalProperties": {
- "type": "object",
- "required": [
- "principalId",
- "role",
- "principalType"
- ],
- "properties": {
- "principalId": {
- "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.",
- "type": "string"
- },
- "role": {
- "description": "Database principal role.",
- "type": "string",
- "enum": [
- "Admin",
- "Ingestor",
- "Monitor",
- "User",
- "UnrestrictedViewers",
- "Viewer"
- ],
- "x-ms-enum": {
- "name": "DatabasePrincipalRole",
- "modelAsString": true
- }
- },
- "tenantId": {
- "type": "string",
- "description": "The tenant id of the principal"
- },
- "principalType": {
- "description": "Principal type.",
- "type": "string",
- "enum": [
- "App",
- "Group",
- "User"
- ],
- "x-ms-enum": {
- "name": "PrincipalType",
- "modelAsString": true
- }
- },
- "tenantName": {
- "type": "string",
- "readOnly": true,
- "description": "The tenant name of the principal"
- },
- "principalName": {
- "type": "string",
- "readOnly": true,
- "description": "The principal name"
- },
- "provisioningState": {
- "type": "string",
- "readOnly": true,
- "description": "The provisioned state of the resource.",
- "enum": [
- "Running",
- "Creating",
- "Deleting",
- "Succeeded",
- "Failed",
- "Moving"
- ],
- "x-ms-enum": {
- "name": "ProvisioningState",
- "modelAsString": true
- }
- }
- },
- "description": "A class representing database principal property."
- },
- "ClusterPrincipalProperties": {
- "type": "object",
- "required": [
- "principalId",
- "role",
- "principalType"
- ],
- "properties": {
- "principalId": {
- "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.",
- "type": "string"
- },
- "role": {
- "description": "Cluster principal role.",
- "type": "string",
- "enum": [
- "AllDatabasesAdmin",
- "AllDatabasesViewer"
- ],
- "x-ms-enum": {
- "name": "ClusterPrincipalRole",
- "modelAsString": true
- }
- },
- "tenantId": {
- "type": "string",
- "description": "The tenant id of the principal"
- },
- "principalType": {
- "description": "Principal type.",
- "type": "string",
- "enum": [
- "App",
- "Group",
- "User"
- ],
- "x-ms-enum": {
- "name": "PrincipalType",
- "modelAsString": true
- }
- },
- "tenantName": {
- "type": "string",
- "readOnly": true,
- "description": "The tenant name of the principal"
- },
- "principalName": {
- "type": "string",
- "readOnly": true,
- "description": "The principal name"
- },
- "provisioningState": {
- "type": "string",
- "readOnly": true,
- "description": "The provisioned state of the resource.",
- "enum": [
- "Running",
- "Creating",
- "Deleting",
- "Succeeded",
- "Failed",
- "Moving"
- ],
- "x-ms-enum": {
- "name": "ProvisioningState",
- "modelAsString": true
- }
- }
- },
- "description": "A class representing cluster principal property."
- },
- "DatabasePrincipalAssignment": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/DatabasePrincipalProperties",
- "description": "The database principal."
- }
- },
- "allOf": [
- {
- "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
- }
- ],
- "description": "Class representing a database principal assignment."
- },
- "ClusterPrincipalAssignment": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ClusterPrincipalProperties",
- "description": "The cluster principal."
- }
- },
- "allOf": [
- {
- "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
- }
- ],
- "description": "Class representing a cluster principal assignment."
- },
- "ClusterListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Cluster"
- },
- "description": "The list of Kusto clusters."
- }
- },
- "description": "The list Kusto clusters operation response."
- },
- "DatabaseListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Database"
- },
- "description": "The list of Kusto databases."
- }
- },
- "description": "The list Kusto databases operation response."
- },
- "DatabasePrincipalAssignmentListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/DatabasePrincipalAssignment"
- },
- "description": "The list of Kusto database principal assignments."
- }
- },
- "description": "The list Kusto database principal assignments operation response."
- },
- "ClusterPrincipalAssignmentListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ClusterPrincipalAssignment"
- },
- "description": "The list of Kusto cluster principal assignments."
- }
- },
- "description": "The list Kusto cluster principal assignments operation response."
- },
- "DatabasePrincipalListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/DatabasePrincipal"
- },
- "description": "The list of Kusto database principals."
- }
- },
- "description": "The list Kusto database principals operation response."
- },
- "FollowerDatabaseListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/FollowerDatabaseDefinition"
- },
- "description": "The list of follower database result."
- }
- },
- "description": "The list Kusto database principals operation response."
- },
- "DataConnection": {
- "required": [
- "kind"
- ],
- "properties": {
- "location": {
- "type": "string",
- "description": "Resource location."
- },
- "kind": {
- "description": "Kind of the endpoint for the data connection",
- "enum": [
- "EventHub",
- "EventGrid",
- "IotHub"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "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."
- },
- "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 identity type.",
- "enum": [
- "None",
- "SystemAssigned"
- ],
- "x-ms-enum": {
- "name": "IdentityType",
- "modelAsString": false
- }
- },
- "userAssignedIdentities": {
- "type": "object",
- "additionalProperties": {
- "type": "object",
- "properties": {
- "principalId": {
- "readOnly": true,
- "type": "string",
- "description": "The principal id of user assigned identity."
- },
- "clientId": {
- "readOnly": true,
- "type": "string",
- "description": "The client id of user assigned identity."
- }
- }
- },
- "description": "The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
- }
- },
- "required": [
- "type"
- ],
- "description": "Identity for the resource."
- },
- "KeyVaultProperties": {
- "description": "Properties of the key vault.",
- "required": [
- "keyName",
- "keyVersion",
- "keyVaultUri"
- ],
- "properties": {
- "keyName": {
- "type": "string",
- "description": "The name of the key vault key.",
- "x-ms-client-name": "KeyName"
- },
- "keyVersion": {
- "type": "string",
- "description": "The version of the key vault key.",
- "x-ms-client-name": "KeyVersion"
- },
- "keyVaultUri": {
- "type": "string",
- "description": "The Uri of the key vault.",
- "x-ms-client-name": "KeyVaultUri"
- }
- }
- },
- "LanguageExtensionName": {
- "description": "Language extension that can run within KQL query.",
- "type": "string",
- "enum": [
- "PYTHON",
- "R"
- ],
- "x-ms-enum": {
- "name": "languageExtensionName",
- "modelAsString": true
- }
- },
- "LanguageExtension": {
- "type": "object",
- "description": "The language extension object.",
- "properties": {
- "languageExtensionName": {
- "$ref": "#/definitions/LanguageExtensionName",
- "description": "The language extension name."
- }
- }
- },
- "LanguageExtensionsList": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/LanguageExtension"
- },
- "description": "The list of language extensions."
- }
- },
- "description": "The list of language extension objects."
- }
- },
- "parameters": {
- "SubscriptionIdParameter": {
- "name": "subscriptionId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
- },
- "ApiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "Client API Version."
- },
- "ClusterNameParameter": {
- "name": "clusterName",
- "in": "path",
- "description": "The name of the Kusto cluster.",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "AttachedDatabaseConfigurationNameParameter": {
- "name": "attachedDatabaseConfigurationName",
- "in": "path",
- "description": "The name of the attached database configuration.",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "ResourceGroupParameter": {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group containing the Kusto cluster.",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "DatabaseNameParameter": {
- "name": "databaseName",
- "in": "path",
- "description": "The name of the database in the Kusto cluster.",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "DataConnectionNameParameter": {
- "name": "dataConnectionName",
- "in": "path",
- "description": "The name of the data connection.",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "PrincipalAssignmentNameParameter": {
- "name": "principalAssignmentName",
- "in": "path",
- "description": "The name of the Kusto principalAssignment.",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- }
- },
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- }
-}
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "KustoManagementClient",
+ "version": "2020-06-14"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Get",
+ "x-ms-examples": {
+ "KustoClustersGet": {
+ "$ref": "./examples/KustoClustersGet.json"
+ }
+ },
+ "description": "Gets a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Kusto cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoClustersCreateOrUpdate": {
+ "$ref": "./examples/KustoClustersCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Create or update a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ },
+ "description": "The Kusto cluster parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the Cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "201": {
+ "description": "Successfully created the cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Update",
+ "x-ms-examples": {
+ "KustoClustersUpdate": {
+ "$ref": "./examples/KustoClustersUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Update a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterUpdate"
+ },
+ "description": "The Kusto cluster parameters supplied to the Update operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the Cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "201": {
+ "description": "Successfully updated the cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "202": {
+ "description": "Successfully updated the cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Delete",
+ "x-ms-examples": {
+ "KustoClustersDelete": {
+ "$ref": "./examples/KustoClustersDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- cluster deleted successfully."
+ },
+ "202": {
+ "description": "Accepted the delete cluster request."
+ },
+ "204": {
+ "description": "NoContent -- cluster does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Stop",
+ "x-ms-examples": {
+ "KustoClustersStop": {
+ "$ref": "./examples/KustoClustersStop.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Stops a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Start",
+ "x-ms-examples": {
+ "KustoClustersStart": {
+ "$ref": "./examples/KustoClustersStart.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Starts a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkPrincipalAssignmentNameAvailability": {
+ "post": {
+ "tags": [
+ "ClusterPrincipalAssignments"
+ ],
+ "operationId": "ClusterPrincipalAssignments_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoClusterPrincipalAssignmentsCheckNameAvailability": {
+ "$ref": "./examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the principal assignment name is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "principalAssignmentName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterPrincipalAssignmentCheckNameRequest"
+ },
+ "description": "The name of the principal assignment."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}": {
+ "get": {
+ "tags": [
+ "ClusterPrincipalAssignments"
+ ],
+ "operationId": "ClusterPrincipalAssignments_Get",
+ "x-ms-examples": {
+ "KustoClusterPrincipalAssignmentsGet": {
+ "$ref": "./examples/KustoClusterPrincipalAssignmentsGet.json"
+ }
+ },
+ "description": "Gets a Kusto cluster principalAssignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrincipalAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Kusto cluster principal assignment object.",
+ "schema": {
+ "$ref": "#/definitions/ClusterPrincipalAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ClusterPrincipalAssignments"
+ ],
+ "operationId": "ClusterPrincipalAssignments_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoClusterPrincipalAssignmentsCreateOrUpdate": {
+ "$ref": "./examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Create a Kusto cluster principalAssignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrincipalAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterPrincipalAssignment"
+ },
+ "description": "The Kusto cluster principalAssignment's parameters supplied for the operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the PrincipalAssignment.",
+ "schema": {
+ "$ref": "#/definitions/ClusterPrincipalAssignment"
+ }
+ },
+ "201": {
+ "description": "Successfully created the principalAssignment.",
+ "schema": {
+ "$ref": "#/definitions/ClusterPrincipalAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ClusterPrincipalAssignments"
+ ],
+ "operationId": "ClusterPrincipalAssignments_Delete",
+ "x-ms-examples": {
+ "KustoClusterPrincipalAssignmentsDelete": {
+ "$ref": "./examples/KustoClusterPrincipalAssignmentsDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes a Kusto cluster principalAssignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrincipalAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- principalAssignments deleted successfully."
+ },
+ "202": {
+ "description": "Accepted the delete principalAssignments request."
+ },
+ "204": {
+ "description": "NoContent -- principalAssignments does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments": {
+ "get": {
+ "tags": [
+ "ClusterPrincipalAssignments"
+ ],
+ "operationId": "ClusterPrincipalAssignments_List",
+ "x-ms-examples": {
+ "KustoPrincipalAssignmentsList": {
+ "$ref": "./examples/KustoClusterPrincipalAssignmentsList.json"
+ }
+ },
+ "description": "Lists all Kusto cluster principalAssignments.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ClusterPrincipalAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listFollowerDatabases": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Returns a list of databases that are owned by this cluster and were followed by another cluster.",
+ "operationId": "Clusters_ListFollowerDatabases",
+ "x-ms-examples": {
+ "KustoClusterListFollowerDatabases": {
+ "$ref": "./examples/KustoClusterListFollowerDatabases.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of followed databases.",
+ "schema": {
+ "$ref": "#/definitions/FollowerDatabaseListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/detachFollowerDatabases": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Detaches all followers of a database owned by this cluster.",
+ "operationId": "Clusters_DetachFollowerDatabases",
+ "x-ms-examples": {
+ "KustoClusterDetachFollowerDatabases": {
+ "$ref": "./examples/KustoClusterDetachFollowerDatabases.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "followerDatabaseToRemove",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FollowerDatabaseDefinition"
+ },
+ "description": "The follower databases properties to remove."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/diagnoseVirtualNetwork": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Diagnoses network connectivity status for external resources on which the service is dependent on.",
+ "operationId": "Clusters_DiagnoseVirtualNetwork",
+ "x-ms-examples": {
+ "KustoClusterDiagnoseVirtualNetwork": {
+ "$ref": "./examples/KustoClustersDiagnoseVirtualNetwork.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/DiagnoseVirtualNetworkResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_ListByResourceGroup",
+ "x-ms-examples": {
+ "KustoClustersListByResourceGroup": {
+ "$ref": "./examples/KustoClustersListByResourceGroup.json"
+ }
+ },
+ "description": "Lists all Kusto clusters within a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/clusters": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_List",
+ "x-ms-examples": {
+ "KustoClustersList": {
+ "$ref": "./examples/KustoClustersList.json"
+ }
+ },
+ "description": "Lists all Kusto clusters within a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/skus": {
+ "get": {
+ "description": "Lists eligible SKUs for Kusto resource provider.",
+ "x-ms-examples": {
+ "KustoClustersListSkus": {
+ "$ref": "./examples/KustoClustersListSkus.json"
+ }
+ },
+ "operationId": "Clusters_ListSkus",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/SkuDescriptionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoClustersCheckNameAvailability": {
+ "$ref": "./examples/KustoClustersCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the cluster name is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "Azure location.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "clusterName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterCheckNameRequest"
+ },
+ "description": "The name of the cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoDatabaseCheckNameAvailability": {
+ "$ref": "./examples/KustoDatabasesCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the database name is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameRequest"
+ },
+ "description": "The name of the resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/skus": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_ListSkusByResource",
+ "x-ms-examples": {
+ "KustoClustersListResourceSkus": {
+ "$ref": "./examples/KustoClustersListResourceSkus.json"
+ }
+ },
+ "description": "Returns the SKUs available for the provided resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ListResourceSkusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases": {
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Returns the list of databases of the given Kusto cluster.",
+ "operationId": "Databases_ListByCluster",
+ "x-ms-examples": {
+ "KustoDatabasesListByCluster": {
+ "$ref": "./examples/KustoDatabasesListByCluster.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of databases.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}": {
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Returns a database.",
+ "operationId": "Databases_Get",
+ "x-ms-examples": {
+ "KustoDatabasesGet": {
+ "$ref": "./examples/KustoDatabasesGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Creates or updates a database.",
+ "operationId": "Databases_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoDatabasesCreateOrUpdate": {
+ "$ref": "./examples/KustoDatabasesCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The database parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "201": {
+ "description": "Successfully created the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "202": {
+ "description": "Accepted the create database request.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Updates a database.",
+ "operationId": "Databases_Update",
+ "x-ms-examples": {
+ "KustoDatabasesUpdate": {
+ "$ref": "./examples/KustoDatabasesUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The database parameters supplied to the Update operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "201": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "202": {
+ "description": "Accepted the update database request.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Deletes the database with the given name.",
+ "operationId": "Databases_Delete",
+ "x-ms-examples": {
+ "KustoDatabasesDelete": {
+ "$ref": "./examples/KustoDatabasesDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the database."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "The specified database does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkPrincipalAssignmentNameAvailability": {
+ "post": {
+ "tags": [
+ "DatabasePrincipalAssignments"
+ ],
+ "operationId": "DatabasePrincipalAssignments_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoDatabaseCheckNameAvailability": {
+ "$ref": "./examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the database principal assignment is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "principalAssignmentName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalAssignmentCheckNameRequest"
+ },
+ "description": "The name of the resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}": {
+ "get": {
+ "tags": [
+ "DatabasePrincipalAssignments"
+ ],
+ "operationId": "DatabasePrincipalAssignments_Get",
+ "x-ms-examples": {
+ "KustoDatabasePrincipalAssignmentsGet": {
+ "$ref": "./examples/KustoDatabasePrincipalAssignmentsGet.json"
+ }
+ },
+ "description": "Gets a Kusto cluster database principalAssignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrincipalAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Kusto cluster database principal assignment object.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DatabasePrincipalAssignments"
+ ],
+ "operationId": "DatabasePrincipalAssignments_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoDatabasePrincipalAssignmentsCreateOrUpdate": {
+ "$ref": "./examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Creates a Kusto cluster database principalAssignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrincipalAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalAssignment"
+ },
+ "description": "The Kusto principalAssignments parameters supplied for the operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the PrincipalAssignments.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalAssignment"
+ }
+ },
+ "201": {
+ "description": "Successfully created the principalAssignments.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DatabasePrincipalAssignments"
+ ],
+ "operationId": "DatabasePrincipalAssignments_Delete",
+ "x-ms-examples": {
+ "KustoDatabasePrincipalAssignmentsDelete": {
+ "$ref": "./examples/KustoDatabasePrincipalAssignmentsDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes a Kusto principalAssignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrincipalAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- principalAssignments deleted successfully."
+ },
+ "202": {
+ "description": "Accepted the delete principalAssignments request."
+ },
+ "204": {
+ "description": "NoContent -- principalAssignments does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments": {
+ "get": {
+ "tags": [
+ "DatabasePrincipalAssignments"
+ ],
+ "operationId": "DatabasePrincipalAssignments_List",
+ "x-ms-examples": {
+ "KustoPrincipalAssignmentsList": {
+ "$ref": "./examples/KustoDatabasePrincipalAssignmentsList.json"
+ }
+ },
+ "description": "Lists all Kusto cluster database principalAssignments.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/listPrincipals": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Returns a list of database principals of the given Kusto cluster and database.",
+ "operationId": "Databases_ListPrincipals",
+ "x-ms-examples": {
+ "KustoDatabaseListPrincipals": {
+ "$ref": "./examples/KustoDatabaseListPrincipals.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of database principals.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/addPrincipals": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_AddPrincipals",
+ "x-ms-examples": {
+ "KustoDatabaseAddPrincipals": {
+ "$ref": "./examples/KustoDatabaseAddPrincipals.json"
+ }
+ },
+ "description": "Add Database principals permissions.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "databasePrincipalsToAdd",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListRequest"
+ },
+ "description": "List of database principals to add."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Successfully added the list of database principals. Returns the updated list of principals.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations": {
+ "get": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Returns the list of attached database configurations of the given Kusto cluster.",
+ "operationId": "AttachedDatabaseConfigurations_ListByCluster",
+ "x-ms-examples": {
+ "KustoAttachedDatabaseConfigurationsListByCluster": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsListByCluster.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of attached database configurations.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfigurationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}": {
+ "get": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Returns an attached database configuration.",
+ "operationId": "AttachedDatabaseConfigurations_Get",
+ "x-ms-examples": {
+ "AttachedDatabaseConfigurationsGet": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified attached database configuration.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Creates or updates an attached database configuration.",
+ "operationId": "AttachedDatabaseConfigurations_CreateOrUpdate",
+ "x-ms-examples": {
+ "AttachedDatabaseConfigurationsCreateOrUpdate": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ },
+ "description": "The database parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ }
+ },
+ "201": {
+ "description": "Successfully created the database.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ }
+ },
+ "202": {
+ "description": "Accepted the create database request.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Deletes the attached database configuration with the given name.",
+ "operationId": "AttachedDatabaseConfigurations_Delete",
+ "x-ms-examples": {
+ "AttachedDatabaseConfigurationsDelete": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the database."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "The specified database does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/removePrincipals": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_RemovePrincipals",
+ "x-ms-examples": {
+ "KustoDatabaseRemovePrincipals": {
+ "$ref": "./examples/KustoDatabaseRemovePrincipals.json"
+ }
+ },
+ "description": "Remove Database principals permissions.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "databasePrincipalsToRemove",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListRequest"
+ },
+ "description": "List of database principals to remove."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Successfully removed the list of database principals. Returns the updated list of principals.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections": {
+ "get": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Returns the list of data connections of the given Kusto database.",
+ "operationId": "DataConnections_ListByDatabase",
+ "x-ms-examples": {
+ "KustoDatabasesListByCluster": {
+ "$ref": "./examples/KustoDataConnectionsListByDatabase.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of data connections.",
+ "schema": {
+ "$ref": "#/definitions/DataConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnectionValidation": {
+ "post": {
+ "tags": [
+ "DataConnections"
+ ],
+ "operationId": "DataConnections_dataConnectionValidation",
+ "x-ms-examples": {
+ "KustoDataConnectionValidation": {
+ "$ref": "./examples/KustoDataConnectionValidation.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "description": "Checks that the data connection parameters are valid.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnectionValidation"
+ },
+ "description": "The data connection parameters supplied to the CreateOrUpdate operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/DataConnectionValidationListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "DataConnections"
+ ],
+ "operationId": "DataConnections_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoDataConnectionsCheckNameAvailability": {
+ "$ref": "./examples/KustoDataConnectionsCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the data connection name is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "dataConnectionName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnectionCheckNameRequest"
+ },
+ "description": "The name of the data connection."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the Kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}": {
+ "get": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Returns a data connection.",
+ "operationId": "DataConnections_Get",
+ "x-ms-examples": {
+ "KustoDataConnectionsGet": {
+ "$ref": "./examples/KustoDataConnectionsGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Creates or updates a data connection.",
+ "operationId": "DataConnections_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoDataConnectionsCreateOrUpdate": {
+ "$ref": "./examples/KustoDataConnectionsCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ },
+ "description": "The data connection parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "201": {
+ "description": "Successfully created the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "202": {
+ "description": "Accepted the create data connection request.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Updates a data connection.",
+ "operationId": "DataConnections_Update",
+ "x-ms-examples": {
+ "KustoDataConnectionsUpdate": {
+ "$ref": "./examples/KustoDataConnectionsUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ },
+ "description": "The data connection parameters supplied to the Update operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "201": {
+ "description": "Successfully updated the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "202": {
+ "description": "Accepted the update data connection request.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Deletes the data connection with the given name.",
+ "operationId": "DataConnections_Delete",
+ "x-ms-examples": {
+ "KustoDataConnectionsDelete": {
+ "$ref": "./examples/KustoDataConnectionsDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the data connection."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "The specified data connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/providers/Microsoft.Kusto/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "KustoOperationsList": {
+ "$ref": "./examples/KustoOperationsList.json"
+ }
+ },
+ "description": "Lists available operations for the Microsoft.Kusto provider.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the list of available operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listLanguageExtensions": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Returns a list of language extensions that can run within KQL queries.",
+ "operationId": "Clusters_ListLanguageExtensions",
+ "x-ms-examples": {
+ "KustoClusterListLanguageExtensions": {
+ "$ref": "./examples/KustoClusterListLanguageExtensions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of language extensions.",
+ "schema": {
+ "$ref": "#/definitions/LanguageExtensionsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/addLanguageExtensions": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Add a list of language extensions that can run within KQL queries.",
+ "operationId": "Clusters_AddLanguageExtensions",
+ "x-ms-examples": {
+ "KustoClusterAddLanguageExtensions": {
+ "$ref": "./examples/KustoClusterAddLanguageExtensions.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "languageExtensionsToAdd",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LanguageExtensionsList"
+ },
+ "description": "The language extensions to add."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/removeLanguageExtensions": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Remove a list of language extensions that can run within KQL queries.",
+ "operationId": "Clusters_RemoveLanguageExtensions",
+ "x-ms-examples": {
+ "KustoClusterRemoveLanguageExtensions": {
+ "$ref": "./examples/KustoClusterRemoveLanguageExtensions.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "languageExtensionsToRemove",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LanguageExtensionsList"
+ },
+ "description": "The language extensions to remove."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ClusterProperties": {
+ "properties": {
+ "state": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The state of the resource.",
+ "enum": [
+ "Creating",
+ "Unavailable",
+ "Running",
+ "Deleting",
+ "Deleted",
+ "Stopping",
+ "Stopped",
+ "Starting",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "State",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "uri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The cluster URI."
+ },
+ "dataIngestionUri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The cluster data ingestion URI."
+ },
+ "stateReason": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The reason for the cluster's current state."
+ },
+ "trustedExternalTenants": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrustedExternalTenant"
+ },
+ "description": "The cluster's external tenants."
+ },
+ "optimizedAutoscale": {
+ "type": "object",
+ "$ref": "#/definitions/OptimizedAutoscale",
+ "description": "Optimized auto scale definition."
+ },
+ "enableDiskEncryption": {
+ "description": "A boolean value that indicates if the cluster's disks are encrypted.",
+ "type": "boolean"
+ },
+ "enableStreamingIngest": {
+ "description": "A boolean value that indicates if the streaming ingest is enabled.",
+ "default": false,
+ "type": "boolean"
+ },
+ "virtualNetworkConfiguration": {
+ "type": "object",
+ "$ref": "#/definitions/VirtualNetworkConfiguration",
+ "description": "Virtual network definition."
+ },
+ "keyVaultProperties": {
+ "type": "object",
+ "$ref": "#/definitions/KeyVaultProperties",
+ "description": "KeyVault properties for the cluster encryption."
+ },
+ "enablePurge": {
+ "description": "A boolean value that indicates if the purge operations are enabled.",
+ "default": false,
+ "type": "boolean"
+ },
+ "languageExtensions": {
+ "type": "object",
+ "$ref": "#/definitions/LanguageExtensionsList",
+ "readOnly": true,
+ "description": "List of the cluster's language extensions."
+ },
+ "enableDoubleEncryption": {
+ "description": "A boolean value that indicates if double encryption is enabled.",
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "description": "Class representing the Kusto cluster properties."
+ },
+ "TrustedExternalTenant": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "GUID representing an external tenant."
+ }
+ },
+ "description": "Represents a tenant ID that is trusted by the cluster."
+ },
+ "AzureResourceSku": {
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "description": "Resource Namespace and Type."
+ },
+ "sku": {
+ "$ref": "#/definitions/AzureSku",
+ "description": "The SKU details."
+ },
+ "capacity": {
+ "$ref": "#/definitions/AzureCapacity",
+ "description": "The number of instances of the cluster."
+ }
+ },
+ "description": "Azure resource SKU definition."
+ },
+ "AzureCapacity": {
+ "type": "object",
+ "required": [
+ "minimum",
+ "maximum",
+ "default",
+ "scaleType"
+ ],
+ "properties": {
+ "scaleType": {
+ "description": "Scale type.",
+ "type": "string",
+ "enum": [
+ "automatic",
+ "manual",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "AzureScaleType",
+ "modelAsString": true
+ }
+ },
+ "minimum": {
+ "description": "Minimum allowed capacity.",
+ "type": "integer",
+ "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_D11_v2",
+ "Standard_D12_v2",
+ "Standard_L4s",
+ "Dev(No SLA)_Standard_D11_v2",
+ "Standard_E2a_v4",
+ "Standard_E4a_v4",
+ "Standard_E8a_v4",
+ "Standard_E16a_v4",
+ "Standard_E8as_v4+1TB_PS",
+ "Standard_E8as_v4+2TB_PS",
+ "Standard_E16as_v4+3TB_PS",
+ "Standard_E16as_v4+4TB_PS",
+ "Dev(No SLA)_Standard_E2a_v4"
+ ],
+ "x-ms-enum": {
+ "name": "AzureSkuName",
+ "modelAsString": true
+ }
+ },
+ "capacity": {
+ "description": "The number of instances of the cluster.",
+ "type": "integer",
+ "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"
+ },
+ "enginePublicIpId": {
+ "description": "Engine service's public IP address resource id.",
+ "type": "string"
+ },
+ "dataManagementPublicIpId": {
+ "description": "Data management's service public IP address resource id.",
+ "type": "string"
+ }
+ },
+ "description": "A class that contains virtual network definition."
+ },
+ "DatabaseStatistics": {
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "size": {
+ "type": "number",
+ "description": "The database size - the total size of compressed data and index in bytes."
+ }
+ },
+ "description": "A class that contains database statistics information."
+ },
+ "AttachedDatabaseConfigurationProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "databaseName": {
+ "type": "string",
+ "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases."
+ },
+ "clusterResourceId": {
+ "type": "string",
+ "description": "The resource id of the cluster where the databases you would like to attach reside."
+ },
+ "attachedDatabaseNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "The list of databases from the clusterResourceId which are currently attached to the cluster."
+ },
+ "defaultPrincipalsModificationKind": {
+ "type": "string",
+ "enum": [
+ "Union",
+ "Replace",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "DefaultPrincipalsModificationKind",
+ "modelAsString": true
+ },
+ "description": "The default principals modification kind"
+ }
+ },
+ "description": "Class representing the an attached database configuration properties of kind specific.",
+ "required": [
+ "databaseName",
+ "clusterResourceId",
+ "defaultPrincipalsModificationKind"
+ ]
+ },
+ "ReadWriteDatabaseProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "softDeletePeriod": {
+ "type": "string",
+ "format": "duration",
+ "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan."
+ },
+ "hotCachePeriod": {
+ "type": "string",
+ "format": "duration",
+ "description": "The time the data should be kept in cache for fast queries in TimeSpan."
+ },
+ "statistics": {
+ "$ref": "#/definitions/DatabaseStatistics",
+ "readOnly": true,
+ "description": "The statistics of the database."
+ },
+ "isFollowed": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Indicates whether the database is followed."
+ }
+ },
+ "description": "Class representing the Kusto database properties."
+ },
+ "ReadOnlyFollowingDatabaseProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "softDeletePeriod": {
+ "type": "string",
+ "readOnly": true,
+ "format": "duration",
+ "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan."
+ },
+ "hotCachePeriod": {
+ "type": "string",
+ "format": "duration",
+ "description": "The time the data should be kept in cache for fast queries in TimeSpan."
+ },
+ "statistics": {
+ "$ref": "#/definitions/DatabaseStatistics",
+ "readOnly": true,
+ "description": "The statistics of the database."
+ },
+ "leaderClusterResourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the leader cluster"
+ },
+ "attachedDatabaseConfigurationName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the attached database configuration cluster"
+ },
+ "principalsModificationKind": {
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "Union",
+ "Replace",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "PrincipalsModificationKind",
+ "modelAsString": true
+ },
+ "description": "The principals modification kind of the database"
+ }
+ },
+ "description": "Class representing the Kusto database properties."
+ },
+ "EventHubConnectionProperties": {
+ "properties": {
+ "eventHubResourceId": {
+ "type": "string",
+ "description": "The resource ID of the event hub to be used to create a data connection."
+ },
+ "consumerGroup": {
+ "type": "string",
+ "description": "The event hub consumer group."
+ },
+ "tableName": {
+ "type": "string",
+ "description": "The table where the data should be ingested. Optionally the table information can be added to each message."
+ },
+ "mappingRuleName": {
+ "type": "string",
+ "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message."
+ },
+ "dataFormat": {
+ "$ref": "#/definitions/EventHubDataFormat",
+ "description": "The data format of the message. Optionally the data format can be added to each message."
+ },
+ "eventSystemProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "System properties of the event hub"
+ },
+ "compression": {
+ "$ref": "#/definitions/Compression",
+ "description": "The event hub messages compression type"
+ }
+ },
+ "required": [
+ "eventHubResourceId",
+ "consumerGroup"
+ ],
+ "description": "Class representing the Kusto event hub connection properties."
+ },
+ "IotHubConnectionProperties": {
+ "properties": {
+ "iotHubResourceId": {
+ "type": "string",
+ "description": "The resource ID of the Iot hub to be used to create a data connection."
+ },
+ "consumerGroup": {
+ "type": "string",
+ "description": "The iot hub consumer group."
+ },
+ "tableName": {
+ "type": "string",
+ "description": "The table where the data should be ingested. Optionally the table information can be added to each message."
+ },
+ "mappingRuleName": {
+ "type": "string",
+ "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message."
+ },
+ "dataFormat": {
+ "$ref": "#/definitions/IotHubDataFormat",
+ "description": "The data format of the message. Optionally the data format can be added to each message."
+ },
+ "eventSystemProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "System properties of the iot hub"
+ },
+ "sharedAccessPolicyName": {
+ "type": "string",
+ "description": "The name of the share access policy"
+ }
+ },
+ "required": [
+ "iotHubResourceId",
+ "consumerGroup",
+ "sharedAccessPolicyName"
+ ],
+ "description": "Class representing the Kusto Iot hub connection properties."
+ },
+ "EventHubDataFormat": {
+ "description": "The data format of the message. Optionally the data format can be added to each message.",
+ "type": "string",
+ "enum": [
+ "MULTIJSON",
+ "JSON",
+ "CSV",
+ "TSV",
+ "SCSV",
+ "SOHSV",
+ "PSV",
+ "TXT",
+ "RAW",
+ "SINGLEJSON",
+ "AVRO",
+ "TSVE",
+ "PARQUET",
+ "ORC",
+ "APACHEAVRO",
+ "W3CLOGFILE"
+ ],
+ "x-ms-enum": {
+ "name": "eventHubDataFormat",
+ "modelAsString": true
+ }
+ },
+ "IotHubDataFormat": {
+ "description": "The data format of the message. Optionally the data format can be added to each message.",
+ "type": "string",
+ "enum": [
+ "MULTIJSON",
+ "JSON",
+ "CSV",
+ "TSV",
+ "SCSV",
+ "SOHSV",
+ "PSV",
+ "TXT",
+ "RAW",
+ "SINGLEJSON",
+ "AVRO",
+ "TSVE",
+ "PARQUET",
+ "ORC",
+ "APACHEAVRO",
+ "W3CLOGFILE"
+ ],
+ "x-ms-enum": {
+ "name": "iotHubDataFormat",
+ "modelAsString": true
+ }
+ },
+ "EventGridDataFormat": {
+ "description": "The data format of the message. Optionally the data format can be added to each message.",
+ "type": "string",
+ "enum": [
+ "MULTIJSON",
+ "JSON",
+ "CSV",
+ "TSV",
+ "SCSV",
+ "SOHSV",
+ "PSV",
+ "TXT",
+ "RAW",
+ "SINGLEJSON",
+ "AVRO",
+ "TSVE",
+ "PARQUET",
+ "ORC",
+ "APACHEAVRO",
+ "W3CLOGFILE"
+ ],
+ "x-ms-enum": {
+ "name": "eventGridDataFormat",
+ "modelAsString": true
+ }
+ },
+ "BlobStorageEventType": {
+ "description": "The name of blob storage event type to process.",
+ "type": "string",
+ "enum": [
+ "Microsoft.Storage.BlobCreated",
+ "Microsoft.Storage.BlobRenamed"
+ ],
+ "x-ms-enum": {
+ "name": "blobStorageEventType",
+ "modelAsString": true
+ }
+ },
+ "Compression": {
+ "description": "The compression type",
+ "type": "string",
+ "enum": [
+ "None",
+ "GZip"
+ ],
+ "x-ms-enum": {
+ "name": "compression",
+ "modelAsString": true
+ }
+ },
+ "EventGridConnectionProperties": {
+ "properties": {
+ "storageAccountResourceId": {
+ "type": "string",
+ "description": "The resource ID of the storage account where the data resides."
+ },
+ "eventHubResourceId": {
+ "type": "string",
+ "description": "The resource ID where the event grid is configured to send events."
+ },
+ "consumerGroup": {
+ "type": "string",
+ "description": "The event hub consumer group."
+ },
+ "tableName": {
+ "type": "string",
+ "description": "The table where the data should be ingested. Optionally the table information can be added to each message."
+ },
+ "mappingRuleName": {
+ "type": "string",
+ "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message."
+ },
+ "dataFormat": {
+ "$ref": "#/definitions/EventGridDataFormat",
+ "description": "The data format of the message. Optionally the data format can be added to each message."
+ },
+ "ignoreFirstRecord": {
+ "type": "boolean",
+ "description": "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file"
+ },
+ "blobStorageEventType": {
+ "$ref": "#/definitions/BlobStorageEventType",
+ "description": "The name of blob storage event type to process."
+ }
+ },
+ "required": [
+ "storageAccountResourceId",
+ "eventHubResourceId",
+ "consumerGroup"
+ ],
+ "description": "Class representing the Kusto event grid connection properties."
+ },
+ "Cluster": {
+ "required": [
+ "sku"
+ ],
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/AzureSku",
+ "description": "The SKU of the cluster."
+ },
+ "zones": {
+ "$ref": "#/definitions/Zones",
+ "description": "The availability zones of the cluster."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the cluster, if configured."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ClusterProperties",
+ "description": "The cluster properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Class representing a Kusto cluster."
+ },
+ "ClusterUpdate": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "sku": {
+ "$ref": "#/definitions/AzureSku",
+ "description": "The SKU of the cluster."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the cluster, if configured."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The cluster properties.",
+ "$ref": "#/definitions/ClusterProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Class representing an update to a Kusto cluster."
+ },
+ "AttachedDatabaseConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ },
+ "description": "The list of attached database configurations."
+ }
+ },
+ "description": "The list attached database configurations operation response."
+ },
+ "AttachedDatabaseConfiguration": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of the attached database configuration.",
+ "$ref": "#/definitions/AttachedDatabaseConfigurationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing an attached database configuration."
+ },
+ "Database": {
+ "required": [
+ "kind"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "kind": {
+ "description": "Kind of the database",
+ "enum": [
+ "ReadWrite",
+ "ReadOnlyFollowing"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Kind",
+ "modelAsString": true
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing a Kusto database.",
+ "discriminator": "kind"
+ },
+ "ReadWriteDatabase": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The database properties.",
+ "$ref": "#/definitions/ReadWriteDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Database"
+ }
+ ],
+ "description": "Class representing a read write database.",
+ "x-ms-discriminator-value": "ReadWrite"
+ },
+ "ReadOnlyFollowingDatabase": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The database properties.",
+ "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Database"
+ }
+ ],
+ "description": "Class representing a read only following database.",
+ "x-ms-discriminator-value": "ReadOnlyFollowing"
+ },
+ "DatabasePrincipal": {
+ "type": "object",
+ "required": [
+ "name",
+ "role",
+ "type"
+ ],
+ "properties": {
+ "role": {
+ "description": "Database principal role.",
+ "type": "string",
+ "enum": [
+ "Admin",
+ "Ingestor",
+ "Monitor",
+ "User",
+ "UnrestrictedViewers",
+ "Viewer"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalRole",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "Database principal name.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Database principal type.",
+ "type": "string",
+ "enum": [
+ "App",
+ "Group",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalType",
+ "modelAsString": true
+ }
+ },
+ "fqn": {
+ "description": "Database principal fully qualified name.",
+ "type": "string"
+ },
+ "email": {
+ "description": "Database principal email if exists.",
+ "type": "string"
+ },
+ "appId": {
+ "description": "Application id - relevant only for application principal type.",
+ "type": "string"
+ },
+ "tenantName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The tenant name of the principal"
+ }
+ },
+ "description": "A class representing database principal entity."
+ },
+ "DatabasePrincipalProperties": {
+ "type": "object",
+ "required": [
+ "principalId",
+ "role",
+ "principalType"
+ ],
+ "properties": {
+ "principalId": {
+ "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.",
+ "type": "string"
+ },
+ "role": {
+ "description": "Database principal role.",
+ "type": "string",
+ "enum": [
+ "Admin",
+ "Ingestor",
+ "Monitor",
+ "User",
+ "UnrestrictedViewers",
+ "Viewer"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalRole",
+ "modelAsString": true
+ }
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "The tenant id of the principal"
+ },
+ "principalType": {
+ "description": "Principal type.",
+ "type": "string",
+ "enum": [
+ "App",
+ "Group",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "PrincipalType",
+ "modelAsString": true
+ }
+ },
+ "tenantName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The tenant name of the principal"
+ },
+ "principalName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The principal name"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "A class representing database principal property."
+ },
+ "ClusterPrincipalProperties": {
+ "type": "object",
+ "required": [
+ "principalId",
+ "role",
+ "principalType"
+ ],
+ "properties": {
+ "principalId": {
+ "description": "The principal ID assigned to the cluster principal. It can be a user email, application ID, or security group name.",
+ "type": "string"
+ },
+ "role": {
+ "description": "Cluster principal role.",
+ "type": "string",
+ "enum": [
+ "AllDatabasesAdmin",
+ "AllDatabasesViewer"
+ ],
+ "x-ms-enum": {
+ "name": "ClusterPrincipalRole",
+ "modelAsString": true
+ }
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "The tenant id of the principal"
+ },
+ "principalType": {
+ "description": "Principal type.",
+ "type": "string",
+ "enum": [
+ "App",
+ "Group",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "PrincipalType",
+ "modelAsString": true
+ }
+ },
+ "tenantName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The tenant name of the principal"
+ },
+ "principalName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The principal name"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "A class representing cluster principal property."
+ },
+ "DatabasePrincipalAssignment": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DatabasePrincipalProperties",
+ "description": "The database principal."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing a database principal assignment."
+ },
+ "ClusterPrincipalAssignment": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ClusterPrincipalProperties",
+ "description": "The cluster principal."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing a cluster principal assignment."
+ },
+ "ClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Cluster"
+ },
+ "description": "The list of Kusto clusters."
+ }
+ },
+ "description": "The list Kusto clusters operation response."
+ },
+ "DatabaseListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The list of Kusto databases."
+ }
+ },
+ "description": "The list Kusto databases operation response."
+ },
+ "DatabasePrincipalAssignmentListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabasePrincipalAssignment"
+ },
+ "description": "The list of Kusto database principal assignments."
+ }
+ },
+ "description": "The list Kusto database principal assignments operation response."
+ },
+ "ClusterPrincipalAssignmentListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClusterPrincipalAssignment"
+ },
+ "description": "The list of Kusto cluster principal assignments."
+ }
+ },
+ "description": "The list Kusto cluster principal assignments operation response."
+ },
+ "DatabasePrincipalListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabasePrincipal"
+ },
+ "description": "The list of Kusto database principals."
+ }
+ },
+ "description": "The list Kusto database principals operation response."
+ },
+ "FollowerDatabaseListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FollowerDatabaseDefinition"
+ },
+ "description": "The list of follower database result."
+ }
+ },
+ "description": "The list Kusto database principals operation response."
+ },
+ "DataConnection": {
+ "required": [
+ "kind"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "kind": {
+ "description": "Kind of the endpoint for the data connection",
+ "enum": [
+ "EventHub",
+ "EventGrid",
+ "IotHub"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "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."
+ },
+ "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 identity type.",
+ "enum": [
+ "None",
+ "SystemAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "description": "The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "description": "Identity for the resource."
+ },
+ "KeyVaultProperties": {
+ "description": "Properties of the key vault.",
+ "required": [
+ "keyName",
+ "keyVersion",
+ "keyVaultUri"
+ ],
+ "properties": {
+ "keyName": {
+ "type": "string",
+ "description": "The name of the key vault key.",
+ "x-ms-client-name": "KeyName"
+ },
+ "keyVersion": {
+ "type": "string",
+ "description": "The version of the key vault key.",
+ "x-ms-client-name": "KeyVersion"
+ },
+ "keyVaultUri": {
+ "type": "string",
+ "description": "The Uri of the key vault.",
+ "x-ms-client-name": "KeyVaultUri"
+ }
+ }
+ },
+ "LanguageExtensionName": {
+ "description": "Language extension that can run within KQL query.",
+ "type": "string",
+ "enum": [
+ "PYTHON",
+ "R"
+ ],
+ "x-ms-enum": {
+ "name": "languageExtensionName",
+ "modelAsString": true
+ }
+ },
+ "LanguageExtension": {
+ "type": "object",
+ "description": "The language extension object.",
+ "properties": {
+ "languageExtensionName": {
+ "$ref": "#/definitions/LanguageExtensionName",
+ "description": "The language extension name."
+ }
+ }
+ },
+ "LanguageExtensionsList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LanguageExtension"
+ },
+ "description": "The list of language extensions."
+ }
+ },
+ "description": "The list of language extension objects."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API Version."
+ },
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "description": "The name of the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AttachedDatabaseConfigurationNameParameter": {
+ "name": "attachedDatabaseConfigurationName",
+ "in": "path",
+ "description": "The name of the attached database configuration.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group containing the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DatabaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the database in the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DataConnectionNameParameter": {
+ "name": "dataConnectionName",
+ "in": "path",
+ "description": "The name of the data connection.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "PrincipalAssignmentNameParameter": {
+ "name": "principalAssignmentName",
+ "in": "path",
+ "description": "The name of the Kusto principalAssignment.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/kusto.json
index b04f982f0256..fd38e3ab9c4b 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/kusto.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-09-18/kusto.json
@@ -1,4258 +1,4269 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "KustoManagementClient",
- "version": "2020-09-18"
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "paths": {
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}": {
- "get": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_Get",
- "x-ms-examples": {
- "KustoClustersGet": {
- "$ref": "./examples/KustoClustersGet.json"
- }
- },
- "description": "Gets a Kusto cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The Kusto cluster.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "put": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_CreateOrUpdate",
- "x-ms-examples": {
- "KustoClustersCreateOrUpdate": {
- "$ref": "./examples/KustoClustersCreateOrUpdate.json"
- }
- },
- "x-ms-long-running-operation": true,
- "description": "Create or update a Kusto cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Cluster"
- },
- "description": "The Kusto cluster parameters supplied to the CreateOrUpdate operation."
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated the Cluster.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "201": {
- "description": "Successfully created the cluster.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "patch": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_Update",
- "x-ms-examples": {
- "KustoClustersUpdate": {
- "$ref": "./examples/KustoClustersUpdate.json"
- }
- },
- "x-ms-long-running-operation": true,
- "description": "Update a Kusto cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ClusterUpdate"
- },
- "description": "The Kusto cluster parameters supplied to the Update operation."
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated the Cluster.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "201": {
- "description": "Successfully updated the cluster.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "202": {
- "description": "Successfully updated the cluster.",
- "schema": {
- "$ref": "#/definitions/Cluster"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "delete": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_Delete",
- "x-ms-examples": {
- "KustoClustersDelete": {
- "$ref": "./examples/KustoClustersDelete.json"
- }
- },
- "x-ms-long-running-operation": true,
- "description": "Deletes a Kusto cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- cluster deleted successfully."
- },
- "202": {
- "description": "Accepted the delete cluster request."
- },
- "204": {
- "description": "NoContent -- cluster does not exist in the subscription."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop": {
- "post": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_Stop",
- "x-ms-examples": {
- "KustoClustersStop": {
- "$ref": "./examples/KustoClustersStop.json"
- }
- },
- "x-ms-long-running-operation": true,
- "description": "Stops a Kusto cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK."
- },
- "202": {
- "description": "Accepted"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start": {
- "post": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_Start",
- "x-ms-examples": {
- "KustoClustersStart": {
- "$ref": "./examples/KustoClustersStart.json"
- }
- },
- "x-ms-long-running-operation": true,
- "description": "Starts a Kusto cluster.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK."
- },
- "202": {
- "description": "Accepted."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkPrincipalAssignmentNameAvailability": {
- "post": {
- "tags": [
- "ClusterPrincipalAssignments"
- ],
- "operationId": "ClusterPrincipalAssignments_CheckNameAvailability",
- "x-ms-examples": {
- "KustoClusterPrincipalAssignmentsCheckNameAvailability": {
- "$ref": "./examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json"
- }
- },
- "description": "Checks that the principal assignment name is valid and is not already in use.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "principalAssignmentName",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ClusterPrincipalAssignmentCheckNameRequest"
- },
- "description": "The name of the principal assignment."
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Operation to check the kusto resource name availability was successful.",
- "schema": {
- "$ref": "#/definitions/CheckNameResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}": {
- "get": {
- "tags": [
- "ClusterPrincipalAssignments"
- ],
- "operationId": "ClusterPrincipalAssignments_Get",
- "x-ms-examples": {
- "KustoClusterPrincipalAssignmentsGet": {
- "$ref": "./examples/KustoClusterPrincipalAssignmentsGet.json"
- }
- },
- "description": "Gets a Kusto cluster principalAssignment.",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/PrincipalAssignmentNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The Kusto cluster principal assignment object.",
- "schema": {
- "$ref": "#/definitions/ClusterPrincipalAssignment"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "put": {
- "tags": [
- "ClusterPrincipalAssignments"
- ],
- "operationId": "ClusterPrincipalAssignments_CreateOrUpdate",
- "x-ms-examples": {
- "KustoClusterPrincipalAssignmentsCreateOrUpdate": {
- "$ref": "./examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json"
- }
- },
- "x-ms-long-running-operation": true,
- "description": "Create a Kusto cluster principalAssignment.",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/PrincipalAssignmentNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ClusterPrincipalAssignment"
- },
- "description": "The Kusto cluster principalAssignment's parameters supplied for the operation."
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated the PrincipalAssignment.",
- "schema": {
- "$ref": "#/definitions/ClusterPrincipalAssignment"
- }
- },
- "201": {
- "description": "Successfully created the principalAssignment.",
- "schema": {
- "$ref": "#/definitions/ClusterPrincipalAssignment"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "delete": {
- "tags": [
- "ClusterPrincipalAssignments"
- ],
- "operationId": "ClusterPrincipalAssignments_Delete",
- "x-ms-examples": {
- "KustoClusterPrincipalAssignmentsDelete": {
- "$ref": "./examples/KustoClusterPrincipalAssignmentsDelete.json"
- }
- },
- "x-ms-long-running-operation": true,
- "description": "Deletes a Kusto cluster principalAssignment.",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/PrincipalAssignmentNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- principalAssignments deleted successfully."
- },
- "202": {
- "description": "Accepted the delete principalAssignments request."
- },
- "204": {
- "description": "NoContent -- principalAssignments does not exist in the subscription."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments": {
- "get": {
- "tags": [
- "ClusterPrincipalAssignments"
- ],
- "operationId": "ClusterPrincipalAssignments_List",
- "x-ms-examples": {
- "KustoPrincipalAssignmentsList": {
- "$ref": "./examples/KustoClusterPrincipalAssignmentsList.json"
- }
- },
- "description": "Lists all Kusto cluster principalAssignments.",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK.",
- "schema": {
- "$ref": "#/definitions/ClusterPrincipalAssignmentListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listFollowerDatabases": {
- "post": {
- "tags": [
- "Clusters"
- ],
- "description": "Returns a list of databases that are owned by this cluster and were followed by another cluster.",
- "operationId": "Clusters_ListFollowerDatabases",
- "x-ms-examples": {
- "KustoClusterListFollowerDatabases": {
- "$ref": "./examples/KustoClusterListFollowerDatabases.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the list of followed databases.",
- "schema": {
- "$ref": "#/definitions/FollowerDatabaseListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/detachFollowerDatabases": {
- "post": {
- "tags": [
- "Clusters"
- ],
- "description": "Detaches all followers of a database owned by this cluster.",
- "operationId": "Clusters_DetachFollowerDatabases",
- "x-ms-examples": {
- "KustoClusterDetachFollowerDatabases": {
- "$ref": "./examples/KustoClusterDetachFollowerDatabases.json"
- }
- },
- "x-ms-long-running-operation": true,
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "name": "followerDatabaseToRemove",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/FollowerDatabaseDefinition"
- },
- "description": "The follower databases properties to remove."
- }
- ],
- "responses": {
- "200": {
- "description": "OK."
- },
- "202": {
- "description": "Accepted"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/diagnoseVirtualNetwork": {
- "post": {
- "tags": [
- "Clusters"
- ],
- "description": "Diagnoses network connectivity status for external resources on which the service is dependent on.",
- "operationId": "Clusters_DiagnoseVirtualNetwork",
- "x-ms-examples": {
- "KustoClusterDiagnoseVirtualNetwork": {
- "$ref": "./examples/KustoClustersDiagnoseVirtualNetwork.json"
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK.",
- "schema": {
- "$ref": "#/definitions/DiagnoseVirtualNetworkResult"
- }
- },
- "202": {
- "description": "Accepted"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters": {
- "get": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_ListByResourceGroup",
- "x-ms-examples": {
- "KustoClustersListByResourceGroup": {
- "$ref": "./examples/KustoClustersListByResourceGroup.json"
- }
- },
- "description": "Lists all Kusto clusters within a resource group.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK.",
- "schema": {
- "$ref": "#/definitions/ClusterListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/clusters": {
- "get": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_List",
- "x-ms-examples": {
- "KustoClustersList": {
- "$ref": "./examples/KustoClustersList.json"
- }
- },
- "description": "Lists all Kusto clusters within a subscription.",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK.",
- "schema": {
- "$ref": "#/definitions/ClusterListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/skus": {
- "get": {
- "description": "Lists eligible SKUs for Kusto resource provider.",
- "x-ms-examples": {
- "KustoClustersListSkus": {
- "$ref": "./examples/KustoClustersListSkus.json"
- }
- },
- "operationId": "Clusters_ListSkus",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK.",
- "schema": {
- "$ref": "#/definitions/SkuDescriptionList"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/checkNameAvailability": {
- "post": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_CheckNameAvailability",
- "x-ms-examples": {
- "KustoClustersCheckNameAvailability": {
- "$ref": "./examples/KustoClustersCheckNameAvailability.json"
- }
- },
- "description": "Checks that the cluster name is valid and is not already in use.",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "location",
- "in": "path",
- "description": "Azure location.",
- "required": true,
- "type": "string"
- },
- {
- "name": "clusterName",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ClusterCheckNameRequest"
- },
- "description": "The name of the cluster."
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Operation to check the kusto resource name availability was successful.",
- "schema": {
- "$ref": "#/definitions/CheckNameResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkNameAvailability": {
- "post": {
- "tags": [
- "Databases"
- ],
- "operationId": "Databases_CheckNameAvailability",
- "x-ms-examples": {
- "KustoDatabaseCheckNameAvailability": {
- "$ref": "./examples/KustoDatabasesCheckNameAvailability.json"
- }
- },
- "description": "Checks that the database name is valid and is not already in use.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "resourceName",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/CheckNameRequest"
- },
- "description": "The name of the resource."
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Operation to check the kusto resource name availability was successful.",
- "schema": {
- "$ref": "#/definitions/CheckNameResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/skus": {
- "get": {
- "tags": [
- "Clusters"
- ],
- "operationId": "Clusters_ListSkusByResource",
- "x-ms-examples": {
- "KustoClustersListResourceSkus": {
- "$ref": "./examples/KustoClustersListResourceSkus.json"
- }
- },
- "description": "Returns the SKUs available for the provided resource.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK.",
- "schema": {
- "$ref": "#/definitions/ListResourceSkusResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases": {
- "get": {
- "tags": [
- "Databases"
- ],
- "description": "Returns the list of databases of the given Kusto cluster.",
- "operationId": "Databases_ListByCluster",
- "x-ms-examples": {
- "KustoDatabasesListByCluster": {
- "$ref": "./examples/KustoDatabasesListByCluster.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the list of databases.",
- "schema": {
- "$ref": "#/definitions/DatabaseListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}": {
- "get": {
- "tags": [
- "Databases"
- ],
- "description": "Returns a database.",
- "operationId": "Databases_Get",
- "x-ms-examples": {
- "KustoDatabasesGet": {
- "$ref": "./examples/KustoDatabasesGet.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the specified database.",
- "schema": {
- "$ref": "#/definitions/Database"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "put": {
- "tags": [
- "Databases"
- ],
- "description": "Creates or updates a database.",
- "operationId": "Databases_CreateOrUpdate",
- "x-ms-examples": {
- "KustoDatabasesCreateOrUpdate": {
- "$ref": "./examples/KustoDatabasesCreateOrUpdate.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Database"
- },
- "description": "The database parameters supplied to the CreateOrUpdate operation."
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated the database.",
- "schema": {
- "$ref": "#/definitions/Database"
- }
- },
- "201": {
- "description": "Successfully created the database.",
- "schema": {
- "$ref": "#/definitions/Database"
- }
- },
- "202": {
- "description": "Accepted the create database request.",
- "schema": {
- "$ref": "#/definitions/Database"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true
- },
- "patch": {
- "tags": [
- "Databases"
- ],
- "description": "Updates a database.",
- "operationId": "Databases_Update",
- "x-ms-examples": {
- "KustoDatabasesUpdate": {
- "$ref": "./examples/KustoDatabasesUpdate.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Database"
- },
- "description": "The database parameters supplied to the Update operation."
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated the database.",
- "schema": {
- "$ref": "#/definitions/Database"
- }
- },
- "201": {
- "description": "Successfully updated the database.",
- "schema": {
- "$ref": "#/definitions/Database"
- }
- },
- "202": {
- "description": "Accepted the update database request.",
- "schema": {
- "$ref": "#/definitions/Database"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "Databases"
- ],
- "description": "Deletes the database with the given name.",
- "operationId": "Databases_Delete",
- "x-ms-examples": {
- "KustoDatabasesDelete": {
- "$ref": "./examples/KustoDatabasesDelete.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully deleted the database."
- },
- "202": {
- "description": "Accepted."
- },
- "204": {
- "description": "The specified database does not exist."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkPrincipalAssignmentNameAvailability": {
- "post": {
- "tags": [
- "DatabasePrincipalAssignments"
- ],
- "operationId": "DatabasePrincipalAssignments_CheckNameAvailability",
- "x-ms-examples": {
- "KustoDatabaseCheckNameAvailability": {
- "$ref": "./examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json"
- }
- },
- "description": "Checks that the database principal assignment is valid and is not already in use.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "principalAssignmentName",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalAssignmentCheckNameRequest"
- },
- "description": "The name of the resource."
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Operation to check the kusto resource name availability was successful.",
- "schema": {
- "$ref": "#/definitions/CheckNameResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}": {
- "get": {
- "tags": [
- "DatabasePrincipalAssignments"
- ],
- "operationId": "DatabasePrincipalAssignments_Get",
- "x-ms-examples": {
- "KustoDatabasePrincipalAssignmentsGet": {
- "$ref": "./examples/KustoDatabasePrincipalAssignmentsGet.json"
- }
- },
- "description": "Gets a Kusto cluster database principalAssignment.",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/PrincipalAssignmentNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The Kusto cluster database principal assignment object.",
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalAssignment"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "put": {
- "tags": [
- "DatabasePrincipalAssignments"
- ],
- "operationId": "DatabasePrincipalAssignments_CreateOrUpdate",
- "x-ms-examples": {
- "KustoDatabasePrincipalAssignmentsCreateOrUpdate": {
- "$ref": "./examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json"
- }
- },
- "x-ms-long-running-operation": true,
- "description": "Creates a Kusto cluster database principalAssignment.",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/PrincipalAssignmentNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalAssignment"
- },
- "description": "The Kusto principalAssignments parameters supplied for the operation."
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated the PrincipalAssignments.",
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalAssignment"
- }
- },
- "201": {
- "description": "Successfully created the principalAssignments.",
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalAssignment"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "delete": {
- "tags": [
- "DatabasePrincipalAssignments"
- ],
- "operationId": "DatabasePrincipalAssignments_Delete",
- "x-ms-examples": {
- "KustoDatabasePrincipalAssignmentsDelete": {
- "$ref": "./examples/KustoDatabasePrincipalAssignmentsDelete.json"
- }
- },
- "x-ms-long-running-operation": true,
- "description": "Deletes a Kusto principalAssignment.",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/PrincipalAssignmentNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- principalAssignments deleted successfully."
- },
- "202": {
- "description": "Accepted the delete principalAssignments request."
- },
- "204": {
- "description": "NoContent -- principalAssignments does not exist in the subscription."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments": {
- "get": {
- "tags": [
- "DatabasePrincipalAssignments"
- ],
- "operationId": "DatabasePrincipalAssignments_List",
- "x-ms-examples": {
- "KustoPrincipalAssignmentsList": {
- "$ref": "./examples/KustoDatabasePrincipalAssignmentsList.json"
- }
- },
- "description": "Lists all Kusto cluster database principalAssignments.",
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK.",
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalAssignmentListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/listPrincipals": {
- "post": {
- "tags": [
- "Databases"
- ],
- "description": "Returns a list of database principals of the given Kusto cluster and database.",
- "operationId": "Databases_ListPrincipals",
- "x-ms-examples": {
- "KustoDatabaseListPrincipals": {
- "$ref": "./examples/KustoDatabaseListPrincipals.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the list of database principals.",
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/addPrincipals": {
- "post": {
- "tags": [
- "Databases"
- ],
- "operationId": "Databases_AddPrincipals",
- "x-ms-examples": {
- "KustoDatabaseAddPrincipals": {
- "$ref": "./examples/KustoDatabaseAddPrincipals.json"
- }
- },
- "description": "Add Database principals permissions.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "name": "databasePrincipalsToAdd",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalListRequest"
- },
- "description": "List of database principals to add."
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Successfully added the list of database principals. Returns the updated list of principals.",
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations": {
- "get": {
- "tags": [
- "AttachedDatabaseConfigurations"
- ],
- "description": "Returns the list of attached database configurations of the given Kusto cluster.",
- "operationId": "AttachedDatabaseConfigurations_ListByCluster",
- "x-ms-examples": {
- "KustoAttachedDatabaseConfigurationsListByCluster": {
- "$ref": "./examples/KustoAttachedDatabaseConfigurationsListByCluster.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the list of attached database configurations.",
- "schema": {
- "$ref": "#/definitions/AttachedDatabaseConfigurationListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}": {
- "get": {
- "tags": [
- "AttachedDatabaseConfigurations"
- ],
- "description": "Returns an attached database configuration.",
- "operationId": "AttachedDatabaseConfigurations_Get",
- "x-ms-examples": {
- "AttachedDatabaseConfigurationsGet": {
- "$ref": "./examples/KustoAttachedDatabaseConfigurationsGet.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the specified attached database configuration.",
- "schema": {
- "$ref": "#/definitions/AttachedDatabaseConfiguration"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "put": {
- "tags": [
- "AttachedDatabaseConfigurations"
- ],
- "description": "Creates or updates an attached database configuration.",
- "operationId": "AttachedDatabaseConfigurations_CreateOrUpdate",
- "x-ms-examples": {
- "AttachedDatabaseConfigurationsCreateOrUpdate": {
- "$ref": "./examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/AttachedDatabaseConfiguration"
- },
- "description": "The database parameters supplied to the CreateOrUpdate operation."
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated the database.",
- "schema": {
- "$ref": "#/definitions/AttachedDatabaseConfiguration"
- }
- },
- "201": {
- "description": "Successfully created the database.",
- "schema": {
- "$ref": "#/definitions/AttachedDatabaseConfiguration"
- }
- },
- "202": {
- "description": "Accepted the create database request.",
- "schema": {
- "$ref": "#/definitions/AttachedDatabaseConfiguration"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "AttachedDatabaseConfigurations"
- ],
- "description": "Deletes the attached database configuration with the given name.",
- "operationId": "AttachedDatabaseConfigurations_Delete",
- "x-ms-examples": {
- "AttachedDatabaseConfigurationsDelete": {
- "$ref": "./examples/KustoAttachedDatabaseConfigurationsDelete.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully deleted the database."
- },
- "202": {
- "description": "Accepted."
- },
- "204": {
- "description": "The specified database does not exist."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/removePrincipals": {
- "post": {
- "tags": [
- "Databases"
- ],
- "operationId": "Databases_RemovePrincipals",
- "x-ms-examples": {
- "KustoDatabaseRemovePrincipals": {
- "$ref": "./examples/KustoDatabaseRemovePrincipals.json"
- }
- },
- "description": "Remove Database principals permissions.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "name": "databasePrincipalsToRemove",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalListRequest"
- },
- "description": "List of database principals to remove."
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Successfully removed the list of database principals. Returns the updated list of principals.",
- "schema": {
- "$ref": "#/definitions/DatabasePrincipalListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections": {
- "get": {
- "tags": [
- "DataConnections"
- ],
- "description": "Returns the list of data connections of the given Kusto database.",
- "operationId": "DataConnections_ListByDatabase",
- "x-ms-examples": {
- "KustoDatabasesListByCluster": {
- "$ref": "./examples/KustoDataConnectionsListByDatabase.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the list of data connections.",
- "schema": {
- "$ref": "#/definitions/DataConnectionListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnectionValidation": {
- "post": {
- "tags": [
- "DataConnections"
- ],
- "operationId": "DataConnections_dataConnectionValidation",
- "x-ms-examples": {
- "KustoDataConnectionValidation": {
- "$ref": "./examples/KustoDataConnectionValidationAsync.json"
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- },
- "description": "Checks that the data connection parameters are valid.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DataConnectionValidation"
- },
- "description": "The data connection parameters supplied to the CreateOrUpdate operation."
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Operation to check the kusto resource name availability was successful.",
- "schema": {
- "$ref": "#/definitions/DataConnectionValidationListResult"
- }
- },
- "202": {
- "description": "Accepted"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkNameAvailability": {
- "post": {
- "tags": [
- "DataConnections"
- ],
- "operationId": "DataConnections_CheckNameAvailability",
- "x-ms-examples": {
- "KustoDataConnectionsCheckNameAvailability": {
- "$ref": "./examples/KustoDataConnectionsCheckNameAvailability.json"
- }
- },
- "description": "Checks that the data connection name is valid and is not already in use.",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "name": "dataConnectionName",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DataConnectionCheckNameRequest"
- },
- "description": "The name of the data connection."
- }
- ],
- "responses": {
- "200": {
- "description": "OK -- Operation to check the Kusto resource name availability was successful.",
- "schema": {
- "$ref": "#/definitions/CheckNameResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}": {
- "get": {
- "tags": [
- "DataConnections"
- ],
- "description": "Returns a data connection.",
- "operationId": "DataConnections_Get",
- "x-ms-examples": {
- "KustoDataConnectionsGet": {
- "$ref": "./examples/KustoDataConnectionsGet.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/DataConnectionNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the specified data connection.",
- "schema": {
- "$ref": "#/definitions/DataConnection"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- },
- "put": {
- "tags": [
- "DataConnections"
- ],
- "description": "Creates or updates a data connection.",
- "operationId": "DataConnections_CreateOrUpdate",
- "x-ms-examples": {
- "KustoDataConnectionsCreateOrUpdate": {
- "$ref": "./examples/KustoDataConnectionsCreateOrUpdate.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/DataConnectionNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DataConnection"
- },
- "description": "The data connection parameters supplied to the CreateOrUpdate operation."
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated the data connection.",
- "schema": {
- "$ref": "#/definitions/DataConnection"
- }
- },
- "201": {
- "description": "Successfully created the data connection.",
- "schema": {
- "$ref": "#/definitions/DataConnection"
- }
- },
- "202": {
- "description": "Accepted the create data connection request.",
- "schema": {
- "$ref": "#/definitions/DataConnection"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true
- },
- "patch": {
- "tags": [
- "DataConnections"
- ],
- "description": "Updates a data connection.",
- "operationId": "DataConnections_Update",
- "x-ms-examples": {
- "KustoDataConnectionsUpdate": {
- "$ref": "./examples/KustoDataConnectionsUpdate.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/DataConnectionNameParameter"
- },
- {
- "name": "parameters",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/DataConnection"
- },
- "description": "The data connection parameters supplied to the Update operation."
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully updated the data connection.",
- "schema": {
- "$ref": "#/definitions/DataConnection"
- }
- },
- "201": {
- "description": "Successfully updated the data connection.",
- "schema": {
- "$ref": "#/definitions/DataConnection"
- }
- },
- "202": {
- "description": "Accepted the update data connection request.",
- "schema": {
- "$ref": "#/definitions/DataConnection"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "DataConnections"
- ],
- "description": "Deletes the data connection with the given name.",
- "operationId": "DataConnections_Delete",
- "x-ms-examples": {
- "KustoDataConnectionsDelete": {
- "$ref": "./examples/KustoDataConnectionsDelete.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/DatabaseNameParameter"
- },
- {
- "$ref": "#/parameters/DataConnectionNameParameter"
- },
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully deleted the data connection."
- },
- "202": {
- "description": "Accepted."
- },
- "204": {
- "description": "The specified data connection does not exist."
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/providers/Microsoft.Kusto/operations": {
- "get": {
- "tags": [
- "Operations"
- ],
- "operationId": "Operations_List",
- "x-ms-examples": {
- "KustoOperationsList": {
- "$ref": "./examples/KustoOperationsList.json"
- }
- },
- "description": "Lists available operations for the Microsoft.Kusto provider.",
- "parameters": [
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "The operation was successful. The response contains the list of available operations.",
- "schema": {
- "$ref": "#/definitions/OperationListResult"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listLanguageExtensions": {
- "post": {
- "tags": [
- "Clusters"
- ],
- "description": "Returns a list of language extensions that can run within KQL queries.",
- "operationId": "Clusters_ListLanguageExtensions",
- "x-ms-examples": {
- "KustoClusterListLanguageExtensions": {
- "$ref": "./examples/KustoClusterListLanguageExtensions.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved the list of language extensions.",
- "schema": {
- "$ref": "#/definitions/LanguageExtensionsList"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": null
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/addLanguageExtensions": {
- "post": {
- "tags": [
- "Clusters"
- ],
- "description": "Add a list of language extensions that can run within KQL queries.",
- "operationId": "Clusters_AddLanguageExtensions",
- "x-ms-examples": {
- "KustoClusterAddLanguageExtensions": {
- "$ref": "./examples/KustoClusterAddLanguageExtensions.json"
- }
- },
- "x-ms-long-running-operation": true,
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "name": "languageExtensionsToAdd",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/LanguageExtensionsList"
- },
- "description": "The language extensions to add."
- }
- ],
- "responses": {
- "200": {
- "description": "OK."
- },
- "202": {
- "description": "Accepted"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/removeLanguageExtensions": {
- "post": {
- "tags": [
- "Clusters"
- ],
- "description": "Remove a list of language extensions that can run within KQL queries.",
- "operationId": "Clusters_RemoveLanguageExtensions",
- "x-ms-examples": {
- "KustoClusterRemoveLanguageExtensions": {
- "$ref": "./examples/KustoClusterRemoveLanguageExtensions.json"
- }
- },
- "x-ms-long-running-operation": true,
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "#/parameters/ResourceGroupParameter"
- },
- {
- "$ref": "#/parameters/ClusterNameParameter"
- },
- {
- "$ref": "#/parameters/ApiVersionParameter"
- },
- {
- "name": "languageExtensionsToRemove",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/LanguageExtensionsList"
- },
- "description": "The language extensions to remove."
- }
- ],
- "responses": {
- "200": {
- "description": "OK."
- },
- "202": {
- "description": "Accepted"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/CloudError"
- }
- }
- }
- }
- }
- },
- "definitions": {
- "ClusterProperties": {
- "properties": {
- "state": {
- "type": "string",
- "readOnly": true,
- "description": "The state of the resource.",
- "enum": [
- "Creating",
- "Unavailable",
- "Running",
- "Deleting",
- "Deleted",
- "Stopping",
- "Stopped",
- "Starting",
- "Updating"
- ],
- "x-ms-enum": {
- "name": "State",
- "modelAsString": true
- }
- },
- "provisioningState": {
- "$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.",
- "type": "boolean"
- },
- "enableStreamingIngest": {
- "description": "A boolean value that indicates if the streaming ingest is enabled.",
- "default": false,
- "type": "boolean"
- },
- "virtualNetworkConfiguration": {
- "type": "object",
- "$ref": "#/definitions/VirtualNetworkConfiguration",
- "description": "Virtual network definition."
- },
- "keyVaultProperties": {
- "type": "object",
- "$ref": "#/definitions/KeyVaultProperties",
- "description": "KeyVault properties for the cluster encryption."
- },
- "enablePurge": {
- "description": "A boolean value that indicates if the purge operations are enabled.",
- "default": false,
- "type": "boolean"
- },
- "languageExtensions": {
- "type": "object",
- "$ref": "#/definitions/LanguageExtensionsList",
- "readOnly": true,
- "description": "List of the cluster's language extensions."
- },
- "enableDoubleEncryption": {
- "description": "A boolean value that indicates if double encryption is enabled.",
- "default": false,
- "type": "boolean"
- },
- "engineType": {
- "type": "string",
- "description": "The engine type",
- "enum": [
- "V2",
- "V3"
- ],
- "x-ms-enum": {
- "name": "EngineType",
- "modelAsString": true
- }
- }
- },
- "description": "Class representing the Kusto cluster properties."
- },
- "TrustedExternalTenant": {
- "properties": {
- "value": {
- "type": "string",
- "description": "GUID representing an external tenant."
- }
- },
- "description": "Represents a tenant ID that is trusted by the cluster."
- },
- "AzureResourceSku": {
- "properties": {
- "resourceType": {
- "type": "string",
- "description": "Resource Namespace and Type."
- },
- "sku": {
- "$ref": "#/definitions/AzureSku",
- "description": "The SKU details."
- },
- "capacity": {
- "$ref": "#/definitions/AzureCapacity",
- "description": "The number of instances of the cluster."
- }
- },
- "description": "Azure resource SKU definition."
- },
- "AzureCapacity": {
- "type": "object",
- "required": [
- "minimum",
- "maximum",
- "default",
- "scaleType"
- ],
- "properties": {
- "scaleType": {
- "description": "Scale type.",
- "type": "string",
- "enum": [
- "automatic",
- "manual",
- "none"
- ],
- "x-ms-enum": {
- "name": "AzureScaleType",
- "modelAsString": true
- }
- },
- "minimum": {
- "description": "Minimum allowed capacity.",
- "type": "integer",
- "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_D11_v2",
- "Standard_D12_v2",
- "Standard_L4s",
- "Dev(No SLA)_Standard_D11_v2",
- "Standard_E64i_v3",
- "Standard_E2a_v4",
- "Standard_E4a_v4",
- "Standard_E8a_v4",
- "Standard_E16a_v4",
- "Standard_E8as_v4+1TB_PS",
- "Standard_E8as_v4+2TB_PS",
- "Standard_E16as_v4+3TB_PS",
- "Standard_E16as_v4+4TB_PS",
- "Dev(No SLA)_Standard_E2a_v4"
- ],
- "x-ms-enum": {
- "name": "AzureSkuName",
- "modelAsString": true
- }
- },
- "capacity": {
- "description": "The number of instances of the cluster.",
- "type": "integer",
- "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"
- },
- "enginePublicIpId": {
- "description": "Engine service's public IP address resource id.",
- "type": "string"
- },
- "dataManagementPublicIpId": {
- "description": "Data management's service public IP address resource id.",
- "type": "string"
- }
- },
- "description": "A class that contains virtual network definition."
- },
- "DatabaseStatistics": {
- "type": "object",
- "readOnly": true,
- "properties": {
- "size": {
- "type": "number",
- "description": "The database size - the total size of compressed data and index in bytes."
- }
- },
- "description": "A class that contains database statistics information."
- },
- "AttachedDatabaseConfigurationProperties": {
- "properties": {
- "provisioningState": {
- "$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"
- }
- },
- "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."
- }
- },
- "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
- }
- },
- "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."
- }
- },
- "allOf": [
- {
- "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
- }
- ],
- "description": "Class representing a Kusto cluster."
- },
- "ClusterUpdate": {
- "properties": {
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "x-ms-mutability": [
- "read",
- "create",
- "update"
- ],
- "description": "Resource tags."
- },
- "location": {
- "type": "string",
- "description": "Resource location."
- },
- "sku": {
- "$ref": "#/definitions/AzureSku",
- "description": "The SKU of the cluster."
- },
- "identity": {
- "$ref": "#/definitions/Identity",
- "description": "The identity of the cluster, if configured."
- },
- "properties": {
- "x-ms-client-flatten": true,
- "description": "The cluster properties.",
- "$ref": "#/definitions/ClusterProperties"
- }
- },
- "allOf": [
- {
- "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
- }
- ],
- "description": "Class representing an update to a Kusto cluster."
- },
- "AttachedDatabaseConfigurationListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/AttachedDatabaseConfiguration"
- },
- "description": "The list of attached database configurations."
- }
- },
- "description": "The list attached database configurations operation response."
- },
- "AttachedDatabaseConfiguration": {
- "properties": {
- "location": {
- "type": "string",
- "description": "Resource location."
- },
- "properties": {
- "x-ms-client-flatten": true,
- "description": "The properties of the attached database configuration.",
- "$ref": "#/definitions/AttachedDatabaseConfigurationProperties"
- }
- },
- "allOf": [
- {
- "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
- }
- ],
- "description": "Class representing an attached database configuration."
- },
- "Database": {
- "required": [
- "kind"
- ],
- "properties": {
- "location": {
- "type": "string",
- "description": "Resource location."
- },
- "kind": {
- "description": "Kind of the database",
- "enum": [
- "ReadWrite",
- "ReadOnlyFollowing"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "Kind",
- "modelAsString": true
- }
- }
- },
- "allOf": [
- {
- "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
- }
- ],
- "description": "Class representing a Kusto database.",
- "discriminator": "kind"
- },
- "ReadWriteDatabase": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "The database properties.",
- "$ref": "#/definitions/ReadWriteDatabaseProperties"
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Database"
- }
- ],
- "description": "Class representing a read write database.",
- "x-ms-discriminator-value": "ReadWrite"
- },
- "ReadOnlyFollowingDatabase": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "The database properties.",
- "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties"
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Database"
- }
- ],
- "description": "Class representing a read only following database.",
- "x-ms-discriminator-value": "ReadOnlyFollowing"
- },
- "DatabasePrincipal": {
- "type": "object",
- "required": [
- "name",
- "role",
- "type"
- ],
- "properties": {
- "role": {
- "description": "Database principal role.",
- "type": "string",
- "enum": [
- "Admin",
- "Ingestor",
- "Monitor",
- "User",
- "UnrestrictedViewers",
- "Viewer"
- ],
- "x-ms-enum": {
- "name": "DatabasePrincipalRole",
- "modelAsString": true
- }
- },
- "name": {
- "description": "Database principal name.",
- "type": "string"
- },
- "type": {
- "description": "Database principal type.",
- "type": "string",
- "enum": [
- "App",
- "Group",
- "User"
- ],
- "x-ms-enum": {
- "name": "DatabasePrincipalType",
- "modelAsString": true
- }
- },
- "fqn": {
- "description": "Database principal fully qualified name.",
- "type": "string"
- },
- "email": {
- "description": "Database principal email if exists.",
- "type": "string"
- },
- "appId": {
- "description": "Application id - relevant only for application principal type.",
- "type": "string"
- },
- "tenantName": {
- "type": "string",
- "readOnly": true,
- "description": "The tenant name of the principal"
- }
- },
- "description": "A class representing database principal entity."
- },
- "DatabasePrincipalProperties": {
- "type": "object",
- "required": [
- "principalId",
- "role",
- "principalType"
- ],
- "properties": {
- "principalId": {
- "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.",
- "type": "string"
- },
- "role": {
- "description": "Database principal role.",
- "type": "string",
- "enum": [
- "Admin",
- "Ingestor",
- "Monitor",
- "User",
- "UnrestrictedViewers",
- "Viewer"
- ],
- "x-ms-enum": {
- "name": "DatabasePrincipalRole",
- "modelAsString": true
- }
- },
- "tenantId": {
- "type": "string",
- "description": "The tenant id of the principal"
- },
- "principalType": {
- "description": "Principal type.",
- "type": "string",
- "enum": [
- "App",
- "Group",
- "User"
- ],
- "x-ms-enum": {
- "name": "PrincipalType",
- "modelAsString": true
- }
- },
- "tenantName": {
- "type": "string",
- "readOnly": true,
- "description": "The tenant name of the principal"
- },
- "principalName": {
- "type": "string",
- "readOnly": true,
- "description": "The principal name"
- },
- "provisioningState": {
- "$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."
- },
- "DatabasePrincipalAssignment": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/DatabasePrincipalProperties",
- "description": "The database principal."
- }
- },
- "allOf": [
- {
- "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
- }
- ],
- "description": "Class representing a database principal assignment."
- },
- "ClusterPrincipalAssignment": {
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ClusterPrincipalProperties",
- "description": "The cluster principal."
- }
- },
- "allOf": [
- {
- "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
- }
- ],
- "description": "Class representing a cluster principal assignment."
- },
- "ClusterListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Cluster"
- },
- "description": "The list of Kusto clusters."
- }
- },
- "description": "The list Kusto clusters operation response."
- },
- "DatabaseListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Database"
- },
- "description": "The list of Kusto databases."
- }
- },
- "description": "The list Kusto databases operation response."
- },
- "DatabasePrincipalAssignmentListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/DatabasePrincipalAssignment"
- },
- "description": "The list of Kusto database principal assignments."
- }
- },
- "description": "The list Kusto database principal assignments operation response."
- },
- "ClusterPrincipalAssignmentListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ClusterPrincipalAssignment"
- },
- "description": "The list of Kusto cluster principal assignments."
- }
- },
- "description": "The list Kusto cluster principal assignments operation response."
- },
- "DatabasePrincipalListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/DatabasePrincipal"
- },
- "description": "The list of Kusto database principals."
- }
- },
- "description": "The list Kusto database principals operation response."
- },
- "FollowerDatabaseListResult": {
- "properties": {
- "value": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/FollowerDatabaseDefinition"
- },
- "description": "The list of follower database result."
- }
- },
- "description": "The list Kusto database principals operation response."
- },
- "DataConnection": {
- "required": [
- "kind"
- ],
- "properties": {
- "location": {
- "type": "string",
- "description": "Resource location."
- },
- "kind": {
- "description": "Kind of the endpoint for the data connection",
- "enum": [
- "EventHub",
- "EventGrid",
- "IotHub"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "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."
- },
- "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
- }
- }
- },
- "parameters": {
- "SubscriptionIdParameter": {
- "name": "subscriptionId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
- },
- "ApiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "Client API Version."
- },
- "ClusterNameParameter": {
- "name": "clusterName",
- "in": "path",
- "description": "The name of the Kusto cluster.",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "AttachedDatabaseConfigurationNameParameter": {
- "name": "attachedDatabaseConfigurationName",
- "in": "path",
- "description": "The name of the attached database configuration.",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "ResourceGroupParameter": {
- "name": "resourceGroupName",
- "in": "path",
- "description": "The name of the resource group containing the Kusto cluster.",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "DatabaseNameParameter": {
- "name": "databaseName",
- "in": "path",
- "description": "The name of the database in the Kusto cluster.",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "DataConnectionNameParameter": {
- "name": "dataConnectionName",
- "in": "path",
- "description": "The name of the data connection.",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "PrincipalAssignmentNameParameter": {
- "name": "principalAssignmentName",
- "in": "path",
- "description": "The name of the Kusto principalAssignment.",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- }
- },
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- }
-}
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "KustoManagementClient",
+ "version": "2020-09-18"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Get",
+ "x-ms-examples": {
+ "KustoClustersGet": {
+ "$ref": "./examples/KustoClustersGet.json"
+ }
+ },
+ "description": "Gets a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Kusto cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoClustersCreateOrUpdate": {
+ "$ref": "./examples/KustoClustersCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Create or update a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ },
+ "description": "The Kusto cluster parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the Cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "201": {
+ "description": "Successfully created the cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Update",
+ "x-ms-examples": {
+ "KustoClustersUpdate": {
+ "$ref": "./examples/KustoClustersUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Update a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterUpdate"
+ },
+ "description": "The Kusto cluster parameters supplied to the Update operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the Cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "201": {
+ "description": "Successfully updated the cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "202": {
+ "description": "Successfully updated the cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Delete",
+ "x-ms-examples": {
+ "KustoClustersDelete": {
+ "$ref": "./examples/KustoClustersDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- cluster deleted successfully."
+ },
+ "202": {
+ "description": "Accepted the delete cluster request."
+ },
+ "204": {
+ "description": "NoContent -- cluster does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Stop",
+ "x-ms-examples": {
+ "KustoClustersStop": {
+ "$ref": "./examples/KustoClustersStop.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Stops a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Start",
+ "x-ms-examples": {
+ "KustoClustersStart": {
+ "$ref": "./examples/KustoClustersStart.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Starts a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkPrincipalAssignmentNameAvailability": {
+ "post": {
+ "tags": [
+ "ClusterPrincipalAssignments"
+ ],
+ "operationId": "ClusterPrincipalAssignments_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoClusterPrincipalAssignmentsCheckNameAvailability": {
+ "$ref": "./examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the principal assignment name is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "principalAssignmentName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterPrincipalAssignmentCheckNameRequest"
+ },
+ "description": "The name of the principal assignment."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments/{principalAssignmentName}": {
+ "get": {
+ "tags": [
+ "ClusterPrincipalAssignments"
+ ],
+ "operationId": "ClusterPrincipalAssignments_Get",
+ "x-ms-examples": {
+ "KustoClusterPrincipalAssignmentsGet": {
+ "$ref": "./examples/KustoClusterPrincipalAssignmentsGet.json"
+ }
+ },
+ "description": "Gets a Kusto cluster principalAssignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrincipalAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Kusto cluster principal assignment object.",
+ "schema": {
+ "$ref": "#/definitions/ClusterPrincipalAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ClusterPrincipalAssignments"
+ ],
+ "operationId": "ClusterPrincipalAssignments_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoClusterPrincipalAssignmentsCreateOrUpdate": {
+ "$ref": "./examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Create a Kusto cluster principalAssignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrincipalAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterPrincipalAssignment"
+ },
+ "description": "The Kusto cluster principalAssignment's parameters supplied for the operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the PrincipalAssignment.",
+ "schema": {
+ "$ref": "#/definitions/ClusterPrincipalAssignment"
+ }
+ },
+ "201": {
+ "description": "Successfully created the principalAssignment.",
+ "schema": {
+ "$ref": "#/definitions/ClusterPrincipalAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ClusterPrincipalAssignments"
+ ],
+ "operationId": "ClusterPrincipalAssignments_Delete",
+ "x-ms-examples": {
+ "KustoClusterPrincipalAssignmentsDelete": {
+ "$ref": "./examples/KustoClusterPrincipalAssignmentsDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes a Kusto cluster principalAssignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrincipalAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- principalAssignments deleted successfully."
+ },
+ "202": {
+ "description": "Accepted the delete principalAssignments request."
+ },
+ "204": {
+ "description": "NoContent -- principalAssignments does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/principalAssignments": {
+ "get": {
+ "tags": [
+ "ClusterPrincipalAssignments"
+ ],
+ "operationId": "ClusterPrincipalAssignments_List",
+ "x-ms-examples": {
+ "KustoPrincipalAssignmentsList": {
+ "$ref": "./examples/KustoClusterPrincipalAssignmentsList.json"
+ }
+ },
+ "description": "Lists all Kusto cluster principalAssignments.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ClusterPrincipalAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listFollowerDatabases": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Returns a list of databases that are owned by this cluster and were followed by another cluster.",
+ "operationId": "Clusters_ListFollowerDatabases",
+ "x-ms-examples": {
+ "KustoClusterListFollowerDatabases": {
+ "$ref": "./examples/KustoClusterListFollowerDatabases.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of followed databases.",
+ "schema": {
+ "$ref": "#/definitions/FollowerDatabaseListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/detachFollowerDatabases": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Detaches all followers of a database owned by this cluster.",
+ "operationId": "Clusters_DetachFollowerDatabases",
+ "x-ms-examples": {
+ "KustoClusterDetachFollowerDatabases": {
+ "$ref": "./examples/KustoClusterDetachFollowerDatabases.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "followerDatabaseToRemove",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FollowerDatabaseDefinition"
+ },
+ "description": "The follower databases properties to remove."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/diagnoseVirtualNetwork": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Diagnoses network connectivity status for external resources on which the service is dependent on.",
+ "operationId": "Clusters_DiagnoseVirtualNetwork",
+ "x-ms-examples": {
+ "KustoClusterDiagnoseVirtualNetwork": {
+ "$ref": "./examples/KustoClustersDiagnoseVirtualNetwork.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/DiagnoseVirtualNetworkResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_ListByResourceGroup",
+ "x-ms-examples": {
+ "KustoClustersListByResourceGroup": {
+ "$ref": "./examples/KustoClustersListByResourceGroup.json"
+ }
+ },
+ "description": "Lists all Kusto clusters within a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/clusters": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_List",
+ "x-ms-examples": {
+ "KustoClustersList": {
+ "$ref": "./examples/KustoClustersList.json"
+ }
+ },
+ "description": "Lists all Kusto clusters within a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/skus": {
+ "get": {
+ "description": "Lists eligible SKUs for Kusto resource provider.",
+ "x-ms-examples": {
+ "KustoClustersListSkus": {
+ "$ref": "./examples/KustoClustersListSkus.json"
+ }
+ },
+ "operationId": "Clusters_ListSkus",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/SkuDescriptionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoClustersCheckNameAvailability": {
+ "$ref": "./examples/KustoClustersCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the cluster name is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "Azure location.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "clusterName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterCheckNameRequest"
+ },
+ "description": "The name of the cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoDatabaseCheckNameAvailability": {
+ "$ref": "./examples/KustoDatabasesCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the database name is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameRequest"
+ },
+ "description": "The name of the resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/skus": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_ListSkusByResource",
+ "x-ms-examples": {
+ "KustoClustersListResourceSkus": {
+ "$ref": "./examples/KustoClustersListResourceSkus.json"
+ }
+ },
+ "description": "Returns the SKUs available for the provided resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ListResourceSkusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases": {
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Returns the list of databases of the given Kusto cluster.",
+ "operationId": "Databases_ListByCluster",
+ "x-ms-examples": {
+ "KustoDatabasesListByCluster": {
+ "$ref": "./examples/KustoDatabasesListByCluster.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of databases.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}": {
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Returns a database.",
+ "operationId": "Databases_Get",
+ "x-ms-examples": {
+ "KustoDatabasesGet": {
+ "$ref": "./examples/KustoDatabasesGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Creates or updates a database.",
+ "operationId": "Databases_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoDatabasesCreateOrUpdate": {
+ "$ref": "./examples/KustoDatabasesCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The database parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "201": {
+ "description": "Successfully created the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "202": {
+ "description": "Accepted the create database request.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Updates a database.",
+ "operationId": "Databases_Update",
+ "x-ms-examples": {
+ "KustoDatabasesUpdate": {
+ "$ref": "./examples/KustoDatabasesUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The database parameters supplied to the Update operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "201": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "202": {
+ "description": "Accepted the update database request.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Deletes the database with the given name.",
+ "operationId": "Databases_Delete",
+ "x-ms-examples": {
+ "KustoDatabasesDelete": {
+ "$ref": "./examples/KustoDatabasesDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the database."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "The specified database does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkPrincipalAssignmentNameAvailability": {
+ "post": {
+ "tags": [
+ "DatabasePrincipalAssignments"
+ ],
+ "operationId": "DatabasePrincipalAssignments_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoDatabaseCheckNameAvailability": {
+ "$ref": "./examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the database principal assignment is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "principalAssignmentName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalAssignmentCheckNameRequest"
+ },
+ "description": "The name of the resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments/{principalAssignmentName}": {
+ "get": {
+ "tags": [
+ "DatabasePrincipalAssignments"
+ ],
+ "operationId": "DatabasePrincipalAssignments_Get",
+ "x-ms-examples": {
+ "KustoDatabasePrincipalAssignmentsGet": {
+ "$ref": "./examples/KustoDatabasePrincipalAssignmentsGet.json"
+ }
+ },
+ "description": "Gets a Kusto cluster database principalAssignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrincipalAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Kusto cluster database principal assignment object.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DatabasePrincipalAssignments"
+ ],
+ "operationId": "DatabasePrincipalAssignments_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoDatabasePrincipalAssignmentsCreateOrUpdate": {
+ "$ref": "./examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Creates a Kusto cluster database principalAssignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrincipalAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalAssignment"
+ },
+ "description": "The Kusto principalAssignments parameters supplied for the operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the PrincipalAssignments.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalAssignment"
+ }
+ },
+ "201": {
+ "description": "Successfully created the principalAssignments.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DatabasePrincipalAssignments"
+ ],
+ "operationId": "DatabasePrincipalAssignments_Delete",
+ "x-ms-examples": {
+ "KustoDatabasePrincipalAssignmentsDelete": {
+ "$ref": "./examples/KustoDatabasePrincipalAssignmentsDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes a Kusto principalAssignment.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrincipalAssignmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- principalAssignments deleted successfully."
+ },
+ "202": {
+ "description": "Accepted the delete principalAssignments request."
+ },
+ "204": {
+ "description": "NoContent -- principalAssignments does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/principalAssignments": {
+ "get": {
+ "tags": [
+ "DatabasePrincipalAssignments"
+ ],
+ "operationId": "DatabasePrincipalAssignments_List",
+ "x-ms-examples": {
+ "KustoPrincipalAssignmentsList": {
+ "$ref": "./examples/KustoDatabasePrincipalAssignmentsList.json"
+ }
+ },
+ "description": "Lists all Kusto cluster database principalAssignments.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/listPrincipals": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Returns a list of database principals of the given Kusto cluster and database.",
+ "operationId": "Databases_ListPrincipals",
+ "x-ms-examples": {
+ "KustoDatabaseListPrincipals": {
+ "$ref": "./examples/KustoDatabaseListPrincipals.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of database principals.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/addPrincipals": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_AddPrincipals",
+ "x-ms-examples": {
+ "KustoDatabaseAddPrincipals": {
+ "$ref": "./examples/KustoDatabaseAddPrincipals.json"
+ }
+ },
+ "description": "Add Database principals permissions.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "databasePrincipalsToAdd",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListRequest"
+ },
+ "description": "List of database principals to add."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Successfully added the list of database principals. Returns the updated list of principals.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations": {
+ "get": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Returns the list of attached database configurations of the given Kusto cluster.",
+ "operationId": "AttachedDatabaseConfigurations_ListByCluster",
+ "x-ms-examples": {
+ "KustoAttachedDatabaseConfigurationsListByCluster": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsListByCluster.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of attached database configurations.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfigurationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}": {
+ "get": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Returns an attached database configuration.",
+ "operationId": "AttachedDatabaseConfigurations_Get",
+ "x-ms-examples": {
+ "AttachedDatabaseConfigurationsGet": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified attached database configuration.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Creates or updates an attached database configuration.",
+ "operationId": "AttachedDatabaseConfigurations_CreateOrUpdate",
+ "x-ms-examples": {
+ "AttachedDatabaseConfigurationsCreateOrUpdate": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ },
+ "description": "The database parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ }
+ },
+ "201": {
+ "description": "Successfully created the database.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ }
+ },
+ "202": {
+ "description": "Accepted the create database request.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Deletes the attached database configuration with the given name.",
+ "operationId": "AttachedDatabaseConfigurations_Delete",
+ "x-ms-examples": {
+ "AttachedDatabaseConfigurationsDelete": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the database."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "The specified database does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/removePrincipals": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_RemovePrincipals",
+ "x-ms-examples": {
+ "KustoDatabaseRemovePrincipals": {
+ "$ref": "./examples/KustoDatabaseRemovePrincipals.json"
+ }
+ },
+ "description": "Remove Database principals permissions.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "databasePrincipalsToRemove",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListRequest"
+ },
+ "description": "List of database principals to remove."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Successfully removed the list of database principals. Returns the updated list of principals.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections": {
+ "get": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Returns the list of data connections of the given Kusto database.",
+ "operationId": "DataConnections_ListByDatabase",
+ "x-ms-examples": {
+ "KustoDatabasesListByCluster": {
+ "$ref": "./examples/KustoDataConnectionsListByDatabase.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of data connections.",
+ "schema": {
+ "$ref": "#/definitions/DataConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnectionValidation": {
+ "post": {
+ "tags": [
+ "DataConnections"
+ ],
+ "operationId": "DataConnections_dataConnectionValidation",
+ "x-ms-examples": {
+ "KustoDataConnectionValidation": {
+ "$ref": "./examples/KustoDataConnectionValidationAsync.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "description": "Checks that the data connection parameters are valid.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnectionValidation"
+ },
+ "description": "The data connection parameters supplied to the CreateOrUpdate operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/DataConnectionValidationListResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "DataConnections"
+ ],
+ "operationId": "DataConnections_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoDataConnectionsCheckNameAvailability": {
+ "$ref": "./examples/KustoDataConnectionsCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the data connection name is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "dataConnectionName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnectionCheckNameRequest"
+ },
+ "description": "The name of the data connection."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the Kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}": {
+ "get": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Returns a data connection.",
+ "operationId": "DataConnections_Get",
+ "x-ms-examples": {
+ "KustoDataConnectionsGet": {
+ "$ref": "./examples/KustoDataConnectionsGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Creates or updates a data connection.",
+ "operationId": "DataConnections_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoDataConnectionsCreateOrUpdate": {
+ "$ref": "./examples/KustoDataConnectionsCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ },
+ "description": "The data connection parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "201": {
+ "description": "Successfully created the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "202": {
+ "description": "Accepted the create data connection request.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Updates a data connection.",
+ "operationId": "DataConnections_Update",
+ "x-ms-examples": {
+ "KustoDataConnectionsUpdate": {
+ "$ref": "./examples/KustoDataConnectionsUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ },
+ "description": "The data connection parameters supplied to the Update operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "201": {
+ "description": "Successfully updated the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "202": {
+ "description": "Accepted the update data connection request.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Deletes the data connection with the given name.",
+ "operationId": "DataConnections_Delete",
+ "x-ms-examples": {
+ "KustoDataConnectionsDelete": {
+ "$ref": "./examples/KustoDataConnectionsDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the data connection."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "The specified data connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/providers/Microsoft.Kusto/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "KustoOperationsList": {
+ "$ref": "./examples/KustoOperationsList.json"
+ }
+ },
+ "description": "Lists available operations for the Microsoft.Kusto provider.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the list of available operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listLanguageExtensions": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Returns a list of language extensions that can run within KQL queries.",
+ "operationId": "Clusters_ListLanguageExtensions",
+ "x-ms-examples": {
+ "KustoClusterListLanguageExtensions": {
+ "$ref": "./examples/KustoClusterListLanguageExtensions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of language extensions.",
+ "schema": {
+ "$ref": "#/definitions/LanguageExtensionsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/addLanguageExtensions": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Add a list of language extensions that can run within KQL queries.",
+ "operationId": "Clusters_AddLanguageExtensions",
+ "x-ms-examples": {
+ "KustoClusterAddLanguageExtensions": {
+ "$ref": "./examples/KustoClusterAddLanguageExtensions.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "languageExtensionsToAdd",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LanguageExtensionsList"
+ },
+ "description": "The language extensions to add."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/removeLanguageExtensions": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "description": "Remove a list of language extensions that can run within KQL queries.",
+ "operationId": "Clusters_RemoveLanguageExtensions",
+ "x-ms-examples": {
+ "KustoClusterRemoveLanguageExtensions": {
+ "$ref": "./examples/KustoClusterRemoveLanguageExtensions.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "languageExtensionsToRemove",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LanguageExtensionsList"
+ },
+ "description": "The language extensions to remove."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ClusterProperties": {
+ "properties": {
+ "state": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The state of the resource.",
+ "enum": [
+ "Creating",
+ "Unavailable",
+ "Running",
+ "Deleting",
+ "Deleted",
+ "Stopping",
+ "Stopped",
+ "Starting",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "State",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "readOnly": true,
+ "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.",
+ "type": "boolean"
+ },
+ "enableStreamingIngest": {
+ "description": "A boolean value that indicates if the streaming ingest is enabled.",
+ "default": false,
+ "type": "boolean"
+ },
+ "virtualNetworkConfiguration": {
+ "type": "object",
+ "$ref": "#/definitions/VirtualNetworkConfiguration",
+ "description": "Virtual network definition."
+ },
+ "keyVaultProperties": {
+ "type": "object",
+ "$ref": "#/definitions/KeyVaultProperties",
+ "description": "KeyVault properties for the cluster encryption."
+ },
+ "enablePurge": {
+ "description": "A boolean value that indicates if the purge operations are enabled.",
+ "default": false,
+ "type": "boolean"
+ },
+ "languageExtensions": {
+ "type": "object",
+ "$ref": "#/definitions/LanguageExtensionsList",
+ "readOnly": true,
+ "description": "List of the cluster's language extensions."
+ },
+ "enableDoubleEncryption": {
+ "description": "A boolean value that indicates if double encryption is enabled.",
+ "default": false,
+ "type": "boolean"
+ },
+ "engineType": {
+ "type": "string",
+ "description": "The engine type",
+ "enum": [
+ "V2",
+ "V3"
+ ],
+ "x-ms-enum": {
+ "name": "EngineType",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Class representing the Kusto cluster properties."
+ },
+ "TrustedExternalTenant": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "GUID representing an external tenant."
+ }
+ },
+ "description": "Represents a tenant ID that is trusted by the cluster."
+ },
+ "AzureResourceSku": {
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "description": "Resource Namespace and Type."
+ },
+ "sku": {
+ "$ref": "#/definitions/AzureSku",
+ "description": "The SKU details."
+ },
+ "capacity": {
+ "$ref": "#/definitions/AzureCapacity",
+ "description": "The number of instances of the cluster."
+ }
+ },
+ "description": "Azure resource SKU definition."
+ },
+ "AzureCapacity": {
+ "type": "object",
+ "required": [
+ "minimum",
+ "maximum",
+ "default",
+ "scaleType"
+ ],
+ "properties": {
+ "scaleType": {
+ "description": "Scale type.",
+ "type": "string",
+ "enum": [
+ "automatic",
+ "manual",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "AzureScaleType",
+ "modelAsString": true
+ }
+ },
+ "minimum": {
+ "description": "Minimum allowed capacity.",
+ "type": "integer",
+ "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_D11_v2",
+ "Standard_D12_v2",
+ "Standard_L4s",
+ "Dev(No SLA)_Standard_D11_v2",
+ "Standard_E64i_v3",
+ "Standard_E2a_v4",
+ "Standard_E4a_v4",
+ "Standard_E8a_v4",
+ "Standard_E16a_v4",
+ "Standard_E8as_v4+1TB_PS",
+ "Standard_E8as_v4+2TB_PS",
+ "Standard_E16as_v4+3TB_PS",
+ "Standard_E16as_v4+4TB_PS",
+ "Dev(No SLA)_Standard_E2a_v4"
+ ],
+ "x-ms-enum": {
+ "name": "AzureSkuName",
+ "modelAsString": true
+ }
+ },
+ "capacity": {
+ "description": "The number of instances of the cluster.",
+ "type": "integer",
+ "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"
+ },
+ "enginePublicIpId": {
+ "description": "Engine service's public IP address resource id.",
+ "type": "string"
+ },
+ "dataManagementPublicIpId": {
+ "description": "Data management's service public IP address resource id.",
+ "type": "string"
+ }
+ },
+ "description": "A class that contains virtual network definition."
+ },
+ "DatabaseStatistics": {
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "size": {
+ "type": "number",
+ "description": "The database size - the total size of compressed data and index in bytes."
+ }
+ },
+ "description": "A class that contains database statistics information."
+ },
+ "AttachedDatabaseConfigurationProperties": {
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "readOnly": true,
+ "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"
+ }
+ },
+ "description": "Class representing the an attached database configuration properties of kind specific.",
+ "required": [
+ "databaseName",
+ "clusterResourceId",
+ "defaultPrincipalsModificationKind"
+ ]
+ },
+ "ReadWriteDatabaseProperties": {
+ "properties": {
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "readOnly": true,
+ "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",
+ "readOnly": true,
+ "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",
+ "readOnly": true,
+ "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",
+ "readOnly": true,
+ "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",
+ "readOnly": true,
+ "description": "The provisioned state of the resource."
+ }
+ },
+ "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",
+ "readOnly": true,
+ "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
+ }
+ },
+ "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",
+ "readOnly": true,
+ "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."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Class representing a Kusto cluster."
+ },
+ "ClusterUpdate": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "sku": {
+ "$ref": "#/definitions/AzureSku",
+ "description": "The SKU of the cluster."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the cluster, if configured."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The cluster properties.",
+ "$ref": "#/definitions/ClusterProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Class representing an update to a Kusto cluster."
+ },
+ "AttachedDatabaseConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ },
+ "description": "The list of attached database configurations."
+ }
+ },
+ "description": "The list attached database configurations operation response."
+ },
+ "AttachedDatabaseConfiguration": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of the attached database configuration.",
+ "$ref": "#/definitions/AttachedDatabaseConfigurationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing an attached database configuration."
+ },
+ "Database": {
+ "required": [
+ "kind"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "kind": {
+ "description": "Kind of the database",
+ "enum": [
+ "ReadWrite",
+ "ReadOnlyFollowing"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Kind",
+ "modelAsString": true
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing a Kusto database.",
+ "discriminator": "kind"
+ },
+ "ReadWriteDatabase": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The database properties.",
+ "$ref": "#/definitions/ReadWriteDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Database"
+ }
+ ],
+ "description": "Class representing a read write database.",
+ "x-ms-discriminator-value": "ReadWrite"
+ },
+ "ReadOnlyFollowingDatabase": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The database properties.",
+ "$ref": "#/definitions/ReadOnlyFollowingDatabaseProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Database"
+ }
+ ],
+ "description": "Class representing a read only following database.",
+ "x-ms-discriminator-value": "ReadOnlyFollowing"
+ },
+ "DatabasePrincipal": {
+ "type": "object",
+ "required": [
+ "name",
+ "role",
+ "type"
+ ],
+ "properties": {
+ "role": {
+ "description": "Database principal role.",
+ "type": "string",
+ "enum": [
+ "Admin",
+ "Ingestor",
+ "Monitor",
+ "User",
+ "UnrestrictedViewers",
+ "Viewer"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalRole",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "Database principal name.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Database principal type.",
+ "type": "string",
+ "enum": [
+ "App",
+ "Group",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalType",
+ "modelAsString": true
+ }
+ },
+ "fqn": {
+ "description": "Database principal fully qualified name.",
+ "type": "string"
+ },
+ "email": {
+ "description": "Database principal email if exists.",
+ "type": "string"
+ },
+ "appId": {
+ "description": "Application id - relevant only for application principal type.",
+ "type": "string"
+ },
+ "tenantName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The tenant name of the principal"
+ }
+ },
+ "description": "A class representing database principal entity."
+ },
+ "DatabasePrincipalProperties": {
+ "type": "object",
+ "required": [
+ "principalId",
+ "role",
+ "principalType"
+ ],
+ "properties": {
+ "principalId": {
+ "description": "The principal ID assigned to the database principal. It can be a user email, application ID, or security group name.",
+ "type": "string"
+ },
+ "role": {
+ "description": "Database principal role.",
+ "type": "string",
+ "enum": [
+ "Admin",
+ "Ingestor",
+ "Monitor",
+ "User",
+ "UnrestrictedViewers",
+ "Viewer"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalRole",
+ "modelAsString": true
+ }
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "The tenant id of the principal"
+ },
+ "principalType": {
+ "description": "Principal type.",
+ "type": "string",
+ "enum": [
+ "App",
+ "Group",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "PrincipalType",
+ "modelAsString": true
+ }
+ },
+ "tenantName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The tenant name of the principal"
+ },
+ "principalName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The principal name"
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/ProvisioningState",
+ "readOnly": true,
+ "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",
+ "readOnly": true,
+ "description": "The provisioned state of the resource."
+ }
+ },
+ "description": "A class representing cluster principal property."
+ },
+ "DatabasePrincipalAssignment": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DatabasePrincipalProperties",
+ "description": "The database principal."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing a database principal assignment."
+ },
+ "ClusterPrincipalAssignment": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ClusterPrincipalProperties",
+ "description": "The cluster principal."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing a cluster principal assignment."
+ },
+ "ClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Cluster"
+ },
+ "description": "The list of Kusto clusters."
+ }
+ },
+ "description": "The list Kusto clusters operation response."
+ },
+ "DatabaseListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The list of Kusto databases."
+ }
+ },
+ "description": "The list Kusto databases operation response."
+ },
+ "DatabasePrincipalAssignmentListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabasePrincipalAssignment"
+ },
+ "description": "The list of Kusto database principal assignments."
+ }
+ },
+ "description": "The list Kusto database principal assignments operation response."
+ },
+ "ClusterPrincipalAssignmentListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClusterPrincipalAssignment"
+ },
+ "description": "The list of Kusto cluster principal assignments."
+ }
+ },
+ "description": "The list Kusto cluster principal assignments operation response."
+ },
+ "DatabasePrincipalListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabasePrincipal"
+ },
+ "description": "The list of Kusto database principals."
+ }
+ },
+ "description": "The list Kusto database principals operation response."
+ },
+ "FollowerDatabaseListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FollowerDatabaseDefinition"
+ },
+ "description": "The list of follower database result."
+ }
+ },
+ "description": "The list Kusto database principals operation response."
+ },
+ "DataConnection": {
+ "required": [
+ "kind"
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "kind": {
+ "description": "Kind of the endpoint for the data connection",
+ "enum": [
+ "EventHub",
+ "EventGrid",
+ "IotHub"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "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."
+ },
+ "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
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API Version."
+ },
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "description": "The name of the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AttachedDatabaseConfigurationNameParameter": {
+ "name": "attachedDatabaseConfigurationName",
+ "in": "path",
+ "description": "The name of the attached database configuration.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group containing the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DatabaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the database in the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DataConnectionNameParameter": {
+ "name": "dataConnectionName",
+ "in": "path",
+ "description": "The name of the data connection.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "PrincipalAssignmentNameParameter": {
+ "name": "principalAssignmentName",
+ "in": "path",
+ "description": "The name of the Kusto principalAssignment.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-01-01/kusto.json
index c28870abff65..8d4a13f8c50b 100644
--- 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
@@ -2853,6 +2853,7 @@
},
"provisioningState": {
"$ref": "#/definitions/ProvisioningState",
+ "readOnly": true,
"description": "The provisioned state of the resource."
},
"uri": {
@@ -3229,6 +3230,7 @@
"properties": {
"provisioningState": {
"$ref": "#/definitions/ProvisioningState",
+ "readOnly": true,
"description": "The provisioned state of the resource."
},
"databaseName": {
@@ -3277,6 +3279,7 @@
"properties": {
"provisioningState": {
"$ref": "#/definitions/ProvisioningState",
+ "readOnly": true,
"description": "The provisioned state of the resource."
},
"softDeletePeriod": {
@@ -3291,6 +3294,7 @@
},
"statistics": {
"$ref": "#/definitions/DatabaseStatistics",
+ "readOnly": true,
"description": "The statistics of the database."
},
"isFollowed": {
@@ -3305,6 +3309,7 @@
"properties": {
"provisioningState": {
"$ref": "#/definitions/ProvisioningState",
+ "readOnly": true,
"description": "The provisioned state of the resource."
},
"softDeletePeriod": {
@@ -3320,6 +3325,7 @@
},
"statistics": {
"$ref": "#/definitions/DatabaseStatistics",
+ "readOnly": true,
"description": "The statistics of the database."
},
"leaderClusterResourceId": {
@@ -3384,6 +3390,7 @@
},
"provisioningState": {
"$ref": "#/definitions/ProvisioningState",
+ "readOnly": true,
"description": "The provisioned state of the resource."
},
"managedIdentityResourceId": {
@@ -3432,6 +3439,7 @@
},
"provisioningState": {
"$ref": "#/definitions/ProvisioningState",
+ "readOnly": true,
"description": "The provisioned state of the resource."
}
},
@@ -3581,6 +3589,7 @@
},
"provisioningState": {
"$ref": "#/definitions/ProvisioningState",
+ "readOnly": true,
"description": "The provisioned state of the resource."
}
},
@@ -3876,6 +3885,7 @@
},
"provisioningState": {
"$ref": "#/definitions/ProvisioningState",
+ "readOnly": true,
"description": "The provisioned state of the resource."
}
},
@@ -3934,6 +3944,7 @@
},
"provisioningState": {
"$ref": "#/definitions/ProvisioningState",
+ "readOnly": true,
"description": "The provisioned state of the resource."
}
},
@@ -3969,6 +3980,7 @@
},
"provisioningState": {
"$ref": "#/definitions/ProvisioningState",
+ "readOnly": true,
"description": "The provisioned state of the resource."
}
},
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-08-27/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-08-27/kusto.json
index 6351163b3b32..c163a868c0a9 100644
--- a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-08-27/kusto.json
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2021-08-27/kusto.json
@@ -4039,6 +4039,7 @@
},
"statistics": {
"$ref": "#/definitions/DatabaseStatistics",
+ "readOnly": true,
"description": "The statistics of the database."
},
"isFollowed": {
@@ -4069,6 +4070,7 @@
},
"statistics": {
"$ref": "#/definitions/DatabaseStatistics",
+ "readOnly": true,
"description": "The statistics of the database."
},
"leaderClusterResourceId": {
diff --git a/specification/azure-kusto/resource-manager/readme.md b/specification/azure-kusto/resource-manager/readme.md
index 0c39778b0476..e989075272db 100644
--- a/specification/azure-kusto/resource-manager/readme.md
+++ b/specification/azure-kusto/resource-manager/readme.md
@@ -239,6 +239,10 @@ directive:
from: kusto.json
where: $.definitions.Database.required
reason: Discriminator kind is required also in patch
+ - suppress: OAV131
+ from: kusto.json
+ where: $.definitions.Database.required
+ reason: Discriminator kind is required also in patch
- suppress: ListInOperationName
from: kusto.json
where: '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/addPrincipals"].post.operationId'
diff --git a/specification/azureactivedirectory/resource-manager/readme.go.md b/specification/azureactivedirectory/resource-manager/readme.go.md
index 121aa76ab04c..8b59c071aa55 100644
--- a/specification/azureactivedirectory/resource-manager/readme.go.md
+++ b/specification/azureactivedirectory/resource-manager/readme.go.md
@@ -2,13 +2,21 @@
These settings apply only when `--go` is specified on the command line.
-```yaml $(go)
+```yaml $(go) && !$(track2)
go:
license-header: MICROSOFT_MIT_NO_VERSION
namespace: aad
clear-output-folder: true
```
+``` yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/resourcemanager/aad/armaad
+module: github.com/Azure/azure-sdk-for-go/$(module-name)
+output-folder: $(go-sdk-folder)/$(module-name)
+azure-arm: true
+```
+
### Go multi-api
``` yaml $(go) && $(multiapi)
diff --git a/specification/azureactivedirectory/resource-manager/readme.md b/specification/azureactivedirectory/resource-manager/readme.md
index 977e3772c025..544b80c041e9 100644
--- a/specification/azureactivedirectory/resource-manager/readme.md
+++ b/specification/azureactivedirectory/resource-manager/readme.md
@@ -120,6 +120,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-js
- repo: azure-sdk-for-ruby
after_scripts:
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/azurearcdata.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/azurearcdata.json
new file mode 100644
index 000000000000..ce4637cbac8d
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/azurearcdata.json
@@ -0,0 +1,984 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-01",
+ "title": "AzureArcDataManagementClient",
+ "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.AzureArcData/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available Azure Data Services on Azure Arc API operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved operations.",
+ "schema": {
+ "$ref": "./operations.json#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 400 RPGenericUser - User Failure when calling other Resource Provider.\n\n * 400 InvalidArgument - Invalid argument '{0}'.\n\n * 400 ArgumentNotInRange - Argument '{0}' not in range.\n\n * 400 ResourceNotProvisioned - As the resource: {0} is not in a provisioned state, the request cannot be proceeded forward\n\n * 400 InvalidRgResourceId - Invalid Resourcegroup resource id specified.\n\n * 403 AccessDenied - Access denied.\n\n * 404 ResourceNotFound - The requested resource was not found.\n\n * 404 SubscriptionDoesNotExist - Subscription id does not exist.\n\n * 404 ResourceDoesNotExist - Resource does not exist.\n\n * 404 OperationIdNotFound - Operation id could not be found.\n\n * 404 OperationTypeNotFound - Operation Type not found.\n\n * 409 ResourceAlreadyExists - Resource already exists.\n\n * 409 SqlExtensionNotInstalled - SQL extension not installed.\n\n * 409 MissingMoveResources - Cannot move resources(s) because some resources are missing in the request.\n\n * 409 OperationInProgress - Operation in progress on resource already.\n\n * 409 OperationCanceled - Operation Cancelled.\n\n * 500 RPGenericSystem - System Failure when calling other Resource Provider.\n\n * 500 UnExpectedErrorOccurred - Unexpected error occurred.\n\n * 500 OperationTimeout - Operation timed out.",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Lists all of the available Azure Data Services on Azure Arc API operations.": {
+ "$ref": "./examples/ListOperation.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlManagedInstances": {
+ "get": {
+ "tags": [
+ "SqlManagedInstances"
+ ],
+ "operationId": "SqlManagedInstances_List",
+ "summary": "List sqlManagedInstance resources in the subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 404 ResourceNotFound - The requested resource was not found.",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all SQL Instance in a subscription.": {
+ "$ref": "./examples/ListSubscriptionSqlManagedInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances": {
+ "get": {
+ "tags": [
+ "SqlManagedInstances"
+ ],
+ "operationId": "SqlManagedInstances_ListByResourceGroup",
+ "description": "Gets all sqlManagedInstances in a resource group.",
+ "summary": "List sqlManagedInstance resources in the resource group",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all SQL Instance in a resource group.": {
+ "$ref": "./examples/ListByResourceGroupSqlManagedInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlManagedInstances/{sqlManagedInstanceName}": {
+ "get": {
+ "tags": [
+ "SqlManagedInstances"
+ ],
+ "operationId": "SqlManagedInstances_Get",
+ "description": "Retrieves a SQL Managed Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlManagedInstanceName",
+ "description": "Name of SQL Managed Instance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a SQL Instance tags.": {
+ "$ref": "./examples/GetSqlManagedInstance.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SqlManagedInstances"
+ ],
+ "operationId": "SqlManagedInstances_Create",
+ "description": "Creates or replaces a SQL Managed Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlManagedInstanceName",
+ "description": "The name of SQL Managed Instances",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "sqlManagedInstance",
+ "in": "body",
+ "description": "The SQL Managed Instance to be created or updated.",
+ "required": true,
+ "schema": {
+ "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a SQL Managed Instance": {
+ "$ref": "./examples/CreateOrUpdateSqlManagedInstance.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "delete": {
+ "tags": [
+ "SqlManagedInstances"
+ ],
+ "operationId": "SqlManagedInstances_Delete",
+ "description": "Deletes a SQL Managed Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlManagedInstanceName",
+ "description": "The name of Sql Managed Instances",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the SQL Managed Instance."
+ },
+ "202": {
+ "description": "Resource deletion is in progress.."
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorResponse"
+ }
+ },
+ "204": {
+ "description": "The specified SQL Managed Instance does not exist."
+ }
+ },
+ "x-ms-examples": {
+ "Delete a SQL Instance.": {
+ "$ref": "./examples/DeleteSqlManagedInstance.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "SqlManagedInstances"
+ ],
+ "operationId": "SqlManagedInstances_Update",
+ "description": "Updates a SQL Managed Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlManagedInstanceName",
+ "description": "Name of sqlManagedInstance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The SQL Managed Instance.",
+ "required": true,
+ "schema": {
+ "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstanceUpdate"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./sqlManagedInstances.json#/definitions/SqlManagedInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a sql Instance tags.": {
+ "$ref": "./examples/UpdateSqlManagedInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/sqlServerInstances": {
+ "get": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_List",
+ "summary": "List sqlServerInstance resources in the subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 InvalidParameterValue - An invalid value was given to parameter.\n\n * 400 InvalidCrossSubscriptionVmMove - Invalid cross subscription move of resource.\n\n * 404 ResourceNotFound - The requested resource was not found.",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all SQL Server Instance in a subscription.": {
+ "$ref": "./examples/ListSubscriptionSqlServerInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances": {
+ "get": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_ListByResourceGroup",
+ "description": "Gets all sqlServerInstances in a resource group.",
+ "summary": "List sqlServerInstance resources in the resource group",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstanceListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all SQL Server Instance in a resource group.": {
+ "$ref": "./examples/ListByResourceGroupSqlServerInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/sqlServerInstances/{sqlServerInstanceName}": {
+ "get": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_Get",
+ "description": "Retrieves a SQL Server Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlServerInstanceName",
+ "description": "Name of SQL Server Instance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a SQL Server Instance tags.": {
+ "$ref": "./examples/GetSqlServerInstance.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_Create",
+ "description": "Creates or replaces a SQL Server Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlServerInstanceName",
+ "description": "The name of SQL Server Instance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "sqlServerInstance",
+ "in": "body",
+ "description": "The SQL Server Instance to be created or updated.",
+ "required": true,
+ "schema": {
+ "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a SQL Server Instance tags.": {
+ "$ref": "./examples/CreateOrUpdateSqlServerInstance.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "delete": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_Delete",
+ "description": "Deletes a SQL Server Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlServerInstanceName",
+ "description": "The name of SQL Server Instance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the SQL Server Instance."
+ },
+ "202": {
+ "description": "Resource deletion is in progress."
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorResponse"
+ }
+ },
+ "204": {
+ "description": "The specified SQL Server Instance does not exist."
+ }
+ },
+ "x-ms-examples": {
+ "Delete a SQL Server Instance.": {
+ "$ref": "./examples/DeleteSqlServerInstance.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "SqlServerInstances"
+ ],
+ "operationId": "SqlServerInstances_Update",
+ "description": "Updates a SQL Server Instance resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "sqlServerInstanceName",
+ "description": "Name of sqlServerInstance",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The SQL Server Instance.",
+ "required": true,
+ "schema": {
+ "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstanceUpdate"
+ }
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./sqlServerInstances.json#/definitions/SqlServerInstance"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a SQL Server Instance tags.": {
+ "$ref": "./examples/UpdateSqlServerInstance.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureArcData/dataControllers": {
+ "get": {
+ "tags": [
+ "DataControllers"
+ ],
+ "operationId": "DataControllers_ListInSubscription",
+ "summary": "List dataController resources in the subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./dataControllers.json#/definitions/PageOfDataControllerResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all dataControllers in a subscription.": {
+ "$ref": "./examples/ListSubscriptionDataController.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers": {
+ "get": {
+ "tags": [
+ "DataControllers"
+ ],
+ "operationId": "DataControllers_ListInGroup",
+ "summary": "List dataController resources in the resource group",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./dataControllers.json#/definitions/PageOfDataControllerResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets all dataControllers in a resource group.": {
+ "$ref": "./examples/ListByResourceGroupDataController.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureArcData/dataControllers/{dataControllerName}": {
+ "put": {
+ "tags": [
+ "DataControllers"
+ ],
+ "operationId": "DataControllers_PutDataController",
+ "description": "Creates or replaces a dataController resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "dataControllerResource",
+ "description": "desc",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "./dataControllers.json#/definitions/DataControllerResource"
+ }
+ },
+ {
+ "name": "dataControllerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./dataControllers.json#/definitions/DataControllerResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "./dataControllers.json#/definitions/DataControllerResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a Data Controller.": {
+ "$ref": "./examples/CreateOrUpdateDataController.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "delete": {
+ "tags": [
+ "DataControllers"
+ ],
+ "operationId": "DataControllers_DeleteDataController",
+ "description": "Deletes a dataController resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "dataControllerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the DataController."
+ },
+ "202": {
+ "description": "Resource deletion is in progress."
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorResponse"
+ }
+ },
+ "204": {
+ "description": "The specified DataController does not exist."
+ }
+ },
+ "x-ms-examples": {
+ "Delete a dataController.": {
+ "$ref": "./examples/DeleteDataController.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "DataControllers"
+ ],
+ "operationId": "DataControllers_GetDataController",
+ "description": "Retrieves a dataController resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "dataControllerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./dataControllers.json#/definitions/DataControllerResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a data controller.": {
+ "$ref": "./examples/GetDataController.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DataControllers"
+ ],
+ "operationId": "DataControllers_PatchDataController",
+ "description": "Updates a dataController resource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "dataControllerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ {
+ "$ref": "#/parameters/apiVersion"
+ },
+ {
+ "name": "dataControllerResource",
+ "description": "The update data controller resource",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "./dataControllers.json#/definitions/DataControllerUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "./dataControllers.json#/definitions/DataControllerResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Updates a dataController tags.": {
+ "$ref": "./examples/UpdateDataController.json"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the Azure subscription",
+ "x-ms-parameter-location": "client"
+ },
+ "resourceGroupName": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Azure resource group",
+ "x-ms-parameter-location": "method"
+ },
+ "location": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Azure region to use for the request",
+ "x-ms-parameter-location": "method"
+ },
+ "apiVersion": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for the request",
+ "x-ms-parameter-location": "client"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/common.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/common.json
new file mode 100644
index 000000000000..9add6d681f3f
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/common.json
@@ -0,0 +1,121 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-01",
+ "title": "AzureArcDataManagementClient",
+ "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources."
+ },
+ "paths": {},
+ "definitions": {
+ "CommonSku": {
+ "description": "The resource model definition representing SKU for ARM resources",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the SKU. It is typically a letter+number code"
+ },
+ "dev": {
+ "type": "boolean",
+ "default": true,
+ "description": "Whether dev/test is enabled. When the dev field is set to true, the resource is used for dev/test purpose. "
+ },
+ "size": {
+ "type": "string",
+ "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. "
+ },
+ "family": {
+ "type": "string",
+ "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here."
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted."
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "ErrorResponse": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorResponseBody",
+ "description": "null"
+ }
+ },
+ "description": "An error response from the Azure Data on Azure Arc service."
+ },
+ "ErrorResponseBody": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResponseBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Batch service."
+ },
+ "ExtendedLocation": {
+ "type": "object",
+ "description": "The complex type of the extended location.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the extended location."
+ },
+ "type": {
+ "$ref": "#/definitions/ExtendedLocationType",
+ "description": "The type of the extended location."
+ }
+ }
+ },
+ "ExtendedLocationType": {
+ "type": "string",
+ "description": "The type of extendedLocation.",
+ "enum": [
+ "CustomLocation"
+ ],
+ "x-ms-enum": {
+ "name": "ExtendedLocationTypes",
+ "modelAsString": true
+ }
+ },
+ "BasicLoginInformation": {
+ "type": "object",
+ "description": "Username and password for basic login authentication.",
+ "properties": {
+ "username": {
+ "type": "string",
+ "description": "Login username."
+ },
+ "password": {
+ "type": "string",
+ "description": "Login password.",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/dataControllers.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/dataControllers.json
new file mode 100644
index 000000000000..267f84eb8252
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/dataControllers.json
@@ -0,0 +1,224 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-01",
+ "title": "AzureArcDataManagementClient",
+ "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources."
+ },
+ "paths": {},
+ "definitions": {
+ "DataControllerResource": {
+ "description": "Data controller resource",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "extendedLocation": {
+ "$ref": "./common.json#/definitions/ExtendedLocation",
+ "description": "The extendedLocation of the resource."
+ },
+ "properties": {
+ "$ref": "#/definitions/DataControllerProperties",
+ "description": "The data controller's properties",
+ "x-ms-client-flatten": false
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "PageOfDataControllerResource": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "items": {
+ "$ref": "#/definitions/DataControllerResource"
+ },
+ "type": "array"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to retrieve next page of results."
+ }
+ }
+ },
+ "DataControllerUpdate": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "Used for updating a data controller resource."
+ },
+ "DataControllerProperties": {
+ "description": "The data controller properties.",
+ "type": "object",
+ "properties": {
+ "infrastructure": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "gcp",
+ "aws",
+ "alibaba",
+ "onpremises",
+ "other"
+ ],
+ "x-ms-enum": {
+ "name": "infrastructure",
+ "modelAsString": false
+ },
+ "default": "other",
+ "description": "The infrastructure the data controller is running on."
+ },
+ "onPremiseProperty": {
+ "$ref": "#/definitions/OnPremiseProperty"
+ },
+ "k8sRaw": {
+ "type": "object",
+ "description": "The raw kubernetes information"
+ },
+ "uploadWatermark": {
+ "$ref": "#/definitions/UploadWatermark"
+ },
+ "lastUploadedDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last uploaded date from Kubernetes cluster. Defaults to current date time"
+ },
+ "basicLoginInformation": {
+ "$ref": "./common.json#/definitions/BasicLoginInformation",
+ "description": "Deprecated. Azure Arc Data Services data controller no longer expose any endpoint. All traffic are exposed through Kubernetes native API."
+ },
+ "metricsDashboardCredential": {
+ "$ref": "./common.json#/definitions/BasicLoginInformation",
+ "description": "Login credential for metrics dashboard on the Kubernetes cluster."
+ },
+ "logsDashboardCredential": {
+ "$ref": "./common.json#/definitions/BasicLoginInformation",
+ "description": "Login credential for logs dashboard on the Kubernetes cluster."
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "$ref": "#/definitions/LogAnalyticsWorkspaceConfig"
+ },
+ "uploadServicePrincipal": {
+ "$ref": "#/definitions/UploadServicePrincipal",
+ "description": "Deprecated. Service principal is deprecated in favor of Arc Kubernetes service extension managed identity."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true
+ },
+ "clusterId": {
+ "type": "string",
+ "description": "If a CustomLocation is provided, this contains the ARM id of the connected cluster the custom location belongs to."
+ },
+ "extensionId": {
+ "type": "string",
+ "description": "If a CustomLocation is provided, this contains the ARM id of the extension the custom location belongs to."
+ }
+ }
+ },
+ "UploadWatermark": {
+ "description": "Properties on upload watermark. Mostly timestamp for each upload data type",
+ "type": "object",
+ "properties": {
+ "metrics": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last uploaded date for metrics from kubernetes cluster. Defaults to current date time"
+ },
+ "logs": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last uploaded date for logs from kubernetes cluster. Defaults to current date time"
+ },
+ "usages": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last uploaded date for usages from kubernetes cluster. Defaults to current date time"
+ }
+ }
+ },
+ "OnPremiseProperty": {
+ "description": "Properties from the Kubernetes data controller",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "A globally unique ID identifying the associated Kubernetes cluster"
+ },
+ "publicSigningKey": {
+ "type": "string",
+ "description": "Certificate that contains the Kubernetes cluster public key used to verify signing"
+ },
+ "signingCertificateThumbprint": {
+ "type": "string",
+ "description": "Unique thumbprint returned to customer to verify the certificate being uploaded"
+ }
+ },
+ "required": [
+ "id",
+ "publicSigningKey"
+ ]
+ },
+ "LogAnalyticsWorkspaceConfig": {
+ "type": "object",
+ "description": "Log analytics workspace id and primary key",
+ "properties": {
+ "workspaceId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Azure Log Analytics workspace ID"
+ },
+ "primaryKey": {
+ "type": "string",
+ "description": "Primary key of the workspace",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ }
+ }
+ },
+ "UploadServicePrincipal": {
+ "type": "object",
+ "description": "Service principal for uploading billing, metrics and logs.",
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Client ID of the service principal for uploading data."
+ },
+ "tenantId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Tenant ID of the service principal."
+ },
+ "authority": {
+ "type": "string",
+ "description": "Authority for the service principal. Example: https://login.microsoftonline.com/"
+ },
+ "clientSecret": {
+ "type": "string",
+ "description": "Secret of the service principal",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/CreateOrUpdateDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/CreateOrUpdateDataController.json
new file mode 100644
index 000000000000..1832a483cf12
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/CreateOrUpdateDataController.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController",
+ "api-version": "2021-11-01",
+ "dataControllerResource": {
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey"
+ },
+ "basicLoginInformation": {
+ "username": "username",
+ "password": "********"
+ },
+ "metricsDashboardCredential": {
+ "username": "username",
+ "password": "********"
+ },
+ "logsDashboardCredential": {
+ "username": "username",
+ "password": "********"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444",
+ "primaryKey": "********"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/",
+ "clientSecret": "********"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ },
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "infrastructure": "onpremises"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate being uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "metricsDashboardCredential": {
+ "username": "username"
+ },
+ "logsDashboardCredential": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ },
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "infrastructure": "onpremises"
+ },
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController",
+ "name": "testdataController",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate being uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "metricsDashboardCredential": {
+ "username": "username"
+ },
+ "logsDashboardCredential": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ },
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "infrastructure": "onpremises"
+ },
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController",
+ "name": "testdataController",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/CreateOrUpdateSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/CreateOrUpdateSqlManagedInstance.json
new file mode 100644
index 000000000000..8292fb527201
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/CreateOrUpdateSqlManagedInstance.json
@@ -0,0 +1,181 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2021-11-01",
+ "sqlManagedInstance": {
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "sku": {
+ "name": "vCore",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username",
+ "password": "********"
+ },
+ "licenseType": "LicenseIncluded",
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "k8sRaw": {
+ "additionalProperty": 1234,
+ "spec": {
+ "replicas": 1,
+ "scheduling": {
+ "default": {
+ "resources": {
+ "requests": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ },
+ "limits": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "licenseType": "LicenseIncluded",
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "k8sRaw": {
+ "additionalProperty": 1234,
+ "spec": {
+ "replicas": 1,
+ "scheduling": {
+ "default": {
+ "resources": {
+ "requests": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ },
+ "limits": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "vCore",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "licenseType": "LicenseIncluded",
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "k8sRaw": {
+ "additionalProperty": 1234,
+ "spec": {
+ "replicas": 1,
+ "scheduling": {
+ "default": {
+ "resources": {
+ "requests": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ },
+ "limits": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "vCore",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/CreateOrUpdateSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/CreateOrUpdateSqlServerInstance.json
new file mode 100644
index 000000000000..092331354ab9
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/CreateOrUpdateSqlServerInstance.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2021-11-01",
+ "sqlServerInstance": {
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "vCore": "4",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "licenseType": "Free",
+ "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z",
+ "status": "Connected",
+ "azureDefenderStatus": "Protected"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z",
+ "status": "Connected",
+ "azureDefenderStatus": "Protected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z",
+ "status": "Connected",
+ "azureDefenderStatus": "Protected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/DeleteDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/DeleteDataController.json
new file mode 100644
index 000000000000..f118422dae74
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/DeleteDataController.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController",
+ "api-version": "2021-11-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/DeleteSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/DeleteSqlManagedInstance.json
new file mode 100644
index 000000000000..3af31b58b062
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/DeleteSqlManagedInstance.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2021-11-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/DeleteSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/DeleteSqlServerInstance.json
new file mode 100644
index 000000000000..9a9882217eeb
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/DeleteSqlServerInstance.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2021-11-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/GetDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/GetDataController.json
new file mode 100644
index 000000000000..ee948eb23b0f
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/GetDataController.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController",
+ "api-version": "2021-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "metricsDashboardCredential": {
+ "username": "username"
+ },
+ "logsDashboardCredential": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ },
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "infrastructure": "onpremises"
+ },
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController",
+ "name": "testdataController",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/GetSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/GetSqlManagedInstance.json
new file mode 100644
index 000000000000..6a9b25ad78e2
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/GetSqlManagedInstance.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2021-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "licenseType": "LicenseIncluded",
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "k8sRaw": {
+ "additionalProperty": 1234,
+ "spec": {
+ "replicas": 1,
+ "scheduling": {
+ "default": {
+ "resources": {
+ "requests": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ },
+ "limits": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "vCore",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureArcData/sqlManagedInstance"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/GetSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/GetSqlServerInstance.json
new file mode 100644
index 000000000000..69f8ce89f27c
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/GetSqlServerInstance.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2021-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z",
+ "azureDefenderStatus": "Protected",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListByResourceGroupDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListByResourceGroupDataController.json
new file mode 100644
index 000000000000..446fe65c4573
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListByResourceGroupDataController.json
@@ -0,0 +1,115 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "api-version": "2021-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "metricsDashboardCredential": {
+ "username": "username"
+ },
+ "logsDashboardCredential": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ },
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "infrastructure": "onpremises"
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController1",
+ "name": "testdataController1",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ },
+ {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ },
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "infrastructure": "onpremises"
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController2",
+ "name": "testdataController2",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListByResourceGroupSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListByResourceGroupSqlManagedInstance.json
new file mode 100644
index 000000000000..319bc72531da
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListByResourceGroupSqlManagedInstance.json
@@ -0,0 +1,131 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "api-version": "2021-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "licenseType": "LicenseIncluded",
+ "k8sRaw": {
+ "additionalProperty": 1234,
+ "spec": {
+ "replicas": 1,
+ "scheduling": {
+ "default": {
+ "resources": {
+ "requests": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ },
+ "limits": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "vCore",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/sqlManagedInstance1",
+ "name": "sqlManagedInstances1",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ },
+ {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "licenseType": "LicenseIncluded",
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "k8sRaw": {
+ "additionalProperty": 1234,
+ "spec": {
+ "replicas": 1,
+ "scheduling": {
+ "default": {
+ "resources": {
+ "requests": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ },
+ "limits": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "vCore",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/sqlManagedInstance2",
+ "name": "sqlManagedInstances2",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListByResourceGroupSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListByResourceGroupSqlServerInstance.json
new file mode 100644
index 000000000000..b127ad2dedcb
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListByResourceGroupSqlServerInstance.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "api-version": "2021-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z",
+ "azureDefenderStatus": "Protected",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance1",
+ "name": "sqlServerInstance1",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ },
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z",
+ "azureDefenderStatus": "Protected",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance2",
+ "name": "sqlServerInstance2",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListOperation.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListOperation.json
new file mode 100644
index 000000000000..bad79a8930ef
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListOperation.json
@@ -0,0 +1,243 @@
+{
+ "parameters": {
+ "api-version": "2021-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.AzureArcData/Locations/OperationStatuses/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "Locations/OperationStatuses",
+ "operation": "read_OperationStatuses",
+ "description": "read OperationStatuses"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/Locations/OperationStatuses/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "Locations/OperationStatuses",
+ "operation": "write_OperationStatuses",
+ "description": "write OperationStatuses"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/dataControllers/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "dataControllers",
+ "operation": "DataControllers_ListInSubscription",
+ "description": "read dataControllers"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/dataControllers/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "dataControllers",
+ "operation": "DataControllers_ListInGroup",
+ "description": "read dataControllers"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/dataControllers/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "dataControllers",
+ "operation": "DataControllers_GetDataController",
+ "description": "Retrieves a dataController resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/dataControllers/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "dataControllers",
+ "operation": "DataControllers_PutDataController",
+ "description": "Creates or replaces a dataController resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/dataControllers/delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "dataControllers",
+ "operation": "DataControllers_DeleteDataController",
+ "description": "Deletes a dataController resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/dataControllers/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "dataControllers",
+ "operation": "DataControllers_PatchDataController",
+ "description": "Updates a dataController resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlManagedInstances/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlManagedInstances",
+ "operation": "SqlManagedInstances_List",
+ "description": "read sqlManagedInstances"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlManagedInstances/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlManagedInstances",
+ "operation": "SqlManagedInstances_ListByResourceGroup",
+ "description": "Gets all sqlManagedInstances in a resource group."
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlManagedInstances/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlManagedInstances",
+ "operation": "SqlManagedInstances_Get",
+ "description": "Retrieves a SQL Managed Instance resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlManagedInstances/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlManagedInstances",
+ "operation": "SqlManagedInstances_Create",
+ "description": "Creates or replaces a SQL Managed Instance resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlManagedInstances/delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlManagedInstances",
+ "operation": "SqlManagedInstances_Delete",
+ "description": "Deletes a SQL Managed Instance resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlManagedInstances/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlManagedInstances",
+ "operation": "SqlManagedInstances_Update",
+ "description": "Updates a SQL Managed Instance resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlServerInstances/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlServerInstances",
+ "operation": "SqlServerInstances_List",
+ "description": "read sqlServerInstances"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlServerInstances/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlServerInstances",
+ "operation": "SqlServerInstances_ListByResourceGroup",
+ "description": "Gets all sqlServerInstances in a resource group."
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlServerInstances/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlServerInstances",
+ "operation": "SqlServerInstances_Get",
+ "description": "Retrieves a SQL Server Instance resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlServerInstances/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlServerInstances",
+ "operation": "SqlServerInstances_Create",
+ "description": "Creates or replaces a SQL Server Instance resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlServerInstances/delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlServerInstances",
+ "operation": "SqlServerInstances_Delete",
+ "description": "Deletes a SQL Server Instance resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/sqlServerInstances/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "sqlServerInstances",
+ "operation": "SqlServerInstances_Update",
+ "description": "Updates a SQL Server Instance resource"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/register/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "Microsoft.AzureArcData",
+ "operation": "Register the Microsoft.AzureArcData",
+ "description": "Register the subscription for Microsoft.AzureArcData"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/unregister/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "Microsoft.AzureArcData",
+ "operation": "Unregister the Microsoft.AzureArcData",
+ "description": "Unregister the subscription for Microsoft.AzureArcData"
+ }
+ },
+ {
+ "name": "Microsoft.AzureArcData/Operations/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.AzureArcData",
+ "resource": "Operations",
+ "operation": "read_Operations",
+ "description": "read Operations"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListSubscriptionDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListSubscriptionDataController.json
new file mode 100644
index 000000000000..f33da3963d52
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListSubscriptionDataController.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2021-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "metricsDashboardCredential": {
+ "username": "username"
+ },
+ "logsDashboardCredential": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ },
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "infrastructure": "onpremises"
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController1",
+ "name": "testdataController1",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ },
+ {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "metricsDashboardCredential": {
+ "username": "username"
+ },
+ "logsDashboardCredential": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ },
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension"
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController2",
+ "name": "testdataController2",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListSubscriptionSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListSubscriptionSqlManagedInstance.json
new file mode 100644
index 000000000000..d909adbe5e9c
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListSubscriptionSqlManagedInstance.json
@@ -0,0 +1,132 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2021-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "licenseType": "LicenseIncluded",
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "k8sRaw": {
+ "additionalProperty": 1234,
+ "spec": {
+ "replicas": 1,
+ "scheduling": {
+ "default": {
+ "resources": {
+ "requests": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ },
+ "limits": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "vCore",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlManagedInstances/sqlManagedInstance1",
+ "name": "sqlManagedInstances1",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ },
+ {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "licenseType": "LicenseIncluded",
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "k8sRaw": {
+ "additionalProperty": 1234,
+ "spec": {
+ "replicas": 1,
+ "scheduling": {
+ "default": {
+ "resources": {
+ "requests": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ },
+ "limits": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "sku": {
+ "name": "vCore",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlManagedInstances/sqlManagedInstance2",
+ "name": "sqlManagedInstances2",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListSubscriptionSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListSubscriptionSqlServerInstance.json
new file mode 100644
index 000000000000..a51218756782
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/ListSubscriptionSqlServerInstance.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2021-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z",
+ "azureDefenderStatus": "Protected",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance1",
+ "name": "sqlServerInstance1",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ },
+ {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z",
+ "azureDefenderStatus": "Protected",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/sqlServerInstance2",
+ "name": "sqlServerInstance2",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/UpdateDataController.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/UpdateDataController.json
new file mode 100644
index 000000000000..514c9f24c669
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/UpdateDataController.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController1",
+ "api-version": "2021-11-01",
+ "dataControllerResource": {
+ "tags": {
+ "mytag": "myval"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ },
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "metricsDashboardCredential": {
+ "username": "username"
+ },
+ "logsDashboardCredential": {
+ "username": "username"
+ },
+ "logAnalyticsWorkspaceConfig": {
+ "workspaceId": "00000000-1111-2222-3333-444444444444"
+ },
+ "uploadServicePrincipal": {
+ "clientId": "00000000-1111-2222-3333-444444444444",
+ "tenantId": "00000000-1111-2222-3333-444444444444",
+ "authority": "https://login.microsoftonline.com/"
+ },
+ "uploadWatermark": {
+ "metrics": "2020-01-01T17:18:19.1234567Z",
+ "logs": "2020-01-01T17:18:19.1234567Z",
+ "usages": "2020-01-01T17:18:19.1234567Z"
+ },
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "infrastructure": "onpremises"
+ },
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "tags": {
+ "mytag": "myval"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/dataControllers/testdataController1",
+ "name": "testdataController1",
+ "type": "Microsoft.AzureArcData/dataControllers"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/UpdateSqlManagedInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/UpdateSqlManagedInstance.json
new file mode 100644
index 000000000000..d2873bf289d1
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/UpdateSqlManagedInstance.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2021-11-01",
+ "parameters": {
+ "tags": {
+ "mytag": "myval"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time",
+ "basicLoginInformation": {
+ "username": "username"
+ },
+ "licenseType": "LicenseIncluded",
+ "clusterId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s",
+ "extensionId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.Kubernetes/connectedClusters/connectedk8s/providers/Microsoft.KubernetesConfiguration/extensions/extension",
+ "k8sRaw": {
+ "additionalProperty": 1234,
+ "spec": {
+ "replicas": 1,
+ "scheduling": {
+ "default": {
+ "resources": {
+ "requests": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ },
+ "limits": {
+ "cpu": "1",
+ "memory": "8Gi",
+ "additionalProperty": "additionalValue"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "location": "northeurope",
+ "extendedLocation": {
+ "type": "CustomLocation",
+ "name": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.ExtendedLocation/customLocations/arclocation"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "sku": {
+ "name": "vCore",
+ "tier": "GeneralPurpose",
+ "dev": true
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureArcData/sqlManagedInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/UpdateSqlServerInstance.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/UpdateSqlServerInstance.json
new file mode 100644
index 000000000000..c556c6f13f52
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/examples/UpdateSqlServerInstance.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlServerInstanceName": "testsqlServerInstance",
+ "api-version": "2021-11-01",
+ "parameters": {
+ "tags": {
+ "mytag": "myval"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "version": "SQL Server 2017",
+ "edition": "Developer",
+ "containerResourceId": "Arc Machine Name",
+ "createTime": "01/01/2020 01:01:01",
+ "patchLevel": "patchlevel",
+ "collation": "collation",
+ "currentVersion": "2008 R2",
+ "instanceName": "name of instance",
+ "tcpDynamicPorts": "1433",
+ "tcpStaticPorts": "1433",
+ "productId": "sql id",
+ "vCore": "4",
+ "licenseType": "Free",
+ "azureDefenderStatusLastUpdated": "2020-01-02T17:18:19.1234567Z",
+ "azureDefenderStatus": "Protected",
+ "status": "Connected"
+ },
+ "location": "northeurope",
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2020-01-01T17:18:19.1234567Z",
+ "lastModifiedBy": "user2",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-01-02T17:18:19.1234567Z"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureArcData/SqlServerInstances/testsqlServerInstance",
+ "name": "testsqlServerInstance",
+ "type": "Microsoft.AzureArcData/SqlServerInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/operations.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/operations.json
new file mode 100644
index 000000000000..be32e92dced1
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/operations.json
@@ -0,0 +1,103 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-01",
+ "title": "AzureArcDataManagementClient",
+ "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources."
+ },
+ "paths": {},
+ "definitions": {
+ "Operation": {
+ "description": "Azure Data Services on Azure Arc operation definition.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the operation being performed on this particular object.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "The localized display information for this particular operation / action."
+ },
+ "origin": {
+ "description": "The intended executor of the operation.",
+ "enum": [
+ "user",
+ "system"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "OperationOrigin",
+ "modelAsString": true
+ }
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "boolean"
+ },
+ "properties": {
+ "description": "Additional descriptions for the operation.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "object"
+ },
+ "readOnly": true,
+ "x-ms-client-flatten": false
+ }
+ },
+ "required": [
+ "name",
+ "display",
+ "isDataAction"
+ ]
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list Azure Data Services on Azure Arc operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Display metadata associated with the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The localized friendly form of the resource provider name.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "The localized friendly form of the resource type related to this action/operation.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The localized friendly name for the operation.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The localized friendly description for the operation.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "provider",
+ "resource",
+ "operation",
+ "description"
+ ]
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/sqlManagedInstances.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/sqlManagedInstances.json
new file mode 100644
index 000000000000..620704b2c298
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/sqlManagedInstances.json
@@ -0,0 +1,251 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-01",
+ "title": "AzureArcDataManagementClient",
+ "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources."
+ },
+ "paths": {},
+ "definitions": {
+ "SqlManagedInstance": {
+ "description": "A SqlManagedInstance.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SqlManagedInstanceProperties",
+ "description": "null",
+ "x-ms-client-flatten": false
+ },
+ "extendedLocation": {
+ "$ref": "./common.json#/definitions/ExtendedLocation",
+ "description": "The extendedLocation of the resource."
+ },
+ "sku": {
+ "$ref": "#/definitions/SqlManagedInstanceSku",
+ "description": "Resource sku."
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "SqlManagedInstanceSku": {
+ "description": "The resource model definition representing SKU for Azure Managed Instance - Azure Arc",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "enum": [
+ "vCore"
+ ],
+ "description": "The name of the SKU."
+ },
+ "tier": {
+ "type": "string",
+ "enum": [
+ "GeneralPurpose",
+ "BusinessCritical"
+ ],
+ "x-ms-enum": {
+ "name": "SqlManagedInstanceSkuTier",
+ "modelAsString": false
+ },
+ "default": "GeneralPurpose",
+ "description": "The pricing tier for the instance."
+ },
+ "dev": {
+ "type": "boolean",
+ "default": true,
+ "description": "Whether dev/test is enabled. When the dev field is set to true, the resource is used for dev/test purpose. "
+ },
+ "size": {
+ "type": "string",
+ "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. "
+ },
+ "family": {
+ "type": "string"
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "SqlManagedInstanceProperties": {
+ "description": "Properties of sqlManagedInstance.",
+ "type": "object",
+ "properties": {
+ "dataControllerId": {
+ "type": "string",
+ "description": "null"
+ },
+ "admin": {
+ "type": "string",
+ "description": "The instance admin user"
+ },
+ "startTime": {
+ "type": "string",
+ "description": "The instance start time"
+ },
+ "endTime": {
+ "type": "string",
+ "description": "The instance end time"
+ },
+ "k8sRaw": {
+ "$ref": "#/definitions/SqlManagedInstanceK8sRaw",
+ "description": "The raw kubernetes information"
+ },
+ "basicLoginInformation": {
+ "$ref": "./common.json#/definitions/BasicLoginInformation",
+ "description": "Username and password for basic authentication."
+ },
+ "lastUploadedDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last uploaded date from Kubernetes cluster. Defaults to current date time"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true
+ },
+ "licenseType": {
+ "type": "string",
+ "enum": [
+ "BasePrice",
+ "LicenseIncluded"
+ ],
+ "x-ms-enum": {
+ "name": "arcSqlManagedInstanceLicenseType",
+ "modelAsString": false
+ },
+ "default": "BasePrice",
+ "description": "The license type to apply for this managed instance."
+ },
+ "clusterId": {
+ "type": "string",
+ "description": "If a CustomLocation is provided, this contains the ARM id of the connected cluster the custom location belongs to."
+ },
+ "extensionId": {
+ "type": "string",
+ "description": "If a CustomLocation is provided, this contains the ARM id of the extension the custom location belongs to."
+ }
+ }
+ },
+ "SqlManagedInstanceUpdate": {
+ "description": "An update to a SQL Managed Instance.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "SqlManagedInstanceK8sRaw": {
+ "type": "object",
+ "description": "The raw kubernetes information.",
+ "properties": {
+ "spec": {
+ "$ref": "#/definitions/SqlManagedInstanceK8sSpec"
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "SqlManagedInstanceK8sSpec": {
+ "type": "object",
+ "description": "The kubernetes spec information.",
+ "properties": {
+ "scheduling": {
+ "$ref": "#/definitions/K8sScheduling"
+ },
+ "replicas": {
+ "type": "integer",
+ "format": "int32",
+ "description": "This option specifies the number of SQL Managed Instance replicas that will be deployed in your Kubernetes cluster for high availability purposes. If sku.tier is BusinessCritical, allowed values are '2' or '3' with default of '3'. If sku.tier is GeneralPurpose, replicas must be '1'."
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "K8sScheduling": {
+ "type": "object",
+ "description": "The kubernetes scheduling information.",
+ "properties": {
+ "default": {
+ "$ref": "#/definitions/K8sSchedulingOptions"
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "K8sSchedulingOptions": {
+ "type": "object",
+ "description": "The kubernetes scheduling options. It describes restrictions used to help Kubernetes select appropriate nodes to host the database service",
+ "properties": {
+ "resources": {
+ "$ref": "#/definitions/K8sResourceRequirements"
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "K8sResourceRequirements": {
+ "type": "object",
+ "description": "The kubernetes resource limits and requests used to restrict or reserve resource usage.",
+ "properties": {
+ "requests": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Requests for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum 'memory' is '128Gi'."
+ },
+ "limits": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Limits for a kubernetes resource type (e.g 'cpu', 'memory'). The 'cpu' request must be less than or equal to 'cpu' limit. Default 'cpu' is 2, minimum is 1. Default 'memory' is '4Gi', minimum is '2Gi. If sku.tier is GeneralPurpose, maximum 'cpu' is 24 and maximum 'memory' is '128Gi'."
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "SqlManagedInstanceListResult": {
+ "description": "A list of SqlManagedInstance.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlManagedInstance"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/sqlServerInstances.json b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/sqlServerInstances.json
new file mode 100644
index 000000000000..d5c61cffd87a
--- /dev/null
+++ b/specification/azurearcdata/resource-manager/Microsoft.AzureArcData/stable/2021-11-01/sqlServerInstances.json
@@ -0,0 +1,188 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-01",
+ "title": "AzureArcDataManagementClient",
+ "description": "The AzureArcData management API provides a RESTful set of web APIs to manage Azure Data Services on Azure Arc Resources."
+ },
+ "paths": {},
+ "definitions": {
+ "SqlServerInstance": {
+ "description": "A SqlServerInstance.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SqlServerInstanceProperties",
+ "description": "null",
+ "x-ms-client-flatten": false
+ }
+ }
+ },
+ "SqlServerInstanceProperties": {
+ "description": "Properties of SqlServerInstance.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "type": "string",
+ "description": "SQL Server version.",
+ "enum": [
+ "SQL Server 2019",
+ "SQL Server 2017",
+ "SQL Server 2016"
+ ],
+ "x-ms-enum": {
+ "name": "sqlVersion",
+ "modelAsString": true
+ }
+ },
+ "edition": {
+ "type": "string",
+ "description": "SQL Server edition.",
+ "enum": [
+ "Evaluation",
+ "Enterprise",
+ "Standard",
+ "Web",
+ "Developer",
+ "Express"
+ ],
+ "x-ms-enum": {
+ "name": "editionType",
+ "modelAsString": true
+ }
+ },
+ "containerResourceId": {
+ "type": "string",
+ "description": "ARM Resource id of the container resource (Azure Arc for Servers)."
+ },
+ "createTime": {
+ "type": "string",
+ "description": "The time when the resource was created.",
+ "readOnly": true
+ },
+ "vCore": {
+ "type": "string",
+ "description": "The number of logical processors used by the SQL Server instance."
+ },
+ "status": {
+ "type": "string",
+ "description": "The cloud connectivity status.",
+ "enum": [
+ "Connected",
+ "Disconnected",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "patchLevel": {
+ "type": "string",
+ "description": "SQL Server update level."
+ },
+ "collation": {
+ "type": "string",
+ "description": "SQL Server collation."
+ },
+ "currentVersion": {
+ "type": "string",
+ "description": "SQL Server current version."
+ },
+ "instanceName": {
+ "type": "string",
+ "description": "SQL Server instance name."
+ },
+ "tcpDynamicPorts": {
+ "type": "string",
+ "description": "Dynamic TCP ports used by SQL Server."
+ },
+ "tcpStaticPorts": {
+ "type": "string",
+ "description": "Static TCP ports used by SQL Server."
+ },
+ "productId": {
+ "type": "string",
+ "description": "SQL Server product ID."
+ },
+ "licenseType": {
+ "type": "string",
+ "description": "SQL Server license type.",
+ "enum": [
+ "Paid",
+ "Free",
+ "HADR",
+ "Undefined"
+ ],
+ "x-ms-enum": {
+ "name": "arcSqlServerLicenseType",
+ "modelAsString": true
+ }
+ },
+ "azureDefenderStatusLastUpdated": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Timestamp of last Azure Defender status update."
+ },
+ "azureDefenderStatus": {
+ "type": "string",
+ "description": "Status of Azure Defender.",
+ "enum": [
+ "Protected",
+ "Unprotected",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "defenderStatus",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "containerResourceId",
+ "status"
+ ]
+ },
+ "SqlServerInstanceUpdate": {
+ "description": "An update to a SQL Server Instance.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "SqlServerInstanceListResult": {
+ "description": "A list of SqlServerInstance.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlServerInstance"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurearcdata/resource-manager/readme.azureresourceschema.md b/specification/azurearcdata/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index 8a5870cc234b..000000000000
--- a/specification/azurearcdata/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-azurearcdata-2021-08-01
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-azurearcdata-2021-08-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-azurearcdata-2021-08-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.AzureArcData/stable/2021-08-01/azurearcdata.json
-
-```
diff --git a/specification/azurearcdata/resource-manager/readme.go.md b/specification/azurearcdata/resource-manager/readme.go.md
index 52d7ddc4175a..68cbb4f69016 100644
--- a/specification/azurearcdata/resource-manager/readme.go.md
+++ b/specification/azurearcdata/resource-manager/readme.go.md
@@ -13,14 +13,14 @@ go:
``` yaml $(go) && $(multiapi)
batch:
- - tag: package-2021-08-01
+ - tag: package-2021-11-01
```
-### Tag: package-2021-08-01 and go
+### Tag: package-2021-11-01 and go
-These settings apply only when `--tag=package-2021-08-01 --go` is specified on the command line.
+These settings apply only when `--tag=package-2021-11-01 --go` is specified on the command line.
Please also specify `--go-sdk-folder=`.
-```yaml $(tag) == 'package-2021-08-01' && $(go)
-output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-08-01/$(namespace)
+```yaml $(tag) == 'package-2021-11-01' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-11-01/$(namespace)
```
diff --git a/specification/azurearcdata/resource-manager/readme.md b/specification/azurearcdata/resource-manager/readme.md
index 4ca5a9eb2e78..eaefd9dcb203 100644
--- a/specification/azurearcdata/resource-manager/readme.md
+++ b/specification/azurearcdata/resource-manager/readme.md
@@ -27,7 +27,16 @@ These are the global settings for the azurearcdata.
``` yaml
openapi-type: arm
openapi-subtype: rpaas
-tag: package-2021-08-01
+tag: package-2021-11-01
+```
+
+### Tag: package-2021-11-01
+
+These settings apply only when `--tag=package-2021-11-01` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-11-01'
+input-file:
+ - Microsoft.AzureArcData/stable/2021-11-01/azurearcdata.json
```
### Tag: package-2021-08-01
@@ -77,8 +86,6 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_azurearcdata']
- repo: azure-resource-manager-schemas
- after_scripts:
- - node sdkauto_afterscript.js azurearcdata/resource-manager
```
## Go
@@ -100,7 +107,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/specification/azurearcdata/resource-manager/readme.python.md b/specification/azurearcdata/resource-manager/readme.python.md
index a0e2218f035d..1195d6965697 100644
--- a/specification/azurearcdata/resource-manager/readme.python.md
+++ b/specification/azurearcdata/resource-manager/readme.python.md
@@ -8,7 +8,7 @@ azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
package-name: azure-mgmt-azurearcdata
no-namespace-folders: true
-package-version: 1.0.0b1
+package-version: 1.1.0b1
clear-output-folder: true
```
diff --git a/specification/azurearcdata/resource-manager/readme.ruby.md b/specification/azurearcdata/resource-manager/readme.ruby.md
index 171ecdb4caaf..4613e571326e 100644
--- a/specification/azurearcdata/resource-manager/readme.ruby.md
+++ b/specification/azurearcdata/resource-manager/readme.ruby.md
@@ -4,16 +4,16 @@ These settings apply only when `--ruby` is specified on the command line.
```yaml
package-name: azure_mgmt_azurearcdata
-package-version: 2021-08-01
+package-version: 2021-11-01
azure-arm: true
```
-### Tag: package-2021-08-01 and ruby
+### Tag: package-2021-11-01 and ruby
-These settings apply only when `--tag=package-2021-08-01 --ruby` is specified on the command line.
+These settings apply only when `--tag=package-2021-11-01 --ruby` is specified on the command line.
Please also specify `--ruby-sdks-folder=`.
-```yaml $(tag) == 'package-2021-08-01' && $(ruby)
+```yaml $(tag) == 'package-2021-11-01' && $(ruby)
namespace: Microsoft.AzureArcData
output-folder: $(ruby-sdks-folder)/azurearcdata
```
diff --git a/specification/batch/resource-manager/readme.go.md b/specification/batch/resource-manager/readme.go.md
index cf96dea9bd46..2583c70d9209 100644
--- a/specification/batch/resource-manager/readme.go.md
+++ b/specification/batch/resource-manager/readme.go.md
@@ -3,13 +3,21 @@
These settings apply only when `--go` is specified on the command line.
-``` yaml $(go)
+``` yaml $(go) && !$(track2)
go:
license-header: MICROSOFT_MIT_NO_VERSION
namespace: batch
clear-output-folder: true
```
+``` yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/resourcemanager/batch/armbatch
+module: github.com/Azure/azure-sdk-for-go/$(module-name)
+output-folder: $(go-sdk-folder)/$(module-name)
+azure-arm: true
+```
+
## Go multi-api
``` yaml $(go) && $(multiapi)
diff --git a/specification/batch/resource-manager/readme.md b/specification/batch/resource-manager/readme.md
index 61332e05cd70..d8780797b3fb 100644
--- a/specification/batch/resource-manager/readme.md
+++ b/specification/batch/resource-manager/readme.md
@@ -222,6 +222,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-node
- repo: azure-sdk-for-js
- repo: azure-sdk-for-ruby
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/billing.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/billing.json
index 60c2cfe218a5..1270eac2b1b9 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/billing.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/billing.json
@@ -7320,6 +7320,12 @@
"description": "The link (url) to the next page of results.",
"type": "string",
"readOnly": true
+ },
+ "totalCount": {
+ "description": "Total number of records.",
+ "type": "number",
+ "format": "int32",
+ "readOnly": true
}
}
},
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/billingPromotions.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/billingPromotions.json
index c04950dc4c18..ce04ec821cff 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/billingPromotions.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/billingPromotions.json
@@ -307,6 +307,15 @@
"type": "object",
"properties": {
"properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/PromotionCheckEligibilityResponsePromptionProperties"
+ }
+ }
+ },
+ "PromotionCheckEligibilityResponsePromptionProperties": {
+ "type": "object",
+ "properties": {
+ "promotion": {
"x-ms-client-flatten": true,
"$ref": "#/definitions/PromotionCheckEligibilityResponseProperties"
}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/PromotionCheckEligibility.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/PromotionCheckEligibility.json
index 43526fa5852c..88619396486a 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/PromotionCheckEligibility.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2020-09-01-preview/examples/PromotionCheckEligibility.json
@@ -8,13 +8,15 @@
"200": {
"body": {
"properties": {
- "id": "wvd_promo_30p",
- "name": "WVD 30 percent off",
- "eligible": true,
- "reason": "None",
- "details": "",
- "eligibilitySubscriptionId": "f6dc64c8-34bb-43d3-96b0-fd2b8c94f1c3",
- "expiryDate": "2021-10-01"
+ "promotion": {
+ "id": "wvd_promo_30p",
+ "name": "WVD 30 percent off",
+ "eligible": true,
+ "reason": "None",
+ "details": "",
+ "eligibilitySubscriptionId": "f6dc64c8-34bb-43d3-96b0-fd2b8c94f1c3",
+ "expiryDate": "2021-10-01"
+ }
}
}
}
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 d26a16a24c4a..28f549ec77bc 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
@@ -5037,6 +5037,12 @@
"description": "The link (url) to the next page of results.",
"type": "string",
"readOnly": true
+ },
+ "totalCount": {
+ "description": "Total number of records.",
+ "type": "number",
+ "format": "int32",
+ "readOnly": true
}
}
},
@@ -5092,8 +5098,8 @@
"$ref": "#/definitions/Amount"
},
"azurePrepaymentApplied": {
- "description": "The amount of Azure prepayment applied to the charges. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.",
"readOnly": true,
+ "description": "The amount of Azure prepayment applied to the charges. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.",
"$ref": "#/definitions/Amount"
},
"billedAmount": {
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/botservice.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/botservice.json
index 3de5ee04b265..463ad9098055 100644
--- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/botservice.json
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/botservice.json
@@ -1461,6 +1461,14 @@
"etag": {
"type": "string",
"description": "Entity Tag"
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Entity zones",
+ "readOnly": true
}
}
},
@@ -1554,6 +1562,24 @@
"readOnly": true,
"description": "The bot's endpoint version"
},
+ "allSettings": {
+ "description": "Contains resource all settings defined as key/value pairs.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "parameters": {
+ "description": "Contains resource parameters defined as key/value pairs.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "manifestUrl": {
+ "type": "string",
+ "description": "The bot's manifest url"
+ },
"msaAppType": {
"type": "string",
"description": "Microsoft App Type for the bot",
@@ -1626,9 +1652,35 @@
"type": "string",
"description": "The CMK Url"
},
- "isIsolated": {
+ "cmekEncryptionStatus": {
+ "type": "string",
+ "description": "The CMK encryption status"
+ },
+ "publicNetworkAccess": {
+ "description": "Whether the bot is in an isolated network",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ },
+ "default": "Enabled"
+ },
+ "isStreamingSupported": {
"type": "boolean",
- "description": "Whether the bot is in an isolated network"
+ "description": "Whether the bot is streaming supported"
+ },
+ "isDeveloperAppInsightsApiKeySet": {
+ "type": "boolean",
+ "description": "Whether the bot is developerAppInsightsApiKey set"
+ },
+ "migrationToken": {
+ "type": "string",
+ "description": "Token used to migrate non Azure bot to azure subscription",
+ "readOnly": true
},
"disableLocalAuth": {
"type": "boolean",
@@ -1645,6 +1697,23 @@
"items": {
"$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection"
}
+ },
+ "openWithHint": {
+ "type": "string",
+ "description": "The hint to browser (e.g. protocol handler) on how to open the bot for authoring"
+ },
+ "appPasswordHint": {
+ "type": "string",
+ "description": "The hint (e.g. keyVault secret resourceId) on how to fetch the app secret"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Provisioning state of the resource"
+ },
+ "publishingCredentials": {
+ "type": "string",
+ "description": "Publishing credentials of the resource"
}
},
"description": "The parameters to provide for the Bot.",
@@ -1694,6 +1763,10 @@
"channelName": {
"type": "string",
"description": "The channel name"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity Tag of the resource"
}
},
"required": [
@@ -1713,6 +1786,15 @@
"properties": {
"$ref": "#/definitions/AlexaChannelProperties",
"description": "The set of properties specific to Alexa channel resource"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity Tag of the resource"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Provisioning state of the resource"
}
}
},
@@ -1756,6 +1838,14 @@
"properties": {
"$ref": "#/definitions/FacebookChannelProperties",
"description": "The set of properties specific to bot facebook channel"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the resource"
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the resource"
}
}
},
@@ -1829,6 +1919,14 @@
"properties": {
"$ref": "#/definitions/EmailChannelProperties",
"description": "The set of properties specific to email channel resource"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity Tag of the resource"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the resource"
}
}
},
@@ -1866,6 +1964,18 @@
"properties": {
"$ref": "#/definitions/MsTeamsChannelProperties",
"description": "The set of properties specific to Microsoft Teams channel resource"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity Tag of the resource"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the resource"
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the resource"
}
}
},
@@ -1882,6 +1992,18 @@
"isEnabled": {
"type": "boolean",
"description": "Whether this channel is enabled for the bot"
+ },
+ "incomingCallRoute": {
+ "type": "string",
+ "description": "Webhook for Microsoft Teams channel calls"
+ },
+ "deploymentEnvironment": {
+ "type": "string",
+ "description": "Deployment environment for Microsoft Teams channel calls"
+ },
+ "acceptedTerms": {
+ "type": "boolean",
+ "description": "Whether this channel accepted terms"
}
},
"description": "The parameters to provide for the Microsoft Teams channel.",
@@ -1902,6 +2024,10 @@
"properties": {
"$ref": "#/definitions/SkypeChannelProperties",
"description": "The set of properties specific to Skype channel resource"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity Tag of the resource"
}
}
},
@@ -1939,6 +2065,10 @@
"type": "string",
"description": "Calling web hook for Skype channel"
},
+ "incomingCallRoute": {
+ "type": "string",
+ "description": "Incoming call route for Skype channel"
+ },
"isEnabled": {
"type": "boolean",
"description": "Whether this channel is enabled for the bot"
@@ -2003,6 +2133,18 @@
"properties": {
"$ref": "#/definitions/WebChatChannelProperties",
"description": "The set of properties specific to Web Chat channel resource"
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the resource"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the resource"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity Tag of the resource"
}
}
},
@@ -2039,6 +2181,18 @@
"properties": {
"$ref": "#/definitions/DirectLineChannelProperties",
"description": "The set of properties specific to Direct Line channel resource"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity Tag of the resource"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the resource"
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the resource"
}
}
},
@@ -2050,6 +2204,10 @@
"$ref": "#/definitions/DirectLineSite"
},
"description": "The list of Direct Line sites"
+ },
+ "DirectLineEmbedCode": {
+ "type": "string",
+ "description": "Direct Line embed code of the resource"
}
},
"description": "The parameters to provide for the Direct Line channel."
@@ -2067,6 +2225,14 @@
"properties": {
"$ref": "#/definitions/TelegramChannelProperties",
"description": "The set of properties specific to Telegram channel resource"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity Tag of the resource"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the resource"
}
}
},
@@ -2104,6 +2270,10 @@
"properties": {
"$ref": "#/definitions/SmsChannelProperties",
"description": "The set of properties specific to Sms channel resource"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity Tag of the resource"
}
}
},
@@ -2151,6 +2321,14 @@
"properties": {
"$ref": "#/definitions/SlackChannelProperties",
"description": "The set of properties specific to Slack channel resource"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity Tag of the resource"
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the resource"
}
}
},
@@ -2193,7 +2371,7 @@
"description": "Whether to register the settings before OAuth validation is performed. Recommended to True.",
"readOnly": true
},
- "isValidated": {
+ "IsValidated": {
"type": "boolean",
"description": "Whether this channel is validated for the bot",
"readOnly": true
@@ -2290,6 +2468,14 @@
"properties": {
"$ref": "#/definitions/DirectLineSpeechChannelProperties",
"description": "The set of properties specific to DirectLine Speech channel resource"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the resource"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity Tag of the resource"
}
}
},
@@ -2378,7 +2564,7 @@
"type": "boolean",
"description": "Whether this site is enabled for DirectLine channel"
},
- "enablePreview": {
+ "isWebchatPreviewEnabled": {
"type": "boolean",
"description": "Whether this site is enabled for preview versions of Webchat"
}
@@ -2386,7 +2572,7 @@
"required": [
"siteName",
"isEnabled",
- "enablePreview"
+ "isWebchatPreviewEnabled"
],
"description": "A site for the Webchat channel"
},
@@ -2436,6 +2622,10 @@
"type": "boolean",
"description": "Whether this site is enabled for authentication with Bot Framework."
},
+ "isBlockUserUploadEnabled": {
+ "type": "boolean",
+ "description": "Whether this site is enabled for block user upload."
+ },
"trustedOrigins": {
"type": "array",
"description": "List of Trusted Origin URLs for this site. This field is applicable only if isSecureSiteEnabled is True.",
@@ -2535,6 +2725,10 @@
"items": {
"$ref": "#/definitions/ConnectionSettingParameter"
}
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the resource"
}
},
"description": "Properties for a Connection Setting Item"
@@ -2619,6 +2813,23 @@
"type": "string",
"description": "Default Name for the Service Provider",
"readOnly": true
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Meta data for the Service Provider",
+ "readOnly": true,
+ "properties": {
+ "constraints": {
+ "description": "the constraints of the bot meta data.",
+ "type": "object",
+ "properties": {
+ "required": {
+ "description": "Whether required the constraints of the bot meta data.",
+ "type": "boolean"
+ }
+ }
+ }
+ }
}
},
"description": "Extra Parameters specific to each Service Provider"
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/CreateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/CreateBot.json
index c459dffeba3a..7ea5d1c3fb9c 100644
--- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/CreateBot.json
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/CreateBot.json
@@ -34,7 +34,7 @@
"msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId",
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
- "isIsolated": false,
+ "publicNetworkAccess": "Enabled",
"disableLocalAuth": true,
"schemaTransformationVersion": "1.0"
}
@@ -78,7 +78,7 @@
],
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
- "isIsolated": false,
+ "publicNetworkAccess": "Enabled",
"disableLocalAuth": true,
"schemaTransformationVersion": "1.0"
}
@@ -119,7 +119,7 @@
],
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
- "isIsolated": false,
+ "publicNetworkAccess": "Enabled",
"disableLocalAuth": true,
"schemaTransformationVersion": "1.0"
}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetBot.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetBot.json
index f7d816111dc9..7bd5d1b5589c 100644
--- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetBot.json
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/GetBot.json
@@ -43,7 +43,7 @@
],
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
- "isIsolated": false,
+ "publicNetworkAccess": "Enabled",
"schemaTransformationVersion": "1.0",
"disableLocalAuth": true,
"privateEndpointConnections": [
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsByResourceGroup.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsByResourceGroup.json
index 6c61eae3c818..c28b25efc163 100644
--- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsByResourceGroup.json
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsByResourceGroup.json
@@ -44,7 +44,7 @@
],
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
- "isIsolated": false,
+ "publicNetworkAccess": "Enabled",
"disableLocalAuth": true,
"schemaTransformationVersion": "1.0"
}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsBySubscription.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsBySubscription.json
index af352d809295..8f6225560e58 100644
--- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsBySubscription.json
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/ListBotsBySubscription.json
@@ -43,7 +43,7 @@
],
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
- "isIsolated": false,
+ "publicNetworkAccess": "Enabled",
"disableLocalAuth": true,
"schemaTransformationVersion": "1.0"
}
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
index 3e3052172715..32472bffa5a2 100644
--- 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
@@ -25,9 +25,7 @@
"properties": {
"channelName": "FacebookChannel",
"properties": {
- "verifyToken": "othertoken",
"appId": "id",
- "appSecret": null,
"callbackUrl": "appid",
"isEnabled": true,
"pages": [
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateBot.json
index 15e4556a4308..6b487e0cb3e8 100644
--- a/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateBot.json
+++ b/specification/botservice/resource-manager/Microsoft.BotService/preview/2021-05-01-preview/examples/UpdateBot.json
@@ -34,7 +34,7 @@
"msaAppMSIResourceId": "/subscriptions/foo/resourcegroups/bar/providers/microsoft.managedidentity/userassignedidentities/sampleId",
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
- "isIsolated": false,
+ "publicNetworkAccess": "Enabled",
"disableLocalAuth": true,
"schemaTransformationVersion": "1.0"
}
@@ -78,7 +78,7 @@
],
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
- "isIsolated": false,
+ "publicNetworkAccess": "Enabled",
"disableLocalAuth": true,
"schemaTransformationVersion": "1.0"
}
@@ -121,7 +121,7 @@
],
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
- "isIsolated": false,
+ "publicNetworkAccess": "Enabled",
"disableLocalAuth": true,
"schemaTransformationVersion": "1.0"
}
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
index d5b2860150ae..971b7e0dc9d8 100644
--- 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
@@ -24,7 +24,7 @@
"key": "key1",
"key2": "key2",
"isEnabled": true,
- "enablePreview": true
+ "isWebchatPreviewEnabled": true
}
]
}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2021-03-01/botservice.json
index 5af0ff00991a..5ad8f265305e 100644
--- 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
@@ -1185,6 +1185,14 @@
"etag": {
"type": "string",
"description": "Entity Tag"
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Entity zones",
+ "readOnly": true
}
}
},
@@ -1278,10 +1286,49 @@
"readOnly": true,
"description": "The bot's endpoint version"
},
+ "allSettings": {
+ "description": "Contains resource all settings defined as key/value pairs.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "parameters": {
+ "description": "Contains resource parameters defined as key/value pairs.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "manifestUrl": {
+ "type": "string",
+ "description": "The bot's manifest url"
+ },
+ "msaAppType": {
+ "type": "string",
+ "description": "Microsoft App Type for the bot",
+ "enum": [
+ "UserAssignedMSI",
+ "SingleTenant",
+ "MultiTenant"
+ ],
+ "x-ms-enum": {
+ "name": "msaAppType",
+ "modelAsString": true
+ }
+ },
"msaAppId": {
"type": "string",
"description": "Microsoft App Id for the bot"
},
+ "msaAppTenantId": {
+ "type": "string",
+ "description": "Microsoft App Tenant Id for the bot"
+ },
+ "msaAppMSIResourceId": {
+ "type": "string",
+ "description": "Microsoft App Managed Identity Resource Id for the bot"
+ },
"configuredChannels": {
"type": "array",
"items": {
@@ -1329,13 +1376,60 @@
"type": "string",
"description": "The CMK Url"
},
- "isIsolated": {
+ "cmekEncryptionStatus": {
+ "type": "string",
+ "description": "The CMK encryption status"
+ },
+ "publicNetworkAccess": {
+ "description": "Whether the bot is in an isolated network",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ },
+ "default": "Enabled"
+ },
+ "isStreamingSupported": {
+ "type": "boolean",
+ "description": "Whether the bot is streaming supported"
+ },
+ "isDeveloperAppInsightsApiKeySet": {
+ "type": "boolean",
+ "description": "Whether the bot is developerAppInsightsApiKey set"
+ },
+ "migrationToken": {
+ "type": "string",
+ "description": "Token used to migrate non Azure bot to azure subscription",
+ "readOnly": true
+ },
+ "disableLocalAuth": {
"type": "boolean",
- "description": "Whether the bot is in an isolated network"
+ "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication."
},
"schemaTransformationVersion": {
"type": "string",
"description": "The channel schema transformation version for the bot"
+ },
+ "openWithHint": {
+ "type": "string",
+ "description": "The hint to browser (e.g. protocol handler) on how to open the bot for authoring"
+ },
+ "appPasswordHint": {
+ "type": "string",
+ "description": "The hint (e.g. keyVault secret resourceId) on how to fetch the app secret"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Provisioning state of the resource"
+ },
+ "publishingCredentials": {
+ "type": "string",
+ "description": "Publishing credentials of the resource"
}
},
"description": "The parameters to provide for the Bot.",
@@ -1385,6 +1479,10 @@
"channelName": {
"type": "string",
"description": "The channel name"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity Tag of the resource"
}
},
"required": [
@@ -1404,6 +1502,15 @@
"properties": {
"$ref": "#/definitions/AlexaChannelProperties",
"description": "The set of properties specific to Alexa channel resource"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity Tag of the resource"
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Provisioning state of the resource"
}
}
},
@@ -1557,6 +1664,18 @@
"properties": {
"$ref": "#/definitions/MsTeamsChannelProperties",
"description": "The set of properties specific to Microsoft Teams channel resource"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity Tag of the resource"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the resource"
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the resource"
}
}
},
@@ -1573,6 +1692,18 @@
"isEnabled": {
"type": "boolean",
"description": "Whether this channel is enabled for the bot"
+ },
+ "incomingCallRoute": {
+ "type": "string",
+ "description": "Webhook for Microsoft Teams channel calls"
+ },
+ "deploymentEnvironment": {
+ "type": "string",
+ "description": "Deployment environment for Microsoft Teams channel calls"
+ },
+ "acceptedTerms": {
+ "type": "boolean",
+ "description": "Whether this channel accepted terms"
}
},
"description": "The parameters to provide for the Microsoft Teams channel.",
@@ -1593,6 +1724,10 @@
"properties": {
"$ref": "#/definitions/SkypeChannelProperties",
"description": "The set of properties specific to Skype channel resource"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity Tag of the resource"
}
}
},
@@ -1630,6 +1765,10 @@
"type": "string",
"description": "Calling web hook for Skype channel"
},
+ "incomingCallRoute": {
+ "type": "string",
+ "description": "Incoming call route for Skype channel"
+ },
"isEnabled": {
"type": "boolean",
"description": "Whether this channel is enabled for the bot"
@@ -1694,6 +1833,18 @@
"properties": {
"$ref": "#/definitions/WebChatChannelProperties",
"description": "The set of properties specific to Web Chat channel resource"
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the resource"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the resource"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity Tag of the resource"
}
}
},
@@ -1730,6 +1881,18 @@
"properties": {
"$ref": "#/definitions/DirectLineChannelProperties",
"description": "The set of properties specific to Direct Line channel resource"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity Tag of the resource"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the resource"
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the resource"
}
}
},
@@ -1741,6 +1904,10 @@
"$ref": "#/definitions/DirectLineSite"
},
"description": "The list of Direct Line sites"
+ },
+ "DirectLineEmbedCode": {
+ "type": "string",
+ "description": "Direct Line embed code of the resource"
}
},
"description": "The parameters to provide for the Direct Line channel."
@@ -2065,7 +2232,7 @@
"type": "boolean",
"description": "Whether this site is enabled for DirectLine channel"
},
- "enablePreview": {
+ "isWebchatPreviewEnabled": {
"type": "boolean",
"description": "Whether this site is enabled for preview versions of Webchat"
}
@@ -2073,7 +2240,7 @@
"required": [
"siteName",
"isEnabled",
- "enablePreview"
+ "isWebchatPreviewEnabled"
],
"description": "A site for the Webchat channel"
},
@@ -2123,6 +2290,10 @@
"type": "boolean",
"description": "Whether this site is enabled for authentication with Bot Framework."
},
+ "isBlockUserUploadEnabled": {
+ "type": "boolean",
+ "description": "Whether this site is enabled for block user upload."
+ },
"trustedOrigins": {
"type": "array",
"description": "List of Trusted Origin URLs for this site. This field is applicable only if isSecureSiteEnabled is True.",
@@ -2222,6 +2393,10 @@
"items": {
"$ref": "#/definitions/ConnectionSettingParameter"
}
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Provisioning state of the resource"
}
},
"description": "Properties for a Connection Setting Item"
@@ -2306,6 +2481,23 @@
"type": "string",
"description": "Default Name for the Service Provider",
"readOnly": true
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Meta data for the Service Provider",
+ "readOnly": true,
+ "properties": {
+ "constraints": {
+ "description": "the constraints of the bot meta data.",
+ "type": "object",
+ "properties": {
+ "required": {
+ "description": "Whether required the constraints of the bot meta data.",
+ "type": "boolean"
+ }
+ }
+ }
+ }
}
},
"description": "Extra Parameters specific to each Service Provider"
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
index 3b24c7a2df3a..7515891f63cf 100644
--- 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
@@ -31,7 +31,7 @@
"msaAppId": "exampleappid",
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
- "isIsolated": false,
+ "publicNetworkAccess": "Enabled",
"schemaTransformationVersion": "1.0"
}
}
@@ -71,7 +71,7 @@
],
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
- "isIsolated": false,
+ "publicNetworkAccess": "Enabled",
"schemaTransformationVersion": "1.0"
}
}
@@ -108,7 +108,7 @@
],
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
- "isIsolated": false,
+ "publicNetworkAccess": "Enabled",
"schemaTransformationVersion": "1.0"
}
}
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
index 189fc73fb9b3..762c2c6c2e3a 100644
--- 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
@@ -40,7 +40,7 @@
],
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
- "isIsolated": false,
+ "publicNetworkAccess": "Enabled",
"schemaTransformationVersion": "1.0"
}
}
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
index 0c25649703bd..caa215af1030 100644
--- 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
@@ -41,7 +41,7 @@
],
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
- "isIsolated": false,
+ "publicNetworkAccess": "Enabled",
"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
index ea64a7343666..234cb804746d 100644
--- 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
@@ -40,7 +40,7 @@
],
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
- "isIsolated": false,
+ "publicNetworkAccess": "Enabled",
"schemaTransformationVersion": "1.0"
}
}
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
index b18fbd8d15e8..30af210a3ad4 100644
--- 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
@@ -25,9 +25,7 @@
"properties": {
"channelName": "FacebookChannel",
"properties": {
- "verifyToken": "othertoken",
"appId": "id",
- "appSecret": null,
"callbackUrl": "appid",
"isEnabled": true,
"pages": [
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
index 3997a188df7b..6f4a1dcf86bb 100644
--- 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
@@ -31,7 +31,7 @@
"msaAppId": "msaappid",
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
- "isIsolated": false,
+ "publicNetworkAccess": "Enabled",
"schemaTransformationVersion": "1.0"
}
}
@@ -71,7 +71,7 @@
],
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
- "isIsolated": false,
+ "publicNetworkAccess": "Enabled",
"schemaTransformationVersion": "1.0"
}
}
@@ -110,7 +110,7 @@
],
"isCmekEnabled": true,
"cmekKeyVaultUrl": "https://myCmekKey",
- "isIsolated": false,
+ "publicNetworkAccess": "Enabled",
"schemaTransformationVersion": "1.0"
}
}
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
index 025386ece0ff..635c47ac159c 100644
--- 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
@@ -24,7 +24,7 @@
"key": "key1",
"key2": "key2",
"isEnabled": true,
- "enablePreview": true
+ "isWebchatPreviewEnabled": true
}
]
}
diff --git a/specification/botservice/resource-manager/readme.go.md b/specification/botservice/resource-manager/readme.go.md
index 97433ce5c511..453d987d204e 100644
--- a/specification/botservice/resource-manager/readme.go.md
+++ b/specification/botservice/resource-manager/readme.go.md
@@ -2,22 +2,40 @@
These settings apply only when `--go` is specified on the command line.
-``` yaml $(go)
+``` yaml $(go) && !$(track2)
go:
license-header: MICROSOFT_MIT_NO_VERSION
namespace: botservice
clear-output-folder: true
```
+``` yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/resourcemanager/botservice/armbotservice
+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-preview-2021-05
- tag: package-2021-03-01
- tag: package-2017-12-01
- tag: package-2018-07-12
```
+### Tag: package-preview-2021-05 and go
+
+These settings apply only when `--tag=package-preview-2021-05 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-preview-2021-05' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-05-01-preview/$(namespace)
+```
+
### Tag: package-2021-03-01 and go
These settings apply only when `--tag=package-2021-03-01 --go` is specified on the command line.
diff --git a/specification/botservice/resource-manager/readme.md b/specification/botservice/resource-manager/readme.md
index fb9d9999abb2..c87e826d2501 100644
--- a/specification/botservice/resource-manager/readme.md
+++ b/specification/botservice/resource-manager/readme.md
@@ -139,6 +139,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-resource-manager-schemas
- repo: azure-sdk-for-js
```
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 7ea810593f26..6cb656e831c0 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
@@ -4702,6 +4702,10 @@
"modelAsString": true
}
},
+ "customHttpsParameters": {
+ "description": "Certificate parameters for securing custom HTTPS",
+ "$ref": "#/definitions/CustomDomainHttpsParameters"
+ },
"validationData": {
"description": "Special validation or data may be required when delivering CDN to some regions due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in China.",
"type": "string"
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 8c80108d158f..b3b98482c32f 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
@@ -4816,6 +4816,10 @@
"modelAsString": true
}
},
+ "customHttpsParameters": {
+ "description": "Certificate parameters for securing custom HTTPS",
+ "$ref": "#/definitions/CustomDomainHttpsParameters"
+ },
"validationData": {
"description": "Special validation or data may be required when delivering CDN to some regions due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in China.",
"type": "string"
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 51fa15d2fd67..26b647e47a5b 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
@@ -4872,6 +4872,10 @@
"modelAsString": true
}
},
+ "customHttpsParameters": {
+ "description": "Certificate parameters for securing custom HTTPS",
+ "$ref": "#/definitions/CustomDomainHttpsParameters"
+ },
"validationData": {
"description": "Special validation or data may be required when delivering CDN to some regions due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in China.",
"type": "string"
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 0cc2ca2e464f..a7702a5b8e90 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
@@ -4914,6 +4914,10 @@
"modelAsString": true
}
},
+ "customHttpsParameters": {
+ "description": "Certificate parameters for securing custom HTTPS",
+ "$ref": "#/definitions/CustomDomainHttpsParameters"
+ },
"validationData": {
"description": "Special validation or data may be required when delivering CDN to some regions due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in China.",
"type": "string"
diff --git a/specification/cdn/resource-manager/readme.go.md b/specification/cdn/resource-manager/readme.go.md
index 80b52a83156e..5a7df98a8f32 100644
--- a/specification/cdn/resource-manager/readme.go.md
+++ b/specification/cdn/resource-manager/readme.go.md
@@ -11,7 +11,7 @@ go:
``` yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/cdn/armcdn
+module-name: sdk/resourcemanager/cdn/armcdn
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
diff --git a/specification/cdn/resource-manager/readme.md b/specification/cdn/resource-manager/readme.md
index 1a97777e438b..9ddb40ba8171 100644
--- a/specification/cdn/resource-manager/readme.md
+++ b/specification/cdn/resource-manager/readme.md
@@ -155,6 +155,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-net
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/changeanalysis.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/changeanalysis.json
new file mode 100644
index 000000000000..81d2553153c0
--- /dev/null
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/changeanalysis.json
@@ -0,0 +1,628 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AzureChangeAnalysisManagementClient",
+ "version": "2021-04-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.ChangeAnalysis/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "Lists all the supported operations by the Microsoft.ChangeAnalysis resource provider along with their descriptions.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SkipTokenParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ResourceProviderOperationList"
+ }
+ },
+ "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": {
+ "Operations_List": {
+ "$ref": "./examples/OperationsList.json"
+ }
+ }
+ }
+ },
+ "/{resourceId}/providers/Microsoft.ChangeAnalysis/resourceChanges": {
+ "post": {
+ "tags": [
+ "ResourceChanges"
+ ],
+ "summary": "List the changes of a resource within the specified time range. Customer data will be masked if the user doesn't have access.",
+ "operationId": "ResourceChanges_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceIdParameter"
+ },
+ {
+ "$ref": "#/parameters/StartTimeParameter"
+ },
+ {
+ "$ref": "#/parameters/EndTimeParameter"
+ },
+ {
+ "$ref": "#/parameters/SkipTokenParameter"
+ },
+ {
+ "$ref": "#/parameters/ScanLatestParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ChangeList"
+ }
+ },
+ "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": {
+ "ResourceChanges_List": {
+ "$ref": "./examples/ResourceChangesList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ChangeAnalysis/changes": {
+ "get": {
+ "tags": [
+ "Changes"
+ ],
+ "summary": "List the changes of a resource group within the specified time range. Customer data will always be masked.",
+ "operationId": "Changes_ListChangesByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/StartTimeParameter"
+ },
+ {
+ "$ref": "#/parameters/EndTimeParameter"
+ },
+ {
+ "$ref": "#/parameters/SkipTokenParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ChangeList"
+ }
+ },
+ "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": {
+ "Changes_ListChangesByResourceGroupFiltered": {
+ "$ref": "./examples/ChangesListChangesByResourceGroupFiltered.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ChangeAnalysis/changes": {
+ "get": {
+ "tags": [
+ "Changes"
+ ],
+ "summary": "List the changes of a subscription within the specified time range. Customer data will always be masked.",
+ "operationId": "Changes_ListChangesBySubscription",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/StartTimeParameter"
+ },
+ {
+ "$ref": "#/parameters/EndTimeParameter"
+ },
+ {
+ "$ref": "#/parameters/SkipTokenParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ChangeList"
+ }
+ },
+ "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": {
+ "Changes_ListChangesBySubscriptionFiltered": {
+ "$ref": "./examples/ChangesListChangesBySubscriptionFiltered.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ChangeAnalysis/changeSnapshots": {
+ "post": {
+ "tags": [
+ "ChangeSnapshots"
+ ],
+ "summary": "Gets change snapshots for the given resource Id and change Id.",
+ "operationId": "ChangeSnapshots_GetChangeSnapshots",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceIdQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/ChangeIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ChangeSnapshots"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ChangeSnapshots": {
+ "$ref": "./examples/ChangeSnapshotsGetChangeSnapshots.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ResourceProviderOperationDisplay": {
+ "description": "The resource provider operation details.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Name of the resource provider.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Name of the resource type.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Name of the resource provider operation.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the resource provider operation.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceProviderOperationDefinition": {
+ "description": "The resource provider operation definition.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The resource provider operation name.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/ResourceProviderOperationDisplay"
+ }
+ }
+ },
+ "ResourceProviderOperationList": {
+ "description": "The resource provider operation list.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Resource provider operations list.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceProviderOperationDefinition"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next page for list of Azure operations.",
+ "type": "string"
+ }
+ }
+ },
+ "ChangeType": {
+ "description": "The type of the change.",
+ "enum": [
+ "Add",
+ "Remove",
+ "Update"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ChangeType",
+ "modelAsString": true
+ }
+ },
+ "Level": {
+ "enum": [
+ "Noisy",
+ "Normal",
+ "Important"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Level",
+ "modelAsString": true
+ }
+ },
+ "PropertyChange": {
+ "description": "Data of a property change.",
+ "type": "object",
+ "properties": {
+ "changeType": {
+ "$ref": "#/definitions/ChangeType"
+ },
+ "changeCategory": {
+ "description": "The change category.",
+ "enum": [
+ "User",
+ "System"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ChangeCategory",
+ "modelAsString": false
+ }
+ },
+ "jsonPath": {
+ "description": "The json path of the changed property.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "The enhanced display name of the json path. E.g., the json path value[0].properties will be translated to something meaningful like slots[\"Staging\"].properties.",
+ "type": "string"
+ },
+ "level": {
+ "$ref": "#/definitions/Level"
+ },
+ "description": {
+ "description": "The description of the changed property.",
+ "type": "string"
+ },
+ "oldValue": {
+ "description": "The value of the property before the change.",
+ "type": "string"
+ },
+ "newValue": {
+ "description": "The value of the property after the change.",
+ "type": "string"
+ },
+ "isDataMasked": {
+ "description": "The boolean indicating whether the oldValue and newValue are masked. The values are masked if it contains sensitive information that the user doesn't have access to.",
+ "type": "boolean"
+ }
+ }
+ },
+ "ChangeProperties": {
+ "description": "The properties of a change.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The resource id that the change is attached to.",
+ "type": "string"
+ },
+ "timeStamp": {
+ "format": "date-time",
+ "description": "The time when the change is detected.",
+ "type": "string"
+ },
+ "initiatedByList": {
+ "description": "The list of identities who might initiated the change.\r\nThe identity could be user name (email address) or the object ID of the Service Principal.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "changeType": {
+ "$ref": "#/definitions/ChangeType"
+ },
+ "propertyChanges": {
+ "description": "The list of detailed changes at json property level.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PropertyChange"
+ }
+ }
+ }
+ },
+ "Change": {
+ "description": "The detected change.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ChangeProperties"
+ }
+ }
+ },
+ "ChangeList": {
+ "description": "The list of detected changes.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of changes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Change"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next page of changes.",
+ "type": "string"
+ }
+ }
+ },
+ "ChangeSnapshotsProperties": {
+ "description": "The change snapshot, represented by a pair of before and after resource snapshots.",
+ "type": "object",
+ "properties": {
+ "beforeSnapshot": {
+ "description": "The snapshot before the change.",
+ "type": "object"
+ },
+ "afterSnapshot": {
+ "description": "The snapshot after the change.",
+ "type": "object"
+ },
+ "isHidden": {
+ "description": "Is the snapshot hidden",
+ "type": "boolean"
+ }
+ }
+ },
+ "ChangeSnapshots": {
+ "description": "The detected change snapshots.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ChangeSnapshotsProperties"
+ }
+ }
+ },
+ "ResourceGraphSnapshotData": {
+ "description": "Data on a specific resource snapshot.",
+ "type": "object",
+ "properties": {
+ "snapshotId": {
+ "description": "The ID of the snapshot.",
+ "type": "string"
+ },
+ "timestamp": {
+ "description": "The time when the snapshot was created.\nThe snapshot timestamp provides an approximation as to when a modification to a resource was detected. There can be a difference between the actual modification time and the detection time. This is due to differences in how operations that modify a resource are processed, versus how operation that record resource snapshots are processed.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "content": {
+ "description": "The resource snapshot content (in resourceChangeDetails response only).",
+ "type": "object"
+ }
+ },
+ "required": [
+ "timestamp"
+ ]
+ },
+ "ResourceGraphChangeData": {
+ "description": "Data on a specific change, represented by a pair of before and after resource snapshots.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The resource for a change.",
+ "type": "string"
+ },
+ "changeId": {
+ "description": "The change Id.",
+ "type": "string"
+ },
+ "beforeSnapshot": {
+ "description": "The snapshot before the change from ARG.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceGraphSnapshotData"
+ }
+ ]
+ },
+ "afterSnapshot": {
+ "description": "The snapshot after the change from ARG.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourceGraphSnapshotData"
+ }
+ ]
+ },
+ "changeType": {
+ "description": "The change type for snapshot. PropertyChanges will be provided in case of Update change type",
+ "type": "string",
+ "enum": [
+ "Create",
+ "Update",
+ "Delete"
+ ],
+ "x-ms-enum": {
+ "name": "ChangeType",
+ "modelAsString": false
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ResourceIdParameter": {
+ "in": "path",
+ "name": "resourceId",
+ "description": "The identifier of the resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "StartTimeParameter": {
+ "in": "query",
+ "name": "$startTime",
+ "description": "Specifies the start time of the changes request.",
+ "required": true,
+ "type": "string",
+ "format": "date-time",
+ "x-ms-parameter-location": "method"
+ },
+ "EndTimeParameter": {
+ "in": "query",
+ "name": "$endTime",
+ "description": "Specifies the end time of the changes request.",
+ "required": true,
+ "type": "string",
+ "format": "date-time",
+ "x-ms-parameter-location": "method"
+ },
+ "FilterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "type": "string",
+ "required": false,
+ "description": "Reduces the set of data collected.
This argument is not required. Only accepts 'resourceId' and 'resourceType' and only accepts the following patterns.
- *List changes for a resource type*: $filter=resourceType eq 'microsoft.web/sites'.
- *List changes for multiple resource types:* $filter=resourceType eq 'microsoft.web/sites,microsoft.compute/virtualmachines'.
- *List changes for a resource Id*: $filter=resourceId eq '{resourceId}'.
- *List changes for multiple resource Ids:* $filter=resourceId eq '{resourceId1},{resourceId2}}'.",
+ "x-ms-parameter-location": "method"
+ },
+ "SkipTokenParameter": {
+ "in": "query",
+ "name": "$skipToken",
+ "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.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceIdQueryParameter": {
+ "in": "query",
+ "name": "$resourceId",
+ "description": "Specifies the resource Id.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ChangeIdParameter": {
+ "in": "query",
+ "name": "$changeId",
+ "description": "Specifies the change Id.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ScanLatestParameter": {
+ "in": "query",
+ "name": "$scanLatest",
+ "description": "Specifies whether to scan latest",
+ "required": false,
+ "type": "boolean",
+ "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"
+ ]
+ }
+ ]
+}
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ChangeSnapshotsGetChangeSnapshots.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ChangeSnapshotsGetChangeSnapshots.json
new file mode 100644
index 000000000000..ccd7118f2194
--- /dev/null
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ChangeSnapshotsGetChangeSnapshots.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview",
+ "subscriptionId": "4d962866-1e3f-47f2-bd18-450c08f914c1",
+ "$resourceId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite",
+ "$changeId": "ARG_23fa00fd-dda0-4268-b482-2076825cf165_970d8c6d-6b78-4270-92ef-88d5aa2b5f0b_132316363294700000_132316498613900000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite/providers/Microsoft.ChangeAnalysis/changeSnapshots/ARG_23fa00fd-dda0-4268-b482-2076825cf165_970d8c6d-6b78-4270-92ef-88d5aa2b5f0b_132316363294700000_132316498613900000",
+ "name": "ARG_23fa00fd-dda0-4268-b482-2076825cf165_970d8c6d-6b78-4270-92ef-88d5aa2b5f0b_132316363294700000_132316498613900000",
+ "type": "Microsoft.ChangeAnalysis/changeSnapshots",
+ "properties": {
+ "beforeSnapshot": {
+ "id": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite",
+ "kind": "app",
+ "location": "centralus",
+ "managedBy": "",
+ "name": "mysite",
+ "plan": null,
+ "properties": {
+ "adminEnabled": true,
+ "availabilityState": "Normal",
+ "buildVersion": null,
+ "enabled": true,
+ "serverFarmId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/serverFarms/myServerFarm",
+ "reserved": false,
+ "isXenon": false,
+ "hyperV": false,
+ "siteConfig": {},
+ "scmSiteAlsoStopped": false,
+ "clientAffinityEnabled": true,
+ "clientCertEnabled": false,
+ "hostNamesDisabled": false,
+ "containerSize": 0,
+ "httpsOnly": true,
+ "redundancyMode": "None"
+ },
+ "tags": {},
+ "type": "microsoft.web/sites"
+ },
+ "afterSnapshot": {
+ "id": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite",
+ "kind": "app",
+ "location": "centralus",
+ "managedBy": "",
+ "name": "mysite",
+ "plan": null,
+ "properties": {
+ "adminEnabled": true,
+ "availabilityState": "Normal",
+ "buildVersion": null,
+ "enabled": true,
+ "serverFarmId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/serverfarms/myServerFarm",
+ "reserved": false,
+ "isXenon": false,
+ "hyperV": false,
+ "siteConfig": {},
+ "scmSiteAlsoStopped": false,
+ "clientAffinityEnabled": true,
+ "clientCertEnabled": false,
+ "hostNamesDisabled": false,
+ "containerSize": 0,
+ "httpsOnly": true,
+ "redundancyMode": "None"
+ },
+ "tags": {
+ "hidden-related:diagnostics/changeAnalysisScanEnabled": "false"
+ },
+ "type": "microsoft.web/sites"
+ },
+ "isHidden": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ChangesListChangesByResourceGroupFiltered.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ChangesListChangesByResourceGroupFiltered.json
new file mode 100644
index 000000000000..3202481cdd10
--- /dev/null
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ChangesListChangesByResourceGroupFiltered.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "4d962866-1e3f-47f2-bd18-450c08f914c1",
+ "resourceGroupName": "MyResourceGroup",
+ "api-version": "2021-04-01-preview",
+ "$startTime": "2021-04-25T12:09:03.141Z",
+ "$endTime": "2021-04-26T12:09:03.141Z",
+ "$filter": "resourceTypes eq 'microsoft.web/sites'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite/extensions/AppStateTracker/providers/Microsoft.ChangeAnalysis/changes/AST_b2ecd7ec-00dd-4d44-bd19-fefc88790c05_da36e22e-f541-44bd-8d89-8f10a27af4ad_132592897881782408_132592957873393845",
+ "name": "AST_b2ecd7ec-00dd-4d44-bd19-fefc88790c05_da36e22e-f541-44bd-8d89-8f10a27af4ad_132592897881782408_132592957873393845",
+ "type": "Microsoft.ChangeAnalysis/changes",
+ "properties": {
+ "resourceId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite",
+ "timeStamp": "2021-04-26T02:17:41.39Z",
+ "initiatedByList": [
+ "ellen@contoso.com"
+ ],
+ "changeType": "Update",
+ "propertyChanges": [
+ {
+ "changeType": "Update",
+ "changeCategory": "User",
+ "jsonPath": "environment.environmentVariables.APPSETTING_DB_CONNSTR",
+ "displayName": "APPSETTING_DB_CONNSTR",
+ "level": "Important",
+ "description": "Application setting",
+ "oldValue": "***Old Value Hidden***",
+ "newValue": "***New Value Hidden***",
+ "isDataMasked": true
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ChangesListChangesBySubscriptionFiltered.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ChangesListChangesBySubscriptionFiltered.json
new file mode 100644
index 000000000000..1c54c25d2d1f
--- /dev/null
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ChangesListChangesBySubscriptionFiltered.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "4d962866-1e3f-47f2-bd18-450c08f914c1",
+ "api-version": "2021-04-01-preview",
+ "$startTime": "2021-04-25T12:09:03.141Z",
+ "$endTime": "2021-04-26T12:09:03.141Z",
+ "$filter": "resourceTypes eq 'microsoft.web/sites,microsoft.compute/virtualmachines'"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite1/extensions/AppStateTracker/providers/Microsoft.ChangeAnalysis/changes/AST_b2ecd7ec-00dd-4d44-bd19-fefc88790c05_da36e22e-f541-44bd-8d89-8f10a27af4ad_132592897881782408_132592957873393845",
+ "name": "AST_b2ecd7ec-00dd-4d44-bd19-fefc88790c05_da36e22e-f541-44bd-8d89-8f10a27af4ad_132592897881782408_132592957873393845",
+ "type": "Microsoft.ChangeAnalysis/changes",
+ "properties": {
+ "resourceId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite1",
+ "timeStamp": "2021-04-26T02:17:41.39Z",
+ "initiatedByList": [
+ "ellen@contoso.com"
+ ],
+ "changeType": "Update",
+ "propertyChanges": [
+ {
+ "changeType": "Update",
+ "changeCategory": "User",
+ "jsonPath": "environment.environmentVariables.APPSETTING_DB_CONNSTR",
+ "displayName": "APPSETTING_DB_CONNSTR",
+ "level": "Important",
+ "description": "Application setting",
+ "oldValue": "***Old Value Hidden***",
+ "newValue": "***New Value Hidden***",
+ "isDataMasked": true
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/providers/Microsoft.ChangeAnalysis/changes/ARG_23fa00fd-dda0-4268-b482-2076825cf165_970d8c6d-6b78-4270-92ef-88d5aa2b5f0b_132316363294700000_132316498613900000",
+ "name": "ARG_23fa00fd-dda0-4268-b482-2076825cf165_970d8c6d-6b78-4270-92ef-88d5aa2b5f0b_132316363294700000_132316498613900000",
+ "type": "Microsoft.ChangeAnalysis/changes",
+ "properties": {
+ "resourceId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "timeStamp": "2021-04-26T05:36:01.25Z",
+ "initiatedByList": [
+ "ellen@contoso.com"
+ ],
+ "changeType": "Update",
+ "propertyChanges": [
+ {
+ "changeType": "Update",
+ "changeCategory": "System",
+ "jsonPath": "properties.provisioningState",
+ "displayName": "properties.provisioningState",
+ "level": "Important",
+ "description": "The provisioning state, which only appears in the response.",
+ "oldValue": "Updating",
+ "newValue": "Succeeded",
+ "isDataMasked": false
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/OperationsList.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/OperationsList.json
new file mode 100644
index 000000000000..2e9909cf9239
--- /dev/null
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/OperationsList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.ChangeAnalysis/register/action",
+ "display": {
+ "provider": "Microsoft Change Analysis",
+ "resource": "",
+ "operation": "Register Microsoft Change Analysis resource provider with a subscriptions"
+ }
+ },
+ {
+ "name": "Microsoft.ChangeAnalysis/changes/read",
+ "display": {
+ "provider": "Microsoft Change Analysis",
+ "resource": "Azure Application Change Analysis Service Change",
+ "operation": "Read Azure Application Change Analysis Servie Change"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ResourceChangesList.json b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ResourceChangesList.json
new file mode 100644
index 000000000000..84d463adaa96
--- /dev/null
+++ b/specification/changeanalysis/resource-manager/Microsoft.ChangeAnalysis/preview/2021-04-01-preview/examples/ResourceChangesList.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "resourceId": "subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite",
+ "api-version": "2021-04-01-preview",
+ "$startTime": "2021-04-25T12:09:03.141Z",
+ "$endTime": "2021-04-26T12:09:03.141Z",
+ "$scanLatest": false
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite/providers/Microsoft.ChangeAnalysis/resourceChanges/ARG_23fa00fd-dda0-4268-b482-2076825cf165_970d8c6d-6b78-4270-92ef-88d5aa2b5f0b_132316363294700000_132316498613900000",
+ "name": "ARG_23fa00fd-dda0-4268-b482-2076825cf165_970d8c6d-6b78-4270-92ef-88d5aa2b5f0b_132316363294700000_132316498613900000",
+ "type": "Microsoft.ChangeAnalysis/resourceChanges",
+ "properties": {
+ "resourceId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite",
+ "timeStamp": "2021-04-26T02:17:41.39Z",
+ "initiatedByList": [
+ "ellen@contoso.com"
+ ],
+ "changeType": "Update",
+ "propertyChanges": [
+ {
+ "changeType": "Update",
+ "changeCategory": "User",
+ "jsonPath": "value[1].properties.thumbprint",
+ "displayName": "publicCertificates[\"AppCert\"].properties.thumbprint",
+ "level": "Important",
+ "description": "The thumbprint of the certificate",
+ "oldValue": "21D0482F-E91E-4C14-8078-65BFDCDBCA64",
+ "newValue": "3F2DF554-B063-4383-8BD3-4970BCF20A7E",
+ "isDataMasked": false
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite/extensions/AppStateTracker/providers/Microsoft.ChangeAnalysis/resourceChanges/AST_b2ecd7ec-00dd-4d44-bd19-fefc88790c05_da36e22e-f541-44bd-8d89-8f10a27af4ad_132592897881782408_132592957873393845",
+ "name": "AST_b2ecd7ec-00dd-4d44-bd19-fefc88790c05_da36e22e-f541-44bd-8d89-8f10a27af4ad_132592897881782408_132592957873393845",
+ "type": "Microsoft.ChangeAnalysis/changes",
+ "properties": {
+ "resourceId": "/subscriptions/4d962866-1e3f-47f2-bd18-450c08f914c1/resourceGroups/MyResourceGroup/providers/Microsoft.Web/sites/mysite",
+ "timeStamp": "2021-04-26T02:17:41.39Z",
+ "initiatedByList": [
+ "ellen@contoso.com"
+ ],
+ "changeType": "Update",
+ "propertyChanges": [
+ {
+ "changeType": "Update",
+ "changeCategory": "User",
+ "jsonPath": "environment.environmentVariables.APPSETTING_DB_CONNSTR",
+ "displayName": "APPSETTING_DB_CONNSTR",
+ "level": "Important",
+ "description": "Application setting",
+ "oldValue": "",
+ "newValue": "",
+ "isDataMasked": false
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/changeanalysis/resource-manager/readme.md b/specification/changeanalysis/resource-manager/readme.md
index 82e40f5667c7..78fabb01e2e8 100644
--- a/specification/changeanalysis/resource-manager/readme.md
+++ b/specification/changeanalysis/resource-manager/readme.md
@@ -38,6 +38,15 @@ input-file:
- Microsoft.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.json
```
+### Tag: package-2021-04-01-preview
+
+These settings apply only when `--tag=package-2021-04-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-04-01-preview'
+input-file:
+- Microsoft.ChangeAnalysis/preview/2021-04-01-preview/changeanalysis.json
+```
+
### Tag: package-2021-04-01
These settings apply only when `--tag=package-2021-04-01` is specified on the command line.
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/capabilities.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/capabilities.json
new file mode 100644
index 000000000000..7ed8e1473844
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/capabilities.json
@@ -0,0 +1,262 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Chaos Management",
+ "description": "Azure Chaos Resource Provider REST API",
+ "version": "2021-09-15-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}/capabilities": {
+ "get": {
+ "description": "Get a list of Capability resources that extend a Target resource..",
+ "tags": [
+ "Capabilities"
+ ],
+ "operationId": "Capabilities_List",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentProviderNamespace"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentResourceType"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentResourceName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/targetName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/continuationToken"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Capability resources returned if request was successful.",
+ "schema": {
+ "$ref": "./types/capabilities.json#/definitions/capabilityListResult"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List all Capabilities that extend a virtual machine Target resource.": {
+ "$ref": "./examples/ListCapabilities.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}/capabilities/{capabilityName}": {
+ "get": {
+ "description": "Get a Capability resource that extends a Target resource.",
+ "tags": [
+ "Capabilities"
+ ],
+ "operationId": "Capabilities_Get",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentProviderNamespace"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentResourceType"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentResourceName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/targetName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/capabilityName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Capability resource returned if request was successful.",
+ "schema": {
+ "$ref": "./types/capabilities.json#/definitions/capability"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a Capability that extends a virtual machine Target resource.": {
+ "$ref": "./examples/GetACapability.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Delete a Capability that extends a Target resource.",
+ "tags": [
+ "Capabilities"
+ ],
+ "operationId": "Capabilities_Delete",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentProviderNamespace"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentResourceType"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentResourceName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/targetName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/capabilityName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Capability resource deletion was successful."
+ },
+ "204": {
+ "description": "Capability resource deletion was successful."
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a Capability that extends a virtual machine Target resource.": {
+ "$ref": "./examples/DeleteACapability.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Create or update a Capability resource that extends a Target resource.",
+ "tags": [
+ "Capabilities"
+ ],
+ "operationId": "Capabilities_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentProviderNamespace"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentResourceType"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentResourceName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/targetName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/capabilityName"
+ },
+ {
+ "name": "capability",
+ "description": "Capability resource to be created or updated.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./types/capabilities.json#/definitions/capability"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Capability resource returned if request was successful.",
+ "schema": {
+ "$ref": "./types/capabilities.json#/definitions/capability"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create/update a Capability that extends a virtual machine Target resource.": {
+ "$ref": "./examples/CreateOrUpdateACapability.json"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/capabilityTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/capabilityTypes.json
new file mode 100644
index 000000000000..9be381b8dc7a
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/capabilityTypes.json
@@ -0,0 +1,131 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Chaos Management",
+ "description": "Azure Chaos Resource Provider REST API",
+ "version": "2021-09-15-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetTypeName}/capabilityTypes": {
+ "get": {
+ "description": "Get a list of Capability Type resources for given Target Type and location.",
+ "tags": [
+ "CapabilityTypes"
+ ],
+ "operationId": "CapabilityTypes_List",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/locationName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/targetTypeName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/continuationToken"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Capability Type resources returned if request was successful.",
+ "schema": {
+ "$ref": "./types/capabilityTypes.json#/definitions/capabilityTypeListResult"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List all Capability Types for a virtual machine Target resource on westus2 location.": {
+ "$ref": "./examples/ListCapabilityTypes.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetTypeName}/capabilityTypes/{capabilityTypeName}": {
+ "get": {
+ "description": "Get a Capability Type resource for given Target Type and location.",
+ "tags": [
+ "Capabilities"
+ ],
+ "operationId": "CapabilityTypes_Get",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/locationName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/targetTypeName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/capabilityTypeName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Capability Type resource returned if request was successful.",
+ "schema": {
+ "$ref": "./types/capabilityTypes.json#/definitions/capabilityType"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a Capability Type for a virtual machine Target resource on westus2 location.": {
+ "$ref": "./examples/GetACapabilityType.json"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CancelAExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CancelAExperiment.json
new file mode 100644
index 000000000000..3a3bb70f0443
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CancelAExperiment.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "resourceGroupName": "exampleRG",
+ "experimentName": "exampleExperiment",
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {},
+ "body": {
+ "name": "exampleExperiment",
+ "statusUrl": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/statuses/50734542-2e64-4e08-814c-cc0e7475f7e4"
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CreateOrUpdateACapability.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CreateOrUpdateACapability.json
new file mode 100644
index 000000000000..caeeddc966e7
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CreateOrUpdateACapability.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "resourceGroupName": "exampleRG",
+ "parentProviderNamespace": "Microsoft.Compute",
+ "parentResourceType": "virtualMachines",
+ "parentResourceName": "exampleVM",
+ "targetName": "Microsoft-VirtualMachine",
+ "capabilityName": "Shutdown-1.0",
+ "api-version": "2021-09-15-preview",
+ "capability": {
+ "properties": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0",
+ "type": "Microsoft.Chaos/targets/capabilities",
+ "name": "Shutdown-1.0",
+ "properties": {
+ "publisher": "Microsoft",
+ "targetType": "VirtualMachine",
+ "description": "Shutdown an Azure Virtual Machine for a defined period of time.",
+ "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json",
+ "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0"
+ },
+ "systemData": {
+ "createdAt": "2020-05-14T05:08:38.4662189Z",
+ "lastModifiedAt": "2020-05-14T05:08:38.4662189Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CreateOrUpdateAExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CreateOrUpdateAExperiment.json
new file mode 100644
index 000000000000..32d0de850dbf
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CreateOrUpdateAExperiment.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "resourceGroupName": "exampleRG",
+ "experimentName": "exampleExperiment",
+ "api-version": "2021-09-15-preview",
+ "experiment": {
+ "location": "centraluseuap",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "steps": [
+ {
+ "name": "step1",
+ "branches": [
+ {
+ "name": "branch1",
+ "actions": [
+ {
+ "type": "Continuous",
+ "name": "urn:csci:provider:providername:Shutdown/1.0",
+ "selectorId": "selector1",
+ "duration": "PT10M",
+ "parameters": {
+ "restartWhenComplete": true
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "selectors": [
+ {
+ "type": "List",
+ "id": "selector1",
+ "targets": [
+ {
+ "type": "ChaosTarget",
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment",
+ "type": "Microsoft.Chaos/experiments",
+ "name": "exampleExperiment",
+ "location": "centraluseuap",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56",
+ "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6"
+ },
+ "properties": {
+ "steps": [
+ {
+ "name": "step1",
+ "branches": [
+ {
+ "name": "branch1",
+ "actions": [
+ {
+ "type": "Continuous",
+ "name": "urn:csci:provider:providername:Shutdown/1.0",
+ "selectorId": "selector1",
+ "duration": "PT10M",
+ "parameters": {
+ "restartWhenComplete": true
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "selectors": [
+ {
+ "type": "List",
+ "id": "selector1",
+ "targets": [
+ {
+ "type": "ChaosTarget",
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine"
+ }
+ ]
+ }
+ ]
+ },
+ "systemData": {
+ "createdAt": "2021-07-01T00:00:00.0Z",
+ "createdBy": "User",
+ "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976",
+ "lastModifiedAt": "2021-07-01T00:00:00.0Z",
+ "lastModifiedBy": "User",
+ "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CreateOrUpdateATarget.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CreateOrUpdateATarget.json
new file mode 100644
index 000000000000..5f602736b077
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/CreateOrUpdateATarget.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "resourceGroupName": "exampleRG",
+ "parentProviderNamespace": "Microsoft.Compute",
+ "parentResourceType": "virtualMachines",
+ "parentResourceName": "exampleVM",
+ "targetName": "Microsoft-Agent",
+ "api-version": "2021-09-15-preview",
+ "target": {
+ "properties": {
+ "identities": [
+ {
+ "type": "CertificateSubjectIssuer",
+ "subject": "CN=example.subject"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-Agent",
+ "type": "Microsoft.Chaos/targets",
+ "name": "Microsoft-Agent",
+ "location": "centraluseuap",
+ "properties": {
+ "identities": [
+ {
+ "type": "CertificateSubjectIssuer",
+ "subject": "CN=example.subject"
+ }
+ ],
+ "agentProfileId": "ac4e8251-fdc9-4277-8e87-dc57fe5794cf"
+ },
+ "systemData": {
+ "createdAt": "2021-07-01T00:00:00.0Z",
+ "lastModifiedAt": "2021-07-01T00:00:00.0Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/DeleteACapability.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/DeleteACapability.json
new file mode 100644
index 000000000000..32759a8e5a14
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/DeleteACapability.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "resourceGroupName": "exampleRG",
+ "parentProviderNamespace": "Microsoft.Compute",
+ "parentResourceType": "virtualMachines",
+ "parentResourceName": "exampleVM",
+ "targetName": "Microsoft-VirtualMachine",
+ "capabilityName": "Shutdown-1.0",
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/DeleteAExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/DeleteAExperiment.json
new file mode 100644
index 000000000000..52cac8a77b51
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/DeleteAExperiment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "resourceGroupName": "exampleRG",
+ "experimentName": "exampleExperiment",
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/DeleteATarget.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/DeleteATarget.json
new file mode 100644
index 000000000000..e83ee535b584
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/DeleteATarget.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "resourceGroupName": "exampleRG",
+ "parentProviderNamespace": "Microsoft.Compute",
+ "parentResourceType": "virtualMachines",
+ "parentResourceName": "exampleVM",
+ "targetName": "Microsoft-Agent",
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetACapability.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetACapability.json
new file mode 100644
index 000000000000..a353a7710f24
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetACapability.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "resourceGroupName": "exampleRG",
+ "parentProviderNamespace": "Microsoft.Compute",
+ "parentResourceType": "virtualMachines",
+ "parentResourceName": "exampleVM",
+ "targetName": "Microsoft-VirtualMachine",
+ "capabilityName": "Shutdown-1.0",
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0",
+ "type": "Microsoft.Chaos/targets/capabilities",
+ "name": "Shutdown-1.0",
+ "properties": {
+ "publisher": "Microsoft",
+ "targetType": "VirtualMachine",
+ "description": "Shutdown an Azure Virtual Machine for a defined period of time.",
+ "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json",
+ "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0"
+ },
+ "systemData": {
+ "createdAt": "2020-05-14T05:08:38.4662189Z",
+ "lastModifiedAt": "2020-05-14T05:08:38.4662189Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetACapabilityType.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetACapabilityType.json
new file mode 100644
index 000000000000..dc5062a62bb2
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetACapabilityType.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "locationName": "westus2",
+ "targetTypeName": "Microsoft-VirtualMachine",
+ "capabilityTypeName": "Shutdown-1.0",
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-VirtualMachine/capabilityTypes/Shutdown-1.0",
+ "type": "Microsoft.Chaos/locations/targetTypes/capabilityTypes",
+ "name": "Shutdown-1.0",
+ "properties": {
+ "publisher": "Microsoft",
+ "targetType": "VirtualMachine",
+ "displayName": "Shutdown VM",
+ "description": "Shutdown an Azure Virtual Machine for a defined period of time.",
+ "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json",
+ "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetAExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetAExperiment.json
new file mode 100644
index 000000000000..c221263757d2
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetAExperiment.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "resourceGroupName": "exampleRG",
+ "experimentName": "exampleExperiment",
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment",
+ "type": "Microsoft.Chaos/experiments",
+ "name": "exampleExperiment",
+ "location": "centraluseuap",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56",
+ "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6"
+ },
+ "properties": {
+ "steps": [
+ {
+ "name": "step1",
+ "branches": [
+ {
+ "name": "branch1",
+ "actions": [
+ {
+ "type": "Continuous",
+ "name": "urn:csci:provider:providername:Shutdown/1.0",
+ "selectorId": "selector1",
+ "duration": "PT10M",
+ "parameters": {
+ "restartWhenComplete": true
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "selectors": [
+ {
+ "type": "List",
+ "id": "selector1",
+ "targets": [
+ {
+ "type": "ChaosTarget",
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine"
+ }
+ ]
+ }
+ ]
+ },
+ "systemData": {
+ "createdAt": "2021-07-01T00:00:00.0Z",
+ "createdBy": "User",
+ "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976",
+ "lastModifiedAt": "2021-07-01T00:00:00.0Z",
+ "lastModifiedBy": "User",
+ "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetAExperimentExecutionDetails.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetAExperimentExecutionDetails.json
new file mode 100644
index 000000000000..cbc88d1bc773
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetAExperimentExecutionDetails.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "resourceGroupName": "exampleRG",
+ "experimentName": "exampleExperiment",
+ "executionDetailsId": "f24500ad-744e-4a26-864b-b76199eac333",
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "type": "Microsoft.Chaos/experiments/executionDetails",
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executionDetails/f24500ad-744e-4a26-864b-b76199eac333",
+ "name": "f24500ad-744e-4a26-864b-b76199eac333",
+ "properites": {
+ "createdDateUtc": "2020-12-14T21:52:42.917983Z",
+ "lastActionDateUtc": "2020-12-14T21:52:52.2552574Z",
+ "startDateUtc": "2020-12-14T21:52:52.2552574Z",
+ "stopDateUtc": "2020-12-14T21:56:18.9281956Z",
+ "status": "failed",
+ "failureReason": "Dependency failure",
+ "runInformation": {
+ "steps": [
+ {
+ "name": "FirstStep",
+ "id": "FirstStep",
+ "status": "failed",
+ "branches": [
+ {
+ "name": "FirstBranch",
+ "id": "FirstBranch",
+ "status": "failed",
+ "actions": [
+ {
+ "name": "urn:provider:agent-v2:Microsoft.Azure.Chaos.Fault.CPUPressureAllProcessors",
+ "id": "59499d33-6751-4b6e-a1f6-58f4d56a040a",
+ "status": "failed",
+ "targets": [
+ {
+ "status": "succeeded",
+ "target": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/VM1",
+ "failedDateUtc": "2021-04-02T16:30:55+00:00",
+ "completedDateUtc": "2021-04-02T17:30:55+00:00"
+ },
+ {
+ "status": "failed",
+ "target": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/VM1",
+ "failedDateUtc": "2021-04-02T16:30:55+00:00",
+ "completedDateUtc": "2021-04-02T17:30:55+00:00"
+ }
+ ],
+ "lastUpdatedDateUtc": "2020-12-14T13:56:13.6270153-08:00"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetAExperimentStatus.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetAExperimentStatus.json
new file mode 100644
index 000000000000..1f4bc432f7fa
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetAExperimentStatus.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "resourceGroupName": "exampleRG",
+ "experimentName": "exampleExperiment",
+ "statusId": "50734542-2e64-4e08-814c-cc0e7475f7e4",
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/statuses/50734542-2e64-4e08-814c-cc0e7475f7e4",
+ "type": "Microsoft.Chaos/experiments/statuses",
+ "name": "50734542-2e64-4e08-814c-cc0e7475f7e4",
+ "properties": {
+ "status": "Successful",
+ "createdDateUtc": "2021-07-01T00:00:00.0Z",
+ "endDateUtc": "2021-07-01T01:00:00.0Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetATarget.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetATarget.json
new file mode 100644
index 000000000000..8dad27df0617
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetATarget.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "resourceGroupName": "exampleRG",
+ "parentProviderNamespace": "Microsoft.Compute",
+ "parentResourceType": "virtualMachines",
+ "parentResourceName": "exampleVM",
+ "targetName": "Microsoft-Agent",
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-Agent",
+ "type": "Microsoft.Chaos/targets",
+ "name": "Microsoft-Agent",
+ "location": "centraluseuap",
+ "properties": {
+ "identities": [
+ {
+ "type": "CertificateSubjectIssuer",
+ "subject": "CN=example.subject"
+ }
+ ],
+ "agentProfileId": "ac4e8251-fdc9-4277-8e87-dc57fe5794cf"
+ },
+ "systemData": {
+ "createdAt": "2021-07-01T00:00:00.0Z",
+ "lastModifiedAt": "2021-07-01T00:00:00.0Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetATargetType.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetATargetType.json
new file mode 100644
index 000000000000..1c73a74c2816
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/GetATargetType.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "locationName": "westus2",
+ "targetTypeName": "Microsoft-Agent",
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-Agent",
+ "type": "Microsoft.Chaos/locations/targetTypes",
+ "name": "Microsoft-Agent",
+ "location": "centraluseuap",
+ "properties": {
+ "displayName": "Chaos Agent",
+ "description": "A target represents Chaos Agent.",
+ "propertiesSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine.json",
+ "resourceTypes": [
+ "Microsoft.Compute/virtualMachines",
+ "Microsoft.Compute/virtualMachineScaleSets"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListCapabilities.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListCapabilities.json
new file mode 100644
index 000000000000..3468cbc5db9f
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListCapabilities.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "resourceGroupName": "exampleRG",
+ "parentProviderNamespace": "Microsoft.Compute",
+ "parentResourceType": "virtualMachines",
+ "parentResourceName": "exampleVM",
+ "targetName": "Microsoft-VirtualMachine",
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0",
+ "type": "Microsoft.Chaos/targets/capabilities",
+ "name": "Shutdown-1.0",
+ "properties": {
+ "publisher": "Microsoft",
+ "targetType": "VirtualMachine",
+ "description": "Shutdown an Azure Virtual Machine for a defined period of time.",
+ "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json",
+ "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0"
+ },
+ "systemData": {
+ "createdAt": "2020-05-14T05:08:38.4662189Z",
+ "lastModifiedAt": "2020-05-14T05:08:38.4662189Z"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine/capabilities?continuationToken=&api-version=2021-09-15-preview"
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListCapabilityTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListCapabilityTypes.json
new file mode 100644
index 000000000000..14680174972f
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListCapabilityTypes.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "locationName": "westus2",
+ "targetTypeName": "Microsoft-VirtualMachine",
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-VirtualMachine/capabilityTypes/Shutdown-1.0",
+ "type": "Microsoft.Chaos/locations/targetTypes/capabilityTypes",
+ "name": "Shutdown-1.0",
+ "properties": {
+ "publisher": "Microsoft",
+ "targetType": "VirtualMachine",
+ "displayName": "Shutdown VM",
+ "description": "Shutdown an Azure Virtual Machine for a defined period of time.",
+ "parametersSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine/capabilities/Shutdown-1.0.json",
+ "urn": "urn:csci:microsoft:virtualMachine:shutdown/1.0"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-VirtualMachine/capabilityTypes?continuationToken=&api-version=2021-09-15-preview"
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentExecutionsDetails.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentExecutionsDetails.json
new file mode 100644
index 000000000000..5bbd6a383204
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentExecutionsDetails.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "resourceGroupName": "exampleRG",
+ "experimentName": "exampleExperiment",
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.Chaos/experiments/executionDetails",
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executionDetails/f24500ad-744e-4a26-864b-b76199eac333",
+ "name": "f24500ad-744e-4a26-864b-b76199eac333",
+ "properties": {
+ "createdDateUtc": "2020-12-14T21:52:42.917983Z",
+ "lastActionDateUtc": "2020-12-14T21:52:52.2552574Z",
+ "startDateUtc": "2020-12-14T21:52:52.2552574Z",
+ "stopDateUtc": "2020-12-14T21:56:18.9281956Z",
+ "status": "failed",
+ "failureReason": "Dependency failure",
+ "runInformation": {
+ "steps": [
+ {
+ "name": "FirstStep",
+ "id": "FirstStep",
+ "status": "failed",
+ "branches": [
+ {
+ "name": "FirstBranch",
+ "id": "FirstBranch",
+ "status": "failed",
+ "actions": [
+ {
+ "name": "urn:provider:agent-v2:Microsoft.Azure.Chaos.Fault.CPUPressureAllProcessors",
+ "id": "59499d33-6751-4b6e-a1f6-58f4d56a040a",
+ "status": "failed",
+ "targets": [
+ {
+ "status": "succeeded",
+ "target": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/VM1",
+ "failedDateUtc": "2021-04-02T16:30:55+00:00",
+ "completedDateUtc": "2021-04-02T17:30:55+00:00"
+ }
+ ],
+ "lastUpdatedDateUtc": "2020-12-14T13:56:13.6270153-08:00"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ {
+ "type": "Microsoft.Chaos/experiments/executionDetails",
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executionDetails/14d98367-52ef-4596-be4f-53fc81bbfc33",
+ "name": "14d98367-52ef-4596-be4f-53fc81bbfc33",
+ "properties": {
+ "createdDateUtc": "2020-12-14T21:52:42.917983Z",
+ "lastActionDateUtc": "2020-12-14T21:52:52.2552574Z",
+ "startDateUtc": "2020-12-14T21:52:52.2552574Z",
+ "stopDateUtc": "2020-12-14T21:56:18.9281956Z",
+ "status": "success",
+ "failureReason": "",
+ "runInformation": {
+ "steps": [
+ {
+ "name": "FirstStep",
+ "id": "FirstStep",
+ "status": "success",
+ "branches": [
+ {
+ "name": "FirstBranch",
+ "id": "FirstBranch",
+ "status": "success",
+ "actions": [
+ {
+ "name": "urn:provider:agent-v2:Microsoft.Azure.Chaos.Fault.CPUPressureAllProcessors",
+ "id": "59499d33-6751-4b6e-a1f6-58f4d56a040a",
+ "status": "success",
+ "targets": [
+ {
+ "status": "succeeded",
+ "target": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/VM1",
+ "failedDateUtc": "2021-04-02T16:30:55+00:00",
+ "completedDateUtc": "2021-04-02T17:30:55+00:00"
+ }
+ ],
+ "lastUpdatedDateUtc": "2020-12-14T13:56:13.6270153-08:00"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/executionDetails?continuationToken=&api-version=2021-09-15-preview"
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentStatuses.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentStatuses.json
new file mode 100644
index 000000000000..98c9b09dff1e
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentStatuses.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "resourceGroupName": "exampleRG",
+ "experimentName": "exampleExperiment",
+ "continuationToken": null,
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/statuses/50734542-2e64-4e08-814c-cc0e7475f7e4",
+ "type": "Microsoft.Chaos/experiments/statuses",
+ "name": "50734542-2e64-4e08-814c-cc0e7475f7e4",
+ "properties": {
+ "status": "Successful",
+ "createdDateUtc": "2021-07-01T00:00:00.0Z",
+ "endDateUtc": "2021-07-01T01:00:00.0Z"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/statuses?continuationToken=&api-version=2021-09-15-preview"
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentsInAResourceGroup.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentsInAResourceGroup.json
new file mode 100644
index 000000000000..486af05e2c8c
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentsInAResourceGroup.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "resourceGroupName": "exampleRG",
+ "continuationToken": null,
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment",
+ "type": "Microsoft.Chaos/experiments",
+ "name": "exampleExperiment",
+ "location": "centraluseuap",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56",
+ "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6"
+ },
+ "properties": {
+ "steps": [
+ {
+ "name": "step1",
+ "branches": [
+ {
+ "name": "branch1",
+ "actions": [
+ {
+ "type": "Continuous",
+ "name": "urn:csci:provider:providername:Shutdown/1.0",
+ "selectorId": "selector1",
+ "duration": "PT10M",
+ "parameters": {
+ "restartWhenComplete": true
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "selectors": [
+ {
+ "type": "List",
+ "id": "selector1",
+ "targets": [
+ {
+ "type": "ChaosTarget",
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine"
+ }
+ ]
+ }
+ ]
+ },
+ "systemData": {
+ "createdAt": "2021-07-01T00:00:00.0Z",
+ "createdBy": "User",
+ "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976",
+ "lastModifiedAt": "2021-07-01T00:00:00.0Z",
+ "lastModifiedBy": "User",
+ "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments?continuationToken=&api-version=2021-09-15-preview"
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentsInASubscription.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentsInASubscription.json
new file mode 100644
index 000000000000..dd0eb21ddfcb
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListExperimentsInASubscription.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "continuationToken": null,
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment",
+ "type": "Microsoft.Chaos/experiments",
+ "name": "exampleExperiment",
+ "location": "centraluseuap",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "d04ab567-2c07-43ef-a7f4-4527626b7f56",
+ "tenantId": "8c3e2fb2-fe7a-4bf1-b779-d73990782fe6"
+ },
+ "properties": {
+ "steps": [
+ {
+ "name": "step1",
+ "branches": [
+ {
+ "name": "branch1",
+ "actions": [
+ {
+ "type": "Continuous",
+ "name": "urn:csci:provider:providername:Shutdown/1.0",
+ "selectorId": "selector1",
+ "duration": "PT10M",
+ "parameters": {
+ "restartWhenComplete": true
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "selectors": [
+ {
+ "type": "List",
+ "id": "selector1",
+ "targets": [
+ {
+ "type": "ChaosTarget",
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-VirtualMachine"
+ }
+ ]
+ }
+ ]
+ },
+ "systemData": {
+ "createdAt": "2021-07-01T00:00:00.0Z",
+ "createdBy": "User",
+ "createdByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976",
+ "lastModifiedAt": "2021-07-01T00:00:00.0Z",
+ "lastModifiedBy": "User",
+ "lastModifiedByType": "b3a41dba-4415-4d36-9ee8-e5eaa86db976"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/experiments?continuationToken=&api-version=2021-09-15-preview"
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListTargetTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListTargetTypes.json
new file mode 100644
index 000000000000..311895da63e3
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListTargetTypes.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "locationName": "westus2",
+ "continuationToken": null,
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes/Microsoft-Agent",
+ "type": "Microsoft.Chaos/locations/targetTypes",
+ "name": "Microsoft-Agent",
+ "location": "centraluseuap",
+ "properties": {
+ "displayName": "Chaos Agent",
+ "description": "A target represents Chaos Agent.",
+ "propertiesSchema": "https://schema.centralus.chaos-prod.azure.com/targets/Microsoft-VirtualMachine.json",
+ "resourceTypes": [
+ "Microsoft.Compute/virtualMachines",
+ "Microsoft.Compute/virtualMachineScaleSets"
+ ]
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/providers/Microsoft.Chaos/locations/westus2/targetTypes?continuationToken=&api-version=2021-09-15-preview"
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListTargets.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListTargets.json
new file mode 100644
index 000000000000..21bb1e0b53db
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/ListTargets.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "resourceGroupName": "exampleRG",
+ "parentProviderNamespace": "Microsoft.Compute",
+ "parentResourceType": "virtualMachines",
+ "parentResourceName": "exampleVM",
+ "continuationToken": null,
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets/Microsoft-Agent",
+ "type": "Microsoft.Chaos/targets",
+ "name": "Microsoft-Agent",
+ "location": "centraluseuap",
+ "properties": {
+ "identities": [
+ {
+ "type": "CertificateSubjectIssuer",
+ "subject": "CN=example.subject"
+ }
+ ],
+ "agentProfileId": "ac4e8251-fdc9-4277-8e87-dc57fe5794cf"
+ },
+ "systemData": {
+ "createdAt": "2021-07-01T00:00:00.0Z",
+ "lastModifiedAt": "2021-07-01T00:00:00.0Z"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Compute/virtualMachines/exampleVM/providers/Microsoft.Chaos/targets?continuationToken=&api-version=2021-09-15-preview"
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/StartAExperiment.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/StartAExperiment.json
new file mode 100644
index 000000000000..3a3bb70f0443
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/examples/StartAExperiment.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "6b052e15-03d3-4f17-b2e1-be7f07588291",
+ "resourceGroupName": "exampleRG",
+ "experimentName": "exampleExperiment",
+ "api-version": "2021-09-15-preview"
+ },
+ "responses": {
+ "202": {
+ "headers": {},
+ "body": {
+ "name": "exampleExperiment",
+ "statusUrl": "https://management.azure.com/subscriptions/6b052e15-03d3-4f17-b2e1-be7f07588291/resourceGroups/exampleRG/providers/Microsoft.Chaos/experiments/exampleExperiment/statuses/50734542-2e64-4e08-814c-cc0e7475f7e4"
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/experiments.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/experiments.json
new file mode 100644
index 000000000000..da04a34bd345
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/experiments.json
@@ -0,0 +1,534 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Chaos Management",
+ "description": "Azure Chaos Resource Provider REST API",
+ "version": "2021-09-15-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/experiments": {
+ "get": {
+ "description": "Get a list of Experiment resources in a subscription.",
+ "tags": [
+ "Experiments"
+ ],
+ "operationId": "Experiments_ListAll",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/experiments.json#/parameters/runningFilter"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/continuationToken"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Experiment resources returned if request was successful.",
+ "schema": {
+ "$ref": "./types/experiments.json#/definitions/experimentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List all Experiments in a subscription.": {
+ "$ref": "./examples/ListExperimentsInASubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments": {
+ "get": {
+ "description": "Get a list of Experiment resources in a resource group.",
+ "tags": [
+ "Experiments"
+ ],
+ "operationId": "Experiments_List",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "./types/experiments.json#/parameters/runningFilter"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/continuationToken"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Experiment resources returned if request was successful.",
+ "schema": {
+ "$ref": "./types/experiments.json#/definitions/experimentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List all Experiments in a resource group.": {
+ "$ref": "./examples/ListExperimentsInAResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}": {
+ "delete": {
+ "description": "Delete a Experiment resource.",
+ "tags": [
+ "Experiments"
+ ],
+ "operationId": "Experiments_Delete",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "./types/experiments.json#/parameters/experimentName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request was successful."
+ },
+ "204": {
+ "description": "Request was successful."
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a Experiment in a resource group.": {
+ "$ref": "./examples/DeleteAExperiment.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Get a Experiment resource.",
+ "tags": [
+ "Experiments"
+ ],
+ "operationId": "Experiments_Get",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "./types/experiments.json#/parameters/experimentName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Experiment resource returned if request was successful.",
+ "schema": {
+ "$ref": "./types/experiments.json#/definitions/experiment"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a Experiment in a resource group.": {
+ "$ref": "./examples/GetAExperiment.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Create or update a Experiment resource.",
+ "tags": [
+ "Experiments"
+ ],
+ "operationId": "Experiments_CreateOrUpdate",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "original-uri"
+ },
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "./types/experiments.json#/parameters/experimentName"
+ },
+ {
+ "name": "experiment",
+ "description": "Experiment resource to be created or updated.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./types/experiments.json#/definitions/experiment"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Experiment resource returned if request was successful.",
+ "schema": {
+ "$ref": "./types/experiments.json#/definitions/experiment"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create/update a Experiment in a resource group.": {
+ "$ref": "./examples/CreateOrUpdateAExperiment.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/cancel": {
+ "post": {
+ "description": "Cancel a running Experiment resource.",
+ "tags": [
+ "Experiments"
+ ],
+ "operationId": "Experiments_Cancel",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "original-uri"
+ },
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "./types/experiments.json#/parameters/experimentName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Operation result returned if request was successful.",
+ "schema": {
+ "$ref": "./types/experiments.json#/definitions/experimentCancelOperationResult"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Cancel a running Experiment.": {
+ "$ref": "./examples/CancelAExperiment.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/start": {
+ "post": {
+ "description": "Start a Experiment resource.",
+ "tags": [
+ "Experiments"
+ ],
+ "operationId": "Experiments_Start",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "./types/experiments.json#/parameters/experimentName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Operation result returned if request was successful.",
+ "schema": {
+ "$ref": "./types/experiments.json#/definitions/experimentStartOperationResult"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Start a Experiment.": {
+ "$ref": "./examples/StartAExperiment.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/statuses": {
+ "get": {
+ "description": "Get a list of statuses of a Experiment resource.",
+ "tags": [
+ "Experiments"
+ ],
+ "operationId": "Experiments_ListAllStatuses",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "./types/experiments.json#/parameters/experimentName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of statuses returned if request was successful.",
+ "schema": {
+ "$ref": "./types/experiments.json#/definitions/experimentStatusListResult"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List all statuses of a Experiment.": {
+ "$ref": "./examples/ListExperimentStatuses.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/statuses/{statusId}": {
+ "get": {
+ "description": "Get a status of a Experiment resource.",
+ "tags": [
+ "Experiments"
+ ],
+ "operationId": "Experiments_GetStatus",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "./types/experiments.json#/parameters/experimentName"
+ },
+ {
+ "$ref": "./types/experiments.json#/parameters/statusId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Status returned if request was successful.",
+ "schema": {
+ "$ref": "./types/experiments.json#/definitions/experimentStatus"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get the status of a Experiment.": {
+ "$ref": "./examples/GetAExperimentStatus.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/executionDetails": {
+ "get": {
+ "tags": [
+ "Experiments"
+ ],
+ "description": "Get a list of execution details of a Experiment resource.",
+ "operationId": "Experiments_ListExecutionDetails",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "./types/experiments.json#/parameters/experimentName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Execution detail if request was successful.",
+ "schema": {
+ "$ref": "./types/experiments.json#/definitions/experimentExecutionDetailsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List experiment executions details": {
+ "$ref": "./examples/ListExperimentExecutionsDetails.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Chaos/experiments/{experimentName}/executionDetails/{executionDetailsId}": {
+ "get": {
+ "tags": [
+ "Experiments"
+ ],
+ "description": "Get an execution detail of a Experiment resource.",
+ "operationId": "Experiments_GetExecutionDetails",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "./types/experiments.json#/parameters/experimentName"
+ },
+ {
+ "$ref": "./types/experiments.json#/parameters/executionDetailsId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of execution details in request was successful.",
+ "schema": {
+ "$ref": "./types/experiments.json#/definitions/experimentExecutionDetails"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get experiment execution details": {
+ "$ref": "./examples/GetAExperimentExecutionDetails.json"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/operations.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/operations.json
new file mode 100644
index 000000000000..e8c71a4111a2
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/operations.json
@@ -0,0 +1,70 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Chaos Management",
+ "description": "Azure Chaos Resource Provider REST API",
+ "version": "2021-09-15-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Chaos/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Get a list all available Operations.",
+ "operationId": "Operations_ListAll",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Operations returned if request was successful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {}
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/targetTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/targetTypes.json
new file mode 100644
index 000000000000..03690f6b7ed8
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/targetTypes.json
@@ -0,0 +1,125 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Chaos Management",
+ "description": "Azure Chaos Resource Provider REST API",
+ "version": "2021-09-15-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes": {
+ "get": {
+ "description": "Get a list of Target Type resources for given location.",
+ "tags": [
+ "TargetTypes"
+ ],
+ "operationId": "TargetTypes_List",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/locationName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/continuationToken"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Target Type resources returned if request was successful.",
+ "schema": {
+ "$ref": "./types/targetTypes.json#/definitions/targetTypeListResult"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List all Target Types for westus2 location.": {
+ "$ref": "./examples/ListTargetTypes.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Chaos/locations/{locationName}/targetTypes/{targetTypeName}": {
+ "get": {
+ "description": "Get a Target Type resources for given location.",
+ "tags": [
+ "TargetTypes"
+ ],
+ "operationId": "TargetTypes_Get",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/locationName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/targetTypeName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Target Type resource returned if request was successful.",
+ "schema": {
+ "$ref": "./types/targetTypes.json#/definitions/targetType"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a Target Type for westus2 location": {
+ "$ref": "./examples/GetATargetType.json"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/targets.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/targets.json
new file mode 100644
index 000000000000..50763dc6734c
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/targets.json
@@ -0,0 +1,250 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Chaos Management",
+ "description": "Azure Chaos Resource Provider REST API",
+ "version": "2021-09-15-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets": {
+ "get": {
+ "description": "Get a list of Target resources that extend a tracked regional resource.",
+ "tags": [
+ "Targets"
+ ],
+ "operationId": "Targets_List",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentProviderNamespace"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentResourceType"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentResourceName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/continuationToken"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Target resources returned if request was successful.",
+ "schema": {
+ "$ref": "./types/targets.json#/definitions/targetListResult"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List all Targets that extend a virtual machine resource.": {
+ "$ref": "./examples/ListTargets.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}": {
+ "get": {
+ "description": "Get a Target resource that extends a tracked regional resource.",
+ "tags": [
+ "Targets"
+ ],
+ "operationId": "Targets_Get",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentProviderNamespace"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentResourceType"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentResourceName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/targetName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Target resource returned if request was successful.",
+ "schema": {
+ "$ref": "./types/targets.json#/definitions/target"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a Target that extends a virtual machine resource.": {
+ "$ref": "./examples/GetATarget.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Delete a Target resource that extends a tracked regional resource.",
+ "tags": [
+ "Targets"
+ ],
+ "operationId": "Targets_Delete",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentProviderNamespace"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentResourceType"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentResourceName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/targetName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Target resource deletion was successful."
+ },
+ "204": {
+ "description": "Target resource deletion was successful."
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a Target that extends a virtual machine resource.": {
+ "$ref": "./examples/DeleteATarget.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Create or update a Target resource that extends a tracked regional resource.",
+ "tags": [
+ "Targets"
+ ],
+ "operationId": "Targets_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "./types/common.json#/parameters/apiVersion"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentProviderNamespace"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentResourceType"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/parentResourceName"
+ },
+ {
+ "$ref": "./types/common.json#/parameters/targetName"
+ },
+ {
+ "name": "target",
+ "description": "Target resource to be created or updated.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./types/targets.json#/definitions/target"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Target resource returned if request was successful.",
+ "schema": {
+ "$ref": "./types/targets.json#/definitions/target"
+ }
+ },
+ "default": {
+ "description": "Error response returned if request was unsuccessful.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create/update a Target that extends a virtual machine resource.": {
+ "$ref": "./examples/CreateOrUpdateATarget.json"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/capabilities.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/capabilities.json
new file mode 100644
index 000000000000..d8fc244e393f
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/capabilities.json
@@ -0,0 +1,84 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Capability Types",
+ "version": "2021-09-15-preview"
+ },
+ "paths": {},
+ "definitions": {
+ "capability": {
+ "type": "object",
+ "description": "Model that represents a Capability resource.",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "The standard system metadata of a resource type.",
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of a capability resource.",
+ "$ref": "#/definitions/capabilityProperties",
+ "readOnly": true
+ }
+ }
+ },
+ "capabilityProperties": {
+ "type": "object",
+ "description": "Model that represents the Capability properties model.",
+ "properties": {
+ "publisher": {
+ "type": "string",
+ "description": "String of the Publisher that this Capability extends.",
+ "readOnly": true
+ },
+ "targetType": {
+ "type": "string",
+ "description": "String of the Target Type that this Capability extends.",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Localized string of the description.",
+ "readOnly": true
+ },
+ "parametersSchema": {
+ "$ref": "./common.json#/definitions/url",
+ "description": "URL to retrieve JSON schema of the Capability parameters.",
+ "readOnly": true
+ },
+ "urn": {
+ "$ref": "./common.json#/definitions/urn",
+ "description": "String of the URN for this Capability Type.",
+ "readOnly": true
+ }
+ },
+ "additionalProperties": false
+ },
+ "capabilityListResult": {
+ "type": "object",
+ "description": "Model that represents a list of Capability resources and a link for pagination.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/capability"
+ },
+ "description": "List of Capability resources.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "$ref": "./common.json#/definitions/urlNullable",
+ "description": "URL to retrieve the next page of Capability resources.",
+ "readOnly": true
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/capabilityTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/capabilityTypes.json
new file mode 100644
index 000000000000..5f58f386a83c
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/capabilityTypes.json
@@ -0,0 +1,93 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Capability Metadata Types",
+ "version": "2021-09-15-preview"
+ },
+ "paths": {},
+ "definitions": {
+ "capabilityType": {
+ "type": "object",
+ "description": "Model that represents a Capability Type resource.",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "The system metadata properties of the capability type resource.",
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the Capability Type resource."
+ },
+ "properties": {
+ "description": "The properties of the capability type resource.",
+ "$ref": "#/definitions/capabilityTypeProperties",
+ "x-ms-client-flatten": true,
+ "readOnly": true
+ }
+ }
+ },
+ "capabilityTypeProperties": {
+ "type": "object",
+ "description": "Model that represents the Capability Type properties model.",
+ "properties": {
+ "publisher": {
+ "type": "string",
+ "description": "String of the Publisher that this Capability Type extends.",
+ "readOnly": true
+ },
+ "targetType": {
+ "type": "string",
+ "description": "String of the Target Type that this Capability Type extends.",
+ "readOnly": true
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Localized string of the display name.",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Localized string of the description.",
+ "readOnly": true
+ },
+ "parametersSchema": {
+ "$ref": "./common.json#/definitions/url",
+ "description": "URL to retrieve JSON schema of the Capability Type parameters.",
+ "readOnly": true
+ },
+ "urn": {
+ "$ref": "./common.json#/definitions/urn",
+ "description": "String of the URN for this Capability Type.",
+ "readOnly": true
+ }
+ },
+ "additionalProperties": false
+ },
+ "capabilityTypeListResult": {
+ "type": "object",
+ "description": "Model that represents a list of Capability Type resources and a link for pagination.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/capabilityType"
+ },
+ "description": "List of Capability Type resources.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "$ref": "./common.json#/definitions/urlNullable",
+ "description": "URL to retrieve the next page of Capability Type resources.",
+ "readOnly": true
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/common.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/common.json
new file mode 100644
index 000000000000..0da9e0c3aa5c
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/common.json
@@ -0,0 +1,180 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Common Types",
+ "version": "2021-09-15-preview"
+ },
+ "paths": {},
+ "definitions": {
+ "resourceIdentity": {
+ "type": "object",
+ "description": "The managed identity of a resource.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "String of the resource identity type.",
+ "enum": [
+ "None",
+ "SystemAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "principalId": {
+ "type": "string",
+ "description": "GUID that represents the principal ID of this resource identity.",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "readOnly": true
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "GUID that represents the tenant ID of this resource identity.",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "additionalProperties": false
+ },
+ "url": {
+ "type": "string",
+ "description": "String that represents a URL.",
+ "maxLength": 2048,
+ "x-nullable": false
+ },
+ "urn": {
+ "type": "string",
+ "description": "String that represents a URN.",
+ "maxLength": 2048,
+ "x-nullable": false
+ },
+ "urlNullable": {
+ "type": "string",
+ "description": "Optional string that represents a URL.",
+ "maxLength": 2048,
+ "x-nullable": true
+ }
+ },
+ "parameters": {
+ "apiVersion": {
+ "name": "api-version",
+ "description": "String that sets the API version.",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}(|-preview)$",
+ "x-ms-parameter-location": "client"
+ },
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "description": "GUID that represents an Azure subscription ID.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "x-ms-parameter-location": "client"
+ },
+ "resourceGroupName": {
+ "name": "resourceGroupName",
+ "description": "String that represents an Azure resource group.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "pattern": "^[a-zA-Z0-9_\\-\\.\\(\\)]*[a-zA-Z0-9_\\-\\(\\)]$",
+ "x-ms-parameter-location": "method"
+ },
+ "parentResourcePath": {
+ "name": "parentResourcePath",
+ "description": "String that represents the path to a parent resource starting with the providers segment.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "parentProviderNamespace": {
+ "name": "parentProviderNamespace",
+ "description": "String that represents a resource provider namespace.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "pattern": "^[a-zA-Z0-9]+\\.[a-zA-Z0-9]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "parentResourceType": {
+ "name": "parentResourceType",
+ "description": "String that represents a resource type.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "pattern": "^[a-zA-Z0-9_\\-\\.]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "parentResourceName": {
+ "name": "parentResourceName",
+ "description": "String that represents a resource name.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "pattern": "^[a-zA-Z0-9_\\-\\.]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "targetName": {
+ "name": "targetName",
+ "description": "String that represents a Target resource name.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "pattern": "^[a-zA-Z0-9_\\-\\.]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "capabilityName": {
+ "name": "capabilityName",
+ "description": "String that represents a Capability resource name.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "pattern": "^[a-zA-Z0-9\\-\\.]+-\\d\\.\\d$",
+ "x-ms-parameter-location": "method"
+ },
+ "targetTypeName": {
+ "name": "targetTypeName",
+ "description": "String that represents a Target Type resource name.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "pattern": "^[a-zA-Z0-9_\\-\\.]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "capabilityTypeName": {
+ "name": "capabilityTypeName",
+ "description": "String that represents a Capability Type resource name.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "pattern": "^[a-zA-Z0-9\\-\\.]+-\\d\\.\\d$",
+ "x-ms-parameter-location": "method"
+ },
+ "locationName": {
+ "name": "locationName",
+ "description": "String that represents a Location resource name.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "pattern": "^[a-zA-Z0-9_\\-\\.]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "continuationToken": {
+ "name": "continuationToken",
+ "description": "String that sets the continuation token.",
+ "type": "string",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "x-nullable": false
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/experiments.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/experiments.json
new file mode 100644
index 000000000000..343d1f1a5151
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/experiments.json
@@ -0,0 +1,719 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Experiment Types",
+ "version": "2021-09-15-preview"
+ },
+ "paths": {},
+ "parameters": {
+ "experimentName": {
+ "name": "experimentName",
+ "description": "String that represents a Experiment resource name.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9_\\-\\.]+$",
+ "x-ms-parameter-location": "method"
+ },
+ "statusId": {
+ "name": "statusId",
+ "description": "GUID that represents a Experiment status.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$",
+ "x-ms-parameter-location": "method"
+ },
+ "runningFilter": {
+ "name": "running",
+ "description": "Optional value that indicates whether to filter results based on if the Experiment is currently running. If null, then the results will not be filtered.",
+ "type": "boolean",
+ "in": "query",
+ "x-ms-parameter-location": "method",
+ "x-nullable": false
+ },
+ "executionDetailsId": {
+ "name": "executionDetailsId",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "description": "GUID that represents a Experiment execution detail.",
+ "type": "string",
+ "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
+ }
+ },
+ "definitions": {
+ "experiment": {
+ "type": "object",
+ "description": "Model that represents a Experiment resource.",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "The system metadata of the experiment resource.",
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ },
+ "identity": {
+ "description": "The identity of the experiment resource.",
+ "$ref": "./common.json#/definitions/resourceIdentity"
+ },
+ "properties": {
+ "description": "The properties of the experiment resource.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/experimentProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "experimentProperties": {
+ "description": "Model that represents the Experiment properties model.",
+ "type": "object",
+ "properties": {
+ "steps": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/step"
+ },
+ "description": "List of steps.",
+ "minItems": 1
+ },
+ "selectors": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/selector"
+ },
+ "description": "List of selectors.",
+ "minItems": 1
+ },
+ "startOnCreation": {
+ "description": "A boolean value that indicates if experiment should be started on creation or not.",
+ "type": "boolean",
+ "x-nullable": true
+ }
+ },
+ "required": [
+ "steps",
+ "selectors"
+ ],
+ "additionalProperties": false
+ },
+ "experimentListResult": {
+ "type": "object",
+ "description": "Model that represents a list of Experiment resources and a link for pagination.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/experiment"
+ },
+ "description": "List of Experiment resources.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "$ref": "./common.json#/definitions/urlNullable",
+ "description": "URL to retrieve the next page of Experiment resources.",
+ "readOnly": true
+ }
+ },
+ "additionalProperties": false
+ },
+ "step": {
+ "type": "object",
+ "description": "Model that represents a step in the Experiment resource.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "String of the step name.",
+ "minLength": 1
+ },
+ "branches": {
+ "type": "array",
+ "description": "List of branches.",
+ "items": {
+ "$ref": "#/definitions/branch"
+ },
+ "minItems": 1
+ }
+ },
+ "required": [
+ "name",
+ "branches"
+ ],
+ "additionalProperties": false
+ },
+ "branch": {
+ "type": "object",
+ "description": "Model that represents a branch in the step.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "String of the branch name.",
+ "minLength": 1
+ },
+ "actions": {
+ "type": "array",
+ "description": "List of actions.",
+ "items": {
+ "$ref": "#/definitions/action"
+ },
+ "minItems": 1
+ }
+ },
+ "required": [
+ "name",
+ "actions"
+ ],
+ "additionalProperties": false
+ },
+ "action": {
+ "type": "object",
+ "description": "Model that represents the base action model.",
+ "discriminator": "type",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Enum that discriminates between action models."
+ },
+ "name": {
+ "$ref": "./common.json#/definitions/urn",
+ "description": "String that represents a Capability URN."
+ }
+ },
+ "required": [
+ "type",
+ "name"
+ ]
+ },
+ "delayAction": {
+ "type": "object",
+ "description": "Model that represents a delay action.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/action"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "type": "string",
+ "description": "ISO8601 formatted string that represents a duration.",
+ "pattern": "^P(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(\\.\\d+)?S)?)?$"
+ }
+ },
+ "required": [
+ "duration"
+ ],
+ "additionalProperties": false,
+ "x-ms-discriminator-value": "delay"
+ },
+ "discreteAction": {
+ "type": "object",
+ "description": "Model that represents a discrete action.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/action"
+ }
+ ],
+ "properties": {
+ "parameters": {
+ "description": "List of key value pairs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/keyValuePair"
+ }
+ },
+ "selectorId": {
+ "type": "string",
+ "description": "String that represents a selector.",
+ "minLength": 1
+ }
+ },
+ "required": [
+ "parameters",
+ "selectorId"
+ ],
+ "additionalProperties": false,
+ "x-ms-discriminator-value": "discrete"
+ },
+ "continuousAction": {
+ "type": "object",
+ "description": "Model that represents a continuous action.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/action"
+ }
+ ],
+ "properties": {
+ "duration": {
+ "type": "string",
+ "description": "ISO8601 formatted string that represents a duration.",
+ "pattern": "^P(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(\\.\\d+)?S)?)?$"
+ },
+ "parameters": {
+ "description": "List of key value pairs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/keyValuePair"
+ }
+ },
+ "selectorId": {
+ "type": "string",
+ "description": "String that represents a selector.",
+ "minLength": 1
+ }
+ },
+ "required": [
+ "duration",
+ "parameters",
+ "selectorId"
+ ],
+ "additionalProperties": false,
+ "x-ms-discriminator-value": "continuous"
+ },
+ "keyValuePair": {
+ "description": "A map to describe the settings of an action.",
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "The name of the setting for the action.",
+ "type": "string",
+ "minLength": 1
+ },
+ "value": {
+ "description": "The value of the setting for the action.",
+ "type": "string",
+ "minLength": 1
+ }
+ },
+ "required": [
+ "key",
+ "value"
+ ],
+ "additionalProperties": false
+ },
+ "selector": {
+ "type": "object",
+ "description": "Model that represents a selector in the Experiment resource.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Enum of the selector type.",
+ "enum": [
+ "Percent",
+ "Random",
+ "Tag",
+ "List"
+ ],
+ "x-ms-enum": {
+ "name": "SelectorType",
+ "modelAsString": false
+ }
+ },
+ "id": {
+ "type": "string",
+ "description": "String of the selector ID.",
+ "minLength": 1
+ },
+ "targets": {
+ "type": "array",
+ "description": "List of Target references.",
+ "minItems": 1,
+ "items": {
+ "$ref": "#/definitions/targetReference"
+ }
+ }
+ },
+ "required": [
+ "type",
+ "id",
+ "targets"
+ ],
+ "additionalProperties": false
+ },
+ "targetReference": {
+ "type": "object",
+ "description": "Model that represents a reference to a Target in the selector.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Enum of the Target reference type.",
+ "enum": [
+ "ChaosTarget"
+ ],
+ "x-ms-enum": {
+ "name": "TargetReferenceType",
+ "modelAsString": false
+ }
+ },
+ "id": {
+ "type": "string",
+ "description": "String of the resource ID of a Target resource.",
+ "pattern": "^\\/[Ss][Uu][Bb][Ss][Cc][Rr][Ii][Pp][Tt][Ii][Oo][Nn][Ss]\\/[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}\\/[Rr][Ee][Ss][Oo][Uu][Rr][Cc][Ee][Gg][Rr][Oo][Uu][Pp][Ss]\\/[a-zA-Z0-9_\\-\\.\\(\\)]*[a-zA-Z0-9_\\-\\(\\)]\\/[Pp][Rr][Oo][Vv][Ii][Dd][Ee][Rr][Ss]\\/[a-zA-Z0-9]+\\.[a-zA-Z0-9]+\\/[a-zA-Z0-9_\\-\\.]+\\/[a-zA-Z0-9_\\-\\.]+\\/[Pp][Rr][Oo][Vv][Ii][Dd][Ee][Rr][Ss]\\/[Mm][Ii][Cc][Rr][Oo][Ss][Oo][Ff][Tt]\\.[Cc][Hh][Aa][Oo][Ss]\\/[Tt][Aa][Rr][Gg][Ee][Tt][Ss]\\/[a-zA-Z0-9_\\-\\.]+$"
+ }
+ },
+ "required": [
+ "type",
+ "id"
+ ],
+ "additionalProperties": false
+ },
+ "experimentCancelOperationResult": {
+ "type": "object",
+ "description": "Model that represents the result of a cancel Experiment operation.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "String of the Experiment name.",
+ "readOnly": true
+ },
+ "statusUrl": {
+ "$ref": "./common.json#/definitions/url",
+ "description": "URL to retrieve the Experiment status.",
+ "readOnly": true
+ }
+ },
+ "additionalProperties": false
+ },
+ "experimentStartOperationResult": {
+ "type": "object",
+ "description": "Model that represents the result of a start Experiment operation.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "String of the Experiment name.",
+ "readOnly": true
+ },
+ "statusUrl": {
+ "$ref": "./common.json#/definitions/url",
+ "description": "URL to retrieve the Experiment status.",
+ "readOnly": true
+ }
+ },
+ "additionalProperties": false
+ },
+ "experimentStatus": {
+ "type": "object",
+ "description": "Model that represents the status of a Experiment.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "String of the resource type.",
+ "readOnly": true
+ },
+ "id": {
+ "type": "string",
+ "description": "String of the fully qualified resource ID.",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "String of the resource name.",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "The properties of experiment execution status.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/experimentStatusProperties"
+ }
+ },
+ "additionalProperties": false
+ },
+ "experimentStatusProperties": {
+ "description": "Model that represents the Experiment status properties model.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "String that represents the status of a Experiment.",
+ "readOnly": true
+ },
+ "createdDateUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "String that represents the created date time of a Experiment.",
+ "readOnly": true
+ },
+ "endDateUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "String that represents the end date time of a Experiment.",
+ "readOnly": true,
+ "x-nullable": true
+ }
+ },
+ "additionalProperties": false
+ },
+ "experimentStatusListResult": {
+ "type": "object",
+ "description": "Model that represents a list of Experiment statuses and a link for pagination.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/experimentStatus"
+ },
+ "description": "List of Experiment statuses.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "$ref": "./common.json#/definitions/urlNullable",
+ "description": "URL to retrieve the next page of Experiment statuses.",
+ "readOnly": true
+ }
+ },
+ "additionalProperties": false
+ },
+ "experimentExecutionActionTargetDetailsProperties": {
+ "description": "Model that represents the Experiment action target details properties model.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The status of the execution.",
+ "type": "string",
+ "readOnly": true
+ },
+ "target": {
+ "description": "The target for the action.",
+ "type": "string",
+ "readOnly": true
+ },
+ "failedDateUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "String that represents the failed date time.",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "completedDateUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "String that represents the completed date time.",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "error": {
+ "description": "The error of the action.",
+ "type": "object",
+ "$ref": "#/definitions/experimentExecutionActionTargetDetailsError",
+ "readOnly": true,
+ "x-nullable": true
+ }
+ }
+ },
+ "experimentExecutionActionTargetDetailsError": {
+ "type": "object",
+ "description": "Model that represents the Experiment action target details error model.",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The error message",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "experimentExecutionDetailsListResult": {
+ "description": "Model that represents a list of Experiment execution details and a link for pagination.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/experimentExecutionDetails"
+ },
+ "description": "List of Experiment execution details.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "$ref": "./common.json#/definitions/urlNullable",
+ "description": "URL to retrieve the next page of Experiment execution details.",
+ "readOnly": true
+ }
+ }
+ },
+ "experimentExecutionDetails": {
+ "description": "Model that represents the execution details of a Experiment.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "String of the resource type.",
+ "readOnly": true
+ },
+ "id": {
+ "type": "string",
+ "description": "String of the fully qualified resource ID.",
+ "readOnly": true
+ },
+ "name": {
+ "type": "string",
+ "description": "String of the resource name.",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "The properties of the experiment execution details.",
+ "$ref": "#/definitions/experimentExecutionDetailsProperties",
+ "x-ms-client-flatten": true,
+ "readOnly": true
+ }
+ }
+ },
+ "experimentExecutionDetailsProperties": {
+ "description": "Model that represents the Experiment execution details properties model.",
+ "type": "object",
+ "properties": {
+ "experimentId": {
+ "description": "The id of the experiment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The value of the status of the experiment execution.",
+ "type": "string",
+ "readOnly": true
+ },
+ "failureReason": {
+ "description": "The reason why the execution failed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "createdDateUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "String that represents the created date time.",
+ "readOnly": true
+ },
+ "lastActionDateUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "String that represents the last action date time.",
+ "readOnly": true
+ },
+ "startDateUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "String that represents the start date time.",
+ "readOnly": true
+ },
+ "stopDateUtc": {
+ "type": "string",
+ "format": "date-time",
+ "description": "String that represents the stop date time.",
+ "readOnly": true
+ },
+ "runInformation": {
+ "description": "The information of the experiment run.",
+ "type": "object",
+ "properties": {
+ "steps": {
+ "description": "The steps of the experiment run.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/stepStatus"
+ },
+ "readOnly": true
+ }
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "stepStatus": {
+ "description": "Model that represents the a list of branches and branch statuses.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the step.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "The id of the step.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The value of the status of the step.",
+ "type": "string",
+ "readOnly": true
+ },
+ "branches": {
+ "description": "The array of branches.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/branchStatus"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "branchStatus": {
+ "description": "Model that represents the a list of actions and action statuses.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the branch status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "The id of the branch status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the branch.",
+ "type": "string",
+ "readOnly": true
+ },
+ "actions": {
+ "description": "The array of actions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/actionStatus"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "actionStatus": {
+ "type": "object",
+ "description": "Model that represents the an action and its status.",
+ "properties": {
+ "name": {
+ "description": "The name of the action status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "The id of the action status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The status of the action.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targets": {
+ "description": "The array of targets.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/experimentExecutionActionTargetDetailsProperties"
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/targetTypes.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/targetTypes.json
new file mode 100644
index 000000000000..aa7de140120e
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/targetTypes.json
@@ -0,0 +1,88 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Target Metadata Types",
+ "version": "2021-09-15-preview"
+ },
+ "paths": {},
+ "definitions": {
+ "targetType": {
+ "type": "object",
+ "description": "Model that represents a Target Type resource.",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "The system metadata properties of the target type resource.",
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the Target Type resource."
+ },
+ "properties": {
+ "description": "The properties of the target type resource.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/targetTypeProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "targetTypeProperties": {
+ "type": "object",
+ "description": "Model that represents the base Target Type properties model.",
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Localized string of the display name.",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Localized string of the description.",
+ "readOnly": true
+ },
+ "propertiesSchema": {
+ "$ref": "./common.json#/definitions/url",
+ "description": "URL to retrieve JSON schema of the Target Type properties.",
+ "readOnly": true
+ },
+ "resourceTypes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of resource types this Target Type can extend.",
+ "readOnly": true
+ }
+ },
+ "additionalProperties": false
+ },
+ "targetTypeListResult": {
+ "type": "object",
+ "description": "Model that represents a list of Target Type resources and a link for pagination.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/targetType"
+ },
+ "description": "List of Target Type resources.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "$ref": "./common.json#/definitions/urlNullable",
+ "description": "URL to retrieve the next page of Target Type resources.",
+ "readOnly": true
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/targets.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/targets.json
new file mode 100644
index 000000000000..b20e512c8845
--- /dev/null
+++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/types/targets.json
@@ -0,0 +1,64 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Target Types",
+ "version": "2021-09-15-preview"
+ },
+ "paths": {},
+ "definitions": {
+ "target": {
+ "type": "object",
+ "description": "Model that represents a Target resource.",
+ "allOf": [
+ {
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "The system metadata of the target resource.",
+ "$ref": "../../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ },
+ "location": {
+ "type": "string",
+ "description": "Location of the target resource."
+ },
+ "properties": {
+ "description": "The properties of the target resource.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/targetProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "targetProperties": {
+ "type": "object",
+ "description": "Model that represents the base Target properties model.",
+ "properties": {},
+ "additionalProperties": true
+ },
+ "targetListResult": {
+ "type": "object",
+ "description": "Model that represents a list of Target resources and a link for pagination.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/target"
+ },
+ "description": "List of Target resources.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "$ref": "./common.json#/definitions/urlNullable",
+ "description": "URL to retrieve the next page of Target resources.",
+ "readOnly": true
+ }
+ },
+ "additionalProperties": false
+ }
+ }
+}
diff --git a/specification/chaos/resource-manager/readme.az.md b/specification/chaos/resource-manager/readme.az.md
new file mode 100644
index 000000000000..058534d3049c
--- /dev/null
+++ b/specification/chaos/resource-manager/readme.az.md
@@ -0,0 +1,28 @@
+## AZ
+
+These settings apply only when `--az` is specified on the command line.
+
+For new Resource Provider. It is highly recommended to onboard Azure CLI extensions. There's no differences in terms of customer usage.
+
+``` yaml $(az) && $(target-mode) != 'core'
+az:
+ extensions: chaos
+ namespace: azure.mgmt.chaos
+ package-name: azure-mgmt-chaos
+az-output-folder: $(azure-cli-extension-folder)/src/chaos
+python-sdk-output-folder: "$(az-output-folder)/azext_chaos/vendored_sdks/chaos"
+# add additional configuration here specific for Azure CLI
+# refer to the faq.md for more details
+```
+
+
+
+This is for command modules that already in azure cli main repo.
+``` yaml $(az) && $(target-mode) == 'core'
+az:
+ extensions: chaos
+ namespace: azure.mgmt.chaos
+ package-name: azure-mgmt-chaos
+az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/chaos
+python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/chaos"
+```
\ No newline at end of file
diff --git a/specification/chaos/resource-manager/readme.cli.md b/specification/chaos/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..c6cf6ad37ea4
--- /dev/null
+++ b/specification/chaos/resource-manager/readme.cli.md
@@ -0,0 +1 @@
+## CLI Common Settings for all the command line tools
\ No newline at end of file
diff --git a/specification/chaos/resource-manager/readme.csharp.md b/specification/chaos/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..7e08be4aa163
--- /dev/null
+++ b/specification/chaos/resource-manager/readme.csharp.md
@@ -0,0 +1,15 @@
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+```yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 1
+ clear-output-folder: true
+ client-side-validation: false
+ namespace: Microsoft.Azure.Management.Chaos
+ output-folder: $(csharp-sdks-folder)/chaos/Microsoft.Azure.Management.Chaos/src/Generated
+```
diff --git a/specification/chaos/resource-manager/readme.go.md b/specification/chaos/resource-manager/readme.go.md
new file mode 100644
index 000000000000..9904b3ede7a7
--- /dev/null
+++ b/specification/chaos/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)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/resourcemanager/chaos/armchaos
+module: github.com/Azure/azure-sdk-for-go/$(module-name)
+output-folder: $(go-sdk-folder)/$(module-name)
+```
diff --git a/specification/chaos/resource-manager/readme.md b/specification/chaos/resource-manager/readme.md
new file mode 100644
index 000000000000..c962124b870e
--- /dev/null
+++ b/specification/chaos/resource-manager/readme.md
@@ -0,0 +1,115 @@
+# chaos
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for chaos.
+
+## 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 chaos.
+
+```yaml
+title: ChaosManagementClient
+description: Chaos Management Client
+openapi-type: arm
+tag: package-2021-09-15-preview
+```
+
+### Tag: package-2021-09-15-preview
+
+These settings apply only when `--tag=package-2021-09-15-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-09-15-preview'
+directive:
+ - suppress: R3026
+ reason: Patch is not implemented in this version.
+ where:
+ - $.definitions.experiment
+
+input-file:
+ - Microsoft.Chaos/preview/2021-09-15-preview/capabilities.json
+ - Microsoft.Chaos/preview/2021-09-15-preview/experiments.json
+ - Microsoft.Chaos/preview/2021-09-15-preview/operations.json
+ - Microsoft.Chaos/preview/2021-09-15-preview/targets.json
+ - Microsoft.Chaos/preview/2021-09-15-preview/targetTypes.json
+ - Microsoft.Chaos/preview/2021-09-15-preview/capabilityTypes.json
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+``` yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-python-track2
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go-track2
+ - repo: azure-sdk-for-js
+ - repo: azure-resource-manager-schemas
+ - repo: azure-cli-extensions
+```
+
+## Az
+
+See configuration in [readme.az.md](./readme.az.md)
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
+
+## Suppression
+
+``` yaml
+directive:
+ - suppress: TopLevelResourcesListBySubscription
+ where: $.definitions.target
+ from: targets.json
+ reason: |-
+ We have the top level resource list by subscription operation here: https://github.com/mariohdez/azure-rest-api-specs/blob/5a870f3163ae6e9cc5ed33d40cfff61764050213/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/targets.json#L37
+
+ this is a false positive I believe.
+ - suppress: TopLevelResourcesListBySubscription
+ where: $.definitions.target
+ from: targets.json
+ reason: |-
+ we defined the toplevelresourcelistbysubscription here:
+
+ https://github.com/mariohdez/azure-rest-api-specs/blob/5a870f3163ae6e9cc5ed33d40cfff61764050213/specification/chaos/resource-manager/Microsoft.Chaos/preview/2021-09-15-preview/targets.json#L37
+ - suppress: EnumInsteadOfBoolean
+ where: $.definitions.Operation.properties.isDataAction
+ from: types.json
+ reason: We are consuming the type model declaration from "common". I don't think our service is responsible for updating this error... Plz push back otherwise.
+```
diff --git a/specification/chaos/resource-manager/readme.python.md b/specification/chaos/resource-manager/readme.python.md
new file mode 100644
index 000000000000..156899a9256c
--- /dev/null
+++ b/specification/chaos/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-chaos
+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)/chaos/azure-mgmt-chaos/azure/mgmt/chaos
+```
+
+``` yaml $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/chaos/azure-mgmt-chaos
+```
diff --git a/specification/chaos/resource-manager/readme.typescript.md b/specification/chaos/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..39b0d62e64f1
--- /dev/null
+++ b/specification/chaos/resource-manager/readme.typescript.md
@@ -0,0 +1,14 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+``` yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "@azure/arm-chaos"
+ output-folder: "$(typescript-sdks-folder)/sdk/chaos/arm-chaos"
+ payload-flattening-threshold: 1
+ clear-output-folder: true
+ generate-metadata: 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
index fcf905f89613..4909f1dceda4 100644
--- a/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/Face.json
+++ b/specification/cognitiveservices/data-plane/Face/preview/v1.0-preview/Face.json
@@ -1048,7 +1048,7 @@
},
"/detect": {
"post": {
- "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/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).",
+ "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, mask, and qualityForRecognition. 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": [
{
@@ -3422,7 +3422,7 @@
},
"/detect?overload=stream": {
"post": {
- "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/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).",
+ "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, mask, and qualityForRecognition. 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": [
{
@@ -4024,6 +4024,19 @@
"mask": {
"description": "Properties describing the presence of a mask on a given face.",
"$ref": "#/definitions/Mask"
+ },
+ "qualityForRecognition": {
+ "type": "string",
+ "description": "Properties describing the overall image quality regarding whether the image being used in the detection is of sufficient quality to attempt face recognition on.",
+ "x-ms-enum": {
+ "name": "QualityForRecognition",
+ "modelAsString": false
+ },
+ "enum": [
+ "Low",
+ "Medium",
+ "High"
+ ]
}
}
},
@@ -5363,7 +5376,7 @@
"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.",
+ "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, noise, and qualityForRecognition. While 'detection_02' does not support any attributes and 'detection_03' only supports mask and qualityForRecognition. Additionally, qualityForRecognition is only supported when the 'recognitionModel' is specified as 'recognition_03' or 'recognition_04'. Note that each face attribute analysis has additional computational and time cost.",
"type": "array",
"x-ms-parameter-location": "method",
"required": false,
@@ -5390,7 +5403,8 @@
"blur",
"exposure",
"noise",
- "mask"
+ "mask",
+ "qualityForRecognition"
]
}
},
diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json
index 405f483b1da6..7b70564c1388 100644
--- a/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json
+++ b/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json
@@ -1048,7 +1048,7 @@
},
"/detect": {
"post": {
- "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/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).",
+ "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, mask, and qualityForRecognition. 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": [
{
@@ -2575,7 +2575,7 @@
},
"/detect?overload=stream": {
"post": {
- "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/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).",
+ "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, mask, and qualityForRecognition. 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": [
{
@@ -3100,6 +3100,19 @@
"mask": {
"description": "Properties describing the presence of a mask on a given face.",
"$ref": "#/definitions/Mask"
+ },
+ "qualityForRecognition": {
+ "type": "string",
+ "description": "Properties describing the overall image quality regarding whether the image being used in the detection is of sufficient quality to attempt face recognition on.",
+ "x-ms-enum": {
+ "name": "QualityForRecognition",
+ "modelAsString": false
+ },
+ "enum": [
+ "Low",
+ "Medium",
+ "High"
+ ]
}
}
},
@@ -3403,6 +3416,20 @@
}
}
},
+ "QualityForRecognition": {
+ "type": "string",
+ "description": "An enum value indicating quality of image for recognition.",
+ "x-nullable": false,
+ "x-ms-enum": {
+ "name": "QualityForRecognition",
+ "modelAsString": false
+ },
+ "enum": [
+ "Low",
+ "Medium",
+ "High"
+ ]
+ },
"FindSimilarRequest": {
"type": "object",
"required": [
@@ -4206,7 +4233,7 @@
"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.",
+ "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, noise, and qualityForRecognition. While 'detection_02' does not support any attributes and 'detection_03' only supports mask and qualityForRecognition. Additionally, qualityForRecognition is only supported when the 'recognitionModel' is specified as 'recognition_03' or 'recognition_04'. Note that each face attribute analysis has additional computational and time cost.",
"type": "array",
"x-ms-parameter-location": "method",
"required": false,
@@ -4233,7 +4260,8 @@
"blur",
"exposure",
"noise",
- "mask"
+ "mask",
+ "qualityForRecognition"
]
}
},
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/FormRecognizer.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/FormRecognizer.json
new file mode 100644
index 000000000000..7d3abdced0bf
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/FormRecognizer.json
@@ -0,0 +1,1941 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Form Recognizer Client",
+ "description": "Extracts content, layout, and structured data from documents.",
+ "version": "2021-09-30-preview"
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}/formrecognizer",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/documentModels/{modelId}:analyze": {
+ "post": {
+ "summary": "Analyze document",
+ "description": "Analyzes document with model.",
+ "operationId": "AnalyzeDocument",
+ "tags": [
+ "Analysis"
+ ],
+ "consumes": [
+ "application/json",
+ "application/octet-stream",
+ "application/pdf",
+ "image/jpeg",
+ "image/png",
+ "image/tiff",
+ "image/bmp"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/PathModelId"
+ },
+ {
+ "$ref": "#/parameters/QueryPages"
+ },
+ {
+ "$ref": "#/parameters/QueryLocale"
+ },
+ {
+ "$ref": "#/parameters/QueryStringIndexType"
+ },
+ {
+ "$ref": "#/parameters/QueryApiVersion"
+ },
+ {
+ "name": "analyzeRequest",
+ "description": "Analyze request parameters.",
+ "required": false,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeDocumentRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "URL used to track the progress and obtain the result of the analyze operation."
+ }
+ }
+ },
+ "default": {
+ "description": "Error encountered.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "AnalyzeDocument_Url": {
+ "$ref": "./examples/AnalyzeDocument_Url.json"
+ },
+ "AnalyzeDocument_Base64": {
+ "$ref": "./examples/AnalyzeDocument_Base64.json"
+ }
+ }
+ }
+ },
+ "/documentModels/{modelId}/analyzeResults/{resultId}": {
+ "get": {
+ "summary": "Get analyze result",
+ "description": "Gets the result of document analysis.",
+ "operationId": "GetAnalyzeDocumentResult",
+ "tags": [
+ "Analysis"
+ ],
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/PathModelId"
+ },
+ {
+ "$ref": "#/parameters/PathResultId"
+ },
+ {
+ "$ref": "#/parameters/QueryApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeResultOperation"
+ }
+ },
+ "default": {
+ "description": "Error encountered.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetAnalyzeDocumentResult": {
+ "$ref": "./examples/GetAnalyzeDocumentResult.json"
+ }
+ }
+ }
+ },
+ "/documentModels:build": {
+ "post": {
+ "summary": "Build model",
+ "description": "Builds a custom document analysis model.",
+ "operationId": "BuildDocumentModel",
+ "tags": [
+ "Creation"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/QueryApiVersion"
+ },
+ {
+ "name": "buildRequest",
+ "description": "Building request parameters.",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/BuildDocumentModelRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "Operation result URL."
+ }
+ }
+ },
+ "default": {
+ "description": "Error encountered.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "BuildDocumentModel": {
+ "$ref": "./examples/BuildDocumentModel.json"
+ }
+ }
+ }
+ },
+ "/documentModels:compose": {
+ "post": {
+ "summary": "Compose model",
+ "description": "Creates a new model from document types of existing models.",
+ "operationId": "ComposeDocumentModel",
+ "tags": [
+ "Creation"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/QueryApiVersion"
+ },
+ {
+ "name": "composeRequest",
+ "description": "Compose request parameters.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ComposeDocumentModelRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "Operation result URL."
+ }
+ }
+ },
+ "default": {
+ "description": "Error encountered.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ComposeDocumentModel": {
+ "$ref": "./examples/ComposeDocumentModel.json"
+ }
+ }
+ }
+ },
+ "/documentModels:authorizeCopy": {
+ "post": {
+ "summary": "Generate copy authorization",
+ "description": "Generates authorization to copy a model to this location with specified modelId and optional description.",
+ "operationId": "AuthorizeCopyDocumentModel",
+ "tags": [
+ "Creation"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/QueryApiVersion"
+ },
+ {
+ "name": "authorizeCopyRequest",
+ "description": "Authorize copy request parameters.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AuthorizeCopyRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/CopyAuthorization"
+ }
+ },
+ "default": {
+ "description": "Error encountered.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "AuthorizeCopyDocumentModel": {
+ "$ref": "./examples/AuthorizeCopyDocumentModel.json"
+ }
+ }
+ }
+ },
+ "/documentModels/{modelId}:copyTo": {
+ "post": {
+ "summary": "Copy model",
+ "description": "Copies model to the target resource, region, and modelId.",
+ "operationId": "CopyDocumentModelTo",
+ "tags": [
+ "Creation"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/PathModelId"
+ },
+ {
+ "$ref": "#/parameters/QueryApiVersion"
+ },
+ {
+ "name": "copyToRequest",
+ "description": "Copy to request parameters.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CopyAuthorization"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "Operation result URL."
+ }
+ }
+ },
+ "default": {
+ "description": "Error encountered.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "CopyDocumentModelTo": {
+ "$ref": "./examples/CopyDocumentModelTo.json"
+ }
+ }
+ }
+ },
+ "/operations": {
+ "get": {
+ "summary": "List operations",
+ "description": "Lists all operations.",
+ "operationId": "GetOperations",
+ "tags": [
+ "Operation"
+ ],
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/QueryApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/GetOperationsResponse"
+ }
+ },
+ "default": {
+ "description": "Error encountered.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "x-ms-examples": {
+ "GetOperations": {
+ "$ref": "./examples/GetOperations.json"
+ }
+ }
+ }
+ },
+ "/operations/{operationId}": {
+ "get": {
+ "summary": "Get operation",
+ "description": "Gets operation info.",
+ "operationId": "GetOperation",
+ "tags": [
+ "Operation"
+ ],
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/PathOperationId"
+ },
+ {
+ "$ref": "#/parameters/QueryApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/GetOperationResponse"
+ }
+ },
+ "default": {
+ "description": "Error encountered.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetOperation": {
+ "$ref": "./examples/GetOperation.json"
+ }
+ }
+ }
+ },
+ "/documentModels": {
+ "get": {
+ "summary": "List models",
+ "description": "List all models",
+ "operationId": "GetModels",
+ "tags": [
+ "Management"
+ ],
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/QueryApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/GetModelsResponse"
+ }
+ },
+ "default": {
+ "description": "Error encountered.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "x-ms-examples": {
+ "GetModels": {
+ "$ref": "./examples/GetModels.json"
+ }
+ }
+ }
+ },
+ "/documentModels/{modelId}": {
+ "get": {
+ "summary": "Get model",
+ "description": "Gets detailed model information.",
+ "operationId": "GetModel",
+ "tags": [
+ "Management"
+ ],
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/PathModelId"
+ },
+ {
+ "$ref": "#/parameters/QueryApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ModelInfo"
+ }
+ },
+ "default": {
+ "description": "Error encountered.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetModel_Prebuilt": {
+ "$ref": "./examples/GetModel_Prebuilt.json"
+ },
+ "GetModel_Custom": {
+ "$ref": "./examples/GetModel_Custom.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete model",
+ "description": "Deletes model.",
+ "operationId": "DeleteModel",
+ "tags": [
+ "Management"
+ ],
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/PathModelId"
+ },
+ {
+ "$ref": "#/parameters/QueryApiVersion"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Deleting model."
+ },
+ "default": {
+ "description": "Error encountered.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DeleteModel": {
+ "$ref": "./examples/DeleteModel.json"
+ }
+ }
+ }
+ },
+ "/info": {
+ "get": {
+ "summary": "Get info",
+ "description": "Return basic info about the current resource.",
+ "operationId": "GetInfo",
+ "tags": [
+ "Management"
+ ],
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/QueryApiVersion"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/GetInfoResponse"
+ }
+ },
+ "default": {
+ "description": "Error encountered.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetInfo": {
+ "$ref": "./examples/GetInfo.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AnalyzeDocumentRequest": {
+ "description": "Document analysis parameters.",
+ "type": "object",
+ "properties": {
+ "urlSource": {
+ "description": "Document URL to analyze",
+ "$ref": "#/definitions/UrlContentSource"
+ },
+ "base64Source": {
+ "description": "Base64 encoding of the document to analyze",
+ "$ref": "#/definitions/Base64ContentSource"
+ }
+ }
+ },
+ "BuildDocumentModelRequest": {
+ "description": "Request body to build a new custom model.",
+ "type": "object",
+ "required": [
+ "modelId"
+ ],
+ "properties": {
+ "modelId": {
+ "$ref": "#/definitions/ModelId"
+ },
+ "description": {
+ "$ref": "#/definitions/ModelDescription"
+ },
+ "azureBlobSource": {
+ "description": "Azure Blob Storage location containing the training data.",
+ "$ref": "#/definitions/AzureBlobContentSource"
+ }
+ }
+ },
+ "ComposeDocumentModelRequest": {
+ "description": "Request body to create a composed model from component models.",
+ "type": "object",
+ "required": [
+ "modelId",
+ "componentModels"
+ ],
+ "properties": {
+ "modelId": {
+ "$ref": "#/definitions/ModelId"
+ },
+ "description": {
+ "$ref": "#/definitions/ModelDescription"
+ },
+ "componentModels": {
+ "description": "List of component models to compose.",
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "$ref": "#/definitions/ComponentModelInfo"
+ }
+ }
+ }
+ },
+ "ComponentModelInfo": {
+ "description": "A component of a composed model.",
+ "type": "object",
+ "required": [
+ "modelId"
+ ],
+ "properties": {
+ "modelId": {
+ "$ref": "#/definitions/ModelId"
+ }
+ }
+ },
+ "AuthorizeCopyRequest": {
+ "description": "Request body to authorize model copy.",
+ "type": "object",
+ "required": [
+ "modelId"
+ ],
+ "properties": {
+ "modelId": {
+ "$ref": "#/definitions/ModelId"
+ },
+ "description": {
+ "$ref": "#/definitions/ModelDescription"
+ }
+ }
+ },
+ "GetOperationsResponse": {
+ "description": "List Operations response object.",
+ "type": "object",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "value": {
+ "description": "List of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationInfo"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next page of operations.",
+ "type": "string"
+ }
+ }
+ },
+ "GetOperationResponse": {
+ "description": "Get Operation response object.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationInfo"
+ }
+ ],
+ "properties": {
+ "error": {
+ "description": "Encountered error.",
+ "$ref": "#/definitions/Error"
+ },
+ "result": {
+ "description": "Operation result upon success.",
+ "type": "object"
+ }
+ }
+ },
+ "GetModelsResponse": {
+ "description": "List Models response object.",
+ "type": "object",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "value": {
+ "description": "List of models.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelSummary"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next page of models.",
+ "type": "string"
+ }
+ }
+ },
+ "GetInfoResponse": {
+ "description": "General information regarding the current resource.",
+ "type": "object",
+ "required": [
+ "customDocumentModels"
+ ],
+ "properties": {
+ "customDocumentModels": {
+ "$ref": "#/definitions/CustomDocumentModelsInfo"
+ }
+ }
+ },
+ "CustomDocumentModelsInfo": {
+ "description": "Info regarding custom document models.",
+ "type": "object",
+ "required": [
+ "count",
+ "limit"
+ ],
+ "properties": {
+ "count": {
+ "description": "Number of custom models in the current resource.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "limit": {
+ "description": "Maximum number of custom models supported in the current resource.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "ApiVersion": {
+ "description": "API version.",
+ "type": "string",
+ "enum": [
+ "2021-09-30-preview"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response object.",
+ "type": "object",
+ "required": [
+ "error"
+ ],
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "Error": {
+ "description": "Error info.",
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Target of the error.",
+ "type": "string"
+ },
+ "details": {
+ "description": "List of detailed errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Error"
+ }
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError"
+ }
+ }
+ },
+ "InnerError": {
+ "description": "Detailed error.",
+ "type": "object",
+ "required": [
+ "code"
+ ],
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message.",
+ "type": "string"
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError"
+ }
+ }
+ },
+ "UrlContentSource": {
+ "description": "Content at specified URL.",
+ "type": "string",
+ "format": "uri"
+ },
+ "Base64ContentSource": {
+ "description": "Content represented via Base64 encoding.",
+ "type": "string",
+ "format": "byte"
+ },
+ "AzureBlobContentSource": {
+ "description": "Azure Blob Storage content.",
+ "type": "object",
+ "required": [
+ "containerUrl"
+ ],
+ "properties": {
+ "containerUrl": {
+ "description": "Azure Blob Storage container URL.",
+ "type": "string",
+ "format": "uri"
+ },
+ "prefix": {
+ "description": "Blob name prefix.",
+ "type": "string"
+ }
+ }
+ },
+ "CopyAuthorization": {
+ "description": "Authorization to copy a model to the specified target resource and modelId.",
+ "type": "object",
+ "required": [
+ "targetResourceId",
+ "targetResourceRegion",
+ "targetModelId",
+ "targetModelLocation",
+ "accessToken",
+ "expirationDateTime"
+ ],
+ "properties": {
+ "targetResourceId": {
+ "description": "ID of the target Azure resource where the model should be copied to.",
+ "type": "string",
+ "x-ms-azure-resource": true
+ },
+ "targetResourceRegion": {
+ "description": "Location of the target Azure resource where the model should be copied to.",
+ "type": "string"
+ },
+ "targetModelId": {
+ "description": "Identifier of the target model.",
+ "$ref": "#/definitions/ModelId"
+ },
+ "targetModelLocation": {
+ "description": "URL of the copied model in the target account.",
+ "type": "string"
+ },
+ "accessToken": {
+ "description": "Token used to authorize the request.",
+ "type": "string"
+ },
+ "expirationDateTime": {
+ "description": "Date/time when the access token expires.",
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ },
+ "OperationInfo": {
+ "description": "Operation info.",
+ "type": "object",
+ "required": [
+ "operationId",
+ "status",
+ "createdDateTime",
+ "lastUpdatedDateTime",
+ "kind",
+ "resourceLocation"
+ ],
+ "properties": {
+ "operationId": {
+ "description": "Operation ID",
+ "type": "string"
+ },
+ "status": {
+ "description": "Operation status.",
+ "type": "string",
+ "enum": [
+ "notStarted",
+ "running",
+ "failed",
+ "succeeded",
+ "canceled"
+ ],
+ "x-ms-enum": {
+ "name": "OperationStatus",
+ "modelAsString": false
+ }
+ },
+ "percentCompleted": {
+ "description": "Operation progress (0-100).",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100
+ },
+ "createdDateTime": {
+ "description": "Date and time (UTC) when the operation was created.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "lastUpdatedDateTime": {
+ "description": "Date and time (UTC) when the status was last updated.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "kind": {
+ "description": "Type of operation.",
+ "type": "string",
+ "enum": [
+ "documentModelBuild",
+ "documentModelCompose",
+ "documentModelCopyTo"
+ ],
+ "x-ms-enum": {
+ "name": "OperationKind",
+ "modelAsString": true
+ }
+ },
+ "resourceLocation": {
+ "description": "URL of the resource targeted by this operation.",
+ "type": "string"
+ }
+ }
+ },
+ "ModelSummary": {
+ "description": "Model summary.",
+ "type": "object",
+ "required": [
+ "modelId",
+ "createdDateTime"
+ ],
+ "properties": {
+ "modelId": {
+ "$ref": "#/definitions/ModelId"
+ },
+ "description": {
+ "$ref": "#/definitions/ModelDescription"
+ },
+ "createdDateTime": {
+ "description": "Date and time (UTC) when the model was created.",
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ },
+ "ModelInfo": {
+ "description": "Model info.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ModelSummary"
+ }
+ ],
+ "properties": {
+ "docTypes": {
+ "description": "Supported document types.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/DocTypeInfo"
+ }
+ }
+ }
+ },
+ "DocTypeInfo": {
+ "description": "Document type info.",
+ "type": "object",
+ "required": [
+ "fieldSchema"
+ ],
+ "properties": {
+ "description": {
+ "$ref": "#/definitions/ModelDescription"
+ },
+ "fieldSchema": {
+ "$ref": "#/definitions/DocTypeSchema"
+ },
+ "fieldConfidence": {
+ "description": "Estimated confidence for each field.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "number",
+ "minimum": 0,
+ "maximum": 1
+ }
+ }
+ }
+ },
+ "DocTypeSchema": {
+ "description": "Description of the document semantic schema using a JSON Schema style syntax.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/DocumentFieldSchema"
+ }
+ },
+ "DocumentFieldSchema": {
+ "description": "Description of the field semantic schema using a JSON Schema style syntax.",
+ "type": "object",
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/DocumentFieldType"
+ },
+ "description": {
+ "description": "Field description.",
+ "type": "string"
+ },
+ "example": {
+ "description": "Example field content.",
+ "type": "string"
+ },
+ "items": {
+ "description": "Field type schema of each array element.",
+ "$ref": "#/definitions/DocumentFieldSchema"
+ },
+ "properties": {
+ "description": "Named sub-fields of the object field.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/DocumentFieldSchema"
+ }
+ }
+ }
+ },
+ "AnalyzeResultOperation": {
+ "description": "Status and result of the analyze operation.",
+ "type": "object",
+ "required": [
+ "status",
+ "createdDateTime",
+ "lastUpdatedDateTime"
+ ],
+ "properties": {
+ "status": {
+ "description": "Operation status.",
+ "type": "string",
+ "enum": [
+ "notStarted",
+ "running",
+ "failed",
+ "succeeded"
+ ],
+ "x-ms-enum": {
+ "name": "AnalyzeResultOperationStatus",
+ "modelAsString": false
+ }
+ },
+ "createdDateTime": {
+ "description": "Date and time (UTC) when the analyze operation was submitted.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "lastUpdatedDateTime": {
+ "description": "Date and time (UTC) when the status was last updated.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "error": {
+ "description": "Encountered error during document analysis.",
+ "$ref": "#/definitions/Error"
+ },
+ "analyzeResult": {
+ "$ref": "#/definitions/AnalyzeResult"
+ }
+ }
+ },
+ "AnalyzeResult": {
+ "description": "Document analysis result.",
+ "type": "object",
+ "required": [
+ "apiVersion",
+ "modelId",
+ "stringIndexType",
+ "content",
+ "pages"
+ ],
+ "properties": {
+ "apiVersion": {
+ "description": "API version used to produce this result.",
+ "$ref": "#/definitions/ApiVersion"
+ },
+ "modelId": {
+ "description": "Model ID used to produce this result.",
+ "$ref": "#/definitions/ModelId"
+ },
+ "stringIndexType": {
+ "description": "Method used to compute string offset and length.",
+ "$ref": "#/definitions/StringIndexType"
+ },
+ "content": {
+ "description": "Concatenate string representation of all textual and visual elements in reading order.",
+ "type": "string"
+ },
+ "pages": {
+ "description": "Analyzed pages.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentPage"
+ }
+ },
+ "tables": {
+ "description": "Extracted tables.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentTable"
+ }
+ },
+ "keyValuePairs": {
+ "description": "Extracted key-value pairs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentKeyValuePair"
+ }
+ },
+ "entities": {
+ "description": "Extracted entities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentEntity"
+ }
+ },
+ "styles": {
+ "description": "Extracted font styles.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentStyle"
+ }
+ },
+ "documents": {
+ "description": "Extracted documents.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Document"
+ }
+ }
+ }
+ },
+ "DocumentPage": {
+ "description": "Content and layout elements extracted from a page from the input.",
+ "type": "object",
+ "required": [
+ "pageNumber",
+ "angle",
+ "width",
+ "height",
+ "unit",
+ "words",
+ "lines",
+ "spans"
+ ],
+ "properties": {
+ "pageNumber": {
+ "description": "1-based page number in the input document.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1
+ },
+ "angle": {
+ "description": "The general orientation of the content in clockwise direction, measured in degrees between (-180, 180].",
+ "type": "number",
+ "minimum": -180,
+ "maximum": 180,
+ "exclusiveMinimum": true
+ },
+ "width": {
+ "description": "The width of the image/PDF in pixels/inches, respectively.",
+ "type": "number",
+ "minimum": 0
+ },
+ "height": {
+ "description": "The height of the image/PDF in pixels/inches, respectively.",
+ "type": "number",
+ "minimum": 0
+ },
+ "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": true
+ }
+ },
+ "spans": {
+ "description": "Location of the page in the reading order concatenated content.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentSpan"
+ }
+ },
+ "words": {
+ "description": "Extracted words from the page.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentWord"
+ }
+ },
+ "selectionMarks": {
+ "description": "Extracted selection marks from the page.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentSelectionMark"
+ }
+ },
+ "lines": {
+ "description": "Extracted lines from the page, potentially containing both textual and visual elements.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentLine"
+ }
+ }
+ }
+ },
+ "DocumentWord": {
+ "description": "A word object consisting of a contiguous sequence of characters. For non-space delimited languages, such as Chinese, Japanese, and Korean, each character is represented as its own word.",
+ "type": "object",
+ "required": [
+ "content",
+ "span",
+ "confidence"
+ ],
+ "properties": {
+ "content": {
+ "description": "Text content of the word.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of the word.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "span": {
+ "description": "Location of the word in the reading order concatenated content.",
+ "$ref": "#/definitions/DocumentSpan"
+ },
+ "confidence": {
+ "description": "Confidence of correctly extracting the word.",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "DocumentSelectionMark": {
+ "description": "A selection mark object representing check boxes, radio buttons, and other elements indicating a selection.",
+ "type": "object",
+ "required": [
+ "state",
+ "span",
+ "confidence"
+ ],
+ "properties": {
+ "state": {
+ "description": "State of the selection mark.",
+ "$ref": "#/definitions/DocumentSelectionMarkState"
+ },
+ "boundingBox": {
+ "description": "Bounding box of the selection mark.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "span": {
+ "description": "Location of the selection mark in the reading order concatenated content.",
+ "$ref": "#/definitions/DocumentSpan"
+ },
+ "confidence": {
+ "description": "Confidence of correctly extracting the selection mark.",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "DocumentSelectionMarkState": {
+ "description": "State of the selection mark.",
+ "type": "string",
+ "enum": [
+ "selected",
+ "unselected"
+ ],
+ "x-ms-enum": {
+ "name": "SelectionMarkState",
+ "modelAsString": true
+ }
+ },
+ "DocumentLine": {
+ "description": "A content line object consisting of an adjacent sequence of content elements, such as words and selection marks.",
+ "type": "object",
+ "required": [
+ "content",
+ "spans"
+ ],
+ "properties": {
+ "content": {
+ "description": "Concatenated content of the contained elements in reading order.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of the line.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "spans": {
+ "description": "Location of the line in the reading order concatenated content.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentSpan"
+ }
+ }
+ }
+ },
+ "DocumentTable": {
+ "description": "A table object consisting table cells arranged in a rectangular layout.",
+ "type": "object",
+ "required": [
+ "rowCount",
+ "columnCount",
+ "cells",
+ "spans"
+ ],
+ "properties": {
+ "rowCount": {
+ "description": "Number of rows in the table.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1
+ },
+ "columnCount": {
+ "description": "Number of columns in the table.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1
+ },
+ "cells": {
+ "description": "Cells contained within the table.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentTableCell"
+ }
+ },
+ "boundingRegions": {
+ "description": "Bounding regions covering the table.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BoundingRegion"
+ }
+ },
+ "spans": {
+ "description": "Location of the table in the reading order concatenated content.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentSpan"
+ }
+ }
+ }
+ },
+ "DocumentTableCell": {
+ "description": "An object representing the location and content of a table cell.",
+ "type": "object",
+ "required": [
+ "rowIndex",
+ "columnIndex",
+ "content",
+ "spans"
+ ],
+ "properties": {
+ "kind": {
+ "description": "Table cell kind.",
+ "type": "string",
+ "enum": [
+ "content",
+ "rowHeader",
+ "columnHeader",
+ "stubHead",
+ "description"
+ ],
+ "default": "content",
+ "x-ms-enum": {
+ "name": "DocumentTableCellKind",
+ "modelAsString": true
+ }
+ },
+ "rowIndex": {
+ "description": "Row index of the cell.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "columnIndex": {
+ "description": "Column index of the cell.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "rowSpan": {
+ "description": "Number of rows spanned by this cell.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "default": 1
+ },
+ "columnSpan": {
+ "description": "Number of columns spanned by this cell.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "default": 1
+ },
+ "content": {
+ "description": "Concatenated content of the table cell in reading order.",
+ "type": "string"
+ },
+ "boundingRegions": {
+ "description": "Bounding regions covering the table cell.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BoundingRegion"
+ }
+ },
+ "spans": {
+ "description": "Location of the table cell in the reading order concatenated content.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentSpan"
+ }
+ }
+ }
+ },
+ "DocumentKeyValuePair": {
+ "description": "An object representing a form field with distinct field label (key) and field value (may be empty).",
+ "type": "object",
+ "required": [
+ "key",
+ "confidence"
+ ],
+ "properties": {
+ "key": {
+ "description": "Field label of the key-value pair.",
+ "$ref": "#/definitions/DocumentKeyValueElement"
+ },
+ "value": {
+ "description": "Field value of the key-value pair.",
+ "$ref": "#/definitions/DocumentKeyValueElement"
+ },
+ "confidence": {
+ "description": "Confidence of correctly extracting the key-value pair.",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "DocumentKeyValueElement": {
+ "description": "An object representing the field key or value in a key-value pair.",
+ "type": "object",
+ "required": [
+ "content",
+ "spans"
+ ],
+ "properties": {
+ "content": {
+ "description": "Concatenated content of the key-value element in reading order.",
+ "type": "string"
+ },
+ "boundingRegions": {
+ "description": "Bounding regions covering the key-value element.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BoundingRegion"
+ }
+ },
+ "spans": {
+ "description": "Location of the key-value element in the reading order concatenated content.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentSpan"
+ }
+ }
+ }
+ },
+ "DocumentEntity": {
+ "description": "An object representing various categories of entities.",
+ "type": "object",
+ "required": [
+ "category",
+ "content",
+ "spans",
+ "confidence"
+ ],
+ "properties": {
+ "category": {
+ "description": "Entity type.",
+ "type": "string"
+ },
+ "subCategory": {
+ "description": "Entity sub type.",
+ "type": "string"
+ },
+ "content": {
+ "description": "Entity content.",
+ "type": "string"
+ },
+ "boundingRegions": {
+ "description": "Bounding regions covering the entity.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BoundingRegion"
+ }
+ },
+ "spans": {
+ "description": "Location of the entity in the reading order concatenated content.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentSpan"
+ }
+ },
+ "confidence": {
+ "description": "Confidence of correctly extracting the entity.",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "DocumentStyle": {
+ "description": "An object representing observed text styles.",
+ "type": "object",
+ "required": [
+ "spans",
+ "confidence"
+ ],
+ "properties": {
+ "isHandwritten": {
+ "description": "Is content handwritten?",
+ "type": "boolean"
+ },
+ "spans": {
+ "description": "Location of the text elements in the concatenated content the style applies to.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentSpan"
+ }
+ },
+ "confidence": {
+ "description": "Confidence of correctly identifying the style.",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "Document": {
+ "description": "An object describing the location and semantic content of a document.",
+ "type": "object",
+ "required": [
+ "docType",
+ "fields",
+ "spans",
+ "confidence"
+ ],
+ "properties": {
+ "docType": {
+ "description": "Document type.",
+ "$ref": "#/definitions/DocType"
+ },
+ "boundingRegions": {
+ "description": "Bounding regions covering the document.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BoundingRegion"
+ }
+ },
+ "spans": {
+ "description": "Location of the document in the reading order concatenated content.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentSpan"
+ }
+ },
+ "fields": {
+ "description": "Dictionary of named field values.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/DocumentField"
+ }
+ },
+ "confidence": {
+ "description": "Confidence of correctly extracting the document.",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "DocumentField": {
+ "description": "An object representing the content and location of a field value.",
+ "type": "object",
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "description": "Data type of the field value.",
+ "$ref": "#/definitions/DocumentFieldType"
+ },
+ "valueString": {
+ "description": "String value.",
+ "type": "string"
+ },
+ "valueDate": {
+ "description": "Date value in YYYY-MM-DD format (ISO 8601).",
+ "type": "string",
+ "format": "date"
+ },
+ "valueTime": {
+ "description": "Time value in hh:mm:ss format (ISO 8601).",
+ "type": "string",
+ "format": "time"
+ },
+ "valuePhoneNumber": {
+ "description": "Phone number value in E.164 format (ex. +19876543210).",
+ "type": "string"
+ },
+ "valueNumber": {
+ "description": "Floating point value.",
+ "type": "number"
+ },
+ "valueInteger": {
+ "description": "Integer value.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "valueSelectionMark": {
+ "description": "Selection mark value.",
+ "$ref": "#/definitions/DocumentSelectionMarkState"
+ },
+ "valueSignature": {
+ "description": "Presence of signature.",
+ "type": "string",
+ "enum": [
+ "signed",
+ "unsigned"
+ ],
+ "x-ms-enum": {
+ "name": "DocumentSignatureType",
+ "modelAsString": true
+ }
+ },
+ "valueCountryRegion": {
+ "description": "3-letter country code value (ISO 3166-1 alpha-3).",
+ "type": "string"
+ },
+ "valueArray": {
+ "description": "Array of field values.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentField"
+ }
+ },
+ "valueObject": {
+ "description": "Dictionary of named field values.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/DocumentField"
+ }
+ },
+ "content": {
+ "description": "Field content.",
+ "type": "string"
+ },
+ "boundingRegions": {
+ "description": "Bounding regions covering the field.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BoundingRegion"
+ }
+ },
+ "spans": {
+ "description": "Location of the field in the reading order concatenated content.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentSpan"
+ }
+ },
+ "confidence": {
+ "description": "Confidence of correctly extracting the field.",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "DocumentFieldType": {
+ "description": "Semantic data type of the field value.",
+ "type": "string",
+ "enum": [
+ "string",
+ "date",
+ "time",
+ "phoneNumber",
+ "number",
+ "integer",
+ "selectionMark",
+ "countryRegion",
+ "signature",
+ "array",
+ "object"
+ ],
+ "x-ms-enum": {
+ "name": "DocumentFieldType",
+ "modelAsString": true
+ }
+ },
+ "ModelId": {
+ "description": "Unique model name.",
+ "type": "string",
+ "pattern": "[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}"
+ },
+ "ModelDescription": {
+ "description": "Model description.",
+ "type": "string",
+ "maxLength": 4096
+ },
+ "DocType": {
+ "description": "Document type name.",
+ "type": "string",
+ "minLength": 2,
+ "maxLength": 64
+ },
+ "BoundingBox": {
+ "description": "Quadrangle bounding box, with coordinates specified relative to the top-left of the page. The eight numbers represent the four points, clockwise from the top-left corner relative to the text orientation.",
+ "type": "array",
+ "minItems": 8,
+ "maxItems": 8,
+ "items": {
+ "type": "number",
+ "minimum": 0
+ }
+ },
+ "BoundingRegion": {
+ "description": "Bounding box on a specific page of the input.",
+ "type": "object",
+ "required": [
+ "pageNumber",
+ "boundingBox"
+ ],
+ "properties": {
+ "pageNumber": {
+ "description": "1-based page number of page containing the bounding region.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1
+ },
+ "boundingBox": {
+ "description": "Bounding box on the page, or the entire page if not specified.",
+ "$ref": "#/definitions/BoundingBox"
+ }
+ }
+ },
+ "Confidence": {
+ "description": "Prediction confidence.",
+ "type": "number",
+ "minimum": 0,
+ "maximum": 1
+ },
+ "DocumentSpan": {
+ "description": "Contiguous region of the concatenated content property, specified as an offset and length.",
+ "type": "object",
+ "required": [
+ "offset",
+ "length"
+ ],
+ "properties": {
+ "offset": {
+ "description": "Zero-based index of the content represented by the span.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0
+ },
+ "length": {
+ "description": "Number of characters in the content represented by the span.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0
+ }
+ }
+ },
+ "StringIndexType": {
+ "description": "Method used to compute string offset and length.",
+ "type": "string",
+ "enum": [
+ "textElements",
+ "unicodeCodePoint",
+ "utf16CodeUnit"
+ ],
+ "x-ms-enum": {
+ "name": "StringIndexType",
+ "modelAsString": true
+ },
+ "default": "textElements"
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "endpoint",
+ "description": "Supported Cognitive Services endpoints (protocol and hostname, for\nexample: https://westus2.api.cognitive.microsoft.com).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "QueryApiVersion": {
+ "name": "api-version",
+ "description": "Requested API version.",
+ "required": true,
+ "type": "string",
+ "in": "query",
+ "enum": [
+ "2021-09-30-preview"
+ ],
+ "x-ms-enum": {
+ "name": "ApiVersion",
+ "modelAsString": true
+ },
+ "x-ms-parameter-location": "client"
+ },
+ "PathModelId": {
+ "name": "modelId",
+ "description": "Unique model name.",
+ "required": true,
+ "type": "string",
+ "pattern": "[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}",
+ "in": "path",
+ "x-ms-parameter-location": "method"
+ },
+ "PathOperationId": {
+ "name": "operationId",
+ "description": "Unique operation ID.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-parameter-location": "method"
+ },
+ "PathResultId": {
+ "name": "resultId",
+ "description": "Analyze operation result ID.",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-parameter-location": "method"
+ },
+ "QueryPages": {
+ "name": "pages",
+ "description": "List of 1-based page numbers to analyze. Ex. \"1-3,5,7-9\"",
+ "required": false,
+ "type": "string",
+ "in": "query",
+ "pattern": "^(\\d+(-\\d+)?)(,\\s*(\\d+(-\\d+)?))*$",
+ "x-ms-parameter-location": "method"
+ },
+ "QueryLocale": {
+ "name": "locale",
+ "description": "Locale hint for text recognition and document analysis. Value may contain only the language code (ex. \"en\", \"fr\") or BCP 47 language tag (ex. \"en-US\").",
+ "required": false,
+ "type": "string",
+ "in": "query",
+ "x-ms-parameter-location": "method"
+ },
+ "QueryStringIndexType": {
+ "name": "stringIndexType",
+ "description": "Method used to compute string offset and length.",
+ "required": false,
+ "in": "query",
+ "type": "string",
+ "enum": [
+ "textElements",
+ "unicodeCodePoint",
+ "utf16CodeUnit"
+ ],
+ "x-ms-enum": {
+ "name": "StringIndexType",
+ "modelAsString": true
+ },
+ "default": "textElements",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/AnalyzeDocument_Base64.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/AnalyzeDocument_Base64.json
new file mode 100644
index 000000000000..aa2417ead468
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/AnalyzeDocument_Base64.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "{apiVersion}",
+ "modelId": "prebuilt-layout",
+ "pages": "1-2,4",
+ "locale": "en-US",
+ "stringIndexType": "textElements",
+ "analyzeRequest": {
+ "base64Source": "{base64EncodedPdf}"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/documentModels/prebuilt-layout/analyzeResults/{resultId}?api-version={apiVersion}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/AnalyzeDocument_Url.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/AnalyzeDocument_Url.json
new file mode 100644
index 000000000000..026e5753980c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/AnalyzeDocument_Url.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "{apiVersion}",
+ "modelId": "customModel",
+ "pages": "1-2,4",
+ "locale": "en-US",
+ "stringIndexType": "textElements",
+ "analyzeRequest": {
+ "urlSource": "http://host.com/doc.pdf"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/documentModels/customModel/analyzeResults/{resultId}?api-version={apiVersion}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/AuthorizeCopyDocumentModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/AuthorizeCopyDocumentModel.json
new file mode 100644
index 000000000000..660c79dd27e1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/AuthorizeCopyDocumentModel.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "{apiVersion}",
+ "authorizeCopyRequest": {
+ "modelId": "{targetModelId}",
+ "description": "{targetModelDescription}"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "targetResourceId": "{targetResourceId}",
+ "targetResourceRegion": "{targetResourceRegion}",
+ "targetModelId": "{targetModelId}",
+ "targetModelLocation": "{targetEndpoint}/formrecognizer/documentModels/{targetModelId}?api-version={apiVersion}",
+ "accessToken": "{accessToken}",
+ "expirationDateTime": "2021-09-23T09:12:54.552Z"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/BuildDocumentModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/BuildDocumentModel.json
new file mode 100644
index 000000000000..ea10ecf207f1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/BuildDocumentModel.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "{apiVersion}",
+ "buildRequest": {
+ "modelId": "{modelId}",
+ "description": "{modelDescription}",
+ "azureBlobSource": {
+ "containerUrl": "https://{storageAccount}.blob.core.windows.net/{containerName}?{sasToken}",
+ "prefix": "{blobNamePrefix}"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/operations/{operationId}?api-version={apiVersion}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/ComposeDocumentModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/ComposeDocumentModel.json
new file mode 100644
index 000000000000..b59559fdb6b5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/ComposeDocumentModel.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "{apiVersion}",
+ "composeRequest": {
+ "modelId": "{composedModelId}",
+ "description": "{composedModelDescription}",
+ "componentModels": [
+ {
+ "modelId": "{modelId1}"
+ },
+ {
+ "modelId": "{modelId2}"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/operations/{operationId}?api-version={apiVersion}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/CopyDocumentModelTo.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/CopyDocumentModelTo.json
new file mode 100644
index 000000000000..6c55bc8d1939
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/CopyDocumentModelTo.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "{apiVersion}",
+ "modelId": "sourceModel",
+ "copyToRequest": {
+ "targetResourceId": "{targetResourceId}",
+ "targetResourceRegion": "{targetResourceRegion}",
+ "targetModelId": "targetModel",
+ "targetModelLocation": "{targetEndpoint}/formrecognizer/documentModels/targetModel?api-version={apiVersion}",
+ "accessToken": "{accessToken}",
+ "expirationDateTime": "2021-09-23T09:12:54.552Z"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/operations/{operationId}?api-version={apiVersion}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/DeleteModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/DeleteModel.json
new file mode 100644
index 000000000000..5b86b604dbf9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/DeleteModel.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "{apiVersion}",
+ "modelId": "{modelId}"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetAnalyzeDocumentResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetAnalyzeDocumentResult.json
new file mode 100644
index 000000000000..4bcfdbd68f41
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetAnalyzeDocumentResult.json
@@ -0,0 +1,7219 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "{apiVersion}",
+ "modelId": "prebuilt-invoice",
+ "resultId": "{resultId}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "succeeded",
+ "createdDateTime": "2021-09-24T13:00:46Z",
+ "lastUpdatedDateTime": "2021-09-24T13:00:49Z",
+ "analyzeResult": {
+ "apiVersion": "{apiVersion}",
+ "modelId": "prebuilt-invoice",
+ "stringIndexType": "textElements",
+ "content": "CONTOSO LTD.\nINVOICE\nContoso Headquarters\nINVOICE: INV-100\n123 456th St\nINVOICE DATE: 11/15/2019\nNew York, NY, 10001\nDUE DATE: 12/15/2019\nCUSTOMER NAME: MICROSOFT CORPORATION\nSERVICE PERIOD: 10/14/2019 – 11/14/2019\nCUSTOMER ID: CID-12345\nMicrosoft Corp\n123 Other St,\nRedmond WA, 98052\nBILL TO:\nSHIP TO:\nSERVICE ADDRESS:\nMicrosoft Finance\nMicrosoft Delivery\nMicrosoft Services\n123 Bill St,\n123 Ship St,\n123 Service St,\nRedmond WA, 98052\nRedmond WA, 98052\nRedmond WA, 98052\nSALESPERSON\nP.O. NUMBER\nREQUISITIONER\nSHIPPED VIA\nF.O.B. POINT\nTERMS\nPO-3333\nDATE\nITEM CODE\nDESCRIPTION\nQTY\nUM\nPRICE\nTAX\nAMOUNT\n3/4/2021\nA123\nConsulting Services\n2\nhours\n$30.00\n10%\n$60.00\n3/5/2021\nB456\nDocument Fee\n3\n$10.00\n5%\n$30.00\n3/6/2021\nC789\nPrinting Fee\n10\npages\n$1.00\n20%\n$10.00\nSUBTOTAL\n$100.00\nSALES TAX\n$10.00\nTOTAL\n$110.00\nPREVIOUS UNPAID BALANCE\n$500.00\nAMOUNT DUE\n$610.00\nTHANK YOU FOR YOUR BUSINESS!\nREMIT TO:\nContoso Billing\n123 Remit St\nNew York, NY, 10001\n:unselected:",
+ "pages": [
+ {
+ "pageNumber": 1,
+ "angle": 0,
+ "width": 8.5,
+ "height": 11,
+ "unit": "inch",
+ "words": [
+ {
+ "content": "CONTOSO",
+ "boundingBox": [
+ 0.5911,
+ 0.6857,
+ 1.7451,
+ 0.6857,
+ 1.7451,
+ 0.8664,
+ 0.5911,
+ 0.8664
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 0,
+ "length": 7
+ }
+ },
+ {
+ "content": "LTD.",
+ "boundingBox": [
+ 1.8441,
+ 0.6879,
+ 2.3181,
+ 0.6879,
+ 2.3181,
+ 0.865,
+ 1.8441,
+ 0.865
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 8,
+ "length": 4
+ }
+ },
+ {
+ "content": "INVOICE",
+ "boundingBox": [
+ 7.0751,
+ 0.589,
+ 7.9886,
+ 0.589,
+ 7.9886,
+ 0.7697,
+ 7.0751,
+ 0.7697
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 13,
+ "length": 7
+ }
+ },
+ {
+ "content": "Contoso",
+ "boundingBox": [
+ 0.5882,
+ 1.4303,
+ 1.1337,
+ 1.4303,
+ 1.1337,
+ 1.5383,
+ 0.5882,
+ 1.5383
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 21,
+ "length": 7
+ }
+ },
+ {
+ "content": "Headquarters",
+ "boundingBox": [
+ 1.1905,
+ 1.4239,
+ 2.0978,
+ 1.4239,
+ 2.0978,
+ 1.5664,
+ 1.1905,
+ 1.5664
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 29,
+ "length": 12
+ }
+ },
+ {
+ "content": "INVOICE:",
+ "boundingBox": [
+ 6.8599,
+ 1.4217,
+ 7.4328,
+ 1.4217,
+ 7.4328,
+ 1.5218,
+ 6.8599,
+ 1.5218
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 42,
+ "length": 8
+ }
+ },
+ {
+ "content": "INV-100",
+ "boundingBox": [
+ 7.4959,
+ 1.422,
+ 7.9988,
+ 1.422,
+ 7.9988,
+ 1.5215,
+ 7.4959,
+ 1.5215
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 51,
+ "length": 7
+ }
+ },
+ {
+ "content": "123",
+ "boundingBox": [
+ 0.5945,
+ 1.6339,
+ 0.8213,
+ 1.6339,
+ 0.8213,
+ 1.742,
+ 0.5945,
+ 1.742
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 59,
+ "length": 3
+ }
+ },
+ {
+ "content": "456th",
+ "boundingBox": [
+ 0.874,
+ 1.6092,
+ 1.2102,
+ 1.6092,
+ 1.2102,
+ 1.742,
+ 0.874,
+ 1.742
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 63,
+ "length": 5
+ }
+ },
+ {
+ "content": "St",
+ "boundingBox": [
+ 1.2598,
+ 1.6339,
+ 1.3812,
+ 1.6339,
+ 1.3812,
+ 1.742,
+ 1.2598,
+ 1.742
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 69,
+ "length": 2
+ }
+ },
+ {
+ "content": "INVOICE",
+ "boundingBox": [
+ 6.2263,
+ 1.6254,
+ 6.7562,
+ 1.6254,
+ 6.7562,
+ 1.7256,
+ 6.2263,
+ 1.7256
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 72,
+ "length": 7
+ }
+ },
+ {
+ "content": "DATE:",
+ "boundingBox": [
+ 6.8132,
+ 1.6267,
+ 7.1891,
+ 1.6267,
+ 7.1891,
+ 1.7248,
+ 6.8132,
+ 1.7248
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 80,
+ "length": 5
+ }
+ },
+ {
+ "content": "11/15/2019",
+ "boundingBox": [
+ 7.2528,
+ 1.6139,
+ 7.993,
+ 1.6139,
+ 7.993,
+ 1.7449,
+ 7.2528,
+ 1.7449
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 86,
+ "length": 10
+ }
+ },
+ {
+ "content": "New",
+ "boundingBox": [
+ 0.5943,
+ 1.8385,
+ 0.8848,
+ 1.8385,
+ 0.8848,
+ 1.9454,
+ 0.5943,
+ 1.9454
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 97,
+ "length": 3
+ }
+ },
+ {
+ "content": "York,",
+ "boundingBox": [
+ 0.9293,
+ 1.8307,
+ 1.2568,
+ 1.8307,
+ 1.2568,
+ 1.9675,
+ 0.9293,
+ 1.9675
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 101,
+ "length": 5
+ }
+ },
+ {
+ "content": "NY,",
+ "boundingBox": [
+ 1.3205,
+ 1.8382,
+ 1.5242,
+ 1.8382,
+ 1.5242,
+ 1.9675,
+ 1.3205,
+ 1.9675
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 107,
+ "length": 3
+ }
+ },
+ {
+ "content": "10001",
+ "boundingBox": [
+ 1.5915,
+ 1.8372,
+ 1.9894,
+ 1.8372,
+ 1.9894,
+ 1.9454,
+ 1.5915,
+ 1.9454
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 111,
+ "length": 5
+ }
+ },
+ {
+ "content": "DUE",
+ "boundingBox": [
+ 6.4966,
+ 1.8333,
+ 6.7569,
+ 1.8333,
+ 6.7569,
+ 1.9322,
+ 6.4966,
+ 1.9322
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 117,
+ "length": 3
+ }
+ },
+ {
+ "content": "DATE:",
+ "boundingBox": [
+ 6.8126,
+ 1.8333,
+ 7.1846,
+ 1.8333,
+ 7.1846,
+ 1.9315,
+ 6.8126,
+ 1.9315
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 121,
+ "length": 5
+ }
+ },
+ {
+ "content": "12/15/2019",
+ "boundingBox": [
+ 7.2494,
+ 1.8206,
+ 7.993,
+ 1.8206,
+ 7.993,
+ 1.9515,
+ 7.2494,
+ 1.9515
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 127,
+ "length": 10
+ }
+ },
+ {
+ "content": "CUSTOMER",
+ "boundingBox": [
+ 4.9513,
+ 2.0388,
+ 5.6868,
+ 2.0388,
+ 5.6868,
+ 2.1389,
+ 4.9513,
+ 2.1389
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 138,
+ "length": 8
+ }
+ },
+ {
+ "content": "NAME:",
+ "boundingBox": [
+ 5.7412,
+ 2.04,
+ 6.1764,
+ 2.04,
+ 6.1764,
+ 2.1381,
+ 5.7412,
+ 2.1381
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 147,
+ "length": 5
+ }
+ },
+ {
+ "content": "MICROSOFT",
+ "boundingBox": [
+ 6.2419,
+ 2.0391,
+ 6.9981,
+ 2.0391,
+ 6.9981,
+ 2.1386,
+ 6.2419,
+ 2.1386
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 153,
+ "length": 9
+ }
+ },
+ {
+ "content": "CORPORATION",
+ "boundingBox": [
+ 7.0448,
+ 2.0391,
+ 7.9825,
+ 2.0391,
+ 7.9825,
+ 2.1386,
+ 7.0448,
+ 2.1386
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 163,
+ "length": 11
+ }
+ },
+ {
+ "content": "SERVICE",
+ "boundingBox": [
+ 5.1667,
+ 2.2421,
+ 5.6923,
+ 2.2421,
+ 5.6923,
+ 2.3422,
+ 5.1667,
+ 2.3422
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 175,
+ "length": 7
+ }
+ },
+ {
+ "content": "PERIOD:",
+ "boundingBox": [
+ 5.748,
+ 2.2421,
+ 6.2721,
+ 2.2421,
+ 6.2721,
+ 2.3422,
+ 5.748,
+ 2.3422
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 183,
+ "length": 7
+ }
+ },
+ {
+ "content": "10/14/2019",
+ "boundingBox": [
+ 6.3357,
+ 2.2306,
+ 7.0749,
+ 2.2306,
+ 7.0749,
+ 2.3615,
+ 6.3357,
+ 2.3615
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 191,
+ "length": 10
+ }
+ },
+ {
+ "content": "–",
+ "boundingBox": [
+ 7.122,
+ 2.2922,
+ 7.1995,
+ 2.2922,
+ 7.1995,
+ 2.3037,
+ 7.122,
+ 2.3037
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 202,
+ "length": 1
+ }
+ },
+ {
+ "content": "11/14/2019",
+ "boundingBox": [
+ 7.2528,
+ 2.2306,
+ 7.9952,
+ 2.2306,
+ 7.9952,
+ 2.3615,
+ 7.2528,
+ 2.3615
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 204,
+ "length": 10
+ }
+ },
+ {
+ "content": "CUSTOMER",
+ "boundingBox": [
+ 6.3253,
+ 2.4488,
+ 7.0608,
+ 2.4488,
+ 7.0608,
+ 2.5489,
+ 6.3253,
+ 2.5489
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 215,
+ "length": 8
+ }
+ },
+ {
+ "content": "ID:",
+ "boundingBox": [
+ 7.1153,
+ 2.45,
+ 7.2809,
+ 2.45,
+ 7.2809,
+ 2.5481,
+ 7.1153,
+ 2.5481
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 224,
+ "length": 3
+ }
+ },
+ {
+ "content": "CID-12345",
+ "boundingBox": [
+ 7.3369,
+ 2.4491,
+ 7.9951,
+ 2.4491,
+ 7.9951,
+ 2.5486,
+ 7.3369,
+ 2.5486
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 228,
+ "length": 9
+ }
+ },
+ {
+ "content": "Microsoft",
+ "boundingBox": [
+ 0.5943,
+ 2.6436,
+ 1.2303,
+ 2.6436,
+ 1.2303,
+ 2.759,
+ 0.5943,
+ 2.759
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 238,
+ "length": 9
+ }
+ },
+ {
+ "content": "Corp",
+ "boundingBox": [
+ 1.2808,
+ 2.651,
+ 1.586,
+ 2.651,
+ 1.586,
+ 2.7871,
+ 1.2808,
+ 2.7871
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 248,
+ "length": 4
+ }
+ },
+ {
+ "content": "123",
+ "boundingBox": [
+ 0.5945,
+ 2.8541,
+ 0.8213,
+ 2.8541,
+ 0.8213,
+ 2.9623,
+ 0.5945,
+ 2.9623
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 253,
+ "length": 3
+ }
+ },
+ {
+ "content": "Other",
+ "boundingBox": [
+ 0.875,
+ 2.8476,
+ 1.262,
+ 2.8476,
+ 1.262,
+ 2.9623,
+ 0.875,
+ 2.9623
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 257,
+ "length": 5
+ }
+ },
+ {
+ "content": "St,",
+ "boundingBox": [
+ 1.3058,
+ 2.8541,
+ 1.4633,
+ 2.8541,
+ 1.4633,
+ 2.9845,
+ 1.3058,
+ 2.9845
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 263,
+ "length": 3
+ }
+ },
+ {
+ "content": "Redmond",
+ "boundingBox": [
+ 0.5943,
+ 3.0513,
+ 1.2222,
+ 3.0513,
+ 1.2222,
+ 3.1656,
+ 0.5943,
+ 3.1656
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 267,
+ "length": 7
+ }
+ },
+ {
+ "content": "WA,",
+ "boundingBox": [
+ 1.2753,
+ 3.0585,
+ 1.5468,
+ 3.0585,
+ 1.5468,
+ 3.1878,
+ 1.2753,
+ 3.1878
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 275,
+ "length": 3
+ }
+ },
+ {
+ "content": "98052",
+ "boundingBox": [
+ 1.6033,
+ 3.0575,
+ 2.0083,
+ 3.0575,
+ 2.0083,
+ 3.1656,
+ 1.6033,
+ 3.1656
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 279,
+ "length": 5
+ }
+ },
+ {
+ "content": "BILL",
+ "boundingBox": [
+ 0.5909,
+ 3.5603,
+ 0.8438,
+ 3.5603,
+ 0.8438,
+ 3.6579,
+ 0.5909,
+ 3.6579
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 285,
+ "length": 4
+ }
+ },
+ {
+ "content": "TO:",
+ "boundingBox": [
+ 0.8846,
+ 3.559,
+ 1.1032,
+ 3.559,
+ 1.1032,
+ 3.6592,
+ 0.8846,
+ 3.6592
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 290,
+ "length": 3
+ }
+ },
+ {
+ "content": "SHIP",
+ "boundingBox": [
+ 3.3361,
+ 3.559,
+ 3.6278,
+ 3.559,
+ 3.6278,
+ 3.6592,
+ 3.3361,
+ 3.6592
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 294,
+ "length": 4
+ }
+ },
+ {
+ "content": "TO:",
+ "boundingBox": [
+ 3.6716,
+ 3.559,
+ 3.8903,
+ 3.559,
+ 3.8903,
+ 3.6592,
+ 3.6716,
+ 3.6592
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 299,
+ "length": 3
+ }
+ },
+ {
+ "content": "SERVICE",
+ "boundingBox": [
+ 6.2104,
+ 3.559,
+ 6.7361,
+ 3.559,
+ 6.7361,
+ 3.6592,
+ 6.2104,
+ 3.6592
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 303,
+ "length": 7
+ }
+ },
+ {
+ "content": "ADDRESS:",
+ "boundingBox": [
+ 6.7828,
+ 3.559,
+ 7.4232,
+ 3.559,
+ 7.4232,
+ 3.6592,
+ 6.7828,
+ 3.6592
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 311,
+ "length": 8
+ }
+ },
+ {
+ "content": "Microsoft",
+ "boundingBox": [
+ 0.5943,
+ 3.7641,
+ 1.2303,
+ 3.7641,
+ 1.2303,
+ 3.8794,
+ 0.5943,
+ 3.8794
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 320,
+ "length": 9
+ }
+ },
+ {
+ "content": "Finance",
+ "boundingBox": [
+ 1.287,
+ 3.7701,
+ 1.7878,
+ 3.7701,
+ 1.7878,
+ 3.8794,
+ 1.287,
+ 3.8794
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 330,
+ "length": 7
+ }
+ },
+ {
+ "content": "Microsoft",
+ "boundingBox": [
+ 3.3454,
+ 3.7641,
+ 3.9814,
+ 3.7641,
+ 3.9814,
+ 3.8794,
+ 3.3454,
+ 3.8794
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 338,
+ "length": 9
+ }
+ },
+ {
+ "content": "Delivery",
+ "boundingBox": [
+ 4.0381,
+ 3.7647,
+ 4.5762,
+ 3.7647,
+ 4.5762,
+ 3.9076,
+ 4.0381,
+ 3.9076
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 348,
+ "length": 8
+ }
+ },
+ {
+ "content": "Microsoft",
+ "boundingBox": [
+ 6.2197,
+ 3.7641,
+ 6.8557,
+ 3.7641,
+ 6.8557,
+ 3.8794,
+ 6.2197,
+ 3.8794
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 357,
+ "length": 9
+ }
+ },
+ {
+ "content": "Services",
+ "boundingBox": [
+ 6.9042,
+ 3.7701,
+ 7.4427,
+ 3.7701,
+ 7.4427,
+ 3.8794,
+ 6.9042,
+ 3.8794
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 367,
+ "length": 8
+ }
+ },
+ {
+ "content": "123",
+ "boundingBox": [
+ 0.5945,
+ 3.9746,
+ 0.8213,
+ 3.9746,
+ 0.8213,
+ 4.0827,
+ 0.5945,
+ 4.0827
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 376,
+ "length": 3
+ }
+ },
+ {
+ "content": "Bill",
+ "boundingBox": [
+ 0.8842,
+ 3.9681,
+ 1.0657,
+ 3.9681,
+ 1.0657,
+ 4.0817,
+ 0.8842,
+ 4.0817
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 380,
+ "length": 4
+ }
+ },
+ {
+ "content": "St,",
+ "boundingBox": [
+ 1.1222,
+ 3.9746,
+ 1.2765,
+ 3.9746,
+ 1.2765,
+ 4.1049,
+ 1.1222,
+ 4.1049
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 385,
+ "length": 3
+ }
+ },
+ {
+ "content": "123",
+ "boundingBox": [
+ 3.3456,
+ 3.9746,
+ 3.5724,
+ 3.9746,
+ 3.5724,
+ 4.0827,
+ 3.3456,
+ 4.0827
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 389,
+ "length": 3
+ }
+ },
+ {
+ "content": "Ship",
+ "boundingBox": [
+ 3.6239,
+ 3.9681,
+ 3.9042,
+ 3.9681,
+ 3.9042,
+ 4.1109,
+ 3.6239,
+ 4.1109
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 393,
+ "length": 4
+ }
+ },
+ {
+ "content": "St,",
+ "boundingBox": [
+ 3.9536,
+ 3.9746,
+ 4.1111,
+ 3.9746,
+ 4.1111,
+ 4.1049,
+ 3.9536,
+ 4.1049
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 398,
+ "length": 3
+ }
+ },
+ {
+ "content": "123",
+ "boundingBox": [
+ 6.2199,
+ 3.9746,
+ 6.4467,
+ 3.9746,
+ 6.4467,
+ 4.0827,
+ 6.2199,
+ 4.0827
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 402,
+ "length": 3
+ }
+ },
+ {
+ "content": "Service",
+ "boundingBox": [
+ 6.4985,
+ 3.9734,
+ 6.9738,
+ 3.9734,
+ 6.9738,
+ 4.0827,
+ 6.4985,
+ 4.0827
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 406,
+ "length": 7
+ }
+ },
+ {
+ "content": "St,",
+ "boundingBox": [
+ 7.0246,
+ 3.9746,
+ 7.1821,
+ 3.9746,
+ 7.1821,
+ 4.1049,
+ 7.0246,
+ 4.1049
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 414,
+ "length": 3
+ }
+ },
+ {
+ "content": "Redmond",
+ "boundingBox": [
+ 0.5943,
+ 4.1717,
+ 1.2222,
+ 4.1717,
+ 1.2222,
+ 4.2861,
+ 0.5943,
+ 4.2861
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 418,
+ "length": 7
+ }
+ },
+ {
+ "content": "WA,",
+ "boundingBox": [
+ 1.2753,
+ 4.1789,
+ 1.5468,
+ 4.1789,
+ 1.5468,
+ 4.3082,
+ 1.2753,
+ 4.3082
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 426,
+ "length": 3
+ }
+ },
+ {
+ "content": "98052",
+ "boundingBox": [
+ 1.6033,
+ 4.1779,
+ 2.0083,
+ 4.1779,
+ 2.0083,
+ 4.2861,
+ 1.6033,
+ 4.2861
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 430,
+ "length": 5
+ }
+ },
+ {
+ "content": "Redmond",
+ "boundingBox": [
+ 3.3454,
+ 4.1717,
+ 3.9732,
+ 4.1717,
+ 3.9732,
+ 4.2861,
+ 3.3454,
+ 4.2861
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 436,
+ "length": 7
+ }
+ },
+ {
+ "content": "WA,",
+ "boundingBox": [
+ 4.0264,
+ 4.1789,
+ 4.2979,
+ 4.1789,
+ 4.2979,
+ 4.3082,
+ 4.0264,
+ 4.3082
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 444,
+ "length": 3
+ }
+ },
+ {
+ "content": "98052",
+ "boundingBox": [
+ 4.3544,
+ 4.1779,
+ 4.7594,
+ 4.1779,
+ 4.7594,
+ 4.2861,
+ 4.3544,
+ 4.2861
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 448,
+ "length": 5
+ }
+ },
+ {
+ "content": "Redmond",
+ "boundingBox": [
+ 6.2197,
+ 4.1717,
+ 6.8475,
+ 4.1717,
+ 6.8475,
+ 4.2861,
+ 6.2197,
+ 4.2861
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 454,
+ "length": 7
+ }
+ },
+ {
+ "content": "WA,",
+ "boundingBox": [
+ 6.9007,
+ 4.1789,
+ 7.1722,
+ 4.1789,
+ 7.1722,
+ 4.3082,
+ 6.9007,
+ 4.3082
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 462,
+ "length": 3
+ }
+ },
+ {
+ "content": "98052",
+ "boundingBox": [
+ 7.2287,
+ 4.1779,
+ 7.6337,
+ 4.1779,
+ 7.6337,
+ 4.2861,
+ 7.2287,
+ 4.2861
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 466,
+ "length": 5
+ }
+ },
+ {
+ "content": "SALESPERSON",
+ "boundingBox": [
+ 0.7018,
+ 4.6528,
+ 1.6092,
+ 4.6528,
+ 1.6092,
+ 4.7529,
+ 0.7018,
+ 4.7529
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 472,
+ "length": 11
+ }
+ },
+ {
+ "content": "P.O.",
+ "boundingBox": [
+ 2.1216,
+ 4.6528,
+ 2.3788,
+ 4.6528,
+ 2.3788,
+ 4.7529,
+ 2.1216,
+ 4.7529
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 484,
+ "length": 4
+ }
+ },
+ {
+ "content": "NUMBER",
+ "boundingBox": [
+ 2.4376,
+ 4.654,
+ 3.0155,
+ 4.654,
+ 3.0155,
+ 4.7529,
+ 2.4376,
+ 4.7529
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 489,
+ "length": 6
+ }
+ },
+ {
+ "content": "REQUISITIONER",
+ "boundingBox": [
+ 3.4953,
+ 4.6528,
+ 4.5157,
+ 4.6528,
+ 4.5157,
+ 4.7687,
+ 3.4953,
+ 4.7687
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 496,
+ "length": 13
+ }
+ },
+ {
+ "content": "SHIPPED",
+ "boundingBox": [
+ 4.81,
+ 4.6528,
+ 5.362,
+ 4.6528,
+ 5.362,
+ 4.7529,
+ 4.81,
+ 4.7529
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 510,
+ "length": 7
+ }
+ },
+ {
+ "content": "VIA",
+ "boundingBox": [
+ 5.409,
+ 4.654,
+ 5.6317,
+ 4.654,
+ 5.6317,
+ 4.7517,
+ 5.409,
+ 4.7517
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 518,
+ "length": 3
+ }
+ },
+ {
+ "content": "F.O.B.",
+ "boundingBox": [
+ 5.8696,
+ 4.6528,
+ 6.2467,
+ 4.6528,
+ 6.2467,
+ 4.7529,
+ 5.8696,
+ 4.7529
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 522,
+ "length": 6
+ }
+ },
+ {
+ "content": "POINT",
+ "boundingBox": [
+ 6.3054,
+ 4.6528,
+ 6.706,
+ 4.6528,
+ 6.706,
+ 4.7529,
+ 6.3054,
+ 4.7529
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 529,
+ "length": 5
+ }
+ },
+ {
+ "content": "TERMS",
+ "boundingBox": [
+ 7.1806,
+ 4.6528,
+ 7.6304,
+ 4.6528,
+ 7.6304,
+ 4.7529,
+ 7.1806,
+ 4.7529
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 535,
+ "length": 5
+ }
+ },
+ {
+ "content": "PO-3333",
+ "boundingBox": [
+ 1.9114,
+ 4.9282,
+ 2.4718,
+ 4.9282,
+ 2.4718,
+ 5.0363,
+ 1.9114,
+ 5.0363
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 541,
+ "length": 7
+ }
+ },
+ {
+ "content": "DATE",
+ "boundingBox": [
+ 0.7409,
+ 5.421,
+ 1.0744,
+ 5.421,
+ 1.0744,
+ 5.5186,
+ 0.7409,
+ 5.5186
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 549,
+ "length": 4
+ }
+ },
+ {
+ "content": "ITEM",
+ "boundingBox": [
+ 1.4213,
+ 5.421,
+ 1.7338,
+ 5.421,
+ 1.7338,
+ 5.5186,
+ 1.4213,
+ 5.5186
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 554,
+ "length": 4
+ }
+ },
+ {
+ "content": "CODE",
+ "boundingBox": [
+ 1.7893,
+ 5.4197,
+ 2.1407,
+ 5.4197,
+ 2.1407,
+ 5.5199,
+ 1.7893,
+ 5.5199
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 559,
+ "length": 4
+ }
+ },
+ {
+ "content": "DESCRIPTION",
+ "boundingBox": [
+ 2.8516,
+ 5.4197,
+ 3.7134,
+ 5.4197,
+ 3.7134,
+ 5.5199,
+ 2.8516,
+ 5.5199
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 564,
+ "length": 11
+ }
+ },
+ {
+ "content": "QTY",
+ "boundingBox": [
+ 4.4043,
+ 5.4197,
+ 4.6631,
+ 5.4197,
+ 4.6631,
+ 5.5357,
+ 4.4043,
+ 5.5357
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 576,
+ "length": 3
+ }
+ },
+ {
+ "content": "UM",
+ "boundingBox": [
+ 5.049,
+ 5.421,
+ 5.2654,
+ 5.421,
+ 5.2654,
+ 5.5199,
+ 5.049,
+ 5.5199
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 580,
+ "length": 2
+ }
+ },
+ {
+ "content": "PRICE",
+ "boundingBox": [
+ 5.8563,
+ 5.4199,
+ 6.2163,
+ 5.4199,
+ 6.2163,
+ 5.5197,
+ 5.8563,
+ 5.5197
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 583,
+ "length": 5
+ }
+ },
+ {
+ "content": "TAX",
+ "boundingBox": [
+ 6.7169,
+ 5.421,
+ 6.974,
+ 5.421,
+ 6.974,
+ 5.5186,
+ 6.7169,
+ 5.5186
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 589,
+ "length": 3
+ }
+ },
+ {
+ "content": "AMOUNT",
+ "boundingBox": [
+ 7.2847,
+ 5.4197,
+ 7.9039,
+ 5.4197,
+ 7.9039,
+ 5.5199,
+ 7.2847,
+ 5.5199
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 593,
+ "length": 6
+ }
+ },
+ {
+ "content": "3/4/2021",
+ "boundingBox": [
+ 0.592,
+ 5.682,
+ 1.2092,
+ 5.682,
+ 1.2092,
+ 5.8243,
+ 0.592,
+ 5.8243
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 600,
+ "length": 8
+ }
+ },
+ {
+ "content": "A123",
+ "boundingBox": [
+ 1.6069,
+ 5.6948,
+ 1.9417,
+ 5.6948,
+ 1.9417,
+ 5.803,
+ 1.6069,
+ 5.803
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 609,
+ "length": 4
+ }
+ },
+ {
+ "content": "Consulting",
+ "boundingBox": [
+ 2.3388,
+ 5.6883,
+ 3.0438,
+ 5.6883,
+ 3.0438,
+ 5.8312,
+ 2.3388,
+ 5.8312
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 614,
+ "length": 10
+ }
+ },
+ {
+ "content": "Services",
+ "boundingBox": [
+ 3.0925,
+ 5.6937,
+ 3.6278,
+ 5.6937,
+ 3.6278,
+ 5.803,
+ 3.0925,
+ 5.803
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 625,
+ "length": 8
+ }
+ },
+ {
+ "content": "2",
+ "boundingBox": [
+ 4.5977,
+ 5.6948,
+ 4.6635,
+ 5.6948,
+ 4.6635,
+ 5.8017,
+ 4.5977,
+ 5.8017
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 634,
+ "length": 1
+ }
+ },
+ {
+ "content": "hours",
+ "boundingBox": [
+ 4.8444,
+ 5.6883,
+ 5.2071,
+ 5.6883,
+ 5.2071,
+ 5.803,
+ 4.8444,
+ 5.803
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 636,
+ "length": 5
+ }
+ },
+ {
+ "content": "$30.00",
+ "boundingBox": [
+ 5.9669,
+ 5.6777,
+ 6.4142,
+ 5.6777,
+ 6.4142,
+ 5.8215,
+ 5.9669,
+ 5.8215
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 642,
+ "length": 6
+ }
+ },
+ {
+ "content": "10%",
+ "boundingBox": [
+ 6.7168,
+ 5.6932,
+ 6.9826,
+ 5.6932,
+ 6.9826,
+ 5.8045,
+ 6.7168,
+ 5.8045
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 649,
+ "length": 3
+ }
+ },
+ {
+ "content": "$60.00",
+ "boundingBox": [
+ 7.4642,
+ 5.6777,
+ 7.9116,
+ 5.6777,
+ 7.9116,
+ 5.8215,
+ 7.4642,
+ 5.8215
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 653,
+ "length": 6
+ }
+ },
+ {
+ "content": "3/5/2021",
+ "boundingBox": [
+ 0.592,
+ 5.9787,
+ 1.2088,
+ 5.9787,
+ 1.2088,
+ 6.121,
+ 0.592,
+ 6.121
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 660,
+ "length": 8
+ }
+ },
+ {
+ "content": "B456",
+ "boundingBox": [
+ 1.6214,
+ 5.9915,
+ 1.9419,
+ 5.9915,
+ 1.9419,
+ 6.0997,
+ 1.6214,
+ 6.0997
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 669,
+ "length": 4
+ }
+ },
+ {
+ "content": "Document",
+ "boundingBox": [
+ 2.345,
+ 5.993,
+ 3.0318,
+ 5.993,
+ 3.0318,
+ 6.0997,
+ 2.345,
+ 6.0997
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 674,
+ "length": 8
+ }
+ },
+ {
+ "content": "Fee",
+ "boundingBox": [
+ 3.0887,
+ 5.993,
+ 3.3096,
+ 5.993,
+ 3.3096,
+ 6.0997,
+ 3.0887,
+ 6.0997
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 683,
+ "length": 3
+ }
+ },
+ {
+ "content": "3",
+ "boundingBox": [
+ 4.5967,
+ 5.9915,
+ 4.6627,
+ 5.9915,
+ 4.6627,
+ 6.0997,
+ 4.5967,
+ 6.0997
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 687,
+ "length": 1
+ }
+ },
+ {
+ "content": "$10.00",
+ "boundingBox": [
+ 5.9669,
+ 5.9743,
+ 6.4142,
+ 5.9743,
+ 6.4142,
+ 6.1182,
+ 5.9669,
+ 6.1182
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 689,
+ "length": 6
+ }
+ },
+ {
+ "content": "5%",
+ "boundingBox": [
+ 6.7508,
+ 5.9898,
+ 6.9393,
+ 5.9898,
+ 6.9393,
+ 6.1012,
+ 6.7508,
+ 6.1012
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 696,
+ "length": 2
+ }
+ },
+ {
+ "content": "$30.00",
+ "boundingBox": [
+ 7.4642,
+ 5.9743,
+ 7.9116,
+ 5.9743,
+ 7.9116,
+ 6.1182,
+ 7.4642,
+ 6.1182
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 699,
+ "length": 6
+ }
+ },
+ {
+ "content": "3/6/2021",
+ "boundingBox": [
+ 0.592,
+ 6.2789,
+ 1.2088,
+ 6.2789,
+ 1.2088,
+ 6.4213,
+ 0.592,
+ 6.4213
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 706,
+ "length": 8
+ }
+ },
+ {
+ "content": "C789",
+ "boundingBox": [
+ 1.6152,
+ 6.2918,
+ 1.94,
+ 6.2918,
+ 1.94,
+ 6.3999,
+ 1.6152,
+ 6.3999
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 715,
+ "length": 4
+ }
+ },
+ {
+ "content": "Printing",
+ "boundingBox": [
+ 2.345,
+ 6.2906,
+ 2.8575,
+ 6.2906,
+ 2.8575,
+ 6.4281,
+ 2.345,
+ 6.4281
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 720,
+ "length": 8
+ }
+ },
+ {
+ "content": "Fee",
+ "boundingBox": [
+ 2.9143,
+ 6.2933,
+ 3.1351,
+ 6.2933,
+ 3.1351,
+ 6.3999,
+ 2.9143,
+ 6.3999
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 729,
+ "length": 3
+ }
+ },
+ {
+ "content": "10",
+ "boundingBox": [
+ 4.5158,
+ 6.2918,
+ 4.6637,
+ 6.2918,
+ 4.6637,
+ 6.3999,
+ 4.5158,
+ 6.3999
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 733,
+ "length": 2
+ }
+ },
+ {
+ "content": "pages",
+ "boundingBox": [
+ 4.8444,
+ 6.3196,
+ 5.2199,
+ 6.3196,
+ 5.2199,
+ 6.4281,
+ 4.8444,
+ 6.4281
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 736,
+ "length": 5
+ }
+ },
+ {
+ "content": "$1.00",
+ "boundingBox": [
+ 6.0502,
+ 6.2746,
+ 6.4142,
+ 6.2746,
+ 6.4142,
+ 6.4184,
+ 6.0502,
+ 6.4184
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 742,
+ "length": 5
+ }
+ },
+ {
+ "content": "20%",
+ "boundingBox": [
+ 6.712,
+ 6.2901,
+ 6.9826,
+ 6.2901,
+ 6.9826,
+ 6.4014,
+ 6.712,
+ 6.4014
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 748,
+ "length": 3
+ }
+ },
+ {
+ "content": "$10.00",
+ "boundingBox": [
+ 7.4642,
+ 6.2746,
+ 7.9116,
+ 6.2746,
+ 7.9116,
+ 6.4184,
+ 7.4642,
+ 6.4184
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 752,
+ "length": 6
+ }
+ },
+ {
+ "content": "SUBTOTAL",
+ "boundingBox": [
+ 6.0282,
+ 6.9118,
+ 6.7309,
+ 6.9118,
+ 6.7309,
+ 7.0199,
+ 6.0282,
+ 7.0199
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 759,
+ "length": 8
+ }
+ },
+ {
+ "content": "$100.00",
+ "boundingBox": [
+ 7.3842,
+ 6.8679,
+ 7.9181,
+ 6.8679,
+ 7.9181,
+ 7.0118,
+ 7.3842,
+ 7.0118
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 768,
+ "length": 7
+ }
+ },
+ {
+ "content": "SALES",
+ "boundingBox": [
+ 6.0382,
+ 7.2089,
+ 6.4262,
+ 7.2089,
+ 6.4262,
+ 7.317,
+ 6.0382,
+ 7.317
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 776,
+ "length": 5
+ }
+ },
+ {
+ "content": "TAX",
+ "boundingBox": [
+ 6.4702,
+ 7.2099,
+ 6.728,
+ 7.2099,
+ 6.728,
+ 7.316,
+ 6.4702,
+ 7.316
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 782,
+ "length": 3
+ }
+ },
+ {
+ "content": "$10.00",
+ "boundingBox": [
+ 7.4709,
+ 7.165,
+ 7.9182,
+ 7.165,
+ 7.9182,
+ 7.3089,
+ 7.4709,
+ 7.3089
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 786,
+ "length": 6
+ }
+ },
+ {
+ "content": "TOTAL",
+ "boundingBox": [
+ 6.2969,
+ 7.5089,
+ 6.7309,
+ 7.5089,
+ 6.7309,
+ 7.617,
+ 6.2969,
+ 7.617
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 793,
+ "length": 5
+ }
+ },
+ {
+ "content": "$110.00",
+ "boundingBox": [
+ 7.3842,
+ 7.465,
+ 7.9181,
+ 7.465,
+ 7.9181,
+ 7.6089,
+ 7.3842,
+ 7.6089
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 799,
+ "length": 7
+ }
+ },
+ {
+ "content": "PREVIOUS",
+ "boundingBox": [
+ 4.8126,
+ 7.8055,
+ 5.4789,
+ 7.8055,
+ 5.4789,
+ 7.9137,
+ 4.8126,
+ 7.9137
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 807,
+ "length": 8
+ }
+ },
+ {
+ "content": "UNPAID",
+ "boundingBox": [
+ 5.5362,
+ 7.8065,
+ 6.057,
+ 7.8065,
+ 6.057,
+ 7.9137,
+ 5.5362,
+ 7.9137
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 816,
+ "length": 6
+ }
+ },
+ {
+ "content": "BALANCE",
+ "boundingBox": [
+ 6.1164,
+ 7.8057,
+ 6.7249,
+ 7.8057,
+ 6.7249,
+ 7.9135,
+ 6.1164,
+ 7.9135
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 823,
+ "length": 7
+ }
+ },
+ {
+ "content": "$500.00",
+ "boundingBox": [
+ 7.3842,
+ 7.7617,
+ 7.9181,
+ 7.7617,
+ 7.9181,
+ 7.9055,
+ 7.3842,
+ 7.9055
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 831,
+ "length": 7
+ }
+ },
+ {
+ "content": "AMOUNT",
+ "boundingBox": [
+ 5.7652,
+ 8.1022,
+ 6.4055,
+ 8.1022,
+ 6.4055,
+ 8.2104,
+ 5.7652,
+ 8.2104
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 839,
+ "length": 6
+ }
+ },
+ {
+ "content": "DUE",
+ "boundingBox": [
+ 6.4562,
+ 8.1032,
+ 6.725,
+ 8.1032,
+ 6.725,
+ 8.2104,
+ 6.4562,
+ 8.2104
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 846,
+ "length": 3
+ }
+ },
+ {
+ "content": "$610.00",
+ "boundingBox": [
+ 7.3842,
+ 8.0584,
+ 7.9181,
+ 8.0584,
+ 7.9181,
+ 8.2022,
+ 7.3842,
+ 8.2022
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 850,
+ "length": 7
+ }
+ },
+ {
+ "content": "THANK",
+ "boundingBox": [
+ 3.129,
+ 8.5453,
+ 3.5887,
+ 8.5453,
+ 3.5887,
+ 8.6429,
+ 3.129,
+ 8.6429
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 858,
+ "length": 5
+ }
+ },
+ {
+ "content": "YOU",
+ "boundingBox": [
+ 3.6316,
+ 8.544,
+ 3.9064,
+ 8.544,
+ 3.9064,
+ 8.6442,
+ 3.6316,
+ 8.6442
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 864,
+ "length": 3
+ }
+ },
+ {
+ "content": "FOR",
+ "boundingBox": [
+ 3.9671,
+ 8.544,
+ 4.2187,
+ 8.544,
+ 4.2187,
+ 8.6442,
+ 3.9671,
+ 8.6442
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 868,
+ "length": 3
+ }
+ },
+ {
+ "content": "YOUR",
+ "boundingBox": [
+ 4.2638,
+ 8.544,
+ 4.6347,
+ 8.544,
+ 4.6347,
+ 8.6442,
+ 4.2638,
+ 8.6442
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 872,
+ "length": 4
+ }
+ },
+ {
+ "content": "BUSINESS!",
+ "boundingBox": [
+ 4.6859,
+ 8.539,
+ 5.356,
+ 8.539,
+ 5.356,
+ 8.6442,
+ 4.6859,
+ 8.6442
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 877,
+ "length": 9
+ }
+ },
+ {
+ "content": "REMIT",
+ "boundingBox": [
+ 0.5909,
+ 9.1619,
+ 1.0014,
+ 9.1619,
+ 1.0014,
+ 9.2596,
+ 0.5909,
+ 9.2596
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 887,
+ "length": 5
+ }
+ },
+ {
+ "content": "TO:",
+ "boundingBox": [
+ 1.0446,
+ 9.1607,
+ 1.2603,
+ 9.1607,
+ 1.2603,
+ 9.2608,
+ 1.0446,
+ 9.2608
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 893,
+ "length": 3
+ }
+ },
+ {
+ "content": "Contoso",
+ "boundingBox": [
+ 0.5882,
+ 9.3697,
+ 1.1337,
+ 9.3697,
+ 1.1337,
+ 9.4777,
+ 0.5882,
+ 9.4777
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 897,
+ "length": 7
+ }
+ },
+ {
+ "content": "Billing",
+ "boundingBox": [
+ 1.1905,
+ 9.3631,
+ 1.5828,
+ 9.3631,
+ 1.5828,
+ 9.5059,
+ 1.1905,
+ 9.5059
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 905,
+ "length": 7
+ }
+ },
+ {
+ "content": "123",
+ "boundingBox": [
+ 0.5945,
+ 9.5728,
+ 0.8213,
+ 9.5728,
+ 0.8213,
+ 9.681,
+ 0.5945,
+ 9.681
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 913,
+ "length": 3
+ }
+ },
+ {
+ "content": "Remit",
+ "boundingBox": [
+ 0.881,
+ 9.5717,
+ 1.264,
+ 9.5717,
+ 1.264,
+ 9.681,
+ 0.881,
+ 9.681
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 917,
+ "length": 5
+ }
+ },
+ {
+ "content": "St",
+ "boundingBox": [
+ 1.3125,
+ 9.5728,
+ 1.4337,
+ 9.5728,
+ 1.4337,
+ 9.681,
+ 1.3125,
+ 9.681
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 923,
+ "length": 2
+ }
+ },
+ {
+ "content": "New",
+ "boundingBox": [
+ 0.5943,
+ 9.7808,
+ 0.8848,
+ 9.7808,
+ 0.8848,
+ 9.8877,
+ 0.5943,
+ 9.8877
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 926,
+ "length": 3
+ }
+ },
+ {
+ "content": "York,",
+ "boundingBox": [
+ 0.9293,
+ 9.773,
+ 1.2568,
+ 9.773,
+ 1.2568,
+ 9.9098,
+ 0.9293,
+ 9.9098
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 930,
+ "length": 5
+ }
+ },
+ {
+ "content": "NY,",
+ "boundingBox": [
+ 1.3205,
+ 9.7805,
+ 1.5233,
+ 9.7805,
+ 1.5233,
+ 9.9098,
+ 1.3205,
+ 9.9098
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 936,
+ "length": 3
+ }
+ },
+ {
+ "content": "10001",
+ "boundingBox": [
+ 1.5903,
+ 9.7795,
+ 1.9882,
+ 9.7795,
+ 1.9882,
+ 9.8877,
+ 1.5903,
+ 9.8877
+ ],
+ "confidence": 1,
+ "span": {
+ "offset": 940,
+ "length": 5
+ }
+ }
+ ],
+ "selectionMarks": [
+ {
+ "state": "unselected",
+ "boundingBox": [
+ 4.3231,
+ 5.6279,
+ 4.7562,
+ 5.6279,
+ 4.7562,
+ 5.8654,
+ 4.3231,
+ 5.8654
+ ],
+ "confidence": 0.212,
+ "span": {
+ "offset": 946,
+ "length": 12
+ }
+ }
+ ],
+ "lines": [
+ {
+ "content": "CONTOSO LTD.",
+ "boundingBox": [
+ 0.5911,
+ 0.6857,
+ 2.3181,
+ 0.6857,
+ 2.3181,
+ 0.8664,
+ 0.5911,
+ 0.8664
+ ],
+ "spans": [
+ {
+ "offset": 0,
+ "length": 12
+ }
+ ]
+ },
+ {
+ "content": "INVOICE",
+ "boundingBox": [
+ 7.0751,
+ 0.589,
+ 7.9886,
+ 0.589,
+ 7.9886,
+ 0.7697,
+ 7.0751,
+ 0.7697
+ ],
+ "spans": [
+ {
+ "offset": 13,
+ "length": 7
+ }
+ ]
+ },
+ {
+ "content": "Contoso Headquarters",
+ "boundingBox": [
+ 0.5882,
+ 1.4239,
+ 2.0978,
+ 1.4239,
+ 2.0978,
+ 1.5664,
+ 0.5882,
+ 1.5664
+ ],
+ "spans": [
+ {
+ "offset": 21,
+ "length": 20
+ }
+ ]
+ },
+ {
+ "content": "INVOICE: INV-100",
+ "boundingBox": [
+ 6.8599,
+ 1.4217,
+ 7.9988,
+ 1.4217,
+ 7.9988,
+ 1.5218,
+ 6.8599,
+ 1.5218
+ ],
+ "spans": [
+ {
+ "offset": 42,
+ "length": 16
+ }
+ ]
+ },
+ {
+ "content": "123 456th St",
+ "boundingBox": [
+ 0.5945,
+ 1.6092,
+ 1.3812,
+ 1.6092,
+ 1.3812,
+ 1.742,
+ 0.5945,
+ 1.742
+ ],
+ "spans": [
+ {
+ "offset": 59,
+ "length": 12
+ }
+ ]
+ },
+ {
+ "content": "INVOICE DATE: 11/15/2019",
+ "boundingBox": [
+ 6.2263,
+ 1.6139,
+ 7.993,
+ 1.6139,
+ 7.993,
+ 1.7449,
+ 6.2263,
+ 1.7449
+ ],
+ "spans": [
+ {
+ "offset": 72,
+ "length": 24
+ }
+ ]
+ },
+ {
+ "content": "New York, NY, 10001",
+ "boundingBox": [
+ 0.5943,
+ 1.8307,
+ 1.9894,
+ 1.8307,
+ 1.9894,
+ 1.9675,
+ 0.5943,
+ 1.9675
+ ],
+ "spans": [
+ {
+ "offset": 97,
+ "length": 19
+ }
+ ]
+ },
+ {
+ "content": "DUE DATE: 12/15/2019",
+ "boundingBox": [
+ 6.4966,
+ 1.8206,
+ 7.993,
+ 1.8206,
+ 7.993,
+ 1.9515,
+ 6.4966,
+ 1.9515
+ ],
+ "spans": [
+ {
+ "offset": 117,
+ "length": 20
+ }
+ ]
+ },
+ {
+ "content": "CUSTOMER NAME: MICROSOFT CORPORATION",
+ "boundingBox": [
+ 4.9513,
+ 2.0388,
+ 7.9825,
+ 2.0388,
+ 7.9825,
+ 2.1389,
+ 4.9513,
+ 2.1389
+ ],
+ "spans": [
+ {
+ "offset": 138,
+ "length": 36
+ }
+ ]
+ },
+ {
+ "content": "SERVICE PERIOD: 10/14/2019 – 11/14/2019",
+ "boundingBox": [
+ 5.1667,
+ 2.2306,
+ 7.9952,
+ 2.2306,
+ 7.9952,
+ 2.3615,
+ 5.1667,
+ 2.3615
+ ],
+ "spans": [
+ {
+ "offset": 175,
+ "length": 39
+ }
+ ]
+ },
+ {
+ "content": "CUSTOMER ID: CID-12345",
+ "boundingBox": [
+ 6.3253,
+ 2.4488,
+ 7.9951,
+ 2.4488,
+ 7.9951,
+ 2.5489,
+ 6.3253,
+ 2.5489
+ ],
+ "spans": [
+ {
+ "offset": 215,
+ "length": 22
+ }
+ ]
+ },
+ {
+ "content": "Microsoft Corp",
+ "boundingBox": [
+ 0.5943,
+ 2.6436,
+ 1.586,
+ 2.6436,
+ 1.586,
+ 2.7871,
+ 0.5943,
+ 2.7871
+ ],
+ "spans": [
+ {
+ "offset": 238,
+ "length": 14
+ }
+ ]
+ },
+ {
+ "content": "123 Other St,",
+ "boundingBox": [
+ 0.5945,
+ 2.8476,
+ 1.4633,
+ 2.8476,
+ 1.4633,
+ 2.9845,
+ 0.5945,
+ 2.9845
+ ],
+ "spans": [
+ {
+ "offset": 253,
+ "length": 13
+ }
+ ]
+ },
+ {
+ "content": "Redmond WA, 98052",
+ "boundingBox": [
+ 0.5943,
+ 3.0513,
+ 2.0083,
+ 3.0513,
+ 2.0083,
+ 3.1878,
+ 0.5943,
+ 3.1878
+ ],
+ "spans": [
+ {
+ "offset": 267,
+ "length": 17
+ }
+ ]
+ },
+ {
+ "content": "BILL TO:",
+ "boundingBox": [
+ 0.5909,
+ 3.559,
+ 1.1032,
+ 3.559,
+ 1.1032,
+ 3.6592,
+ 0.5909,
+ 3.6592
+ ],
+ "spans": [
+ {
+ "offset": 285,
+ "length": 8
+ }
+ ]
+ },
+ {
+ "content": "SHIP TO:",
+ "boundingBox": [
+ 3.3361,
+ 3.559,
+ 3.8903,
+ 3.559,
+ 3.8903,
+ 3.6592,
+ 3.3361,
+ 3.6592
+ ],
+ "spans": [
+ {
+ "offset": 294,
+ "length": 8
+ }
+ ]
+ },
+ {
+ "content": "SERVICE ADDRESS:",
+ "boundingBox": [
+ 6.2104,
+ 3.559,
+ 7.4232,
+ 3.559,
+ 7.4232,
+ 3.6592,
+ 6.2104,
+ 3.6592
+ ],
+ "spans": [
+ {
+ "offset": 303,
+ "length": 16
+ }
+ ]
+ },
+ {
+ "content": "Microsoft Finance",
+ "boundingBox": [
+ 0.5943,
+ 3.7641,
+ 1.7878,
+ 3.7641,
+ 1.7878,
+ 3.8794,
+ 0.5943,
+ 3.8794
+ ],
+ "spans": [
+ {
+ "offset": 320,
+ "length": 17
+ }
+ ]
+ },
+ {
+ "content": "Microsoft Delivery",
+ "boundingBox": [
+ 3.3454,
+ 3.7641,
+ 4.5762,
+ 3.7641,
+ 4.5762,
+ 3.9076,
+ 3.3454,
+ 3.9076
+ ],
+ "spans": [
+ {
+ "offset": 338,
+ "length": 18
+ }
+ ]
+ },
+ {
+ "content": "Microsoft Services",
+ "boundingBox": [
+ 6.2197,
+ 3.7641,
+ 7.4427,
+ 3.7641,
+ 7.4427,
+ 3.8794,
+ 6.2197,
+ 3.8794
+ ],
+ "spans": [
+ {
+ "offset": 357,
+ "length": 18
+ }
+ ]
+ },
+ {
+ "content": "123 Bill St,",
+ "boundingBox": [
+ 0.5945,
+ 3.9681,
+ 1.2765,
+ 3.9681,
+ 1.2765,
+ 4.1049,
+ 0.5945,
+ 4.1049
+ ],
+ "spans": [
+ {
+ "offset": 376,
+ "length": 12
+ }
+ ]
+ },
+ {
+ "content": "123 Ship St,",
+ "boundingBox": [
+ 3.3456,
+ 3.9681,
+ 4.1111,
+ 3.9681,
+ 4.1111,
+ 4.1109,
+ 3.3456,
+ 4.1109
+ ],
+ "spans": [
+ {
+ "offset": 389,
+ "length": 12
+ }
+ ]
+ },
+ {
+ "content": "123 Service St,",
+ "boundingBox": [
+ 6.2199,
+ 3.9734,
+ 7.1821,
+ 3.9734,
+ 7.1821,
+ 4.1049,
+ 6.2199,
+ 4.1049
+ ],
+ "spans": [
+ {
+ "offset": 402,
+ "length": 15
+ }
+ ]
+ },
+ {
+ "content": "Redmond WA, 98052",
+ "boundingBox": [
+ 0.5943,
+ 4.1717,
+ 2.0083,
+ 4.1717,
+ 2.0083,
+ 4.3082,
+ 0.5943,
+ 4.3082
+ ],
+ "spans": [
+ {
+ "offset": 418,
+ "length": 17
+ }
+ ]
+ },
+ {
+ "content": "Redmond WA, 98052",
+ "boundingBox": [
+ 3.3454,
+ 4.1717,
+ 4.7594,
+ 4.1717,
+ 4.7594,
+ 4.3082,
+ 3.3454,
+ 4.3082
+ ],
+ "spans": [
+ {
+ "offset": 436,
+ "length": 17
+ }
+ ]
+ },
+ {
+ "content": "Redmond WA, 98052",
+ "boundingBox": [
+ 6.2197,
+ 4.1717,
+ 7.6337,
+ 4.1717,
+ 7.6337,
+ 4.3082,
+ 6.2197,
+ 4.3082
+ ],
+ "spans": [
+ {
+ "offset": 454,
+ "length": 17
+ }
+ ]
+ },
+ {
+ "content": "SALESPERSON",
+ "boundingBox": [
+ 0.7018,
+ 4.6528,
+ 1.6092,
+ 4.6528,
+ 1.6092,
+ 4.7529,
+ 0.7018,
+ 4.7529
+ ],
+ "spans": [
+ {
+ "offset": 472,
+ "length": 11
+ }
+ ]
+ },
+ {
+ "content": "P.O. NUMBER",
+ "boundingBox": [
+ 2.1216,
+ 4.6528,
+ 3.0155,
+ 4.6528,
+ 3.0155,
+ 4.7529,
+ 2.1216,
+ 4.7529
+ ],
+ "spans": [
+ {
+ "offset": 484,
+ "length": 11
+ }
+ ]
+ },
+ {
+ "content": "REQUISITIONER",
+ "boundingBox": [
+ 3.4953,
+ 4.6528,
+ 4.5157,
+ 4.6528,
+ 4.5157,
+ 4.7687,
+ 3.4953,
+ 4.7687
+ ],
+ "spans": [
+ {
+ "offset": 496,
+ "length": 13
+ }
+ ]
+ },
+ {
+ "content": "SHIPPED VIA",
+ "boundingBox": [
+ 4.81,
+ 4.6528,
+ 5.6317,
+ 4.6528,
+ 5.6317,
+ 4.7529,
+ 4.81,
+ 4.7529
+ ],
+ "spans": [
+ {
+ "offset": 510,
+ "length": 11
+ }
+ ]
+ },
+ {
+ "content": "F.O.B. POINT",
+ "boundingBox": [
+ 5.8696,
+ 4.6528,
+ 6.706,
+ 4.6528,
+ 6.706,
+ 4.7529,
+ 5.8696,
+ 4.7529
+ ],
+ "spans": [
+ {
+ "offset": 522,
+ "length": 12
+ }
+ ]
+ },
+ {
+ "content": "TERMS",
+ "boundingBox": [
+ 7.1806,
+ 4.6528,
+ 7.6304,
+ 4.6528,
+ 7.6304,
+ 4.7529,
+ 7.1806,
+ 4.7529
+ ],
+ "spans": [
+ {
+ "offset": 535,
+ "length": 5
+ }
+ ]
+ },
+ {
+ "content": "PO-3333",
+ "boundingBox": [
+ 1.9114,
+ 4.9282,
+ 2.4718,
+ 4.9282,
+ 2.4718,
+ 5.0363,
+ 1.9114,
+ 5.0363
+ ],
+ "spans": [
+ {
+ "offset": 541,
+ "length": 7
+ }
+ ]
+ },
+ {
+ "content": "DATE",
+ "boundingBox": [
+ 0.7409,
+ 5.421,
+ 1.0744,
+ 5.421,
+ 1.0744,
+ 5.5186,
+ 0.7409,
+ 5.5186
+ ],
+ "spans": [
+ {
+ "offset": 549,
+ "length": 4
+ }
+ ]
+ },
+ {
+ "content": "ITEM CODE",
+ "boundingBox": [
+ 1.4213,
+ 5.4197,
+ 2.1407,
+ 5.4197,
+ 2.1407,
+ 5.5199,
+ 1.4213,
+ 5.5199
+ ],
+ "spans": [
+ {
+ "offset": 554,
+ "length": 9
+ }
+ ]
+ },
+ {
+ "content": "DESCRIPTION",
+ "boundingBox": [
+ 2.8516,
+ 5.4197,
+ 3.7134,
+ 5.4197,
+ 3.7134,
+ 5.5199,
+ 2.8516,
+ 5.5199
+ ],
+ "spans": [
+ {
+ "offset": 564,
+ "length": 11
+ }
+ ]
+ },
+ {
+ "content": "QTY",
+ "boundingBox": [
+ 4.4043,
+ 5.4197,
+ 4.6631,
+ 5.4197,
+ 4.6631,
+ 5.5357,
+ 4.4043,
+ 5.5357
+ ],
+ "spans": [
+ {
+ "offset": 576,
+ "length": 3
+ }
+ ]
+ },
+ {
+ "content": "UM",
+ "boundingBox": [
+ 5.049,
+ 5.421,
+ 5.2654,
+ 5.421,
+ 5.2654,
+ 5.5199,
+ 5.049,
+ 5.5199
+ ],
+ "spans": [
+ {
+ "offset": 580,
+ "length": 2
+ }
+ ]
+ },
+ {
+ "content": "PRICE",
+ "boundingBox": [
+ 5.8563,
+ 5.4199,
+ 6.2163,
+ 5.4199,
+ 6.2163,
+ 5.5197,
+ 5.8563,
+ 5.5197
+ ],
+ "spans": [
+ {
+ "offset": 583,
+ "length": 5
+ }
+ ]
+ },
+ {
+ "content": "TAX",
+ "boundingBox": [
+ 6.7169,
+ 5.421,
+ 6.974,
+ 5.421,
+ 6.974,
+ 5.5186,
+ 6.7169,
+ 5.5186
+ ],
+ "spans": [
+ {
+ "offset": 589,
+ "length": 3
+ }
+ ]
+ },
+ {
+ "content": "AMOUNT",
+ "boundingBox": [
+ 7.2847,
+ 5.4197,
+ 7.9039,
+ 5.4197,
+ 7.9039,
+ 5.5199,
+ 7.2847,
+ 5.5199
+ ],
+ "spans": [
+ {
+ "offset": 593,
+ "length": 6
+ }
+ ]
+ },
+ {
+ "content": "3/4/2021",
+ "boundingBox": [
+ 0.592,
+ 5.682,
+ 1.2092,
+ 5.682,
+ 1.2092,
+ 5.8243,
+ 0.592,
+ 5.8243
+ ],
+ "spans": [
+ {
+ "offset": 600,
+ "length": 8
+ }
+ ]
+ },
+ {
+ "content": "A123",
+ "boundingBox": [
+ 1.6069,
+ 5.6948,
+ 1.9417,
+ 5.6948,
+ 1.9417,
+ 5.803,
+ 1.6069,
+ 5.803
+ ],
+ "spans": [
+ {
+ "offset": 609,
+ "length": 4
+ }
+ ]
+ },
+ {
+ "content": "Consulting Services",
+ "boundingBox": [
+ 2.3388,
+ 5.6883,
+ 3.6278,
+ 5.6883,
+ 3.6278,
+ 5.8312,
+ 2.3388,
+ 5.8312
+ ],
+ "spans": [
+ {
+ "offset": 614,
+ "length": 19
+ }
+ ]
+ },
+ {
+ "content": "2",
+ "boundingBox": [
+ 4.5977,
+ 5.6948,
+ 4.6635,
+ 5.6948,
+ 4.6635,
+ 5.8017,
+ 4.5977,
+ 5.8017
+ ],
+ "spans": [
+ {
+ "offset": 634,
+ "length": 1
+ }
+ ]
+ },
+ {
+ "content": "hours",
+ "boundingBox": [
+ 4.8444,
+ 5.6883,
+ 5.2071,
+ 5.6883,
+ 5.2071,
+ 5.803,
+ 4.8444,
+ 5.803
+ ],
+ "spans": [
+ {
+ "offset": 636,
+ "length": 5
+ }
+ ]
+ },
+ {
+ "content": "$30.00",
+ "boundingBox": [
+ 5.9669,
+ 5.6777,
+ 6.4142,
+ 5.6777,
+ 6.4142,
+ 5.8215,
+ 5.9669,
+ 5.8215
+ ],
+ "spans": [
+ {
+ "offset": 642,
+ "length": 6
+ }
+ ]
+ },
+ {
+ "content": "10%",
+ "boundingBox": [
+ 6.7168,
+ 5.6932,
+ 6.9826,
+ 5.6932,
+ 6.9826,
+ 5.8045,
+ 6.7168,
+ 5.8045
+ ],
+ "spans": [
+ {
+ "offset": 649,
+ "length": 3
+ }
+ ]
+ },
+ {
+ "content": "$60.00",
+ "boundingBox": [
+ 7.4642,
+ 5.6777,
+ 7.9116,
+ 5.6777,
+ 7.9116,
+ 5.8215,
+ 7.4642,
+ 5.8215
+ ],
+ "spans": [
+ {
+ "offset": 653,
+ "length": 6
+ }
+ ]
+ },
+ {
+ "content": "3/5/2021",
+ "boundingBox": [
+ 0.592,
+ 5.9787,
+ 1.2088,
+ 5.9787,
+ 1.2088,
+ 6.121,
+ 0.592,
+ 6.121
+ ],
+ "spans": [
+ {
+ "offset": 660,
+ "length": 8
+ }
+ ]
+ },
+ {
+ "content": "B456",
+ "boundingBox": [
+ 1.6214,
+ 5.9915,
+ 1.9419,
+ 5.9915,
+ 1.9419,
+ 6.0997,
+ 1.6214,
+ 6.0997
+ ],
+ "spans": [
+ {
+ "offset": 669,
+ "length": 4
+ }
+ ]
+ },
+ {
+ "content": "Document Fee",
+ "boundingBox": [
+ 2.345,
+ 5.993,
+ 3.3096,
+ 5.993,
+ 3.3096,
+ 6.0997,
+ 2.345,
+ 6.0997
+ ],
+ "spans": [
+ {
+ "offset": 674,
+ "length": 12
+ }
+ ]
+ },
+ {
+ "content": "3",
+ "boundingBox": [
+ 4.5967,
+ 5.9915,
+ 4.6627,
+ 5.9915,
+ 4.6627,
+ 6.0997,
+ 4.5967,
+ 6.0997
+ ],
+ "spans": [
+ {
+ "offset": 687,
+ "length": 1
+ }
+ ]
+ },
+ {
+ "content": "$10.00",
+ "boundingBox": [
+ 5.9669,
+ 5.9743,
+ 6.4142,
+ 5.9743,
+ 6.4142,
+ 6.1182,
+ 5.9669,
+ 6.1182
+ ],
+ "spans": [
+ {
+ "offset": 689,
+ "length": 6
+ }
+ ]
+ },
+ {
+ "content": "5%",
+ "boundingBox": [
+ 6.7508,
+ 5.9898,
+ 6.9393,
+ 5.9898,
+ 6.9393,
+ 6.1012,
+ 6.7508,
+ 6.1012
+ ],
+ "spans": [
+ {
+ "offset": 696,
+ "length": 2
+ }
+ ]
+ },
+ {
+ "content": "$30.00",
+ "boundingBox": [
+ 7.4642,
+ 5.9743,
+ 7.9116,
+ 5.9743,
+ 7.9116,
+ 6.1182,
+ 7.4642,
+ 6.1182
+ ],
+ "spans": [
+ {
+ "offset": 699,
+ "length": 6
+ }
+ ]
+ },
+ {
+ "content": "3/6/2021",
+ "boundingBox": [
+ 0.592,
+ 6.2789,
+ 1.2088,
+ 6.2789,
+ 1.2088,
+ 6.4213,
+ 0.592,
+ 6.4213
+ ],
+ "spans": [
+ {
+ "offset": 706,
+ "length": 8
+ }
+ ]
+ },
+ {
+ "content": "C789",
+ "boundingBox": [
+ 1.6152,
+ 6.2918,
+ 1.94,
+ 6.2918,
+ 1.94,
+ 6.3999,
+ 1.6152,
+ 6.3999
+ ],
+ "spans": [
+ {
+ "offset": 715,
+ "length": 4
+ }
+ ]
+ },
+ {
+ "content": "Printing Fee",
+ "boundingBox": [
+ 2.345,
+ 6.2906,
+ 3.1351,
+ 6.2906,
+ 3.1351,
+ 6.4281,
+ 2.345,
+ 6.4281
+ ],
+ "spans": [
+ {
+ "offset": 720,
+ "length": 12
+ }
+ ]
+ },
+ {
+ "content": "10",
+ "boundingBox": [
+ 4.5158,
+ 6.2918,
+ 4.6637,
+ 6.2918,
+ 4.6637,
+ 6.3999,
+ 4.5158,
+ 6.3999
+ ],
+ "spans": [
+ {
+ "offset": 733,
+ "length": 2
+ }
+ ]
+ },
+ {
+ "content": "pages",
+ "boundingBox": [
+ 4.8444,
+ 6.3196,
+ 5.2199,
+ 6.3196,
+ 5.2199,
+ 6.4281,
+ 4.8444,
+ 6.4281
+ ],
+ "spans": [
+ {
+ "offset": 736,
+ "length": 5
+ }
+ ]
+ },
+ {
+ "content": "$1.00",
+ "boundingBox": [
+ 6.0502,
+ 6.2746,
+ 6.4142,
+ 6.2746,
+ 6.4142,
+ 6.4184,
+ 6.0502,
+ 6.4184
+ ],
+ "spans": [
+ {
+ "offset": 742,
+ "length": 5
+ }
+ ]
+ },
+ {
+ "content": "20%",
+ "boundingBox": [
+ 6.712,
+ 6.2901,
+ 6.9826,
+ 6.2901,
+ 6.9826,
+ 6.4014,
+ 6.712,
+ 6.4014
+ ],
+ "spans": [
+ {
+ "offset": 748,
+ "length": 3
+ }
+ ]
+ },
+ {
+ "content": "$10.00",
+ "boundingBox": [
+ 7.4642,
+ 6.2746,
+ 7.9116,
+ 6.2746,
+ 7.9116,
+ 6.4184,
+ 7.4642,
+ 6.4184
+ ],
+ "spans": [
+ {
+ "offset": 752,
+ "length": 6
+ }
+ ]
+ },
+ {
+ "content": "SUBTOTAL",
+ "boundingBox": [
+ 6.0282,
+ 6.9118,
+ 6.7309,
+ 6.9118,
+ 6.7309,
+ 7.0199,
+ 6.0282,
+ 7.0199
+ ],
+ "spans": [
+ {
+ "offset": 759,
+ "length": 8
+ }
+ ]
+ },
+ {
+ "content": "$100.00",
+ "boundingBox": [
+ 7.3842,
+ 6.8679,
+ 7.9181,
+ 6.8679,
+ 7.9181,
+ 7.0118,
+ 7.3842,
+ 7.0118
+ ],
+ "spans": [
+ {
+ "offset": 768,
+ "length": 7
+ }
+ ]
+ },
+ {
+ "content": "SALES TAX",
+ "boundingBox": [
+ 6.0382,
+ 7.2089,
+ 6.728,
+ 7.2089,
+ 6.728,
+ 7.317,
+ 6.0382,
+ 7.317
+ ],
+ "spans": [
+ {
+ "offset": 776,
+ "length": 9
+ }
+ ]
+ },
+ {
+ "content": "$10.00",
+ "boundingBox": [
+ 7.4709,
+ 7.165,
+ 7.9182,
+ 7.165,
+ 7.9182,
+ 7.3089,
+ 7.4709,
+ 7.3089
+ ],
+ "spans": [
+ {
+ "offset": 786,
+ "length": 6
+ }
+ ]
+ },
+ {
+ "content": "TOTAL",
+ "boundingBox": [
+ 6.2969,
+ 7.5089,
+ 6.7309,
+ 7.5089,
+ 6.7309,
+ 7.617,
+ 6.2969,
+ 7.617
+ ],
+ "spans": [
+ {
+ "offset": 793,
+ "length": 5
+ }
+ ]
+ },
+ {
+ "content": "$110.00",
+ "boundingBox": [
+ 7.3842,
+ 7.465,
+ 7.9181,
+ 7.465,
+ 7.9181,
+ 7.6089,
+ 7.3842,
+ 7.6089
+ ],
+ "spans": [
+ {
+ "offset": 799,
+ "length": 7
+ }
+ ]
+ },
+ {
+ "content": "PREVIOUS UNPAID BALANCE",
+ "boundingBox": [
+ 4.8126,
+ 7.8055,
+ 6.7249,
+ 7.8055,
+ 6.7249,
+ 7.9137,
+ 4.8126,
+ 7.9137
+ ],
+ "spans": [
+ {
+ "offset": 807,
+ "length": 23
+ }
+ ]
+ },
+ {
+ "content": "$500.00",
+ "boundingBox": [
+ 7.3842,
+ 7.7617,
+ 7.9181,
+ 7.7617,
+ 7.9181,
+ 7.9055,
+ 7.3842,
+ 7.9055
+ ],
+ "spans": [
+ {
+ "offset": 831,
+ "length": 7
+ }
+ ]
+ },
+ {
+ "content": "AMOUNT DUE",
+ "boundingBox": [
+ 5.7652,
+ 8.1022,
+ 6.725,
+ 8.1022,
+ 6.725,
+ 8.2104,
+ 5.7652,
+ 8.2104
+ ],
+ "spans": [
+ {
+ "offset": 839,
+ "length": 10
+ }
+ ]
+ },
+ {
+ "content": "$610.00",
+ "boundingBox": [
+ 7.3842,
+ 8.0584,
+ 7.9181,
+ 8.0584,
+ 7.9181,
+ 8.2022,
+ 7.3842,
+ 8.2022
+ ],
+ "spans": [
+ {
+ "offset": 850,
+ "length": 7
+ }
+ ]
+ },
+ {
+ "content": "THANK YOU FOR YOUR BUSINESS!",
+ "boundingBox": [
+ 3.129,
+ 8.539,
+ 5.356,
+ 8.539,
+ 5.356,
+ 8.6442,
+ 3.129,
+ 8.6442
+ ],
+ "spans": [
+ {
+ "offset": 858,
+ "length": 28
+ }
+ ]
+ },
+ {
+ "content": "REMIT TO:",
+ "boundingBox": [
+ 0.5909,
+ 9.1607,
+ 1.2603,
+ 9.1607,
+ 1.2603,
+ 9.2608,
+ 0.5909,
+ 9.2608
+ ],
+ "spans": [
+ {
+ "offset": 887,
+ "length": 9
+ }
+ ]
+ },
+ {
+ "content": "Contoso Billing",
+ "boundingBox": [
+ 0.5882,
+ 9.3631,
+ 1.5828,
+ 9.3631,
+ 1.5828,
+ 9.5059,
+ 0.5882,
+ 9.5059
+ ],
+ "spans": [
+ {
+ "offset": 897,
+ "length": 15
+ }
+ ]
+ },
+ {
+ "content": "123 Remit St",
+ "boundingBox": [
+ 0.5945,
+ 9.5717,
+ 1.4337,
+ 9.5717,
+ 1.4337,
+ 9.681,
+ 0.5945,
+ 9.681
+ ],
+ "spans": [
+ {
+ "offset": 913,
+ "length": 12
+ }
+ ]
+ },
+ {
+ "content": "New York, NY, 10001",
+ "boundingBox": [
+ 0.5943,
+ 9.773,
+ 1.9882,
+ 9.773,
+ 1.9882,
+ 9.9098,
+ 0.5943,
+ 9.9098
+ ],
+ "spans": [
+ {
+ "offset": 926,
+ "length": 19
+ }
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 0,
+ "length": 958
+ }
+ ]
+ }
+ ],
+ "tables": [
+ {
+ "rowCount": 4,
+ "columnCount": 8,
+ "cells": [
+ {
+ "kind": "columnHeader",
+ "rowIndex": 0,
+ "columnIndex": 0,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "DATE",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.4932,
+ 5.329,
+ 1.3011,
+ 5.3213,
+ 1.3011,
+ 5.6056,
+ 0.5009,
+ 5.6056
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 549,
+ "length": 4
+ }
+ ]
+ },
+ {
+ "kind": "columnHeader",
+ "rowIndex": 0,
+ "columnIndex": 1,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "ITEM CODE",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 1.3011,
+ 5.3213,
+ 2.2476,
+ 5.3213,
+ 2.2399,
+ 5.6056,
+ 1.3011,
+ 5.6056
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 554,
+ "length": 9
+ }
+ ]
+ },
+ {
+ "kind": "columnHeader",
+ "rowIndex": 0,
+ "columnIndex": 2,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "DESCRIPTION",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 2.2476,
+ 5.3213,
+ 4.3174,
+ 5.329,
+ 4.3097,
+ 5.6056,
+ 2.2399,
+ 5.6056
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 564,
+ "length": 11
+ }
+ ]
+ },
+ {
+ "kind": "columnHeader",
+ "rowIndex": 0,
+ "columnIndex": 3,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "QTY",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.3174,
+ 5.329,
+ 4.7483,
+ 5.329,
+ 4.7483,
+ 5.6056,
+ 4.3097,
+ 5.6056
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 576,
+ "length": 3
+ }
+ ]
+ },
+ {
+ "kind": "columnHeader",
+ "rowIndex": 0,
+ "columnIndex": 4,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "UM",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.7483,
+ 5.329,
+ 5.5639,
+ 5.329,
+ 5.5639,
+ 5.6056,
+ 4.7483,
+ 5.6056
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 580,
+ "length": 2
+ }
+ ]
+ },
+ {
+ "kind": "columnHeader",
+ "rowIndex": 0,
+ "columnIndex": 5,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "PRICE",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 5.5639,
+ 5.329,
+ 6.495,
+ 5.329,
+ 6.495,
+ 5.6056,
+ 5.5639,
+ 5.6056
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 583,
+ "length": 5
+ }
+ ]
+ },
+ {
+ "kind": "columnHeader",
+ "rowIndex": 0,
+ "columnIndex": 6,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "TAX",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 6.495,
+ 5.329,
+ 7.1875,
+ 5.329,
+ 7.1952,
+ 5.6056,
+ 6.495,
+ 5.6056
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 589,
+ "length": 3
+ }
+ ]
+ },
+ {
+ "kind": "columnHeader",
+ "rowIndex": 0,
+ "columnIndex": 7,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "AMOUNT",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 7.1875,
+ 5.329,
+ 7.9954,
+ 5.329,
+ 7.9954,
+ 5.598,
+ 7.1952,
+ 5.6056
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 593,
+ "length": 6
+ }
+ ]
+ },
+ {
+ "rowIndex": 1,
+ "columnIndex": 0,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "3/4/2021",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.5009,
+ 5.6056,
+ 1.3011,
+ 5.6056,
+ 1.3011,
+ 5.8976,
+ 0.5009,
+ 5.8976
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 600,
+ "length": 8
+ }
+ ]
+ },
+ {
+ "rowIndex": 1,
+ "columnIndex": 1,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "A123",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 1.3011,
+ 5.6056,
+ 2.2399,
+ 5.6056,
+ 2.2322,
+ 5.8976,
+ 1.3011,
+ 5.8976
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 609,
+ "length": 4
+ }
+ ]
+ },
+ {
+ "rowIndex": 1,
+ "columnIndex": 2,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "Consulting Services",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 2.2399,
+ 5.6056,
+ 4.3097,
+ 5.6056,
+ 4.3097,
+ 5.8976,
+ 2.2322,
+ 5.8976
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 614,
+ "length": 19
+ }
+ ]
+ },
+ {
+ "rowIndex": 1,
+ "columnIndex": 3,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "2 :unselected:",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.3097,
+ 5.6056,
+ 4.7483,
+ 5.6056,
+ 4.7483,
+ 5.8976,
+ 4.3097,
+ 5.8976
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 634,
+ "length": 1
+ },
+ {
+ "offset": 946,
+ "length": 12
+ }
+ ]
+ },
+ {
+ "rowIndex": 1,
+ "columnIndex": 4,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "hours",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.7483,
+ 5.6056,
+ 5.5639,
+ 5.6056,
+ 5.5639,
+ 5.8976,
+ 4.7483,
+ 5.8976
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 636,
+ "length": 5
+ }
+ ]
+ },
+ {
+ "rowIndex": 1,
+ "columnIndex": 5,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "$30.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 5.5639,
+ 5.6056,
+ 6.495,
+ 5.6056,
+ 6.495,
+ 5.8976,
+ 5.5639,
+ 5.8976
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 642,
+ "length": 6
+ }
+ ]
+ },
+ {
+ "rowIndex": 1,
+ "columnIndex": 6,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "10%",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 6.495,
+ 5.6056,
+ 7.1952,
+ 5.6056,
+ 7.1952,
+ 5.8976,
+ 6.495,
+ 5.8976
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 649,
+ "length": 3
+ }
+ ]
+ },
+ {
+ "rowIndex": 1,
+ "columnIndex": 7,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "$60.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 7.1952,
+ 5.6056,
+ 7.9954,
+ 5.598,
+ 7.9954,
+ 5.9053,
+ 7.1952,
+ 5.8976
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 653,
+ "length": 6
+ }
+ ]
+ },
+ {
+ "rowIndex": 2,
+ "columnIndex": 0,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "3/5/2021",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.5009,
+ 5.8976,
+ 1.3011,
+ 5.8976,
+ 1.3011,
+ 6.1973,
+ 0.5086,
+ 6.1973
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 660,
+ "length": 8
+ }
+ ]
+ },
+ {
+ "rowIndex": 2,
+ "columnIndex": 1,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "B456",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 1.3011,
+ 5.8976,
+ 2.2322,
+ 5.8976,
+ 2.2245,
+ 6.1973,
+ 1.3011,
+ 6.1973
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 669,
+ "length": 4
+ }
+ ]
+ },
+ {
+ "rowIndex": 2,
+ "columnIndex": 2,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "Document Fee",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 2.2322,
+ 5.8976,
+ 4.3097,
+ 5.8976,
+ 4.3097,
+ 6.1973,
+ 2.2245,
+ 6.1973
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 674,
+ "length": 12
+ }
+ ]
+ },
+ {
+ "rowIndex": 2,
+ "columnIndex": 3,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "3",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.3097,
+ 5.8976,
+ 4.7483,
+ 5.8976,
+ 4.7483,
+ 6.1973,
+ 4.3097,
+ 6.1973
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 687,
+ "length": 1
+ }
+ ]
+ },
+ {
+ "rowIndex": 2,
+ "columnIndex": 4,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.7483,
+ 5.8976,
+ 5.5639,
+ 5.8976,
+ 5.5639,
+ 6.1973,
+ 4.7483,
+ 6.1973
+ ]
+ }
+ ],
+ "spans": []
+ },
+ {
+ "rowIndex": 2,
+ "columnIndex": 5,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "$10.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 5.5639,
+ 5.8976,
+ 6.495,
+ 5.8976,
+ 6.495,
+ 6.1973,
+ 5.5639,
+ 6.1973
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 689,
+ "length": 6
+ }
+ ]
+ },
+ {
+ "rowIndex": 2,
+ "columnIndex": 6,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "5%",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 6.495,
+ 5.8976,
+ 7.1952,
+ 5.8976,
+ 7.1952,
+ 6.1973,
+ 6.495,
+ 6.1973
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 696,
+ "length": 2
+ }
+ ]
+ },
+ {
+ "rowIndex": 2,
+ "columnIndex": 7,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "$30.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 7.1952,
+ 5.8976,
+ 7.9954,
+ 5.9053,
+ 7.9954,
+ 6.1896,
+ 7.1952,
+ 6.1973
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 699,
+ "length": 6
+ }
+ ]
+ },
+ {
+ "rowIndex": 3,
+ "columnIndex": 0,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "3/6/2021",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.5086,
+ 6.1973,
+ 1.3011,
+ 6.1973,
+ 1.3011,
+ 6.4969,
+ 0.5086,
+ 6.4969
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 706,
+ "length": 8
+ }
+ ]
+ },
+ {
+ "rowIndex": 3,
+ "columnIndex": 1,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "C789",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 1.3011,
+ 6.1973,
+ 2.2245,
+ 6.1973,
+ 2.2245,
+ 6.4969,
+ 1.3011,
+ 6.4969
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 715,
+ "length": 4
+ }
+ ]
+ },
+ {
+ "rowIndex": 3,
+ "columnIndex": 2,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "Printing Fee",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 2.2245,
+ 6.1973,
+ 4.3097,
+ 6.1973,
+ 4.3097,
+ 6.4969,
+ 2.2245,
+ 6.4969
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 720,
+ "length": 12
+ }
+ ]
+ },
+ {
+ "rowIndex": 3,
+ "columnIndex": 3,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "10",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.3097,
+ 6.1973,
+ 4.7483,
+ 6.1973,
+ 4.7483,
+ 6.4969,
+ 4.3097,
+ 6.4969
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 733,
+ "length": 2
+ }
+ ]
+ },
+ {
+ "rowIndex": 3,
+ "columnIndex": 4,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "pages",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.7483,
+ 6.1973,
+ 5.5639,
+ 6.1973,
+ 5.5639,
+ 6.4969,
+ 4.7483,
+ 6.4969
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 736,
+ "length": 5
+ }
+ ]
+ },
+ {
+ "rowIndex": 3,
+ "columnIndex": 5,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "$1.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 5.5639,
+ 6.1973,
+ 6.495,
+ 6.1973,
+ 6.495,
+ 6.4969,
+ 5.5639,
+ 6.4969
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 742,
+ "length": 5
+ }
+ ]
+ },
+ {
+ "rowIndex": 3,
+ "columnIndex": 6,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "20%",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 6.495,
+ 6.1973,
+ 7.1952,
+ 6.1973,
+ 7.1952,
+ 6.4969,
+ 6.495,
+ 6.4969
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 748,
+ "length": 3
+ }
+ ]
+ },
+ {
+ "rowIndex": 3,
+ "columnIndex": 7,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "$10.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 7.1952,
+ 6.1973,
+ 7.9954,
+ 6.1896,
+ 7.9954,
+ 6.5046,
+ 7.1952,
+ 6.4969
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 752,
+ "length": 6
+ }
+ ]
+ }
+ ],
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.4901,
+ 5.3293,
+ 7.9946,
+ 5.3289,
+ 7.9954,
+ 6.5019,
+ 0.4906,
+ 6.502
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 549,
+ "length": 209
+ },
+ {
+ "offset": 946,
+ "length": 12
+ }
+ ]
+ },
+ {
+ "rowCount": 2,
+ "columnCount": 6,
+ "cells": [
+ {
+ "kind": "columnHeader",
+ "rowIndex": 0,
+ "columnIndex": 0,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "SALESPERSON",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.4977,
+ 4.565,
+ 1.8042,
+ 4.565,
+ 1.8119,
+ 4.8388,
+ 0.5054,
+ 4.8388
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 472,
+ "length": 11
+ }
+ ]
+ },
+ {
+ "kind": "columnHeader",
+ "rowIndex": 0,
+ "columnIndex": 1,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "P.O. NUMBER",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 1.8042,
+ 4.565,
+ 3.3105,
+ 4.565,
+ 3.3105,
+ 4.8388,
+ 1.8119,
+ 4.8388
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 484,
+ "length": 11
+ }
+ ]
+ },
+ {
+ "kind": "columnHeader",
+ "rowIndex": 0,
+ "columnIndex": 2,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "REQUISITIONER",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 3.3105,
+ 4.565,
+ 4.6939,
+ 4.565,
+ 4.6862,
+ 4.8388,
+ 3.3105,
+ 4.8388
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 496,
+ "length": 13
+ }
+ ]
+ },
+ {
+ "kind": "columnHeader",
+ "rowIndex": 0,
+ "columnIndex": 3,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "SHIPPED VIA",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.6939,
+ 4.565,
+ 5.7468,
+ 4.565,
+ 5.7468,
+ 4.8388,
+ 4.6862,
+ 4.8388
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 510,
+ "length": 11
+ }
+ ]
+ },
+ {
+ "kind": "columnHeader",
+ "rowIndex": 0,
+ "columnIndex": 4,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "F.O.B. POINT",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 5.7468,
+ 4.565,
+ 6.815,
+ 4.565,
+ 6.815,
+ 4.8388,
+ 5.7468,
+ 4.8388
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 522,
+ "length": 12
+ }
+ ]
+ },
+ {
+ "kind": "columnHeader",
+ "rowIndex": 0,
+ "columnIndex": 5,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "TERMS",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 6.815,
+ 4.565,
+ 7.9985,
+ 4.565,
+ 7.9985,
+ 4.8388,
+ 6.815,
+ 4.8388
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 535,
+ "length": 5
+ }
+ ]
+ },
+ {
+ "rowIndex": 1,
+ "columnIndex": 0,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.5054,
+ 4.8388,
+ 1.8119,
+ 4.8388,
+ 1.8119,
+ 5.1058,
+ 0.5131,
+ 5.1058
+ ]
+ }
+ ],
+ "spans": []
+ },
+ {
+ "rowIndex": 1,
+ "columnIndex": 1,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "PO-3333",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 1.8119,
+ 4.8388,
+ 3.3105,
+ 4.8388,
+ 3.3105,
+ 5.1058,
+ 1.8119,
+ 5.1058
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 541,
+ "length": 7
+ }
+ ]
+ },
+ {
+ "rowIndex": 1,
+ "columnIndex": 2,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 3.3105,
+ 4.8388,
+ 4.6862,
+ 4.8388,
+ 4.6862,
+ 5.1058,
+ 3.3105,
+ 5.1058
+ ]
+ }
+ ],
+ "spans": []
+ },
+ {
+ "rowIndex": 1,
+ "columnIndex": 3,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.6862,
+ 4.8388,
+ 5.7468,
+ 4.8388,
+ 5.7468,
+ 5.1058,
+ 4.6862,
+ 5.1058
+ ]
+ }
+ ],
+ "spans": []
+ },
+ {
+ "rowIndex": 1,
+ "columnIndex": 4,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 5.7468,
+ 4.8388,
+ 6.815,
+ 4.8388,
+ 6.815,
+ 5.1058,
+ 5.7468,
+ 5.1058
+ ]
+ }
+ ],
+ "spans": []
+ },
+ {
+ "rowIndex": 1,
+ "columnIndex": 5,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 6.815,
+ 4.8388,
+ 7.9985,
+ 4.8388,
+ 7.9985,
+ 5.1125,
+ 6.815,
+ 5.1058
+ ]
+ }
+ ],
+ "spans": []
+ }
+ ],
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.4971,
+ 4.565,
+ 7.9889,
+ 4.5653,
+ 7.989,
+ 5.1146,
+ 0.4963,
+ 5.1141
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 472,
+ "length": 76
+ }
+ ]
+ },
+ {
+ "rowCount": 5,
+ "columnCount": 2,
+ "cells": [
+ {
+ "rowIndex": 0,
+ "columnIndex": 0,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "SUBTOTAL",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.7474,
+ 6.7934,
+ 6.8058,
+ 6.7934,
+ 6.8105,
+ 7.0886,
+ 4.7474,
+ 7.0886
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 759,
+ "length": 8
+ }
+ ]
+ },
+ {
+ "rowIndex": 0,
+ "columnIndex": 1,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "$100.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 6.8058,
+ 6.7934,
+ 7.9981,
+ 6.7934,
+ 7.9981,
+ 7.0934,
+ 6.8105,
+ 7.0886
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 768,
+ "length": 7
+ }
+ ]
+ },
+ {
+ "rowIndex": 1,
+ "columnIndex": 0,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "SALES TAX",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.7474,
+ 7.0886,
+ 6.8105,
+ 7.0886,
+ 6.8105,
+ 7.3743,
+ 4.7427,
+ 7.3743
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 776,
+ "length": 9
+ }
+ ]
+ },
+ {
+ "rowIndex": 1,
+ "columnIndex": 1,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "$10.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 6.8105,
+ 7.0886,
+ 7.9981,
+ 7.0934,
+ 7.9981,
+ 7.3934,
+ 6.8105,
+ 7.3743
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 786,
+ "length": 6
+ }
+ ]
+ },
+ {
+ "rowIndex": 2,
+ "columnIndex": 0,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "TOTAL",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.7427,
+ 7.3743,
+ 6.8105,
+ 7.3743,
+ 6.8105,
+ 7.6839,
+ 4.7427,
+ 7.6839
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 793,
+ "length": 5
+ }
+ ]
+ },
+ {
+ "rowIndex": 2,
+ "columnIndex": 1,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "$110.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 6.8105,
+ 7.3743,
+ 7.9981,
+ 7.3934,
+ 7.9981,
+ 7.6886,
+ 6.8105,
+ 7.6839
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 799,
+ "length": 7
+ }
+ ]
+ },
+ {
+ "rowIndex": 3,
+ "columnIndex": 0,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "PREVIOUS UNPAID BALANCE",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.7427,
+ 7.6839,
+ 6.8105,
+ 7.6839,
+ 6.8105,
+ 7.9743,
+ 4.7427,
+ 7.9743
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 807,
+ "length": 23
+ }
+ ]
+ },
+ {
+ "rowIndex": 3,
+ "columnIndex": 1,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "$500.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 6.8105,
+ 7.6839,
+ 7.9981,
+ 7.6886,
+ 7.9981,
+ 7.9839,
+ 6.8105,
+ 7.9743
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 831,
+ "length": 7
+ }
+ ]
+ },
+ {
+ "rowIndex": 4,
+ "columnIndex": 0,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "AMOUNT DUE",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.7427,
+ 7.9743,
+ 6.8105,
+ 7.9743,
+ 6.8105,
+ 8.2839,
+ 4.7381,
+ 8.2839
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 839,
+ "length": 10
+ }
+ ]
+ },
+ {
+ "rowIndex": 4,
+ "columnIndex": 1,
+ "rowSpan": 1,
+ "columnSpan": 1,
+ "content": "$610.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 6.8105,
+ 7.9743,
+ 7.9981,
+ 7.9839,
+ 7.9981,
+ 8.2839,
+ 6.8105,
+ 8.2839
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 850,
+ "length": 7
+ }
+ ]
+ }
+ ],
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.7456,
+ 6.7793,
+ 8.0143,
+ 6.7788,
+ 8.0137,
+ 8.2981,
+ 4.7446,
+ 8.2981
+ ]
+ }
+ ],
+ "spans": [
+ {
+ "offset": 759,
+ "length": 98
+ }
+ ]
+ }
+ ],
+ "documents": [
+ {
+ "docType": "prebuilt:invoice",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0,
+ 0,
+ 8.5,
+ 0,
+ 8.5,
+ 11,
+ 0,
+ 11
+ ]
+ }
+ ],
+ "fields": {
+ "AmountDue": {
+ "type": "number",
+ "valueNumber": 610,
+ "content": "$610.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 7.3842,
+ 8.0584,
+ 7.9181,
+ 8.0584,
+ 7.9181,
+ 8.2022,
+ 7.3842,
+ 8.2022
+ ]
+ }
+ ],
+ "confidence": 0.973,
+ "spans": [
+ {
+ "offset": 850,
+ "length": 7
+ }
+ ]
+ },
+ "BillingAddress": {
+ "type": "string",
+ "valueString": "123 Bill St, Redmond WA, 98052",
+ "content": "123 Bill St, Redmond WA, 98052",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.5943,
+ 3.9681,
+ 2.0083,
+ 3.9681,
+ 2.0083,
+ 4.3082,
+ 0.5943,
+ 4.3082
+ ]
+ }
+ ],
+ "confidence": 0.947,
+ "spans": [
+ {
+ "offset": 376,
+ "length": 12
+ },
+ {
+ "offset": 418,
+ "length": 17
+ }
+ ]
+ },
+ "BillingAddressRecipient": {
+ "type": "string",
+ "valueString": "Microsoft Finance",
+ "content": "Microsoft Finance",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.5943,
+ 3.7641,
+ 1.7878,
+ 3.7641,
+ 1.7878,
+ 3.8794,
+ 0.5943,
+ 3.8794
+ ]
+ }
+ ],
+ "confidence": 0.957,
+ "spans": [
+ {
+ "offset": 320,
+ "length": 17
+ }
+ ]
+ },
+ "CustomerAddress": {
+ "type": "string",
+ "valueString": "123 Other St, Redmond WA, 98052",
+ "content": "123 Other St, Redmond WA, 98052",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.5943,
+ 2.8476,
+ 2.0083,
+ 2.8476,
+ 2.0083,
+ 3.1878,
+ 0.5943,
+ 3.1878
+ ]
+ }
+ ],
+ "confidence": 0.947,
+ "spans": [
+ {
+ "offset": 253,
+ "length": 31
+ }
+ ]
+ },
+ "CustomerAddressRecipient": {
+ "type": "string",
+ "valueString": "Microsoft Corp",
+ "content": "Microsoft Corp",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.5943,
+ 2.6436,
+ 1.586,
+ 2.6436,
+ 1.586,
+ 2.7871,
+ 0.5943,
+ 2.7871
+ ]
+ }
+ ],
+ "confidence": 0.956,
+ "spans": [
+ {
+ "offset": 238,
+ "length": 14
+ }
+ ]
+ },
+ "CustomerId": {
+ "type": "string",
+ "valueString": "CID-12345",
+ "content": "CID-12345",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 7.3369,
+ 2.4491,
+ 7.9951,
+ 2.4491,
+ 7.9951,
+ 2.5486,
+ 7.3369,
+ 2.5486
+ ]
+ }
+ ],
+ "confidence": 0.964,
+ "spans": [
+ {
+ "offset": 228,
+ "length": 9
+ }
+ ]
+ },
+ "CustomerName": {
+ "type": "string",
+ "valueString": "MICROSOFT CORPORATION",
+ "content": "MICROSOFT CORPORATION",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 6.2419,
+ 2.0391,
+ 7.9825,
+ 2.0391,
+ 7.9825,
+ 2.1386,
+ 6.2419,
+ 2.1386
+ ]
+ }
+ ],
+ "confidence": 0.949,
+ "spans": [
+ {
+ "offset": 153,
+ "length": 21
+ }
+ ]
+ },
+ "DueDate": {
+ "type": "date",
+ "valueDate": "2019-12-15",
+ "content": "12/15/2019",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 7.2494,
+ 1.8206,
+ 7.993,
+ 1.8206,
+ 7.993,
+ 1.9515,
+ 7.2494,
+ 1.9515
+ ]
+ }
+ ],
+ "confidence": 0.973,
+ "spans": [
+ {
+ "offset": 127,
+ "length": 10
+ }
+ ]
+ },
+ "InvoiceDate": {
+ "type": "date",
+ "valueDate": "2019-11-15",
+ "content": "11/15/2019",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 7.2528,
+ 1.6139,
+ 7.993,
+ 1.6139,
+ 7.993,
+ 1.7449,
+ 7.2528,
+ 1.7449
+ ]
+ }
+ ],
+ "confidence": 0.972,
+ "spans": [
+ {
+ "offset": 86,
+ "length": 10
+ }
+ ]
+ },
+ "InvoiceId": {
+ "type": "string",
+ "valueString": "INV-100",
+ "content": "INV-100",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 7.4959,
+ 1.422,
+ 7.9988,
+ 1.422,
+ 7.9988,
+ 1.5215,
+ 7.4959,
+ 1.5215
+ ]
+ }
+ ],
+ "confidence": 0.973,
+ "spans": [
+ {
+ "offset": 51,
+ "length": 7
+ }
+ ]
+ },
+ "InvoiceTotal": {
+ "type": "number",
+ "valueNumber": 110,
+ "content": "$110.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 7.3842,
+ 7.465,
+ 7.9181,
+ 7.465,
+ 7.9181,
+ 7.6089,
+ 7.3842,
+ 7.6089
+ ]
+ }
+ ],
+ "confidence": 0.973,
+ "spans": [
+ {
+ "offset": 799,
+ "length": 7
+ }
+ ]
+ },
+ "Items": {
+ "type": "array",
+ "valueArray": [
+ {
+ "type": "object",
+ "valueObject": {
+ "Amount": {
+ "type": "number",
+ "valueNumber": 60,
+ "content": "$60.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 7.4642,
+ 5.6777,
+ 7.9116,
+ 5.6777,
+ 7.9116,
+ 5.8215,
+ 7.4642,
+ 5.8215
+ ]
+ }
+ ],
+ "confidence": 0.902,
+ "spans": [
+ {
+ "offset": 653,
+ "length": 6
+ }
+ ]
+ },
+ "Date": {
+ "type": "date",
+ "valueDate": "2021-03-04",
+ "content": "3/4/2021",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.592,
+ 5.682,
+ 1.2092,
+ 5.682,
+ 1.2092,
+ 5.8243,
+ 0.592,
+ 5.8243
+ ]
+ }
+ ],
+ "confidence": 0.938,
+ "spans": [
+ {
+ "offset": 600,
+ "length": 8
+ }
+ ]
+ },
+ "Description": {
+ "type": "string",
+ "valueString": "Consulting Services",
+ "content": "Consulting Services",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 2.3388,
+ 5.6883,
+ 3.6278,
+ 5.6883,
+ 3.6278,
+ 5.8312,
+ 2.3388,
+ 5.8312
+ ]
+ }
+ ],
+ "confidence": 0.9,
+ "spans": [
+ {
+ "offset": 614,
+ "length": 19
+ }
+ ]
+ },
+ "ProductCode": {
+ "type": "string",
+ "valueString": "A123",
+ "content": "A123",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 1.6069,
+ 5.6948,
+ 1.9417,
+ 5.6948,
+ 1.9417,
+ 5.803,
+ 1.6069,
+ 5.803
+ ]
+ }
+ ],
+ "confidence": 0.877,
+ "spans": [
+ {
+ "offset": 609,
+ "length": 4
+ }
+ ]
+ },
+ "Quantity": {
+ "type": "number",
+ "valueNumber": 2,
+ "content": "2",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.5977,
+ 5.6948,
+ 4.6635,
+ 5.6948,
+ 4.6635,
+ 5.8017,
+ 4.5977,
+ 5.8017
+ ]
+ }
+ ],
+ "confidence": 0.899,
+ "spans": [
+ {
+ "offset": 634,
+ "length": 1
+ }
+ ]
+ },
+ "Tax": {
+ "type": "number",
+ "content": "10%",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 6.7168,
+ 5.6932,
+ 6.9826,
+ 5.6932,
+ 6.9826,
+ 5.8045,
+ 6.7168,
+ 5.8045
+ ]
+ }
+ ],
+ "confidence": 0.78,
+ "spans": [
+ {
+ "offset": 649,
+ "length": 3
+ }
+ ]
+ },
+ "Unit": {
+ "type": "string",
+ "valueString": "hours",
+ "content": "hours",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.8444,
+ 5.6883,
+ 5.2071,
+ 5.6883,
+ 5.2071,
+ 5.803,
+ 4.8444,
+ 5.803
+ ]
+ }
+ ],
+ "confidence": 0.899,
+ "spans": [
+ {
+ "offset": 636,
+ "length": 5
+ }
+ ]
+ },
+ "UnitPrice": {
+ "type": "number",
+ "valueNumber": 30,
+ "content": "$30.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 5.9669,
+ 5.6777,
+ 6.4142,
+ 5.6777,
+ 6.4142,
+ 5.8215,
+ 5.9669,
+ 5.8215
+ ]
+ }
+ ],
+ "confidence": 0.828,
+ "spans": [
+ {
+ "offset": 642,
+ "length": 6
+ }
+ ]
+ }
+ },
+ "content": "3/4/2021 A123 Consulting Services 2 hours $30.00 10% $60.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.592,
+ 5.6777,
+ 7.9116,
+ 5.6777,
+ 7.9116,
+ 5.8312,
+ 0.592,
+ 5.8312
+ ]
+ }
+ ],
+ "confidence": 0.955,
+ "spans": [
+ {
+ "offset": 600,
+ "length": 59
+ }
+ ]
+ },
+ {
+ "type": "object",
+ "valueObject": {
+ "Amount": {
+ "type": "number",
+ "valueNumber": 30,
+ "content": "$30.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 7.4642,
+ 5.9743,
+ 7.9116,
+ 5.9743,
+ 7.9116,
+ 6.1182,
+ 7.4642,
+ 6.1182
+ ]
+ }
+ ],
+ "confidence": 0.916,
+ "spans": [
+ {
+ "offset": 699,
+ "length": 6
+ }
+ ]
+ },
+ "Date": {
+ "type": "date",
+ "valueDate": "2021-03-05",
+ "content": "3/5/2021",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.592,
+ 5.9787,
+ 1.2088,
+ 5.9787,
+ 1.2088,
+ 6.121,
+ 0.592,
+ 6.121
+ ]
+ }
+ ],
+ "confidence": 0.902,
+ "spans": [
+ {
+ "offset": 660,
+ "length": 8
+ }
+ ]
+ },
+ "Description": {
+ "type": "string",
+ "valueString": "Document Fee",
+ "content": "Document Fee",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 2.345,
+ 5.993,
+ 3.3096,
+ 5.993,
+ 3.3096,
+ 6.0997,
+ 2.345,
+ 6.0997
+ ]
+ }
+ ],
+ "confidence": 0.901,
+ "spans": [
+ {
+ "offset": 674,
+ "length": 12
+ }
+ ]
+ },
+ "ProductCode": {
+ "type": "string",
+ "valueString": "B456",
+ "content": "B456",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 1.6214,
+ 5.9915,
+ 1.9419,
+ 5.9915,
+ 1.9419,
+ 6.0997,
+ 1.6214,
+ 6.0997
+ ]
+ }
+ ],
+ "confidence": 0.886,
+ "spans": [
+ {
+ "offset": 669,
+ "length": 4
+ }
+ ]
+ },
+ "Quantity": {
+ "type": "number",
+ "valueNumber": 3,
+ "content": "3",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.5967,
+ 5.9915,
+ 4.6627,
+ 5.9915,
+ 4.6627,
+ 6.0997,
+ 4.5967,
+ 6.0997
+ ]
+ }
+ ],
+ "confidence": 0.898,
+ "spans": [
+ {
+ "offset": 687,
+ "length": 1
+ }
+ ]
+ },
+ "Tax": {
+ "type": "number",
+ "content": "5%",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 6.7508,
+ 5.9898,
+ 6.9393,
+ 5.9898,
+ 6.9393,
+ 6.1012,
+ 6.7508,
+ 6.1012
+ ]
+ }
+ ],
+ "confidence": 0.772,
+ "spans": [
+ {
+ "offset": 696,
+ "length": 2
+ }
+ ]
+ },
+ "UnitPrice": {
+ "type": "number",
+ "valueNumber": 10,
+ "content": "$10.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 5.9669,
+ 5.9743,
+ 6.4142,
+ 5.9743,
+ 6.4142,
+ 6.1182,
+ 5.9669,
+ 6.1182
+ ]
+ }
+ ],
+ "confidence": 0.831,
+ "spans": [
+ {
+ "offset": 689,
+ "length": 6
+ }
+ ]
+ }
+ },
+ "content": "3/5/2021 B456 Document Fee 3 $10.00 5% $30.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.592,
+ 5.9743,
+ 7.9116,
+ 5.9743,
+ 7.9116,
+ 6.121,
+ 0.592,
+ 6.121
+ ]
+ }
+ ],
+ "confidence": 0.941,
+ "spans": [
+ {
+ "offset": 660,
+ "length": 45
+ }
+ ]
+ },
+ {
+ "type": "object",
+ "valueObject": {
+ "Amount": {
+ "type": "number",
+ "valueNumber": 10,
+ "content": "$10.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 7.4642,
+ 6.2746,
+ 7.9116,
+ 6.2746,
+ 7.9116,
+ 6.4184,
+ 7.4642,
+ 6.4184
+ ]
+ }
+ ],
+ "confidence": 0.959,
+ "spans": [
+ {
+ "offset": 752,
+ "length": 6
+ }
+ ]
+ },
+ "Date": {
+ "type": "date",
+ "valueDate": "2021-03-06",
+ "content": "3/6/2021",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.592,
+ 6.2789,
+ 1.2088,
+ 6.2789,
+ 1.2088,
+ 6.4213,
+ 0.592,
+ 6.4213
+ ]
+ }
+ ],
+ "confidence": 0.903,
+ "spans": [
+ {
+ "offset": 706,
+ "length": 8
+ }
+ ]
+ },
+ "Description": {
+ "type": "string",
+ "valueString": "Printing Fee",
+ "content": "Printing Fee",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 2.345,
+ 6.2906,
+ 3.1351,
+ 6.2906,
+ 3.1351,
+ 6.4281,
+ 2.345,
+ 6.4281
+ ]
+ }
+ ],
+ "confidence": 0.899,
+ "spans": [
+ {
+ "offset": 720,
+ "length": 12
+ }
+ ]
+ },
+ "ProductCode": {
+ "type": "string",
+ "valueString": "C789",
+ "content": "C789",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 1.6152,
+ 6.2918,
+ 1.94,
+ 6.2918,
+ 1.94,
+ 6.3999,
+ 1.6152,
+ 6.3999
+ ]
+ }
+ ],
+ "confidence": 0.898,
+ "spans": [
+ {
+ "offset": 715,
+ "length": 4
+ }
+ ]
+ },
+ "Quantity": {
+ "type": "number",
+ "valueNumber": 10,
+ "content": "10",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.5158,
+ 6.2918,
+ 4.6637,
+ 6.2918,
+ 4.6637,
+ 6.3999,
+ 4.5158,
+ 6.3999
+ ]
+ }
+ ],
+ "confidence": 0.903,
+ "spans": [
+ {
+ "offset": 733,
+ "length": 2
+ }
+ ]
+ },
+ "Tax": {
+ "type": "number",
+ "content": "20%",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 6.712,
+ 6.2901,
+ 6.9826,
+ 6.2901,
+ 6.9826,
+ 6.4014,
+ 6.712,
+ 6.4014
+ ]
+ }
+ ],
+ "confidence": 0.791,
+ "spans": [
+ {
+ "offset": 748,
+ "length": 3
+ }
+ ]
+ },
+ "Unit": {
+ "type": "string",
+ "valueString": "pages",
+ "content": "pages",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 4.8444,
+ 6.3196,
+ 5.2199,
+ 6.3196,
+ 5.2199,
+ 6.4281,
+ 4.8444,
+ 6.4281
+ ]
+ }
+ ],
+ "confidence": 0.899,
+ "spans": [
+ {
+ "offset": 736,
+ "length": 5
+ }
+ ]
+ },
+ "UnitPrice": {
+ "type": "number",
+ "valueNumber": 1,
+ "content": "$1.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 6.0502,
+ 6.2746,
+ 6.4142,
+ 6.2746,
+ 6.4142,
+ 6.4184,
+ 6.0502,
+ 6.4184
+ ]
+ }
+ ],
+ "confidence": 0.829,
+ "spans": [
+ {
+ "offset": 742,
+ "length": 5
+ }
+ ]
+ }
+ },
+ "content": "3/6/2021 C789 Printing Fee 10 pages $1.00 20% $10.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.592,
+ 6.2746,
+ 7.9116,
+ 6.2746,
+ 7.9116,
+ 6.4281,
+ 0.592,
+ 6.4281
+ ]
+ }
+ ],
+ "confidence": 0.956,
+ "spans": [
+ {
+ "offset": 706,
+ "length": 52
+ }
+ ]
+ }
+ ]
+ },
+ "Locale": {
+ "type": "string",
+ "valueString": "en-US",
+ "confidence": 1
+ },
+ "PreviousUnpaidBalance": {
+ "type": "number",
+ "valueNumber": 500,
+ "content": "$500.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 7.3842,
+ 7.7617,
+ 7.9181,
+ 7.7617,
+ 7.9181,
+ 7.9055,
+ 7.3842,
+ 7.9055
+ ]
+ }
+ ],
+ "confidence": 0.962,
+ "spans": [
+ {
+ "offset": 831,
+ "length": 7
+ }
+ ]
+ },
+ "PurchaseOrder": {
+ "type": "string",
+ "valueString": "PO-3333",
+ "content": "PO-3333",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 1.9114,
+ 4.9282,
+ 2.4718,
+ 4.9282,
+ 2.4718,
+ 5.0363,
+ 1.9114,
+ 5.0363
+ ]
+ }
+ ],
+ "confidence": 0.967,
+ "spans": [
+ {
+ "offset": 541,
+ "length": 7
+ }
+ ]
+ },
+ "RemittanceAddress": {
+ "type": "string",
+ "valueString": "123 Remit St New York, NY, 10001",
+ "content": "123 Remit St New York, NY, 10001",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.5943,
+ 9.5717,
+ 1.9882,
+ 9.5717,
+ 1.9882,
+ 9.9098,
+ 0.5943,
+ 9.9098
+ ]
+ }
+ ],
+ "confidence": 0.946,
+ "spans": [
+ {
+ "offset": 913,
+ "length": 32
+ }
+ ]
+ },
+ "RemittanceAddressRecipient": {
+ "type": "string",
+ "valueString": "Contoso Billing",
+ "content": "Contoso Billing",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.5882,
+ 9.3631,
+ 1.5828,
+ 9.3631,
+ 1.5828,
+ 9.5059,
+ 0.5882,
+ 9.5059
+ ]
+ }
+ ],
+ "confidence": 0.956,
+ "spans": [
+ {
+ "offset": 897,
+ "length": 15
+ }
+ ]
+ },
+ "ServiceAddress": {
+ "type": "string",
+ "valueString": "123 Service St, Redmond WA, 98052",
+ "content": "123 Service St, Redmond WA, 98052",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 6.2197,
+ 3.9734,
+ 7.6337,
+ 3.9734,
+ 7.6337,
+ 4.3082,
+ 6.2197,
+ 4.3082
+ ]
+ }
+ ],
+ "confidence": 0.946,
+ "spans": [
+ {
+ "offset": 402,
+ "length": 15
+ },
+ {
+ "offset": 454,
+ "length": 17
+ }
+ ]
+ },
+ "ServiceAddressRecipient": {
+ "type": "string",
+ "valueString": "Microsoft Services",
+ "content": "Microsoft Services",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 6.2197,
+ 3.7641,
+ 7.4427,
+ 3.7641,
+ 7.4427,
+ 3.8794,
+ 6.2197,
+ 3.8794
+ ]
+ }
+ ],
+ "confidence": 0.951,
+ "spans": [
+ {
+ "offset": 357,
+ "length": 18
+ }
+ ]
+ },
+ "ServiceEndDate": {
+ "type": "date",
+ "valueDate": "2019-11-14",
+ "content": "11/14/2019",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 7.2528,
+ 2.2306,
+ 7.9952,
+ 2.2306,
+ 7.9952,
+ 2.3615,
+ 7.2528,
+ 2.3615
+ ]
+ }
+ ],
+ "confidence": 0.973,
+ "spans": [
+ {
+ "offset": 204,
+ "length": 10
+ }
+ ]
+ },
+ "ServiceStartDate": {
+ "type": "date",
+ "valueDate": "2019-10-14",
+ "content": "10/14/2019",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 6.3357,
+ 2.2306,
+ 7.0749,
+ 2.2306,
+ 7.0749,
+ 2.3615,
+ 6.3357,
+ 2.3615
+ ]
+ }
+ ],
+ "confidence": 0.973,
+ "spans": [
+ {
+ "offset": 191,
+ "length": 10
+ }
+ ]
+ },
+ "ShippingAddress": {
+ "type": "string",
+ "valueString": "123 Ship St, Redmond WA, 98052",
+ "content": "123 Ship St, Redmond WA, 98052",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 3.3454,
+ 3.9681,
+ 4.7594,
+ 3.9681,
+ 4.7594,
+ 4.3082,
+ 3.3454,
+ 4.3082
+ ]
+ }
+ ],
+ "confidence": 0.946,
+ "spans": [
+ {
+ "offset": 389,
+ "length": 12
+ },
+ {
+ "offset": 436,
+ "length": 17
+ }
+ ]
+ },
+ "ShippingAddressRecipient": {
+ "type": "string",
+ "valueString": "Microsoft Delivery",
+ "content": "Microsoft Delivery",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 3.3454,
+ 3.7641,
+ 4.5762,
+ 3.7641,
+ 4.5762,
+ 3.9076,
+ 3.3454,
+ 3.9076
+ ]
+ }
+ ],
+ "confidence": 0.955,
+ "spans": [
+ {
+ "offset": 338,
+ "length": 18
+ }
+ ]
+ },
+ "SubTotal": {
+ "type": "number",
+ "valueNumber": 100,
+ "content": "$100.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 7.3842,
+ 6.8679,
+ 7.9181,
+ 6.8679,
+ 7.9181,
+ 7.0118,
+ 7.3842,
+ 7.0118
+ ]
+ }
+ ],
+ "confidence": 0.973,
+ "spans": [
+ {
+ "offset": 768,
+ "length": 7
+ }
+ ]
+ },
+ "TotalTax": {
+ "type": "number",
+ "valueNumber": 10,
+ "content": "$10.00",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 7.4709,
+ 7.165,
+ 7.9182,
+ 7.165,
+ 7.9182,
+ 7.3089,
+ 7.4709,
+ 7.3089
+ ]
+ }
+ ],
+ "confidence": 0.973,
+ "spans": [
+ {
+ "offset": 786,
+ "length": 6
+ }
+ ]
+ },
+ "VendorAddress": {
+ "type": "string",
+ "valueString": "123 456th St New York, NY, 10001",
+ "content": "123 456th St New York, NY, 10001",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.5943,
+ 1.6092,
+ 1.9894,
+ 1.6092,
+ 1.9894,
+ 1.9675,
+ 0.5943,
+ 1.9675
+ ]
+ }
+ ],
+ "confidence": 0.946,
+ "spans": [
+ {
+ "offset": 59,
+ "length": 12
+ },
+ {
+ "offset": 97,
+ "length": 19
+ }
+ ]
+ },
+ "VendorAddressRecipient": {
+ "type": "string",
+ "valueString": "Contoso Headquarters",
+ "content": "Contoso Headquarters",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.5882,
+ 1.4239,
+ 2.0978,
+ 1.4239,
+ 2.0978,
+ 1.5664,
+ 0.5882,
+ 1.5664
+ ]
+ }
+ ],
+ "confidence": 0.956,
+ "spans": [
+ {
+ "offset": 21,
+ "length": 20
+ }
+ ]
+ },
+ "VendorName": {
+ "type": "string",
+ "valueString": "CONTOSO LTD.",
+ "content": "CONTOSO LTD.",
+ "boundingRegions": [
+ {
+ "pageNumber": 1,
+ "boundingBox": [
+ 0.5911,
+ 0.6857,
+ 2.3181,
+ 0.6857,
+ 2.3181,
+ 0.8664,
+ 0.5911,
+ 0.8664
+ ]
+ }
+ ],
+ "confidence": 0.956,
+ "spans": [
+ {
+ "offset": 0,
+ "length": 12
+ }
+ ]
+ }
+ },
+ "confidence": 1,
+ "spans": [
+ {
+ "offset": 0,
+ "length": 958
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetInfo.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetInfo.json
new file mode 100644
index 000000000000..8134190378cf
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetInfo.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "{apiVersion}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "customDocumentModels": {
+ "count": 2,
+ "limit": 13
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetModel_Custom.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetModel_Custom.json
new file mode 100644
index 000000000000..ecb16b5970f1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetModel_Custom.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "{apiVersion}",
+ "modelId": "{customModelId}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "modelId": "{customModelId}",
+ "description": "{customModelDescription}",
+ "createdDateTime": "2021-09-24T12:54:35Z",
+ "docTypes": {
+ "{docType}": {
+ "fieldSchema": {
+ "Name": {
+ "type": "string"
+ },
+ "Date": {
+ "type": "date"
+ },
+ "Amount": {
+ "type": "number"
+ }
+ },
+ "fieldConfidence": {
+ "Name": 0.9,
+ "Date": 0.95,
+ "Amount": 0.93
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetModel_Prebuilt.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetModel_Prebuilt.json
new file mode 100644
index 000000000000..7575792c3744
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetModel_Prebuilt.json
@@ -0,0 +1,132 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "{apiVersion}",
+ "modelId": "prebuilt-invoice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "modelId": "prebuilt-invoice",
+ "description": "Prebuilt model to extract key information from English invoices, including customer, vendor, invoice ID, due date, total, and more.",
+ "createdDateTime": "2021-07-30T00:00:00Z",
+ "docTypes": {
+ "prebuilt:invoice": {
+ "fieldSchema": {
+ "CustomerName": {
+ "type": "string"
+ },
+ "CustomerId": {
+ "type": "string"
+ },
+ "PurchaseOrder": {
+ "type": "string"
+ },
+ "InvoiceId": {
+ "type": "string"
+ },
+ "InvoiceDate": {
+ "type": "date"
+ },
+ "DueDate": {
+ "type": "date"
+ },
+ "VendorName": {
+ "type": "string"
+ },
+ "VendorAddress": {
+ "type": "string"
+ },
+ "VendorAddressRecipient": {
+ "type": "string"
+ },
+ "CustomerAddress": {
+ "type": "string"
+ },
+ "CustomerAddressRecipient": {
+ "type": "string"
+ },
+ "BillingAddress": {
+ "type": "string"
+ },
+ "BillingAddressRecipient": {
+ "type": "string"
+ },
+ "ShippingAddress": {
+ "type": "string"
+ },
+ "ShippingAddressRecipient": {
+ "type": "string"
+ },
+ "SubTotal": {
+ "type": "number"
+ },
+ "TotalTax": {
+ "type": "number"
+ },
+ "InvoiceTotal": {
+ "type": "number"
+ },
+ "AmountDue": {
+ "type": "number"
+ },
+ "PreviousUnpaidBalance": {
+ "type": "number"
+ },
+ "RemittanceAddress": {
+ "type": "string"
+ },
+ "RemittanceAddressRecipient": {
+ "type": "string"
+ },
+ "ServiceAddress": {
+ "type": "string"
+ },
+ "ServiceAddressRecipient": {
+ "type": "string"
+ },
+ "ServiceStartDate": {
+ "type": "date"
+ },
+ "ServiceEndDate": {
+ "type": "date"
+ },
+ "Items": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "Amount": {
+ "type": "number"
+ },
+ "Date": {
+ "type": "date"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "Quantity": {
+ "type": "number"
+ },
+ "ProductCode": {
+ "type": "string"
+ },
+ "Tax": {
+ "type": "number"
+ },
+ "Unit": {
+ "type": "string"
+ },
+ "UnitPrice": {
+ "type": "number"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetModels.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetModels.json
new file mode 100644
index 000000000000..a1454ab37af2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetModels.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "{apiVersion}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "modelId": "prebuilt-layout",
+ "createdDateTime": "2021-07-30T00:00:00Z",
+ "description": "Prebuilt model to extract text, selection marks, tables, and other layout information."
+ },
+ {
+ "modelId": "myCustomModel",
+ "createdDateTime": "2021-09-24T12:54:35Z",
+ "description": "{modelDescription}"
+ }
+ ],
+ "nextLink": "{nextLinkUrl}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetOperation.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetOperation.json
new file mode 100644
index 000000000000..da118b298cf3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetOperation.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "{apiVersion}",
+ "operationId": "{operationId}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "operationId": "31533879936_426a3e4c-c6fb-4c83-937c-a92414c371a4",
+ "status": "succeeded",
+ "percentCompleted": 100,
+ "createdDateTime": "2021-09-23T09:12:57Z",
+ "lastUpdatedDateTime": "2021-09-23T09:13:01Z",
+ "kind": "documentModelBuild",
+ "resourceLocation": "{endpoint}/formrecognizer/documentModels/{modelId}",
+ "result": {
+ "modelId": "{customModelId}",
+ "description": "{customModelDescription}",
+ "createdDateTime": "2021-09-23T09:13:01Z",
+ "docTypes": {
+ "{docType}": {
+ "fieldSchema": {
+ "Name": {
+ "type": "string"
+ },
+ "Date": {
+ "type": "date"
+ },
+ "Amount": {
+ "type": "number"
+ }
+ },
+ "fieldConfidence": {
+ "Name": 0.9,
+ "Date": 0.95,
+ "Amount": 0.93
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetOperations.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetOperations.json
new file mode 100644
index 000000000000..8c8ebf16e3a7
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/2021-09-30-preview/examples/GetOperations.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "api-version": "{apiVersion}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "operationId": "{operationId}",
+ "status": "running",
+ "percentCompleted": 0,
+ "createdDateTime": "2021-09-23T09:12:57Z",
+ "lastUpdatedDateTime": "2021-09-23T09:12:58Z",
+ "kind": "documentModelBuild",
+ "resourceLocation": "{endpoint}/formrecognizer/documentModels/{modelId}"
+ }
+ ],
+ "nextLink": "{nextLinkUrl}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/readme.md b/specification/cognitiveservices/data-plane/FormRecognizer/readme.md
index 38d0d8a40546..720a546d8a0a 100644
--- a/specification/cognitiveservices/data-plane/FormRecognizer/readme.md
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/readme.md
@@ -15,6 +15,13 @@ openapi-type: data-plane
# Releases
+### Release 2021-09-30-preview
+These settings apply only when `--tag=2021-09-30-preview` is specified on the command line.
+``` yaml $(tag) == '2021-09-30-preview'
+input-file:
+ - preview/2021-09-30-preview/FormRecognizer.json
+```
+
### Release 2.1
These settings apply only when `--tag=release_2_1` is specified on the command line.
``` yaml $(tag) == 'release_2_1'
@@ -70,6 +77,31 @@ input-file:
- preview/v1.0/FormRecognizerReceiptOcr.json
```
+
+## Suppression
+``` yaml
+directive:
+ - suppress: PATTERN
+ from: FormRecognizer/preview/2021-09-30-preview/FormRecognizer.json
+ where: $.parameters.modelId
+ reason: Bug in example validation
+ - suppress: LongRunningResponseStatusCode
+ from: FormRecognizer/preview/2021-09-30-preview/FormRecognizer.json
+ reason: Latest guidelines recommend 202 for long running operations.
+ - suppress: ValidFormats
+ from: FormRecognizer/preview/2021-09-30-preview/FormRecognizer.json
+ where:
+ - $.definitions.UrlContentSource.format
+ - $.definitions.AzureBlobContentSource.properties.containerUrl.format
+ - $.definitions.DocumentField.properties.valueTime.format
+ reason: uri and time are valid formats in JsonSchema/Swagger and does not affect SDK.
+ - suppress: AvoidNestedProperties
+ from: FormRecognizer/preview/2021-09-30-preview/FormRecognizer.json
+ where: $.definitions.DocumentFieldSchema.properties.properties
+ reason: Intentionally trying to mimic JsonSchema with recursion.
+```
+
+
## Swagger to SDK
This section describes what SDK should be generated by the automatic system.
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulPublishApplicationRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulPublishApplicationRequest.json
index fe5a3d4fcfc1..334cabe3b2ee 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulPublishApplicationRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/apps/SuccessfulPublishApplicationRequest.json
@@ -2,7 +2,7 @@
"parameters": {
"Endpoint": "{Endpoint}",
"Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
- "appId": "11be6373fca44ded80fbe2afa8597c18",
+ "appId": "c555c6ef-974f-4d73-b573-69feeb4a85f8",
"applicationPublishObject": {
"versionId": "0.1",
"isStaging": false
@@ -13,8 +13,8 @@
"headers": {},
"body": {
"isStaging": false,
- "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/11be6373fca44ded80fbe2afa8597c18",
- "assignedEndpointKey": "11be6373fca44ded80fbe2afa8597c18",
+ "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/c555c6ef-974f-4d73-b573-69feeb4a85f8",
+ "assignedEndpointKey": null,
"endpointRegion": "westus, cus",
"failedRegions": null,
"publishedDateTime": "2017-11-28T19:20:28Z"
@@ -24,8 +24,8 @@
"headers": {},
"body": {
"isStaging": false,
- "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/11be6373fca44ded80fbe2afa8597c18",
- "assignedEndpointKey": "11be6373fca44ded80fbe2afa8597c18",
+ "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/c555c6ef-974f-4d73-b573-69feeb4a85f8",
+ "assignedEndpointKey": null,
"endpointRegion": "westus, cus",
"failedRegions": "cus",
"publishedDateTime": "2017-11-28T19:20:28Z"
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json
index 0d50a283b553..10e2c9e84d3b 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/preview/v3.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json
@@ -2,7 +2,7 @@
"parameters": {
"Endpoint": "{Endpoint}",
"Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
- "appId": "11be6373fca44ded80fbe2afa8597c18",
+ "appId": "c555c6ef-974f-4d73-b573-69feeb4a85f8",
"versionId": "0.1",
"skip": 0,
"take": 100
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/apps/SuccessfulPublishApplicationRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/apps/SuccessfulPublishApplicationRequest.json
index fe5a3d4fcfc1..334cabe3b2ee 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/apps/SuccessfulPublishApplicationRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/apps/SuccessfulPublishApplicationRequest.json
@@ -2,7 +2,7 @@
"parameters": {
"Endpoint": "{Endpoint}",
"Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
- "appId": "11be6373fca44ded80fbe2afa8597c18",
+ "appId": "c555c6ef-974f-4d73-b573-69feeb4a85f8",
"applicationPublishObject": {
"versionId": "0.1",
"isStaging": false
@@ -13,8 +13,8 @@
"headers": {},
"body": {
"isStaging": false,
- "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/11be6373fca44ded80fbe2afa8597c18",
- "assignedEndpointKey": "11be6373fca44ded80fbe2afa8597c18",
+ "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/c555c6ef-974f-4d73-b573-69feeb4a85f8",
+ "assignedEndpointKey": null,
"endpointRegion": "westus, cus",
"failedRegions": null,
"publishedDateTime": "2017-11-28T19:20:28Z"
@@ -24,8 +24,8 @@
"headers": {},
"body": {
"isStaging": false,
- "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/11be6373fca44ded80fbe2afa8597c18",
- "assignedEndpointKey": "11be6373fca44ded80fbe2afa8597c18",
+ "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/c555c6ef-974f-4d73-b573-69feeb4a85f8",
+ "assignedEndpointKey": null,
"endpointRegion": "westus, cus",
"failedRegions": "cus",
"publishedDateTime": "2017-11-28T19:20:28Z"
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json
index 0d50a283b553..10e2c9e84d3b 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v2.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json
@@ -2,7 +2,7 @@
"parameters": {
"Endpoint": "{Endpoint}",
"Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
- "appId": "11be6373fca44ded80fbe2afa8597c18",
+ "appId": "c555c6ef-974f-4d73-b573-69feeb4a85f8",
"versionId": "0.1",
"skip": 0,
"take": 100
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v3.0/examples/apps/SuccessfulPublishApplicationRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v3.0/examples/apps/SuccessfulPublishApplicationRequest.json
index 7131c8127ee2..c531858e854f 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v3.0/examples/apps/SuccessfulPublishApplicationRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v3.0/examples/apps/SuccessfulPublishApplicationRequest.json
@@ -2,7 +2,7 @@
"parameters": {
"Endpoint": "{Endpoint}",
"Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
- "appId": "11be6373fca44ded80fbe2afa8597c18",
+ "appId": "c555c6ef-974f-4d73-b573-69feeb4a85f8",
"applicationPublishObject": {
"versionId": "0.1",
"isStaging": false
@@ -13,8 +13,8 @@
"headers": {},
"body": {
"isStaging": false,
- "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v3.0/apps/11be6373fca44ded80fbe2afa8597c18",
- "assignedEndpointKey": "11be6373fca44ded80fbe2afa8597c18",
+ "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v3.0/apps/c555c6ef-974f-4d73-b573-69feeb4a85f8",
+ "assignedEndpointKey": null,
"endpointRegion": "westus, cus",
"failedRegions": null,
"publishedDateTime": "2017-11-28T19:20:28Z"
@@ -24,8 +24,8 @@
"headers": {},
"body": {
"isStaging": false,
- "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v3.0/apps/11be6373fca44ded80fbe2afa8597c18",
- "assignedEndpointKey": "11be6373fca44ded80fbe2afa8597c18",
+ "endpointUrl": "https://westus.api.cognitive.microsoft.com/luis/v3.0/apps/c555c6ef-974f-4d73-b573-69feeb4a85f8",
+ "assignedEndpointKey": null,
"endpointRegion": "westus, cus",
"failedRegions": "cus",
"publishedDateTime": "2017-11-28T19:20:28Z"
diff --git a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v3.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v3.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json
index 0d50a283b553..10e2c9e84d3b 100644
--- a/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v3.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json
+++ b/specification/cognitiveservices/data-plane/LUIS/Authoring/stable/v3.0/examples/model/SuccessfulGetApplicationVersionClosedListInfosRequest.json
@@ -2,7 +2,7 @@
"parameters": {
"Endpoint": "{Endpoint}",
"Ocp-Apim-Subscription-Key": "00000000000000000000000000000000",
- "appId": "11be6373fca44ded80fbe2afa8597c18",
+ "appId": "c555c6ef-974f-4d73-b573-69feeb4a85f8",
"versionId": "0.1",
"skip": 0,
"take": 100
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/common.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/common.json
new file mode 100644
index 000000000000..6d864b78286b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/common.json
@@ -0,0 +1,237 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Microsoft Cognitive Language Service",
+ "description": "The language service API is a suite of natural language processing (NLP) skills 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, language detection and question answering. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview.",
+ "version": "2021-07-15-preview"
+ },
+ "paths": {},
+ "definitions": {
+ "ErrorResponse": {
+ "type": "object",
+ "description": "Error response.",
+ "additionalProperties": false,
+ "properties": {
+ "error": {
+ "description": "The error object.",
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "Error": {
+ "type": "object",
+ "description": "The error object.",
+ "additionalProperties": false,
+ "required": [
+ "code",
+ "message"
+ ],
+ "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"
+ }
+ }
+ },
+ "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,
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "description": "One of a server-defined set of error codes.",
+ "$ref": "#/definitions/InnerErrorCode"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "details": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Error details."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "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": "ErrorCode",
+ "modelAsString": true
+ },
+ "enum": [
+ "InvalidRequest",
+ "InvalidArgument",
+ "Unauthorized",
+ "Forbidden",
+ "NotFound",
+ "ProjectNotFound",
+ "OperationNotFound",
+ "AzureCognitiveSearchNotFound",
+ "AzureCognitiveSearchIndexNotFound",
+ "TooManyRequests",
+ "AzureCognitiveSearchThrottling",
+ "AzureCognitiveSearchIndexLimitReached",
+ "InternalServerError",
+ "ServiceUnavailable"
+ ]
+ },
+ "InnerErrorCode": {
+ "type": "string",
+ "description": "Human-readable error code.",
+ "x-ms-enum": {
+ "name": "InnerErrorCode",
+ "modelAsString": true
+ },
+ "enum": [
+ "InvalidRequest",
+ "InvalidParameterValue",
+ "KnowledgeBaseNotFound",
+ "AzureCognitiveSearchNotFound",
+ "AzureCognitiveSearchThrottling",
+ "ExtractionFailure"
+ ]
+ },
+ "Language": {
+ "type": "string",
+ "description": "Language of the text records. This is BCP-47 representation of a language. For example, use \"en\" for English; \"es\" for Spanish etc. If not set, use \"en\" for English as default."
+ },
+ "StringIndexType": {
+ "type": "string",
+ "description": "Specifies the method used to interpret string offsets. Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information see https://aka.ms/text-analytics-offsets.",
+ "default": "TextElements_v8",
+ "enum": [
+ "TextElements_v8",
+ "UnicodeCodePoint",
+ "Utf16CodeUnit"
+ ],
+ "x-ms-enum": {
+ "name": "StringIndexType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "TextElements_v8",
+ "description": "Returned offset and length values will correspond to TextElements (Graphemes and Grapheme clusters) confirming to the Unicode 8.0.0 standard. Use this option if your application is written in .Net Framework or .Net Core and you will be using StringInfo."
+ },
+ {
+ "value": "UnicodeCodePoint",
+ "description": "Returned offset and length values will correspond to Unicode code points. Use this option if your application is written in a language that support Unicode, for example Python."
+ },
+ {
+ "value": "Utf16CodeUnit",
+ "description": "Returned offset and length values will correspond to UTF-16 code units. Use this option if your application is written in a language that support Unicode, for example Java, JavaScript."
+ }
+ ]
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "Endpoint",
+ "description": "Supported Cognitive Services endpoint (e.g., https://.api.cognitiveservices.azure.com).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "ProjectNameQueryParameter": {
+ "name": "projectName",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The name of the project to use.",
+ "x-ms-parameter-location": "method"
+ },
+ "ProjectNamePathParameter": {
+ "name": "projectName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 100,
+ "description": "The name of the project to use.",
+ "x-ms-parameter-location": "method"
+ },
+ "DeploymentNameQueryParameter": {
+ "name": "deploymentName",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The name of the specific deployment of the project to use.",
+ "x-ms-parameter-location": "method"
+ },
+ "DeploymentNamePathParameter": {
+ "name": "deploymentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the specific deployment of the project to use.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version."
+ },
+ "TopParameter": {
+ "name": "top",
+ "in": "query",
+ "description": "The maximum number of resources to return from the collection.",
+ "type": "integer",
+ "format": "int32",
+ "x-ms-parameter-location": "method"
+ },
+ "SkipParameter": {
+ "name": "skip",
+ "in": "query",
+ "description": "An offset into the collection of the first resource to be returned.",
+ "type": "integer",
+ "format": "int32",
+ "x-ms-parameter-location": "method"
+ },
+ "MaxPageSizeParameter": {
+ "name": "maxpagesize",
+ "in": "query",
+ "description": "The maximum number of resources to include in a single response.",
+ "type": "integer",
+ "format": "int32",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/SuccessfulQueryKnowledgebases.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/SuccessfulQueryKnowledgebases.json
new file mode 100644
index 000000000000..2301273ad752
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/SuccessfulQueryKnowledgebases.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1",
+ "deploymentName": "production",
+ "knowledgeBaseQueryOptions": {
+ "question": "how long it takes to charge surface?",
+ "top": 3,
+ "userId": "sd53lsY=",
+ "confidenceScoreThreshold": 0.20,
+ "context": {
+ "previousQnaId": 9,
+ "previousUserQuery": "Where are QnA Maker quickstarts?"
+ },
+ "rankerType": "Default",
+ "filters": {
+ "metadataFilter": {
+ "metadata": [
+ {
+ "key": "category",
+ "value": "api"
+ },
+ {
+ "key": "editorial",
+ "value": "chitchat"
+ }
+ ],
+ "logicalOperation": "AND"
+ },
+ "sourceFilter": [
+ "filename1.pdf",
+ "https://www.wikipedia.org/microsoft"
+ ],
+ "logicalOperation": "AND"
+ },
+ "answerSpanRequest": {
+ "enable": true,
+ "confidenceScoreThreshold": 0.20,
+ "topAnswersWithSpan": 1
+ },
+ "includeUnstructuredSources": true
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "answers": [
+ {
+ "questions": [
+ "Power and charging"
+ ],
+ "answer": "Power and charging**\n\nIt takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.\n\nYou can use the USB port on your Surface Pro 4 power supply to charge other devices, like a phone, while your Surface charges. The USB port on the power supply is only for charging, not for data transfer. If you want to use a USB device, plug it into the USB port on your Surface.",
+ "confidenceScore": 0.65,
+ "id": 20,
+ "source": "surface-pro-4-user-guide-EN.pdf",
+ "metadata": {
+ "category": "api",
+ "editorial": "chitchat"
+ },
+ "dialog": {
+ "isContextOnly": false,
+ "prompts": [
+ {
+ "displayOrder": 1,
+ "qnaId": 23,
+ "displayText": "prompt1"
+ },
+ {
+ "displayOrder": 2,
+ "qnaId": 36,
+ "displayText": "prompt2"
+ }
+ ]
+ },
+ "answerSpan": {
+ "text": "two to four hours",
+ "confidenceScore": 0.30,
+ "offset": 33,
+ "length": 50
+ }
+ },
+ {
+ "questions": [
+ "Charge your Surface Pro 4"
+ ],
+ "answer": "**Charge your Surface Pro 4**\n\n1. Connect the two parts of the power cord.\n\n2. Connect the power cord securely to the charging port.\n\n3. Plug the power supply into an electrical outlet.",
+ "confidenceScore": 0.32,
+ "id": 13,
+ "source": "surface-pro-4-user-guide-EN.pdf"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/SuccessfulQueryText.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/SuccessfulQueryText.json
new file mode 100644
index 000000000000..877ca59d290b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/SuccessfulQueryText.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "stringIndexType": "TextElements_v8",
+ "textQueryOptions": {
+ "question": "how long it takes to charge surface?",
+ "records": [
+ {
+ "id": "1",
+ "text": "Power and charging. It takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it."
+ },
+ {
+ "id": "2",
+ "text": "You can use the USB port on your Surface Pro 4 power supply to charge other devices, like a phone, while your Surface charges. The USB port on the power supply is only for charging, not for data transfer. If you want to use a USB device, plug it into the USB port on your Surface."
+ }
+ ],
+ "language": "en"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "answers": [
+ {
+ "answer": "Power and charging. It takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.",
+ "confidenceScore": 0.93,
+ "id": "1",
+ "answerSpan": {
+ "text": "two to four hours",
+ "confidenceScore": 0,
+ "offset": 28,
+ "length": 45
+ },
+ "offset": 0,
+ "length": 224
+ },
+ {
+ "answer": "It takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.",
+ "confidenceScore": 0.92,
+ "id": "1",
+ "answerSpan": {
+ "text": "two to four hours",
+ "confidenceScore": 0,
+ "offset": 8,
+ "length": 25
+ },
+ "offset": 20,
+ "length": 224
+ },
+ {
+ "answer": "It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.",
+ "confidenceScore": 0.05,
+ "id": "1",
+ "answerSpan": null,
+ "offset": 110,
+ "length": 244
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulCreateProject.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulCreateProject.json
new file mode 100644
index 000000000000..53ed64c5949d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulCreateProject.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1",
+ "body": {
+ "description": "proj1 is a test project.",
+ "language": "en",
+ "settings": {
+ "defaultAnswer": "No good match found for your question in the Knowledgebase."
+ },
+ "multilingualResource": true
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "projectName": "proj1",
+ "description": "proj1 is a test project.",
+ "language": "en",
+ "settings": {
+ "defaultAnswer": "No good match found for your question in the Knowledgebase."
+ },
+ "multilingualResource": true,
+ "createdDateTime": "2021-05-01T15:13:22Z",
+ "lastModifiedDateTime": "2021-05-01T15:13:22Z",
+ "lastDeployedDateTime": "2021-05-01T15:13:22Z"
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "projectName": "proj1",
+ "description": "proj1 is a test project.",
+ "language": "en",
+ "settings": {
+ "defaultAnswer": "No good match found for your question in the Knowledgebase."
+ },
+ "multilingualResource": true,
+ "createdDateTime": "2021-05-01T15:13:22Z",
+ "lastModifiedDateTime": "2021-05-01T15:13:22Z",
+ "lastDeployedDateTime": "2021-05-01T15:13:22Z"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulDeleteProject.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulDeleteProject.json
new file mode 100644
index 000000000000..8d9aa7385a9d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulDeleteProject.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetProject.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetProject.json
new file mode 100644
index 000000000000..96b235bbd6d3
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetProject.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "projectName": "proj1",
+ "description": "proj1 is a test project.",
+ "language": "en",
+ "settings": {
+ "defaultAnswer": "No good match found for your question in the Knowledgebase."
+ },
+ "createdDateTime": "2021-05-01T15:13:22Z",
+ "lastModifiedDateTime": "2021-05-01T15:13:22Z",
+ "lastDeployedDateTime": "2021-05-01T15:13:22Z"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetQnas.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetQnas.json
new file mode 100644
index 000000000000..783fc8c55498
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetQnas.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": 1,
+ "answer": "ans1",
+ "source": "source1",
+ "questions": [
+ "question 1.1",
+ "question 1.2"
+ ],
+ "metadata": {
+ "k1": "v1",
+ "k2": "v2"
+ },
+ "dialog": {
+ "isContextOnly": false,
+ "prompts": [
+ {
+ "displayOrder": 1,
+ "qnaId": 11,
+ "displayText": "prompt 1.1"
+ },
+ {
+ "displayOrder": 2,
+ "qnaId": 21,
+ "displayText": "prompt 1.2"
+ }
+ ]
+ },
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z"
+ },
+ {
+ "id": 2,
+ "answer": "ans2",
+ "source": "source2",
+ "questions": [
+ "question 2.1",
+ "question 2.2"
+ ],
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetSources.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetSources.json
new file mode 100644
index 000000000000..b123db2b8244
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetSources.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "displayName": "source1",
+ "sourceUri": "https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/overview/overview",
+ "sourceKind": "url",
+ "lastUpdatedDateTime": "2021-05-01T15:13:22Z"
+ },
+ {
+ "displayName": "source2",
+ "sourceUri": "https://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf",
+ "sourceKind": "file",
+ "contentStructureKind": "unstructured",
+ "lastUpdatedDateTime": "2021-05-01T15:13:22Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetSynonyms.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetSynonyms.json
new file mode 100644
index 000000000000..ec28c3e629e8
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulGetSynonyms.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "alterations": [
+ "qnamaker",
+ "qna maker"
+ ]
+ },
+ {
+ "alterations": [
+ "botframework",
+ "bot framework"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectDeleteJobStatus.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectDeleteJobStatus.json
new file mode 100644
index 000000000000..fe20ece4c057
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectDeleteJobStatus.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "jobId": "job1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "errors": [],
+ "createdDateTime": "2021-05-01T17:21:14Z",
+ "expirationDateTime": "2021-05-01T17:21:14Z",
+ "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a",
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z",
+ "status": "succeeded"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectDeployJobStatus.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectDeployJobStatus.json
new file mode 100644
index 000000000000..252d25ac82c5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectDeployJobStatus.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1",
+ "deploymentName": "production",
+ "jobId": "job1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "errors": [],
+ "createdDateTime": "2021-05-01T17:21:14Z",
+ "expirationDateTime": "2021-05-01T17:21:14Z",
+ "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a",
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z",
+ "status": "succeeded"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectExportJobStatus.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectExportJobStatus.json
new file mode 100644
index 000000000000..11e763559492
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectExportJobStatus.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1",
+ "jobId": "job1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "errors": [],
+ "createdDateTime": "2021-05-01T17:21:14Z",
+ "expirationDateTime": "2021-05-01T17:21:14Z",
+ "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a",
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z",
+ "status": "succeeded",
+ "resultUrl": "https:///language/proj1/export/job1/result"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectImportJobStatus.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectImportJobStatus.json
new file mode 100644
index 000000000000..58eab6bb09fb
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectImportJobStatus.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1",
+ "jobId": "job1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "errors": [],
+ "createdDateTime": "2021-05-01T17:21:14Z",
+ "expirationDateTime": "2021-05-01T17:21:14Z",
+ "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a",
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z",
+ "status": "succeeded"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectListDeployments.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectListDeployments.json
new file mode 100644
index 000000000000..a0e42df04276
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectListDeployments.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "deploymentName": "production",
+ "lastDeployedDateTime": "2021-05-01T15:13:22Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectSubmitDeployJob.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectSubmitDeployJob.json
new file mode 100644
index 000000000000..79268716b472
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectSubmitDeployJob.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1",
+ "deploymentName": "production"
+ },
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.",
+ "headers": {
+ "Operation-Location": "job1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectSubmitExportJob.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectSubmitExportJob.json
new file mode 100644
index 000000000000..722fd74a4dc6
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectSubmitExportJob.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1",
+ "body": {
+ "exportAssetTypes": [
+ "qnas",
+ "synonyms"
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.",
+ "headers": {
+ "Operation-Location": "job1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectSubmitImportJob.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectSubmitImportJob.json
new file mode 100644
index 000000000000..d1bf6e122055
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectSubmitImportJob.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1",
+ "body": {
+ "assets": {
+ "synonyms": [
+ {
+ "alterations": [
+ "wa",
+ "washington",
+ "washington state"
+ ]
+ },
+ {
+ "alterations": [
+ "U.S",
+ "usa",
+ "united states of america"
+ ]
+ }
+ ],
+ "qnas": [
+ {
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z",
+ "id": 1,
+ "answer": "ans1",
+ "source": "source1",
+ "questions": [
+ "question 1.1",
+ "question 1.2"
+ ],
+ "metadata": {
+ "k1": "v1",
+ "k2": "v2"
+ },
+ "dialog": {
+ "isContextOnly": false,
+ "prompts": [
+ {
+ "displayOrder": 1,
+ "qnaId": 11,
+ "displayText": "prompt 1.1"
+ },
+ {
+ "displayOrder": 2,
+ "qnaId": 21,
+ "displayText": "prompt 1.2"
+ }
+ ]
+ }
+ },
+ {
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z",
+ "id": 2,
+ "answer": "ans2",
+ "source": "source2",
+ "questions": [
+ "question 2.1",
+ "question 2.2"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.",
+ "headers": {
+ "Operation-Location": "job1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectsListProjects.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectsListProjects.json
new file mode 100644
index 000000000000..79685f619ea1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulProjectsListProjects.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "projectName": "proj1",
+ "description": "proj1 is a test project.",
+ "language": "en",
+ "multilingualResource": true,
+ "createdDateTime": "2021-05-01T15:13:22Z",
+ "lastModifiedDateTime": "2021-05-01T15:13:22Z",
+ "lastDeployedDateTime": "2021-05-01T15:13:22Z"
+ },
+ {
+ "projectName": "proj2",
+ "description": "proj2 is a test project.",
+ "language": "fr",
+ "multilingualResource": true,
+ "createdDateTime": "2021-05-01T15:13:22Z",
+ "lastModifiedDateTime": "2021-05-01T15:13:22Z",
+ "lastDeployedDateTime": "2021-05-01T15:13:22Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateActiveLearningFeedback.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateActiveLearningFeedback.json
new file mode 100644
index 000000000000..5ebce5831232
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateActiveLearningFeedback.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1",
+ "body": {
+ "records": [
+ {
+ "userId": "user1",
+ "userQuestion": "hi",
+ "qnaId": 1
+ },
+ {
+ "userId": "user1",
+ "userQuestion": "hello",
+ "qnaId": 2
+ }
+ ]
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateQnas.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateQnas.json
new file mode 100644
index 000000000000..9cd0ecbe18f2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateQnas.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1",
+ "body": [
+ {
+ "op": "add",
+ "value": {
+ "id": 3,
+ "answer": "ans3",
+ "source": "source1",
+ "questions": [
+ "question 3.1",
+ "question 3.2"
+ ],
+ "metadata": {
+ "k1": "v1",
+ "k2": "v2"
+ },
+ "dialog": {
+ "isContextOnly": false,
+ "prompts": [
+ {
+ "displayOrder": 1,
+ "qnaId": 11,
+ "displayText": "prompt 3.1"
+ },
+ {
+ "displayOrder": 2,
+ "qnaId": 21,
+ "displayText": "prompt 3.2"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "op": "replace",
+ "value": {
+ "id": 1,
+ "answer": "ans4",
+ "source": "source1",
+ "questions": [
+ "question 4.1",
+ "question 4.2"
+ ]
+ }
+ },
+ {
+ "op": "delete",
+ "value": {
+ "id": 2,
+ "answer": "ans2",
+ "source": "source1",
+ "questions": [
+ "question 2.1",
+ "question 2.2"
+ ]
+ }
+ }
+ ]
+ },
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.",
+ "headers": {
+ "Operation-Location": "job1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateQnasJobStatus.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateQnasJobStatus.json
new file mode 100644
index 000000000000..58eab6bb09fb
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateQnasJobStatus.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1",
+ "jobId": "job1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "errors": [],
+ "createdDateTime": "2021-05-01T17:21:14Z",
+ "expirationDateTime": "2021-05-01T17:21:14Z",
+ "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a",
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z",
+ "status": "succeeded"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateSources.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateSources.json
new file mode 100644
index 000000000000..908f6a9aab07
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateSources.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1",
+ "body": [
+ {
+ "op": "add",
+ "value": {
+ "displayName": "source3",
+ "sourceUri": "https://docs.microsoft.com/en-us/azure/cognitive-services/cognitive-services-support-options?context=/azure/cognitive-services/qnamaker/context/context",
+ "sourceKind": "url"
+ }
+ },
+ {
+ "op": "replace",
+ "value": {
+ "displayName": "source1",
+ "sourceUri": "https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/overview/overview",
+ "sourceKind": "url",
+ "refresh": true
+ }
+ },
+ {
+ "op": "delete",
+ "value": {
+ "displayName": "source2",
+ "sourceUri": "https://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf",
+ "sourceKind": "file"
+ }
+ }
+ ]
+ },
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.",
+ "headers": {
+ "Operation-Location": "job1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateSourcesJobStatus.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateSourcesJobStatus.json
new file mode 100644
index 000000000000..58eab6bb09fb
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateSourcesJobStatus.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1",
+ "jobId": "job1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "errors": [],
+ "createdDateTime": "2021-05-01T17:21:14Z",
+ "expirationDateTime": "2021-05-01T17:21:14Z",
+ "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a",
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z",
+ "status": "succeeded"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateSynonyms.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateSynonyms.json
new file mode 100644
index 000000000000..dc08ed4365c7
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/examples/questionanswering/authoring/SuccessfulUpdateSynonyms.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-07-15-preview",
+ "projectName": "proj1",
+ "body": {
+ "value": [
+ {
+ "alterations": [
+ "qnamaker",
+ "qna maker"
+ ]
+ },
+ {
+ "alterations": [
+ "botframework",
+ "bot framework"
+ ]
+ }
+ ]
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/questionanswering-authoring.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/questionanswering-authoring.json
new file mode 100644
index 000000000000..09350097f8af
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/questionanswering-authoring.json
@@ -0,0 +1,1751 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Microsoft Cognitive Language Service - Question Answering - Authoring",
+ "description": "The language service API is a suite of natural language processing (NLP) skills 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, language detection and question answering. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview.",
+ "version": "2021-07-15-preview"
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}/language",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/Endpoint"
+ }
+ ]
+ },
+ "paths": {
+ "/query-knowledgebases/projects": {
+ "get": {
+ "summary": "Gets all projects for a user.",
+ "operationId": "QuestionAnsweringProjects_ListProjects",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/MaxPageSizeParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "responses": {
+ "200": {
+ "description": "The metadata of all projects.",
+ "schema": {
+ "$ref": "#/definitions/ProjectsMetadata"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulProjectsListProjects.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}": {
+ "get": {
+ "summary": "Get the requested project metadata.",
+ "operationId": "QuestionAnsweringProjects_GetProjectDetails",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "The metadata for the specified project.",
+ "schema": {
+ "$ref": "#/definitions/ProjectMetadata"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulGetProject.json"
+ }
+ }
+ },
+ "patch": {
+ "summary": "Create or update a project.",
+ "operationId": "QuestionAnsweringProjects_CreateProject",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "description": "Parameters needed to create the project.",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateProjectOptions"
+ }
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "The metadata of the updated project, if it already exists.",
+ "schema": {
+ "$ref": "#/definitions/ProjectMetadata"
+ }
+ },
+ "201": {
+ "description": "The metadata of the created project, if it doesn't exist.",
+ "schema": {
+ "$ref": "#/definitions/ProjectMetadata"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulCreateProject.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete the project.",
+ "operationId": "QuestionAnsweringProjects_DeleteProject",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the job.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulDeleteProject.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/deletion-jobs/{jobId}": {
+ "get": {
+ "summary": "Gets the status of a Project delete job.",
+ "operationId": "QuestionAnsweringProjects_GetDeleteStatus",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/JobIdParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Project delete job status.",
+ "schema": {
+ "$ref": "#/definitions/JobState"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulProjectDeleteJobStatus.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/:export": {
+ "post": {
+ "summary": "Export project metadata and assets.",
+ "operationId": "QuestionAnsweringProjects_Export",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ImportExportFormatParameter"
+ },
+ {
+ "$ref": "#/parameters/AssetKindParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the job.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulProjectSubmitExportJob.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/export/jobs/{jobId}": {
+ "get": {
+ "summary": "Gets the status of an Export job, once job completes, returns the project metadata, and assets.",
+ "operationId": "QuestionAnsweringProjects_GetExportStatus",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/JobIdParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Export job status, project metadata, and assets.",
+ "schema": {
+ "$ref": "#/definitions/ExportJobState"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulProjectExportJobStatus.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/:import": {
+ "post": {
+ "summary": "Import project assets.",
+ "operationId": "QuestionAnsweringProjects_Import",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "description": "Project assets the needs to be imported.",
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/ImportJobOptions"
+ }
+ },
+ {
+ "$ref": "#/parameters/ImportExportFormatParameter"
+ },
+ {
+ "$ref": "#/parameters/AssetKindParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the job.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulProjectSubmitImportJob.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/import/jobs/{jobId}": {
+ "get": {
+ "summary": "Gets the status of an Import job.",
+ "operationId": "QuestionAnsweringProjects_GetImportStatus",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/JobIdParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Import job status.",
+ "schema": {
+ "$ref": "#/definitions/JobState"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulProjectImportJobStatus.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/deployments/{deploymentName}": {
+ "put": {
+ "summary": "Deploy project to production.",
+ "operationId": "QuestionAnsweringProjects_DeployProject",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/DeploymentNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the job.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulProjectSubmitDeployJob.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/deployments/{deploymentName}/jobs/{jobId}": {
+ "get": {
+ "summary": "Gets the status of a Deploy job.",
+ "operationId": "QuestionAnsweringProjects_GetDeployStatus",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/DeploymentNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/JobIdParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Deploy job state.",
+ "schema": {
+ "$ref": "#/definitions/JobState"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulProjectDeployJobStatus.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/deployments": {
+ "get": {
+ "summary": "List all deployments of a project.",
+ "operationId": "QuestionAnsweringProjects_ListDeployments",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/MaxPageSizeParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "responses": {
+ "200": {
+ "description": "List of deployments of a project.",
+ "schema": {
+ "$ref": "#/definitions/ProjectDeployments"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulProjectListDeployments.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/synonyms": {
+ "get": {
+ "summary": "Gets all the synonyms of a project.",
+ "operationId": "QuestionAnsweringProjects_GetSynonyms",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/MaxPageSizeParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "responses": {
+ "200": {
+ "description": "All the synonyms of a project.",
+ "schema": {
+ "$ref": "#/definitions/SynonymAssets"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulGetSynonyms.json"
+ }
+ }
+ },
+ "put": {
+ "summary": "Updates all the synonyms of a project.",
+ "operationId": "QuestionAnsweringProjects_UpdateSynonyms",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "description": "All the synonyms of a project.",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SynonymAssets"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "Synonyms update successfully."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateSynonyms.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/sources": {
+ "get": {
+ "summary": "Gets all the sources of a project.",
+ "operationId": "QuestionAnsweringProjects_GetSources",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/MaxPageSizeParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "responses": {
+ "200": {
+ "description": "All the sources of a project.",
+ "schema": {
+ "$ref": "#/definitions/QnaSources"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulGetSources.json"
+ }
+ }
+ },
+ "patch": {
+ "summary": "Updates the sources of a project.",
+ "operationId": "QuestionAnsweringProjects_UpdateSources",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "description": "Update sources parameters of a project.",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateSourcesOptions"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the job.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateSources.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/sources/jobs/{jobId}": {
+ "get": {
+ "summary": "Gets the status of update sources job.",
+ "operationId": "QuestionAnsweringProjects_GetUpdateSourcesStatus",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/JobIdParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Update sources job state.",
+ "schema": {
+ "$ref": "#/definitions/JobState"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateSourcesJobStatus.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/qnas": {
+ "get": {
+ "summary": "Gets all the QnAs of a project.",
+ "operationId": "QuestionAnsweringProjects_GetQnas",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SourceFilterParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/MaxPageSizeParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "responses": {
+ "200": {
+ "description": "All the QnAs of a project.",
+ "schema": {
+ "$ref": "#/definitions/QnaAssets"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulGetQnas.json"
+ }
+ }
+ },
+ "patch": {
+ "summary": "Updates the QnAs of a project.",
+ "operationId": "QuestionAnsweringProjects_UpdateQnas",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "description": "Update QnAs parameters of a project.",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateQnaOptions"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the job.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateQnas.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/qnas/jobs/{jobId}": {
+ "get": {
+ "summary": "Gets the status of update QnAs job.",
+ "operationId": "QuestionAnsweringProjects_GetUpdateQnasStatus",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/JobIdParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Update QnAs job state.",
+ "schema": {
+ "$ref": "#/definitions/JobState"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateQnasJobStatus.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/feedback": {
+ "post": {
+ "summary": "Update Active Learning feedback.",
+ "operationId": "QuestionAnsweringProjects_AddFeedback",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "description": "Feedback for Active Learning.",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ActiveLearningFeedback"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "Feedback recorded successfully."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateActiveLearningFeedback.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ActiveLearningFeedback": {
+ "type": "object",
+ "description": "Feedback for Active Learning.",
+ "additionalProperties": false,
+ "properties": {
+ "records": {
+ "$ref": "#/definitions/FeedbackRecords"
+ }
+ }
+ },
+ "FeedbackRecords": {
+ "type": "array",
+ "description": "A list of Feedback Records for Active Learning.",
+ "additionalProperties": false,
+ "items": {
+ "$ref": "#/definitions/FeedbackRecord"
+ }
+ },
+ "FeedbackRecord": {
+ "type": "object",
+ "description": "Feedback Record for Active Learning.",
+ "additionalProperties": false,
+ "properties": {
+ "userId": {
+ "type": "string",
+ "description": "Unique identifier of the user."
+ },
+ "userQuestion": {
+ "type": "string",
+ "description": "User suggested question for the QnA."
+ },
+ "qnaId": {
+ "type": "integer",
+ "description": "Unique ID of the QnA.",
+ "format": "int32"
+ }
+ }
+ },
+ "ProjectsMetadata": {
+ "type": "object",
+ "description": "Collection of projects metadata and global settings.",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProjectMetadata"
+ }
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ },
+ "ProjectMetadata": {
+ "type": "object",
+ "description": "Represents the project.",
+ "additionalProperties": false,
+ "properties": {
+ "projectName": {
+ "type": "string",
+ "description": "Name of the project."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the project."
+ },
+ "language": {
+ "$ref": "common.json#/definitions/Language"
+ },
+ "multilingualResource": {
+ "type": "boolean",
+ "description": "Resource enabled for multiple languages across projects or not."
+ },
+ "settings": {
+ "$ref": "#/definitions/ProjectSettings"
+ },
+ "createdDateTime": {
+ "type": "string",
+ "description": "Project creation date-time.",
+ "format": "date-time"
+ },
+ "lastModifiedDateTime": {
+ "type": "string",
+ "description": "Represents the project last modified date-time.",
+ "format": "date-time"
+ },
+ "lastDeployedDateTime": {
+ "type": "string",
+ "description": "Represents the project last deployment date-time.",
+ "format": "date-time"
+ }
+ }
+ },
+ "CreateProjectOptions": {
+ "type": "object",
+ "description": "Parameters needed to create the project.",
+ "additionalProperties": false,
+ "required": [
+ "language"
+ ],
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of the project."
+ },
+ "language": {
+ "$ref": "common.json#/definitions/Language"
+ },
+ "multilingualResource": {
+ "type": "boolean",
+ "description": "Set to true to enable creating knowledgebases in different languages for the same resource."
+ },
+ "settings": {
+ "$ref": "#/definitions/ProjectSettings"
+ }
+ }
+ },
+ "ProjectSettings": {
+ "type": "object",
+ "description": "Configurable settings of the Project.",
+ "additionalProperties": false,
+ "properties": {
+ "defaultAnswer": {
+ "type": "string",
+ "description": "Default Answer response when no good match is found in the knowledge base."
+ }
+ }
+ },
+ "ImportJobOptions": {
+ "type": "object",
+ "description": "Project assets the needs to be imported.",
+ "additionalProperties": false,
+ "properties": {
+ "metadata": {
+ "$ref": "#/definitions/CreateProjectOptions"
+ },
+ "assets": {
+ "$ref": "#/definitions/Assets"
+ },
+ "fileUri": {
+ "type": "string",
+ "description": "Import data File URI."
+ }
+ }
+ },
+ "JobMetadata": {
+ "description": "Represents the job metadata.",
+ "properties": {
+ "createdDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "expirationDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "jobId": {
+ "type": "string"
+ },
+ "lastUpdatedDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "status": {
+ "$ref": "#/definitions/JobStatus"
+ }
+ },
+ "required": [
+ "jobId",
+ "lastUpdatedDateTime",
+ "createdDateTime",
+ "status"
+ ],
+ "type": "object"
+ },
+ "JobStatus": {
+ "description": "Job Status.",
+ "enum": [
+ "notStarted",
+ "running",
+ "succeeded",
+ "failed",
+ "cancelled",
+ "cancelling",
+ "partiallyCompleted"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "jobStatus"
+ }
+ },
+ "JobState": {
+ "description": "Job state represents the job metadata and any errors.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobMetadata"
+ },
+ {
+ "$ref": "#/definitions/Errors"
+ }
+ ]
+ },
+ "Errors": {
+ "description": "Collection of Error types.",
+ "type": "object",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "items": {
+ "$ref": "common.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "ExportJobState": {
+ "description": "Export job status, project metadata, and assets.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobState"
+ },
+ {
+ "$ref": "#/definitions/ExportJobResultUrl"
+ }
+ ]
+ },
+ "ExportJobResultUrl": {
+ "type": "object",
+ "description": "URL to download the result of the Export Job.",
+ "required": [
+ "resultUrl"
+ ],
+ "properties": {
+ "resultUrl": {
+ "type": "string",
+ "description": "URL to download the result of the Export Job."
+ }
+ }
+ },
+ "Assets": {
+ "type": "object",
+ "description": "All assets for this project.",
+ "additionalProperties": false,
+ "properties": {
+ "synonyms": {
+ "$ref": "#/definitions/SynonymAsset"
+ },
+ "qnas": {
+ "$ref": "#/definitions/QnaAsset"
+ }
+ }
+ },
+ "SynonymAssets": {
+ "type": "object",
+ "description": "All synonym assets for this project.",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "$ref": "#/definitions/SynonymAsset"
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ },
+ "SynonymAsset": {
+ "type": "array",
+ "description": "Collection of synonyms.",
+ "additionalProperties": false,
+ "maxLength": 10000,
+ "items": {
+ "$ref": "#/definitions/WordAlterations"
+ }
+ },
+ "WordAlterations": {
+ "type": "object",
+ "description": "Collection of word alterations.",
+ "additionalProperties": false,
+ "required": [
+ "alterations"
+ ],
+ "properties": {
+ "alterations": {
+ "type": "array",
+ "description": "Collection of word alterations.",
+ "maxLength": 20,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "QnaAssets": {
+ "type": "object",
+ "description": "All QnA assets for the project.",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "$ref": "#/definitions/QnaAsset"
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ },
+ "QnaAsset": {
+ "type": "array",
+ "description": "List of QnA records.",
+ "additionalProperties": false,
+ "items": {
+ "$ref": "#/definitions/RetrieveQnaRecord"
+ }
+ },
+ "QnaRecord": {
+ "type": "object",
+ "description": "QnA record.",
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "integer",
+ "description": "Unique ID for the QnA.",
+ "format": "int32"
+ },
+ "answer": {
+ "type": "string",
+ "description": "Answer text.",
+ "maxLength": 25000,
+ "minLength": 1
+ },
+ "source": {
+ "type": "string",
+ "description": "Source from which QnA was indexed e.g. 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": "object",
+ "description": "Metadata associated with the answer, useful to categorize or filter question answers.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dialog": {
+ "description": "Context of a QnA.",
+ "$ref": "#/definitions/QnaDialog"
+ },
+ "activeLearningSuggestions": {
+ "type": "array",
+ "description": "List of Active Learning suggestions for the QnA.",
+ "items": {
+ "$ref": "#/definitions/SuggestedQuestionsCluster"
+ }
+ }
+ }
+ },
+ "SuggestedQuestionsCluster": {
+ "type": "object",
+ "description": "Active Learning suggested questions cluster details.",
+ "additionalProperties": false,
+ "properties": {
+ "clusterHead": {
+ "type": "string",
+ "description": "Question chosen as the head of suggested questions cluster by Active Learning clustering algorithm."
+ },
+ "suggestedQuestions": {
+ "type": "array",
+ "description": "List of all suggested questions for the QnA.",
+ "items": {
+ "$ref": "#/definitions/SuggestedQuestion"
+ }
+ }
+ }
+ },
+ "SuggestedQuestion": {
+ "type": "object",
+ "description": "Question suggested by the Active Learning feature.",
+ "additionalProperties": false,
+ "properties": {
+ "question": {
+ "type": "string",
+ "description": "Question suggested by the Active Learning feature."
+ },
+ "userSuggestedCount": {
+ "type": "integer",
+ "description": "The number of times the question was suggested explicitly by the user.",
+ "format": "int32"
+ },
+ "autoSuggestedCount": {
+ "type": "integer",
+ "description": "The number of times the question was suggested automatically by the Active Learning algorithm.",
+ "format": "int32"
+ }
+ }
+ },
+ "RetrieveQnaRecord": {
+ "description": "QnA Record with last updated date-time.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/QnaRecord"
+ },
+ {
+ "$ref": "#/definitions/LastUpdatedDateTimeParameter"
+ }
+ ]
+ },
+ "LastUpdatedDateTimeParameter": {
+ "type": "object",
+ "description": "Last updated date-time parameter.",
+ "properties": {
+ "lastUpdatedDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date-time when the QnA was last updated."
+ }
+ }
+ },
+ "QnaDialog": {
+ "type": "object",
+ "description": "Dialog associated with QnA Record.",
+ "properties": {
+ "isContextOnly": {
+ "type": "boolean",
+ "description": "To mark if a prompt is relevant only with a previous question or not. If true, do not include this QnA as answer for queries without context; otherwise, ignores context and includes this QnA in answers."
+ },
+ "prompts": {
+ "type": "array",
+ "description": "List of prompts associated with the answer.",
+ "maxItems": 20,
+ "items": {
+ "$ref": "#/definitions/QnaPrompt"
+ }
+ }
+ }
+ },
+ "QnaPrompt": {
+ "type": "object",
+ "description": "Prompt for an answer.",
+ "properties": {
+ "displayOrder": {
+ "type": "integer",
+ "description": "Index of the prompt. It is used for ordering of the prompts.",
+ "format": "int32"
+ },
+ "qnaId": {
+ "type": "integer",
+ "description": "ID of the QnA corresponding to the prompt.",
+ "format": "int32"
+ },
+ "qna": {
+ "description": "QnA record. Either QnAId or QnA record needs to be present in a Prompt.",
+ "$ref": "#/definitions/QnaRecord"
+ },
+ "displayText": {
+ "type": "string",
+ "description": "Text displayed to represent a follow up question prompt.",
+ "maxLength": 200
+ }
+ }
+ },
+ "UpdateOperationKind": {
+ "type": "string",
+ "description": "Update operation type for assets.",
+ "enum": [
+ "add",
+ "delete",
+ "replace"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "updateOperationKind"
+ }
+ },
+ "UpdateSourcesOptions": {
+ "type": "array",
+ "description": "A list of sources to be updated.",
+ "additionalProperties": false,
+ "items": {
+ "$ref": "#/definitions/UpdateSourceRecord"
+ }
+ },
+ "UpdateQnaOptions": {
+ "type": "array",
+ "description": "A list of QnAs to be updated.",
+ "additionalProperties": false,
+ "items": {
+ "$ref": "#/definitions/UpdateQnaRecord"
+ }
+ },
+ "UpdateQnaRecord": {
+ "type": "object",
+ "description": "QnA record to be updated.",
+ "additionalProperties": false,
+ "required": [
+ "op",
+ "value"
+ ],
+ "properties": {
+ "op": {
+ "type": "string",
+ "$ref": "#/definitions/UpdateOperationKind"
+ },
+ "value": {
+ "$ref": "#/definitions/QnaRecord"
+ }
+ }
+ },
+ "UpdateSourceRecord": {
+ "type": "object",
+ "description": "Source to be updated.",
+ "additionalProperties": false,
+ "required": [
+ "op",
+ "value"
+ ],
+ "properties": {
+ "op": {
+ "type": "string",
+ "$ref": "#/definitions/UpdateOperationKind"
+ },
+ "value": {
+ "$ref": "#/definitions/UpdateQnaSourceRecord"
+ }
+ }
+ },
+ "QnaSources": {
+ "type": "object",
+ "description": "All QnA sources for the project.",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "$ref": "#/definitions/QnaSourcesMetadata"
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ },
+ "QnaSourcesMetadata": {
+ "type": "array",
+ "description": "Custom sources from which QnAs were extracted or explicitly added to the project.",
+ "additionalProperties": false,
+ "items": {
+ "$ref": "#/definitions/QnaSourceRecord"
+ }
+ },
+ "QnaSourceRecord": {
+ "description": "Custom source record with last updated date-time.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/QnaSourceMetadata"
+ },
+ {
+ "$ref": "#/definitions/LastUpdatedDateTimeParameter"
+ }
+ ]
+ },
+ "UpdateQnaSourceRecord": {
+ "description": "Update source record.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/QnaSourceMetadata"
+ },
+ {
+ "$ref": "#/definitions/RefreshSourceOptions"
+ }
+ ]
+ },
+ "RefreshSourceOptions": {
+ "type": "object",
+ "description": "Boolean flag used to refresh data from the Source.",
+ "properties": {
+ "refresh": {
+ "type": "boolean",
+ "description": "Boolean flag used to refresh data from the Source."
+ }
+ }
+ },
+ "QnaSourceMetadata": {
+ "type": "object",
+ "description": "Input source file or url details.",
+ "additionalProperties": false,
+ "required": [
+ "sourceUri",
+ "sourceKind"
+ ],
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Friendly name of the Source.",
+ "maxLength": 200,
+ "minLength": 1
+ },
+ "source": {
+ "type": "string",
+ "description": "Unique source identifier. Name of the file if it's a 'file' source; otherwise, the complete URL if it's a 'url' source."
+ },
+ "sourceUri": {
+ "type": "string",
+ "description": "URI location for the file or url.",
+ "format": "uri"
+ },
+ "sourceKind": {
+ "type": "string",
+ "$ref": "#/definitions/QnaSourceKind",
+ "default": "url"
+ },
+ "contentStructureKind": {
+ "type": "string",
+ "$ref": "#/definitions/SourceContentStructureKind",
+ "default": "Unstructured"
+ }
+ }
+ },
+ "QnaSourceKind": {
+ "type": "string",
+ "description": "Supported source types.",
+ "x-ms-enum": {
+ "name": "sourceKind",
+ "modelAsString": true
+ },
+ "enum": [
+ "file",
+ "url"
+ ]
+ },
+ "SourceContentStructureKind": {
+ "type": "string",
+ "description": "Content structure type for sources.",
+ "enum": [
+ "unstructured"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "sourceContentStructureKind"
+ }
+ },
+ "ProjectDeployments": {
+ "type": "object",
+ "description": "All deployments of a project.",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "$ref": "#/definitions/ProjectDeploymentsList"
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ },
+ "ProjectDeploymentsList": {
+ "type": "array",
+ "description": "List of deployments of a project.",
+ "additionalProperties": false,
+ "items": {
+ "$ref": "#/definitions/ProjectDeployment"
+ }
+ },
+ "ProjectDeployment": {
+ "type": "object",
+ "description": "Project deployment details.",
+ "additionalProperties": false,
+ "properties": {
+ "deploymentName": {
+ "type": "string",
+ "description": "Name of the deployment."
+ },
+ "lastDeployedDateTime": {
+ "type": "string",
+ "description": "Represents the project last deployment date-time.",
+ "format": "date-time"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "JobIdParameter": {
+ "name": "jobId",
+ "in": "path",
+ "description": "Job ID.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AssetKindParameter": {
+ "name": "assetKind",
+ "type": "string",
+ "in": "query",
+ "description": "Kind of the asset of the project.",
+ "enum": [
+ "qnas",
+ "synonyms"
+ ],
+ "x-ms-parameter-location": "method"
+ },
+ "ImportExportFormatParameter": {
+ "name": "format",
+ "type": "string",
+ "in": "query",
+ "description": "Knowledge base Import or Export format.",
+ "default": "json",
+ "enum": [
+ "json",
+ "tsv",
+ "excel"
+ ],
+ "x-ms-enum": {
+ "name": "format",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "json",
+ "description": "Export or Import QnA assets in JSON format."
+ },
+ {
+ "value": "tsv",
+ "description": "Export or Import knowledge base replica including all assets and metadata in Excel format."
+ },
+ {
+ "value": "excel",
+ "description": "Export or Import knowledge base replica including all assets and metadata in Tsv format."
+ }
+ ]
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "SourceFilterParameter": {
+ "name": "source",
+ "in": "query",
+ "description": "Source of the QnA.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/questionanswering.json b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/questionanswering.json
new file mode 100644
index 000000000000..9a595731e80e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/preview/2021-07-15-preview/questionanswering.json
@@ -0,0 +1,562 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Microsoft Cognitive Language Service - Question Answering",
+ "description": "The language service API is a suite of natural language processing (NLP) skills 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, language detection and question answering. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview.",
+ "version": "2021-07-15-preview"
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}/language",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/Endpoint"
+ }
+ ]
+ },
+ "paths": {
+ "/:query-knowledgebases": {
+ "post": {
+ "summary": "Answers the specified question using your knowledge base.",
+ "operationId": "QuestionAnsweringKnowledgeBase_Query",
+ "parameters": [
+ {
+ "$ref": "#/parameters/KnowledgeBaseQueryOptions"
+ },
+ {
+ "$ref": "common.json#/parameters/ProjectNameQueryParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/DeploymentNameQueryParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response to get answers from knowledge base.",
+ "schema": {
+ "$ref": "#/definitions/KnowledgeBaseAnswers"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/SuccessfulQueryKnowledgebases.json"
+ }
+ }
+ }
+ },
+ "/:query-text": {
+ "post": {
+ "summary": "Answers the specified question using the provided text in the body.",
+ "operationId": "QuestionAnsweringText_Query",
+ "parameters": [
+ {
+ "$ref": "#/parameters/TextQueryOptions"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response to get answers from input text.",
+ "schema": {
+ "$ref": "#/definitions/TextAnswers"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/SuccessfulQueryText.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "KnowledgeBaseQueryOptions": {
+ "type": "object",
+ "description": "Parameters to query a knowledge base.",
+ "additionalProperties": false,
+ "properties": {
+ "qnaId": {
+ "type": "integer",
+ "description": "Exact QnA ID to fetch from the knowledge base, this field takes priority over question.",
+ "format": "int32"
+ },
+ "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."
+ },
+ "confidenceScoreThreshold": {
+ "type": "number",
+ "format": "double",
+ "description": "Minimum threshold score for answers, value ranges from 0 to 1.",
+ "maximum": 1,
+ "minimum": 0
+ },
+ "context": {
+ "description": "Context object with previous QnA's information.",
+ "$ref": "#/definitions/KnowledgeBaseAnswerRequestContext"
+ },
+ "rankerType": {
+ "type": "string",
+ "description": "Type of ranker to be used.",
+ "x-ms-enum": {
+ "name": "RankerType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "QuestionOnly",
+ "description": "Question only ranker."
+ },
+ {
+ "value": "Default",
+ "description": "Default ranker."
+ }
+ ]
+ },
+ "enum": [
+ "Default",
+ "QuestionOnly"
+ ]
+ },
+ "filters": {
+ "description": "Filter QnAs based on given metadata list and knowledge base sources.",
+ "$ref": "#/definitions/QueryFilters"
+ },
+ "answerSpanRequest": {
+ "description": "To configure Answer span prediction feature.",
+ "$ref": "#/definitions/AnswerSpanRequest"
+ },
+ "includeUnstructuredSources": {
+ "type": "boolean",
+ "description": "(Optional) Flag to enable Query over Unstructured Sources."
+ }
+ }
+ },
+ "AnswerSpanRequest": {
+ "type": "object",
+ "description": "To configure Answer span prediction feature.",
+ "additionalProperties": false,
+ "properties": {
+ "enable": {
+ "type": "boolean",
+ "description": "Enable or disable Answer Span prediction."
+ },
+ "confidenceScoreThreshold": {
+ "type": "number",
+ "format": "double",
+ "description": "Minimum threshold score required to include an answer span, value ranges from 0 to 1.",
+ "maximum": 1,
+ "minimum": 0
+ },
+ "topAnswersWithSpan": {
+ "type": "integer",
+ "description": "Number of Top answers to be considered for span prediction from 1 to 10.",
+ "format": "int32",
+ "maximum": 10,
+ "minimum": 1
+ }
+ }
+ },
+ "KnowledgeBaseAnswerRequestContext": {
+ "type": "object",
+ "description": "Context object with previous QnA's information.",
+ "additionalProperties": false,
+ "required": [
+ "previousQnaId"
+ ],
+ "properties": {
+ "previousQnaId": {
+ "type": "integer",
+ "description": "Previous turn top answer result QnA ID.",
+ "format": "int32"
+ },
+ "previousUserQuery": {
+ "type": "string",
+ "description": "Previous user query."
+ }
+ }
+ },
+ "KnowledgeBaseAnswers": {
+ "type": "object",
+ "description": "Represents List of Question Answers.",
+ "additionalProperties": false,
+ "properties": {
+ "answers": {
+ "type": "array",
+ "description": "Represents Answer Result list.",
+ "items": {
+ "$ref": "#/definitions/KnowledgeBaseAnswer"
+ }
+ }
+ }
+ },
+ "KnowledgeBaseAnswer": {
+ "type": "object",
+ "description": "Represents knowledge base answer.",
+ "additionalProperties": false,
+ "properties": {
+ "questions": {
+ "type": "array",
+ "description": "List of questions associated with the answer.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "answer": {
+ "type": "string",
+ "description": "Answer text."
+ },
+ "confidenceScore": {
+ "type": "number",
+ "description": "Answer confidence score, value ranges from 0 to 1.",
+ "format": "double",
+ "maximum": 1,
+ "minimum": 0
+ },
+ "id": {
+ "type": "integer",
+ "description": "ID of the QnA result.",
+ "format": "int32"
+ },
+ "source": {
+ "type": "string",
+ "description": "Source of QnA result."
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Metadata associated with the answer, useful to categorize or filter question answers.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dialog": {
+ "type": "object",
+ "$ref": "#/definitions/KnowledgeBaseAnswerDialog"
+ },
+ "answerSpan": {
+ "type": "object",
+ "description": "Answer span object of QnA with respect to user's question.",
+ "$ref": "#/definitions/AnswerSpan"
+ }
+ }
+ },
+ "KnowledgeBaseAnswerDialog": {
+ "type": "object",
+ "description": "Dialog associated with Answer.",
+ "properties": {
+ "isContextOnly": {
+ "type": "boolean",
+ "description": "To mark if a prompt is relevant only with a previous question or not. If true, do not include this QnA as search result for queries without context; otherwise, if false, 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/KnowledgeBaseAnswerPrompt"
+ }
+ }
+ }
+ },
+ "KnowledgeBaseAnswerPrompt": {
+ "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.",
+ "format": "int32"
+ },
+ "displayText": {
+ "type": "string",
+ "description": "Text displayed to represent a follow up question prompt.",
+ "maxLength": 200
+ }
+ }
+ },
+ "QueryFilters": {
+ "type": "object",
+ "description": "filters over knowledge base.",
+ "additionalProperties": false,
+ "properties": {
+ "metadataFilter": {
+ "type": "object",
+ "$ref": "#/definitions/MetadataFilter"
+ },
+ "sourceFilter": {
+ "type": "object",
+ "$ref": "#/definitions/SourceFilter"
+ },
+ "logicalOperation": {
+ "type": "string",
+ "description": "Logical operation used to join metadata filter with source filter.",
+ "$ref": "#/definitions/LogicalOperationKind",
+ "default": "AND"
+ }
+ }
+ },
+ "MetadataFilter": {
+ "type": "object",
+ "description": "Find QnAs that are associated with the given list of metadata.",
+ "additionalProperties": false,
+ "properties": {
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataRecord"
+ }
+ },
+ "logicalOperation": {
+ "type": "string",
+ "description": "Operation used to join metadata filters.",
+ "$ref": "#/definitions/LogicalOperationKind",
+ "default": "AND"
+ }
+ }
+ },
+ "MetadataRecord": {
+ "type": "object",
+ "description": "Object to provide the key value pair for each metadata.",
+ "additionalProperties": false,
+ "required": [
+ "key",
+ "value"
+ ],
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Metadata Key from Metadata dictionary used in the QnA."
+ },
+ "value": {
+ "type": "string",
+ "description": "Metadata Value from Metadata dictionary used in the QnA."
+ }
+ }
+ },
+ "LogicalOperationKind": {
+ "type": "string",
+ "description": "Set to 'OR' or 'AND' for using corresponding logical operation.",
+ "x-ms-enum": {
+ "name": "LogicalOperationKind",
+ "modelAsString": true
+ },
+ "enum": [
+ "AND",
+ "OR"
+ ]
+ },
+ "SourceFilter": {
+ "type": "array",
+ "description": "Find QnAs that are associated with any of the given list of sources in knowledge base.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "AnswerSpan": {
+ "type": "object",
+ "description": "Answer span object of QnA.",
+ "additionalProperties": false,
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "Predicted text of answer span."
+ },
+ "confidenceScore": {
+ "type": "number",
+ "description": "Predicted score of answer span, value ranges from 0 to 1.",
+ "format": "double",
+ "maximum": 1,
+ "minimum": 0
+ },
+ "offset": {
+ "type": "integer",
+ "description": "The answer span offset from the start of answer.",
+ "format": "int32"
+ },
+ "length": {
+ "type": "integer",
+ "description": "The length of the answer span.",
+ "format": "int32"
+ }
+ }
+ },
+ "TextQueryOptions": {
+ "type": "object",
+ "description": "The question and text record parameters to answer.",
+ "required": [
+ "question",
+ "records"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "question": {
+ "type": "string",
+ "description": "User question to query against the given text records."
+ },
+ "records": {
+ "type": "array",
+ "description": "Text records to be searched for given question.",
+ "items": {
+ "$ref": "#/definitions/TextRecord"
+ }
+ },
+ "language": {
+ "$ref": "common.json#/definitions/Language"
+ },
+ "stringIndexType": {
+ "$ref": "common.json#/definitions/StringIndexType"
+ }
+ }
+ },
+ "TextAnswers": {
+ "type": "object",
+ "description": "Represents the answer results.",
+ "additionalProperties": false,
+ "properties": {
+ "answers": {
+ "type": "array",
+ "description": "Represents the answer results.",
+ "items": {
+ "$ref": "#/definitions/TextAnswer"
+ }
+ }
+ }
+ },
+ "TextAnswer": {
+ "type": "object",
+ "description": "Represents answer result.",
+ "additionalProperties": false,
+ "properties": {
+ "answer": {
+ "type": "string",
+ "description": "Answer."
+ },
+ "confidenceScore": {
+ "type": "number",
+ "description": "answer confidence score, value ranges from 0 to 1.",
+ "format": "double",
+ "maximum": 1,
+ "minimum": 0
+ },
+ "id": {
+ "type": "string",
+ "description": "record ID."
+ },
+ "answerSpan": {
+ "type": "object",
+ "description": "Answer span object with respect to user's question.",
+ "$ref": "#/definitions/AnswerSpan"
+ },
+ "offset": {
+ "type": "integer",
+ "description": "The sentence offset from the start of the document.",
+ "format": "int32"
+ },
+ "length": {
+ "type": "integer",
+ "description": "The length of the sentence.",
+ "format": "int32"
+ }
+ }
+ },
+ "TextRecord": {
+ "type": "object",
+ "description": "Represent input text record to be queried.",
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "text"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the text record."
+ },
+ "text": {
+ "type": "string",
+ "description": "Text contents of the record."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "KnowledgeBaseQueryOptions": {
+ "name": "knowledgeBaseQueryOptions",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/KnowledgeBaseQueryOptions"
+ },
+ "x-nullable": true,
+ "description": "Post body of the request.",
+ "x-ms-parameter-location": "method"
+ },
+ "TextQueryOptions": {
+ "name": "textQueryOptions",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TextQueryOptions"
+ },
+ "x-nullable": true,
+ "description": "Post body of the request.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/readme.md b/specification/cognitiveservices/data-plane/Language/readme.md
index 7acc0a25354f..19f0faaa8f13 100644
--- a/specification/cognitiveservices/data-plane/Language/readme.md
+++ b/specification/cognitiveservices/data-plane/Language/readme.md
@@ -6,7 +6,22 @@ This is the AutoRest configuration file the Cognitive Services Language SDK.
## Releases
-The current preview release is 2021-05-01-preview
+The current stable release of QuestionAnswering is 2021-10-01 and preview release of Luis Deepstack is 2021-07-15-preview
+
+
+```yaml
+tag: release_2021_10_01
+add-credentials: true
+clear-output-folder: true
+openapi-type: data-plane
+```
+
+```yaml
+tag: release_2021_07_15_preview
+add-credentials: true
+clear-output-folder: true
+openapi-type: data-plane
+```
```yaml
tag: release_2021_05_01_preview
@@ -14,6 +29,34 @@ add-credentials: true
clear-output-folder: true
```
+### Release 2021-10-01
+
+These settings apply only when `--tag=release_2021_10_01` is specified on the command line.
+
+``` yaml $(tag) == 'release_2021_10_01'
+input-file:
+ - stable/2021-10-01/questionanswering.json
+ - stable/2021-10-01/questionanswering-authoring.json
+title:
+ Microsoft Cognitive Language Service
+modelerfour:
+ lenient-model-deduplication: true
+```
+
+### Release 2021-07-15-preview
+
+These settings apply only when `--tag=release_2021_07_15_preview` is specified on the command line.
+
+``` yaml $(tag) == 'release_2021_07_15_preview'
+input-file:
+- preview/2021-07-15-preview/questionanswering.json
+- preview/2021-07-15-preview/questionanswering-authoring.json
+title:
+ Microsoft Cognitive Language Service
+modelerfour:
+ lenient-model-deduplication: true
+```
+
### Release 2021-05-01-preview
These settings apply only when `--tag=elease_2021_05_01_preview` is specified on the command line.
@@ -36,6 +79,5 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-net
- - repo: azure-sdk-for-net-track2
- repo: azure-sdk-for-python
```
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/common.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/common.json
new file mode 100644
index 000000000000..10f09c4bdd71
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/common.json
@@ -0,0 +1,237 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Microsoft Cognitive Language Service",
+ "description": "The language service API is a suite of natural language processing (NLP) skills 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, language detection and question answering. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview.",
+ "version": "2021-10-01"
+ },
+ "paths": {},
+ "definitions": {
+ "ErrorResponse": {
+ "type": "object",
+ "description": "Error response.",
+ "additionalProperties": false,
+ "properties": {
+ "error": {
+ "description": "The error object.",
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "Error": {
+ "type": "object",
+ "description": "The error object.",
+ "additionalProperties": false,
+ "required": [
+ "code",
+ "message"
+ ],
+ "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"
+ }
+ }
+ },
+ "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,
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "description": "One of a server-defined set of error codes.",
+ "$ref": "#/definitions/InnerErrorCode"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "details": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Error details."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "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": "ErrorCode",
+ "modelAsString": true
+ },
+ "enum": [
+ "InvalidRequest",
+ "InvalidArgument",
+ "Unauthorized",
+ "Forbidden",
+ "NotFound",
+ "ProjectNotFound",
+ "OperationNotFound",
+ "AzureCognitiveSearchNotFound",
+ "AzureCognitiveSearchIndexNotFound",
+ "TooManyRequests",
+ "AzureCognitiveSearchThrottling",
+ "AzureCognitiveSearchIndexLimitReached",
+ "InternalServerError",
+ "ServiceUnavailable"
+ ]
+ },
+ "InnerErrorCode": {
+ "type": "string",
+ "description": "Human-readable error code.",
+ "x-ms-enum": {
+ "name": "InnerErrorCode",
+ "modelAsString": true
+ },
+ "enum": [
+ "InvalidRequest",
+ "InvalidParameterValue",
+ "KnowledgeBaseNotFound",
+ "AzureCognitiveSearchNotFound",
+ "AzureCognitiveSearchThrottling",
+ "ExtractionFailure"
+ ]
+ },
+ "Language": {
+ "type": "string",
+ "description": "Language of the text records. This is BCP-47 representation of a language. For example, use \"en\" for English; \"es\" for Spanish etc. If not set, use \"en\" for English as default."
+ },
+ "StringIndexType": {
+ "type": "string",
+ "description": "Specifies the method used to interpret string offsets. Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information see https://aka.ms/text-analytics-offsets.",
+ "default": "TextElements_v8",
+ "enum": [
+ "TextElements_v8",
+ "UnicodeCodePoint",
+ "Utf16CodeUnit"
+ ],
+ "x-ms-enum": {
+ "name": "StringIndexType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "TextElements_v8",
+ "description": "Returned offset and length values will correspond to TextElements (Graphemes and Grapheme clusters) confirming to the Unicode 8.0.0 standard. Use this option if your application is written in .Net Framework or .Net Core and you will be using StringInfo."
+ },
+ {
+ "value": "UnicodeCodePoint",
+ "description": "Returned offset and length values will correspond to Unicode code points. Use this option if your application is written in a language that support Unicode, for example Python."
+ },
+ {
+ "value": "Utf16CodeUnit",
+ "description": "Returned offset and length values will correspond to UTF-16 code units. Use this option if your application is written in a language that support Unicode, for example Java, JavaScript."
+ }
+ ]
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "Endpoint",
+ "description": "Supported Cognitive Services endpoint (e.g., https://.api.cognitiveservices.azure.com).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "ProjectNameQueryParameter": {
+ "name": "projectName",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The name of the project to use.",
+ "x-ms-parameter-location": "method"
+ },
+ "ProjectNamePathParameter": {
+ "name": "projectName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 100,
+ "description": "The name of the project to use.",
+ "x-ms-parameter-location": "method"
+ },
+ "DeploymentNameQueryParameter": {
+ "name": "deploymentName",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The name of the specific deployment of the project to use.",
+ "x-ms-parameter-location": "method"
+ },
+ "DeploymentNamePathParameter": {
+ "name": "deploymentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the specific deployment of the project to use.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version."
+ },
+ "TopParameter": {
+ "name": "top",
+ "in": "query",
+ "description": "The maximum number of resources to return from the collection.",
+ "type": "integer",
+ "format": "int32",
+ "x-ms-parameter-location": "method"
+ },
+ "SkipParameter": {
+ "name": "skip",
+ "in": "query",
+ "description": "An offset into the collection of the first resource to be returned.",
+ "type": "integer",
+ "format": "int32",
+ "x-ms-parameter-location": "method"
+ },
+ "MaxPageSizeParameter": {
+ "name": "maxpagesize",
+ "in": "query",
+ "description": "The maximum number of resources to include in a single response.",
+ "type": "integer",
+ "format": "int32",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/SuccessfulQueryKnowledgebases.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/SuccessfulQueryKnowledgebases.json
new file mode 100644
index 000000000000..60328232d911
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/SuccessfulQueryKnowledgebases.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1",
+ "deploymentName": "production",
+ "knowledgeBaseQueryOptions": {
+ "question": "how long it takes to charge surface?",
+ "top": 3,
+ "userId": "sd53lsY=",
+ "confidenceScoreThreshold": 0.20,
+ "context": {
+ "previousQnaId": 9,
+ "previousUserQuery": "Where are QnA Maker quickstarts?"
+ },
+ "rankerType": "Default",
+ "filters": {
+ "metadataFilter": {
+ "metadata": [
+ {
+ "key": "category",
+ "value": "api"
+ },
+ {
+ "key": "editorial",
+ "value": "chitchat"
+ }
+ ],
+ "logicalOperation": "AND"
+ },
+ "sourceFilter": [
+ "filename1.pdf",
+ "https://www.wikipedia.org/microsoft"
+ ],
+ "logicalOperation": "AND"
+ },
+ "answerSpanRequest": {
+ "enable": true,
+ "confidenceScoreThreshold": 0.20,
+ "topAnswersWithSpan": 1
+ },
+ "includeUnstructuredSources": true
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "answers": [
+ {
+ "questions": [
+ "Power and charging"
+ ],
+ "answer": "Power and charging**\n\nIt takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.\n\nYou can use the USB port on your Surface Pro 4 power supply to charge other devices, like a phone, while your Surface charges. The USB port on the power supply is only for charging, not for data transfer. If you want to use a USB device, plug it into the USB port on your Surface.",
+ "confidenceScore": 0.65,
+ "id": 20,
+ "source": "surface-pro-4-user-guide-EN.pdf",
+ "metadata": {
+ "category": "api",
+ "editorial": "chitchat"
+ },
+ "dialog": {
+ "isContextOnly": false,
+ "prompts": [
+ {
+ "displayOrder": 1,
+ "qnaId": 23,
+ "displayText": "prompt1"
+ },
+ {
+ "displayOrder": 2,
+ "qnaId": 36,
+ "displayText": "prompt2"
+ }
+ ]
+ },
+ "answerSpan": {
+ "text": "two to four hours",
+ "confidenceScore": 0.30,
+ "offset": 33,
+ "length": 50
+ }
+ },
+ {
+ "questions": [
+ "Charge your Surface Pro 4"
+ ],
+ "answer": "**Charge your Surface Pro 4**\n\n1. Connect the two parts of the power cord.\n\n2. Connect the power cord securely to the charging port.\n\n3. Plug the power supply into an electrical outlet.",
+ "confidenceScore": 0.32,
+ "id": 13,
+ "source": "surface-pro-4-user-guide-EN.pdf"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/SuccessfulQueryText.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/SuccessfulQueryText.json
new file mode 100644
index 000000000000..cf2fcc810ed8
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/SuccessfulQueryText.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "stringIndexType": "TextElements_v8",
+ "textQueryOptions": {
+ "question": "how long it takes to charge surface?",
+ "records": [
+ {
+ "id": "1",
+ "text": "Power and charging. It takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it."
+ },
+ {
+ "id": "2",
+ "text": "You can use the USB port on your Surface Pro 4 power supply to charge other devices, like a phone, while your Surface charges. The USB port on the power supply is only for charging, not for data transfer. If you want to use a USB device, plug it into the USB port on your Surface."
+ }
+ ],
+ "language": "en"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "answers": [
+ {
+ "answer": "Power and charging. It takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.",
+ "confidenceScore": 0.93,
+ "id": "1",
+ "answerSpan": {
+ "text": "two to four hours",
+ "confidenceScore": 0,
+ "offset": 28,
+ "length": 45
+ },
+ "offset": 0,
+ "length": 224
+ },
+ {
+ "answer": "It takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.",
+ "confidenceScore": 0.92,
+ "id": "1",
+ "answerSpan": {
+ "text": "two to four hours",
+ "confidenceScore": 0,
+ "offset": 8,
+ "length": 25
+ },
+ "offset": 20,
+ "length": 224
+ },
+ {
+ "answer": "It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.",
+ "confidenceScore": 0.05,
+ "id": "1",
+ "answerSpan": null,
+ "offset": 110,
+ "length": 244
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulCreateProject.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulCreateProject.json
new file mode 100644
index 000000000000..67504fa6d44b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulCreateProject.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1",
+ "body": {
+ "description": "proj1 is a test project.",
+ "language": "en",
+ "settings": {
+ "defaultAnswer": "No good match found for your question in the Knowledgebase."
+ },
+ "multilingualResource": true
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "projectName": "proj1",
+ "description": "proj1 is a test project.",
+ "language": "en",
+ "settings": {
+ "defaultAnswer": "No good match found for your question in the Knowledgebase."
+ },
+ "multilingualResource": true,
+ "createdDateTime": "2021-05-01T15:13:22Z",
+ "lastModifiedDateTime": "2021-05-01T15:13:22Z",
+ "lastDeployedDateTime": "2021-05-01T15:13:22Z"
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "projectName": "proj1",
+ "description": "proj1 is a test project.",
+ "language": "en",
+ "settings": {
+ "defaultAnswer": "No good match found for your question in the Knowledgebase."
+ },
+ "multilingualResource": true,
+ "createdDateTime": "2021-05-01T15:13:22Z",
+ "lastModifiedDateTime": "2021-05-01T15:13:22Z",
+ "lastDeployedDateTime": "2021-05-01T15:13:22Z"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulDeleteProject.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulDeleteProject.json
new file mode 100644
index 000000000000..f253a50354a2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulDeleteProject.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetProject.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetProject.json
new file mode 100644
index 000000000000..6ad6e2fa0d75
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetProject.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "projectName": "proj1",
+ "description": "proj1 is a test project.",
+ "language": "en",
+ "settings": {
+ "defaultAnswer": "No good match found for your question in the Knowledgebase."
+ },
+ "createdDateTime": "2021-05-01T15:13:22Z",
+ "lastModifiedDateTime": "2021-05-01T15:13:22Z",
+ "lastDeployedDateTime": "2021-05-01T15:13:22Z"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetQnas.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetQnas.json
new file mode 100644
index 000000000000..fca3b45ad161
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetQnas.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": 1,
+ "answer": "ans1",
+ "source": "source1",
+ "questions": [
+ "question 1.1",
+ "question 1.2"
+ ],
+ "metadata": {
+ "k1": "v1",
+ "k2": "v2"
+ },
+ "dialog": {
+ "isContextOnly": false,
+ "prompts": [
+ {
+ "displayOrder": 1,
+ "qnaId": 11,
+ "displayText": "prompt 1.1"
+ },
+ {
+ "displayOrder": 2,
+ "qnaId": 21,
+ "displayText": "prompt 1.2"
+ }
+ ]
+ },
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z"
+ },
+ {
+ "id": 2,
+ "answer": "ans2",
+ "source": "source2",
+ "questions": [
+ "question 2.1",
+ "question 2.2"
+ ],
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetSources.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetSources.json
new file mode 100644
index 000000000000..6bbeb525ab0b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetSources.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "displayName": "source1",
+ "sourceUri": "https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/overview/overview",
+ "sourceKind": "url",
+ "lastUpdatedDateTime": "2021-05-01T15:13:22Z"
+ },
+ {
+ "displayName": "source2",
+ "sourceUri": "https://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf",
+ "sourceKind": "file",
+ "contentStructureKind": "unstructured",
+ "lastUpdatedDateTime": "2021-05-01T15:13:22Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetSynonyms.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetSynonyms.json
new file mode 100644
index 000000000000..bd467f4ef778
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulGetSynonyms.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "alterations": [
+ "qnamaker",
+ "qna maker"
+ ]
+ },
+ {
+ "alterations": [
+ "botframework",
+ "bot framework"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectDeleteJobStatus.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectDeleteJobStatus.json
new file mode 100644
index 000000000000..e7909c8ef260
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectDeleteJobStatus.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "jobId": "job1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "errors": [],
+ "createdDateTime": "2021-05-01T17:21:14Z",
+ "expirationDateTime": "2021-05-01T17:21:14Z",
+ "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a",
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z",
+ "status": "succeeded"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectDeployJobStatus.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectDeployJobStatus.json
new file mode 100644
index 000000000000..34b059ee399b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectDeployJobStatus.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1",
+ "deploymentName": "production",
+ "jobId": "job1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "errors": [],
+ "createdDateTime": "2021-05-01T17:21:14Z",
+ "expirationDateTime": "2021-05-01T17:21:14Z",
+ "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a",
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z",
+ "status": "succeeded"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectExportJobStatus.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectExportJobStatus.json
new file mode 100644
index 000000000000..93aa517176a9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectExportJobStatus.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1",
+ "jobId": "job1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "errors": [],
+ "createdDateTime": "2021-05-01T17:21:14Z",
+ "expirationDateTime": "2021-05-01T17:21:14Z",
+ "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a",
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z",
+ "status": "succeeded",
+ "resultUrl": "https:///language/proj1/export/job1/result"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectImportJobStatus.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectImportJobStatus.json
new file mode 100644
index 000000000000..22cc3ea32019
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectImportJobStatus.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1",
+ "jobId": "job1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "errors": [],
+ "createdDateTime": "2021-05-01T17:21:14Z",
+ "expirationDateTime": "2021-05-01T17:21:14Z",
+ "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a",
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z",
+ "status": "succeeded"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectListDeployments.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectListDeployments.json
new file mode 100644
index 000000000000..2adf8de1039c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectListDeployments.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "deploymentName": "production",
+ "lastDeployedDateTime": "2021-05-01T15:13:22Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectSubmitDeployJob.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectSubmitDeployJob.json
new file mode 100644
index 000000000000..3d9466a82c60
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectSubmitDeployJob.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1",
+ "deploymentName": "production"
+ },
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.",
+ "headers": {
+ "Operation-Location": "job1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectSubmitExportJob.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectSubmitExportJob.json
new file mode 100644
index 000000000000..c2d558a907c0
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectSubmitExportJob.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1",
+ "body": {
+ "exportAssetTypes": [
+ "qnas",
+ "synonyms"
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.",
+ "headers": {
+ "Operation-Location": "job1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectSubmitImportJob.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectSubmitImportJob.json
new file mode 100644
index 000000000000..dc1ffddccb48
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectSubmitImportJob.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1",
+ "body": {
+ "assets": {
+ "synonyms": [
+ {
+ "alterations": [
+ "wa",
+ "washington",
+ "washington state"
+ ]
+ },
+ {
+ "alterations": [
+ "U.S",
+ "usa",
+ "united states of america"
+ ]
+ }
+ ],
+ "qnas": [
+ {
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z",
+ "id": 1,
+ "answer": "ans1",
+ "source": "source1",
+ "questions": [
+ "question 1.1",
+ "question 1.2"
+ ],
+ "metadata": {
+ "k1": "v1",
+ "k2": "v2"
+ },
+ "dialog": {
+ "isContextOnly": false,
+ "prompts": [
+ {
+ "displayOrder": 1,
+ "qnaId": 11,
+ "displayText": "prompt 1.1"
+ },
+ {
+ "displayOrder": 2,
+ "qnaId": 21,
+ "displayText": "prompt 1.2"
+ }
+ ]
+ }
+ },
+ {
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z",
+ "id": 2,
+ "answer": "ans2",
+ "source": "source2",
+ "questions": [
+ "question 2.1",
+ "question 2.2"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.",
+ "headers": {
+ "Operation-Location": "job1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectsListProjects.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectsListProjects.json
new file mode 100644
index 000000000000..24543bca92e4
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulProjectsListProjects.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "projectName": "proj1",
+ "description": "proj1 is a test project.",
+ "language": "en",
+ "multilingualResource": true,
+ "createdDateTime": "2021-05-01T15:13:22Z",
+ "lastModifiedDateTime": "2021-05-01T15:13:22Z",
+ "lastDeployedDateTime": "2021-05-01T15:13:22Z"
+ },
+ {
+ "projectName": "proj2",
+ "description": "proj2 is a test project.",
+ "language": "fr",
+ "multilingualResource": true,
+ "createdDateTime": "2021-05-01T15:13:22Z",
+ "lastModifiedDateTime": "2021-05-01T15:13:22Z",
+ "lastDeployedDateTime": "2021-05-01T15:13:22Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateActiveLearningFeedback.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateActiveLearningFeedback.json
new file mode 100644
index 000000000000..a367a26e46c2
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateActiveLearningFeedback.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1",
+ "body": {
+ "records": [
+ {
+ "userId": "user1",
+ "userQuestion": "hi",
+ "qnaId": 1
+ },
+ {
+ "userId": "user1",
+ "userQuestion": "hello",
+ "qnaId": 2
+ }
+ ]
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateQnas.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateQnas.json
new file mode 100644
index 000000000000..6b895883e37e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateQnas.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1",
+ "body": [
+ {
+ "op": "add",
+ "value": {
+ "id": 3,
+ "answer": "ans3",
+ "source": "source1",
+ "questions": [
+ "question 3.1",
+ "question 3.2"
+ ],
+ "metadata": {
+ "k1": "v1",
+ "k2": "v2"
+ },
+ "dialog": {
+ "isContextOnly": false,
+ "prompts": [
+ {
+ "displayOrder": 1,
+ "qnaId": 11,
+ "displayText": "prompt 3.1"
+ },
+ {
+ "displayOrder": 2,
+ "qnaId": 21,
+ "displayText": "prompt 3.2"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "op": "replace",
+ "value": {
+ "id": 1,
+ "answer": "ans4",
+ "source": "source1",
+ "questions": [
+ "question 4.1",
+ "question 4.2"
+ ]
+ }
+ },
+ {
+ "op": "delete",
+ "value": {
+ "id": 2,
+ "answer": "ans2",
+ "source": "source1",
+ "questions": [
+ "question 2.1",
+ "question 2.2"
+ ]
+ }
+ }
+ ]
+ },
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.",
+ "headers": {
+ "Operation-Location": "job1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateQnasJobStatus.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateQnasJobStatus.json
new file mode 100644
index 000000000000..22cc3ea32019
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateQnasJobStatus.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1",
+ "jobId": "job1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "errors": [],
+ "createdDateTime": "2021-05-01T17:21:14Z",
+ "expirationDateTime": "2021-05-01T17:21:14Z",
+ "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a",
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z",
+ "status": "succeeded"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateSources.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateSources.json
new file mode 100644
index 000000000000..5854f376ceeb
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateSources.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1",
+ "body": [
+ {
+ "op": "add",
+ "value": {
+ "displayName": "source3",
+ "sourceUri": "https://docs.microsoft.com/en-us/azure/cognitive-services/cognitive-services-support-options?context=/azure/cognitive-services/qnamaker/context/context",
+ "sourceKind": "url"
+ }
+ },
+ {
+ "op": "replace",
+ "value": {
+ "displayName": "source1",
+ "sourceUri": "https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/overview/overview",
+ "sourceKind": "url",
+ "refresh": true
+ }
+ },
+ {
+ "op": "delete",
+ "value": {
+ "displayName": "source2",
+ "sourceUri": "https://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf",
+ "sourceKind": "file"
+ }
+ }
+ ]
+ },
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.",
+ "headers": {
+ "Operation-Location": "job1"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateSourcesJobStatus.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateSourcesJobStatus.json
new file mode 100644
index 000000000000..22cc3ea32019
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateSourcesJobStatus.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1",
+ "jobId": "job1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "errors": [],
+ "createdDateTime": "2021-05-01T17:21:14Z",
+ "expirationDateTime": "2021-05-01T17:21:14Z",
+ "jobId": "635c2741-15c4-4c2c-9f78-bfd30b6b2a4a",
+ "lastUpdatedDateTime": "2021-05-01T17:21:14Z",
+ "status": "succeeded"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateSynonyms.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateSynonyms.json
new file mode 100644
index 000000000000..3a397db6860c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/examples/questionanswering/authoring/SuccessfulUpdateSynonyms.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Content-Type": "application/json",
+ "api-version": "2021-10-01",
+ "projectName": "proj1",
+ "body": {
+ "value": [
+ {
+ "alterations": [
+ "qnamaker",
+ "qna maker"
+ ]
+ },
+ {
+ "alterations": [
+ "botframework",
+ "bot framework"
+ ]
+ }
+ ]
+ }
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/questionanswering-authoring.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/questionanswering-authoring.json
new file mode 100644
index 000000000000..3c42db5abf75
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/questionanswering-authoring.json
@@ -0,0 +1,1781 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Microsoft Cognitive Language Service - Question Answering - Authoring",
+ "description": "The language service API is a suite of natural language processing (NLP) skills 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, language detection and question answering. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview.",
+ "version": "2021-10-01"
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}/language",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/Endpoint"
+ }
+ ]
+ },
+ "paths": {
+ "/query-knowledgebases/projects": {
+ "get": {
+ "summary": "Gets all projects for a user.",
+ "operationId": "QuestionAnsweringProjects_ListProjects",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/MaxPageSizeParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "responses": {
+ "200": {
+ "description": "The metadata of all projects.",
+ "schema": {
+ "$ref": "#/definitions/ProjectsMetadata"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulProjectsListProjects.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}": {
+ "get": {
+ "summary": "Get the requested project metadata.",
+ "operationId": "QuestionAnsweringProjects_GetProjectDetails",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "The metadata for the specified project.",
+ "schema": {
+ "$ref": "#/definitions/ProjectMetadata"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulGetProject.json"
+ }
+ }
+ },
+ "patch": {
+ "summary": "Create or update a project.",
+ "operationId": "QuestionAnsweringProjects_CreateProject",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "description": "Parameters needed to create the project.",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateProjectOptions"
+ }
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "The metadata of the updated project, if it already exists.",
+ "schema": {
+ "$ref": "#/definitions/ProjectMetadata"
+ }
+ },
+ "201": {
+ "description": "The metadata of the created project, if it doesn't exist.",
+ "schema": {
+ "$ref": "#/definitions/ProjectMetadata"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulCreateProject.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete the project.",
+ "operationId": "QuestionAnsweringProjects_DeleteProject",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the job.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulDeleteProject.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/deletion-jobs/{jobId}": {
+ "get": {
+ "summary": "Gets the status of a Project delete job.",
+ "operationId": "QuestionAnsweringProjects_GetDeleteStatus",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/JobIdParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Project delete job status.",
+ "schema": {
+ "$ref": "#/definitions/JobState"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulProjectDeleteJobStatus.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/:export": {
+ "post": {
+ "summary": "Export project metadata and assets.",
+ "operationId": "QuestionAnsweringProjects_Export",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ImportExportFormatParameter"
+ },
+ {
+ "$ref": "#/parameters/AssetKindParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the job.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulProjectSubmitExportJob.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/export/jobs/{jobId}": {
+ "get": {
+ "summary": "Gets the status of an Export job, once job completes, returns the project metadata, and assets.",
+ "operationId": "QuestionAnsweringProjects_GetExportStatus",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/JobIdParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Export job status, project metadata, and assets.",
+ "schema": {
+ "$ref": "#/definitions/ExportJobState"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulProjectExportJobStatus.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/:import": {
+ "post": {
+ "summary": "Import project assets.",
+ "operationId": "QuestionAnsweringProjects_Import",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "description": "Project assets the needs to be imported.",
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/ImportJobOptions"
+ }
+ },
+ {
+ "$ref": "#/parameters/ImportExportFormatParameter"
+ },
+ {
+ "$ref": "#/parameters/AssetKindParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the job.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulProjectSubmitImportJob.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/import/jobs/{jobId}": {
+ "get": {
+ "summary": "Gets the status of an Import job.",
+ "operationId": "QuestionAnsweringProjects_GetImportStatus",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/JobIdParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Import job status.",
+ "schema": {
+ "$ref": "#/definitions/JobState"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulProjectImportJobStatus.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/deployments/{deploymentName}": {
+ "put": {
+ "summary": "Deploy project to production.",
+ "operationId": "QuestionAnsweringProjects_DeployProject",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/DeploymentNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the job.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulProjectSubmitDeployJob.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/deployments/{deploymentName}/jobs/{jobId}": {
+ "get": {
+ "summary": "Gets the status of a Deploy job.",
+ "operationId": "QuestionAnsweringProjects_GetDeployStatus",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/DeploymentNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/JobIdParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Deploy job state.",
+ "schema": {
+ "$ref": "#/definitions/JobState"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulProjectDeployJobStatus.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/deployments": {
+ "get": {
+ "summary": "List all deployments of a project.",
+ "operationId": "QuestionAnsweringProjects_ListDeployments",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/MaxPageSizeParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "responses": {
+ "200": {
+ "description": "List of deployments of a project.",
+ "schema": {
+ "$ref": "#/definitions/ProjectDeployments"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulProjectListDeployments.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/synonyms": {
+ "get": {
+ "summary": "Gets all the synonyms of a project.",
+ "operationId": "QuestionAnsweringProjects_GetSynonyms",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/MaxPageSizeParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "responses": {
+ "200": {
+ "description": "All the synonyms of a project.",
+ "schema": {
+ "$ref": "#/definitions/SynonymAssets"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulGetSynonyms.json"
+ }
+ }
+ },
+ "put": {
+ "summary": "Updates all the synonyms of a project.",
+ "operationId": "QuestionAnsweringProjects_UpdateSynonyms",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "description": "All the synonyms of a project.",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SynonymAssets"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "Synonyms update successfully."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateSynonyms.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/sources": {
+ "get": {
+ "summary": "Gets all the sources of a project.",
+ "operationId": "QuestionAnsweringProjects_GetSources",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/MaxPageSizeParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "responses": {
+ "200": {
+ "description": "All the sources of a project.",
+ "schema": {
+ "$ref": "#/definitions/QnaSources"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulGetSources.json"
+ }
+ }
+ },
+ "patch": {
+ "summary": "Updates the sources of a project.",
+ "operationId": "QuestionAnsweringProjects_UpdateSources",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "description": "Update sources parameters of a project.",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateSourcesOptions"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the job.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateSources.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/sources/jobs/{jobId}": {
+ "get": {
+ "summary": "Gets the status of update sources job.",
+ "operationId": "QuestionAnsweringProjects_GetUpdateSourcesStatus",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/JobIdParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Update sources job state.",
+ "schema": {
+ "$ref": "#/definitions/JobState"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateSourcesJobStatus.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/qnas": {
+ "get": {
+ "summary": "Gets all the QnAs of a project.",
+ "operationId": "QuestionAnsweringProjects_GetQnas",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SourceFilterParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/MaxPageSizeParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "value"
+ },
+ "responses": {
+ "200": {
+ "description": "All the QnAs of a project.",
+ "schema": {
+ "$ref": "#/definitions/QnaAssets"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulGetQnas.json"
+ }
+ }
+ },
+ "patch": {
+ "summary": "Updates the QnAs of a project.",
+ "operationId": "QuestionAnsweringProjects_UpdateQnas",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "description": "Update QnAs parameters of a project.",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UpdateQnaOptions"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the job.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateQnas.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/qnas/jobs/{jobId}": {
+ "get": {
+ "summary": "Gets the status of update QnAs job.",
+ "operationId": "QuestionAnsweringProjects_GetUpdateQnasStatus",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/JobIdParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Update QnAs job state.",
+ "schema": {
+ "$ref": "#/definitions/JobState"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateQnasJobStatus.json"
+ }
+ }
+ }
+ },
+ "/query-knowledgebases/projects/{projectName}/feedback": {
+ "post": {
+ "summary": "Update Active Learning feedback.",
+ "operationId": "QuestionAnsweringProjects_AddFeedback",
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/ProjectNamePathParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "description": "Feedback for Active Learning.",
+ "in": "body",
+ "name": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ActiveLearningFeedback"
+ }
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "204": {
+ "description": "Feedback recorded successfully."
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/authoring/SuccessfulUpdateActiveLearningFeedback.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ActiveLearningFeedback": {
+ "type": "object",
+ "description": "Feedback for Active Learning.",
+ "additionalProperties": false,
+ "properties": {
+ "records": {
+ "$ref": "#/definitions/FeedbackRecords"
+ }
+ }
+ },
+ "FeedbackRecords": {
+ "type": "array",
+ "description": "A list of Feedback Records for Active Learning.",
+ "additionalProperties": false,
+ "items": {
+ "$ref": "#/definitions/FeedbackRecord"
+ }
+ },
+ "FeedbackRecord": {
+ "type": "object",
+ "description": "Feedback Record for Active Learning.",
+ "additionalProperties": false,
+ "properties": {
+ "userId": {
+ "type": "string",
+ "description": "Unique identifier of the user."
+ },
+ "userQuestion": {
+ "type": "string",
+ "description": "User suggested question for the QnA."
+ },
+ "qnaId": {
+ "type": "integer",
+ "description": "Unique ID of the QnA.",
+ "format": "int32"
+ }
+ }
+ },
+ "ProjectsMetadata": {
+ "type": "object",
+ "description": "Collection of projects metadata and global settings.",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProjectMetadata"
+ }
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ },
+ "ProjectMetadata": {
+ "type": "object",
+ "description": "Represents the project.",
+ "additionalProperties": false,
+ "properties": {
+ "projectName": {
+ "type": "string",
+ "description": "Name of the project."
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the project."
+ },
+ "language": {
+ "$ref": "common.json#/definitions/Language"
+ },
+ "multilingualResource": {
+ "type": "boolean",
+ "description": "Resource enabled for multiple languages across projects or not."
+ },
+ "settings": {
+ "$ref": "#/definitions/ProjectSettings"
+ },
+ "createdDateTime": {
+ "type": "string",
+ "description": "Project creation date-time.",
+ "format": "date-time"
+ },
+ "lastModifiedDateTime": {
+ "type": "string",
+ "description": "Represents the project last modified date-time.",
+ "format": "date-time"
+ },
+ "lastDeployedDateTime": {
+ "type": "string",
+ "description": "Represents the project last deployment date-time.",
+ "format": "date-time"
+ }
+ }
+ },
+ "CreateProjectOptions": {
+ "type": "object",
+ "description": "Parameters needed to create the project.",
+ "additionalProperties": false,
+ "required": [
+ "language"
+ ],
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "Description of the project."
+ },
+ "language": {
+ "$ref": "common.json#/definitions/Language"
+ },
+ "multilingualResource": {
+ "type": "boolean",
+ "description": "Set to true to enable creating knowledgebases in different languages for the same resource."
+ },
+ "settings": {
+ "$ref": "#/definitions/ProjectSettings"
+ }
+ }
+ },
+ "ProjectSettings": {
+ "type": "object",
+ "description": "Configurable settings of the Project.",
+ "additionalProperties": false,
+ "properties": {
+ "defaultAnswer": {
+ "type": "string",
+ "description": "Default Answer response when no good match is found in the knowledge base."
+ }
+ }
+ },
+ "ImportJobOptions": {
+ "type": "object",
+ "description": "Project assets the needs to be imported.",
+ "additionalProperties": false,
+ "properties": {
+ "metadata": {
+ "$ref": "#/definitions/CreateProjectOptions"
+ },
+ "assets": {
+ "$ref": "#/definitions/Assets"
+ },
+ "fileUri": {
+ "type": "string",
+ "description": "Import data File URI."
+ }
+ }
+ },
+ "JobMetadata": {
+ "description": "Represents the job metadata.",
+ "properties": {
+ "createdDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "expirationDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "jobId": {
+ "type": "string"
+ },
+ "lastUpdatedDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "status": {
+ "$ref": "#/definitions/JobStatus"
+ }
+ },
+ "required": [
+ "jobId",
+ "lastUpdatedDateTime",
+ "createdDateTime",
+ "status"
+ ],
+ "type": "object"
+ },
+ "JobStatus": {
+ "description": "Job Status.",
+ "enum": [
+ "notStarted",
+ "running",
+ "succeeded",
+ "failed",
+ "cancelled",
+ "cancelling",
+ "partiallyCompleted"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "jobStatus"
+ }
+ },
+ "JobState": {
+ "description": "Job state represents the job metadata and any errors.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobMetadata"
+ },
+ {
+ "$ref": "#/definitions/Errors"
+ }
+ ]
+ },
+ "Errors": {
+ "description": "Collection of Error types.",
+ "type": "object",
+ "properties": {
+ "errors": {
+ "type": "array",
+ "items": {
+ "$ref": "common.json#/definitions/Error"
+ }
+ }
+ }
+ },
+ "ExportJobState": {
+ "description": "Export job status, project metadata, and assets.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobState"
+ },
+ {
+ "$ref": "#/definitions/ExportJobResultUrl"
+ }
+ ]
+ },
+ "ExportJobResultUrl": {
+ "type": "object",
+ "description": "URL to download the result of the Export Job.",
+ "required": [
+ "resultUrl"
+ ],
+ "properties": {
+ "resultUrl": {
+ "type": "string",
+ "description": "URL to download the result of the Export Job."
+ }
+ }
+ },
+ "Assets": {
+ "type": "object",
+ "description": "All assets for this project.",
+ "additionalProperties": false,
+ "properties": {
+ "synonyms": {
+ "$ref": "#/definitions/SynonymAsset"
+ },
+ "qnas": {
+ "$ref": "#/definitions/ImportQnaAsset"
+ }
+ }
+ },
+ "SynonymAssets": {
+ "type": "object",
+ "description": "All synonym assets for this project.",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "$ref": "#/definitions/SynonymAsset"
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ },
+ "SynonymAsset": {
+ "type": "array",
+ "description": "Collection of synonyms.",
+ "additionalProperties": false,
+ "maxLength": 10000,
+ "items": {
+ "$ref": "#/definitions/WordAlterations"
+ }
+ },
+ "WordAlterations": {
+ "type": "object",
+ "description": "Collection of word alterations.",
+ "additionalProperties": false,
+ "required": [
+ "alterations"
+ ],
+ "properties": {
+ "alterations": {
+ "type": "array",
+ "description": "Collection of word alterations.",
+ "maxLength": 20,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "QnaAssets": {
+ "type": "object",
+ "description": "All QnA assets for the project.",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "$ref": "#/definitions/QnaAsset"
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ },
+ "ImportQnaAsset": {
+ "type": "array",
+ "description": "List of QnA records to import.",
+ "additionalProperties": false,
+ "items": {
+ "$ref": "#/definitions/ImportQnaRecord"
+ }
+ },
+ "QnaAsset": {
+ "type": "array",
+ "description": "List of QnA records.",
+ "additionalProperties": false,
+ "items": {
+ "$ref": "#/definitions/RetrieveQnaRecord"
+ }
+ },
+ "QnaRecord": {
+ "type": "object",
+ "description": "QnA record.",
+ "additionalProperties": false,
+ "properties": {
+ "id": {
+ "type": "integer",
+ "description": "Unique ID for the QnA.",
+ "format": "int32"
+ },
+ "answer": {
+ "type": "string",
+ "description": "Answer text.",
+ "maxLength": 25000,
+ "minLength": 1
+ },
+ "source": {
+ "type": "string",
+ "description": "Source from which QnA was indexed e.g. 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": "object",
+ "description": "Metadata associated with the answer, useful to categorize or filter question answers.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dialog": {
+ "description": "Context of a QnA.",
+ "$ref": "#/definitions/QnaDialog"
+ },
+ "activeLearningSuggestions": {
+ "type": "array",
+ "description": "List of Active Learning suggestions for the QnA.",
+ "items": {
+ "$ref": "#/definitions/SuggestedQuestionsCluster"
+ }
+ }
+ }
+ },
+ "SuggestedQuestionsCluster": {
+ "type": "object",
+ "description": "Active Learning suggested questions cluster details.",
+ "additionalProperties": false,
+ "properties": {
+ "clusterHead": {
+ "type": "string",
+ "description": "Question chosen as the head of suggested questions cluster by Active Learning clustering algorithm."
+ },
+ "suggestedQuestions": {
+ "type": "array",
+ "description": "List of all suggested questions for the QnA.",
+ "items": {
+ "$ref": "#/definitions/SuggestedQuestion"
+ }
+ }
+ }
+ },
+ "SuggestedQuestion": {
+ "type": "object",
+ "description": "Question suggested by the Active Learning feature.",
+ "additionalProperties": false,
+ "properties": {
+ "question": {
+ "type": "string",
+ "description": "Question suggested by the Active Learning feature."
+ },
+ "userSuggestedCount": {
+ "type": "integer",
+ "description": "The number of times the question was suggested explicitly by the user.",
+ "format": "int32"
+ },
+ "autoSuggestedCount": {
+ "type": "integer",
+ "description": "The number of times the question was suggested automatically by the Active Learning algorithm.",
+ "format": "int32"
+ }
+ }
+ },
+ "ImportQnaRecord": {
+ "description": "Import QnA Record.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RetrieveQnaRecord"
+ },
+ {
+ "$ref": "#/definitions/SourceDisplayNameParameter"
+ }
+ ]
+ },
+ "SourceDisplayNameParameter": {
+ "type": "object",
+ "properties": {
+ "sourceDisplayName": {
+ "description": "Friendly name of the Source.",
+ "type": "string",
+ "maxLength": 200,
+ "minLength": 1
+ }
+ }
+ },
+ "RetrieveQnaRecord": {
+ "description": "QnA Record with last updated date-time.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/QnaRecord"
+ },
+ {
+ "$ref": "#/definitions/LastUpdatedDateTimeParameter"
+ }
+ ]
+ },
+ "LastUpdatedDateTimeParameter": {
+ "type": "object",
+ "description": "Last updated date-time parameter.",
+ "properties": {
+ "lastUpdatedDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Date-time when the QnA was last updated."
+ }
+ }
+ },
+ "QnaDialog": {
+ "type": "object",
+ "description": "Dialog associated with QnA Record.",
+ "properties": {
+ "isContextOnly": {
+ "type": "boolean",
+ "description": "To mark if a prompt is relevant only with a previous question or not. If true, do not include this QnA as answer for queries without context; otherwise, ignores context and includes this QnA in answers."
+ },
+ "prompts": {
+ "type": "array",
+ "description": "List of prompts associated with the answer.",
+ "maxItems": 20,
+ "items": {
+ "$ref": "#/definitions/QnaPrompt"
+ }
+ }
+ }
+ },
+ "QnaPrompt": {
+ "type": "object",
+ "description": "Prompt for an answer.",
+ "properties": {
+ "displayOrder": {
+ "type": "integer",
+ "description": "Index of the prompt. It is used for ordering of the prompts.",
+ "format": "int32"
+ },
+ "qnaId": {
+ "type": "integer",
+ "description": "ID of the QnA corresponding to the prompt.",
+ "format": "int32"
+ },
+ "qna": {
+ "description": "QnA record. Either QnAId or QnA record needs to be present in a Prompt.",
+ "$ref": "#/definitions/QnaRecord"
+ },
+ "displayText": {
+ "type": "string",
+ "description": "Text displayed to represent a follow up question prompt.",
+ "maxLength": 200
+ }
+ }
+ },
+ "UpdateOperationKind": {
+ "type": "string",
+ "description": "Update operation type for assets.",
+ "enum": [
+ "add",
+ "delete",
+ "replace"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "updateOperationKind"
+ }
+ },
+ "UpdateSourcesOptions": {
+ "type": "array",
+ "description": "A list of sources to be updated.",
+ "additionalProperties": false,
+ "items": {
+ "$ref": "#/definitions/UpdateSourceRecord"
+ }
+ },
+ "UpdateQnaOptions": {
+ "type": "array",
+ "description": "A list of QnAs to be updated.",
+ "additionalProperties": false,
+ "items": {
+ "$ref": "#/definitions/UpdateQnaRecord"
+ }
+ },
+ "UpdateQnaRecord": {
+ "type": "object",
+ "description": "QnA record to be updated.",
+ "additionalProperties": false,
+ "required": [
+ "op",
+ "value"
+ ],
+ "properties": {
+ "op": {
+ "type": "string",
+ "$ref": "#/definitions/UpdateOperationKind"
+ },
+ "value": {
+ "$ref": "#/definitions/QnaRecord"
+ }
+ }
+ },
+ "UpdateSourceRecord": {
+ "type": "object",
+ "description": "Source to be updated.",
+ "additionalProperties": false,
+ "required": [
+ "op",
+ "value"
+ ],
+ "properties": {
+ "op": {
+ "type": "string",
+ "$ref": "#/definitions/UpdateOperationKind"
+ },
+ "value": {
+ "$ref": "#/definitions/UpdateQnaSourceRecord"
+ }
+ }
+ },
+ "QnaSources": {
+ "type": "object",
+ "description": "All QnA sources for the project.",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "$ref": "#/definitions/QnaSourcesMetadata"
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ },
+ "QnaSourcesMetadata": {
+ "type": "array",
+ "description": "Custom sources from which QnAs were extracted or explicitly added to the project.",
+ "additionalProperties": false,
+ "items": {
+ "$ref": "#/definitions/QnaSourceRecord"
+ }
+ },
+ "QnaSourceRecord": {
+ "description": "Custom source record with last updated date-time.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/QnaSourceMetadata"
+ },
+ {
+ "$ref": "#/definitions/LastUpdatedDateTimeParameter"
+ }
+ ]
+ },
+ "UpdateQnaSourceRecord": {
+ "description": "Update source record.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/QnaSourceMetadata"
+ },
+ {
+ "$ref": "#/definitions/RefreshSourceOptions"
+ }
+ ]
+ },
+ "RefreshSourceOptions": {
+ "type": "object",
+ "description": "Boolean flag used to refresh data from the Source.",
+ "properties": {
+ "refresh": {
+ "type": "boolean",
+ "description": "Boolean flag used to refresh data from the Source."
+ }
+ }
+ },
+ "QnaSourceMetadata": {
+ "type": "object",
+ "description": "Input source file or url details.",
+ "additionalProperties": false,
+ "required": [
+ "sourceUri",
+ "sourceKind"
+ ],
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "Friendly name of the Source.",
+ "maxLength": 200,
+ "minLength": 1
+ },
+ "source": {
+ "type": "string",
+ "description": "Unique source identifier. Name of the file if it's a 'file' source; otherwise, the complete URL if it's a 'url' source."
+ },
+ "sourceUri": {
+ "type": "string",
+ "description": "URI location for the file or url.",
+ "format": "uri"
+ },
+ "sourceKind": {
+ "type": "string",
+ "$ref": "#/definitions/QnaSourceKind",
+ "default": "url"
+ },
+ "contentStructureKind": {
+ "type": "string",
+ "$ref": "#/definitions/SourceContentStructureKind",
+ "default": "Unstructured"
+ }
+ }
+ },
+ "QnaSourceKind": {
+ "type": "string",
+ "description": "Supported source types.",
+ "x-ms-enum": {
+ "name": "sourceKind",
+ "modelAsString": true
+ },
+ "enum": [
+ "file",
+ "url"
+ ]
+ },
+ "SourceContentStructureKind": {
+ "type": "string",
+ "description": "Content structure type for sources.",
+ "enum": [
+ "unstructured"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "sourceContentStructureKind"
+ }
+ },
+ "ProjectDeployments": {
+ "type": "object",
+ "description": "All deployments of a project.",
+ "additionalProperties": false,
+ "properties": {
+ "value": {
+ "$ref": "#/definitions/ProjectDeploymentsList"
+ },
+ "nextLink": {
+ "type": "string"
+ }
+ }
+ },
+ "ProjectDeploymentsList": {
+ "type": "array",
+ "description": "List of deployments of a project.",
+ "additionalProperties": false,
+ "items": {
+ "$ref": "#/definitions/ProjectDeployment"
+ }
+ },
+ "ProjectDeployment": {
+ "type": "object",
+ "description": "Project deployment details.",
+ "additionalProperties": false,
+ "properties": {
+ "deploymentName": {
+ "type": "string",
+ "description": "Name of the deployment."
+ },
+ "lastDeployedDateTime": {
+ "type": "string",
+ "description": "Represents the project last deployment date-time.",
+ "format": "date-time"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "JobIdParameter": {
+ "name": "jobId",
+ "in": "path",
+ "description": "Job ID.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AssetKindParameter": {
+ "name": "assetKind",
+ "type": "string",
+ "in": "query",
+ "description": "Kind of the asset of the project.",
+ "enum": [
+ "qnas",
+ "synonyms"
+ ],
+ "x-ms-parameter-location": "method"
+ },
+ "ImportExportFormatParameter": {
+ "name": "format",
+ "type": "string",
+ "in": "query",
+ "description": "Knowledge base Import or Export format.",
+ "default": "json",
+ "enum": [
+ "json",
+ "tsv",
+ "excel"
+ ],
+ "x-ms-enum": {
+ "name": "format",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "json",
+ "description": "Export or Import QnA assets in JSON format."
+ },
+ {
+ "value": "tsv",
+ "description": "Export or Import knowledge base replica including all assets and metadata in Excel format."
+ },
+ {
+ "value": "excel",
+ "description": "Export or Import knowledge base replica including all assets and metadata in Tsv format."
+ }
+ ]
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "SourceFilterParameter": {
+ "name": "source",
+ "in": "query",
+ "description": "Source of the QnA.",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/questionanswering.json b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/questionanswering.json
new file mode 100644
index 000000000000..aba54da148a5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/Language/stable/2021-10-01/questionanswering.json
@@ -0,0 +1,586 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Microsoft Cognitive Language Service - Question Answering",
+ "description": "The language service API is a suite of natural language processing (NLP) skills 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, language detection and question answering. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview.",
+ "version": "2021-10-01"
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}/language",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "common.json#/parameters/Endpoint"
+ }
+ ]
+ },
+ "paths": {
+ "/:query-knowledgebases": {
+ "post": {
+ "summary": "Answers the specified question using your knowledge base.",
+ "operationId": "QuestionAnswering_GetAnswers",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AnswersOptions"
+ },
+ {
+ "$ref": "common.json#/parameters/ProjectNameQueryParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/DeploymentNameQueryParameter"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response to get answers from knowledge base.",
+ "schema": {
+ "$ref": "#/definitions/AnswersResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/SuccessfulQueryKnowledgebases.json"
+ }
+ }
+ }
+ },
+ "/:query-text": {
+ "post": {
+ "summary": "Answers the specified question using the provided text in the body.",
+ "operationId": "QuestionAnswering_GetAnswersFromText",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AnswersFromTextOptions"
+ },
+ {
+ "$ref": "common.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response to get answers from input text.",
+ "schema": {
+ "$ref": "#/definitions/AnswersFromTextResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "common.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful query": {
+ "$ref": "./examples/questionanswering/SuccessfulQueryText.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AnswersOptions": {
+ "type": "object",
+ "description": "Parameters to query a knowledge base.",
+ "additionalProperties": false,
+ "properties": {
+ "qnaId": {
+ "type": "integer",
+ "description": "Exact QnA ID to fetch from the knowledge base, this field takes priority over question.",
+ "format": "int32"
+ },
+ "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."
+ },
+ "confidenceScoreThreshold": {
+ "type": "number",
+ "format": "double",
+ "x-ms-client-name": "confidenceThreshold",
+ "description": "Minimum threshold score for answers, value ranges from 0 to 1.",
+ "maximum": 1,
+ "minimum": 0
+ },
+ "context": {
+ "x-ms-client-name": "answerContext",
+ "description": "Context object with previous QnA's information.",
+ "$ref": "#/definitions/KnowledgeBaseAnswerContext"
+ },
+ "rankerType": {
+ "type": "string",
+ "x-ms-client-name": "rankerKind",
+ "description": "Type of ranker to be used.",
+ "x-ms-enum": {
+ "name": "RankerKind",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "QuestionOnly",
+ "description": "Question only ranker."
+ },
+ {
+ "value": "Default",
+ "description": "Default ranker."
+ }
+ ]
+ },
+ "enum": [
+ "Default",
+ "QuestionOnly"
+ ]
+ },
+ "filters": {
+ "description": "Filter QnAs based on given metadata list and knowledge base sources.",
+ "$ref": "#/definitions/QueryFilters"
+ },
+ "answerSpanRequest": {
+ "x-ms-client-name": "shortAnswerOptions",
+ "description": "To configure Answer span prediction feature.",
+ "$ref": "#/definitions/ShortAnswerOptions"
+ },
+ "includeUnstructuredSources": {
+ "type": "boolean",
+ "description": "(Optional) Flag to enable Query over Unstructured Sources."
+ }
+ }
+ },
+ "ShortAnswerOptions": {
+ "type": "object",
+ "description": "To configure Answer span prediction feature.",
+ "additionalProperties": false,
+ "required": [
+ "enable"
+ ],
+ "properties": {
+ "enable": {
+ "type": "boolean",
+ "description": "Enable or disable Answer Span prediction.",
+ "enum": [
+ true
+ ],
+ "x-ms-enum": {
+ "name": "enable",
+ "modelAsString": false
+ }
+ },
+ "confidenceScoreThreshold": {
+ "type": "number",
+ "format": "double",
+ "x-ms-client-name": "confidenceThreshold",
+ "description": "Minimum threshold score required to include an answer span, value ranges from 0 to 1.",
+ "maximum": 1,
+ "minimum": 0
+ },
+ "topAnswersWithSpan": {
+ "type": "integer",
+ "x-ms-client-name": "top",
+ "description": "Number of Top answers to be considered for span prediction from 1 to 10.",
+ "format": "int32",
+ "maximum": 10,
+ "minimum": 1
+ }
+ }
+ },
+ "KnowledgeBaseAnswerContext": {
+ "type": "object",
+ "description": "Context object with previous QnA's information.",
+ "additionalProperties": false,
+ "required": [
+ "previousQnaId"
+ ],
+ "properties": {
+ "previousQnaId": {
+ "type": "integer",
+ "description": "Previous turn top answer result QnA ID.",
+ "format": "int32"
+ },
+ "previousUserQuery": {
+ "type": "string",
+ "x-ms-client-name": "previousQuestion",
+ "description": "Previous user query."
+ }
+ }
+ },
+ "AnswersResult": {
+ "type": "object",
+ "description": "Represents List of Question Answers.",
+ "additionalProperties": false,
+ "properties": {
+ "answers": {
+ "type": "array",
+ "description": "Represents Answer Result list.",
+ "items": {
+ "$ref": "#/definitions/KnowledgeBaseAnswer"
+ }
+ }
+ }
+ },
+ "KnowledgeBaseAnswer": {
+ "type": "object",
+ "description": "Represents knowledge base answer.",
+ "additionalProperties": false,
+ "properties": {
+ "questions": {
+ "type": "array",
+ "description": "List of questions associated with the answer.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "answer": {
+ "type": "string",
+ "description": "Answer text."
+ },
+ "confidenceScore": {
+ "type": "number",
+ "format": "double",
+ "x-ms-client-name": "confidence",
+ "description": "Answer confidence score, value ranges from 0 to 1.",
+ "maximum": 1,
+ "minimum": 0
+ },
+ "id": {
+ "type": "integer",
+ "x-ms-client-name": "qnaId",
+ "description": "ID of the QnA result.",
+ "format": "int32"
+ },
+ "source": {
+ "type": "string",
+ "description": "Source of QnA result."
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Metadata associated with the answer, useful to categorize or filter question answers.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "dialog": {
+ "type": "object",
+ "$ref": "#/definitions/KnowledgeBaseAnswerDialog"
+ },
+ "answerSpan": {
+ "type": "object",
+ "x-ms-client-name": "shortAnswer",
+ "description": "Answer span object of QnA with respect to user's question.",
+ "$ref": "#/definitions/AnswerSpan"
+ }
+ }
+ },
+ "KnowledgeBaseAnswerDialog": {
+ "type": "object",
+ "description": "Dialog associated with Answer.",
+ "properties": {
+ "isContextOnly": {
+ "type": "boolean",
+ "description": "To mark if a prompt is relevant only with a previous question or not. If true, do not include this QnA as search result for queries without context; otherwise, if false, 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/KnowledgeBaseAnswerPrompt"
+ }
+ }
+ }
+ },
+ "KnowledgeBaseAnswerPrompt": {
+ "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.",
+ "format": "int32"
+ },
+ "displayText": {
+ "type": "string",
+ "description": "Text displayed to represent a follow up question prompt.",
+ "maxLength": 200
+ }
+ }
+ },
+ "QueryFilters": {
+ "type": "object",
+ "description": "filters over knowledge base.",
+ "additionalProperties": false,
+ "properties": {
+ "metadataFilter": {
+ "type": "object",
+ "$ref": "#/definitions/MetadataFilter"
+ },
+ "sourceFilter": {
+ "type": "object",
+ "$ref": "#/definitions/SourceFilter"
+ },
+ "logicalOperation": {
+ "type": "string",
+ "description": "Logical operation used to join metadata filter with source filter.",
+ "$ref": "#/definitions/LogicalOperationKind",
+ "default": "AND"
+ }
+ }
+ },
+ "MetadataFilter": {
+ "type": "object",
+ "description": "Find QnAs that are associated with the given list of metadata.",
+ "additionalProperties": false,
+ "properties": {
+ "metadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetadataRecord"
+ }
+ },
+ "logicalOperation": {
+ "type": "string",
+ "description": "Operation used to join metadata filters.",
+ "$ref": "#/definitions/LogicalOperationKind",
+ "default": "AND"
+ }
+ }
+ },
+ "MetadataRecord": {
+ "type": "object",
+ "description": "Object to provide the key value pair for each metadata.",
+ "additionalProperties": false,
+ "required": [
+ "key",
+ "value"
+ ],
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Metadata Key from Metadata dictionary used in the QnA."
+ },
+ "value": {
+ "type": "string",
+ "description": "Metadata Value from Metadata dictionary used in the QnA."
+ }
+ }
+ },
+ "LogicalOperationKind": {
+ "type": "string",
+ "description": "Set to 'OR' or 'AND' for using corresponding logical operation.",
+ "x-ms-enum": {
+ "name": "LogicalOperationKind",
+ "modelAsString": true
+ },
+ "enum": [
+ "AND",
+ "OR"
+ ]
+ },
+ "SourceFilter": {
+ "type": "array",
+ "description": "Find QnAs that are associated with any of the given list of sources in knowledge base.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "AnswerSpan": {
+ "type": "object",
+ "description": "Answer span object of QnA.",
+ "additionalProperties": false,
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "Predicted text of answer span."
+ },
+ "confidenceScore": {
+ "type": "number",
+ "x-ms-client-name": "confidence",
+ "description": "Predicted score of answer span, value ranges from 0 to 1.",
+ "format": "double",
+ "maximum": 1,
+ "minimum": 0
+ },
+ "offset": {
+ "type": "integer",
+ "description": "The answer span offset from the start of answer.",
+ "format": "int32"
+ },
+ "length": {
+ "type": "integer",
+ "description": "The length of the answer span.",
+ "format": "int32"
+ }
+ }
+ },
+ "AnswersFromTextOptions": {
+ "type": "object",
+ "description": "The question and text record parameters to answer.",
+ "required": [
+ "question",
+ "records"
+ ],
+ "additionalProperties": false,
+ "properties": {
+ "question": {
+ "type": "string",
+ "description": "User question to query against the given text records."
+ },
+ "records": {
+ "type": "array",
+ "x-ms-client-name": "textDocuments",
+ "description": "Text records to be searched for given question.",
+ "items": {
+ "$ref": "#/definitions/TextDocument"
+ }
+ },
+ "language": {
+ "$ref": "common.json#/definitions/Language"
+ },
+ "stringIndexType": {
+ "$ref": "common.json#/definitions/StringIndexType"
+ }
+ }
+ },
+ "AnswersFromTextResult": {
+ "type": "object",
+ "description": "Represents the answer results.",
+ "additionalProperties": false,
+ "properties": {
+ "answers": {
+ "type": "array",
+ "description": "Represents the answer results.",
+ "items": {
+ "$ref": "#/definitions/TextAnswer"
+ }
+ }
+ }
+ },
+ "TextAnswer": {
+ "type": "object",
+ "description": "Represents answer result.",
+ "additionalProperties": false,
+ "properties": {
+ "answer": {
+ "type": "string",
+ "description": "Answer."
+ },
+ "confidenceScore": {
+ "type": "number",
+ "x-ms-client-name": "confidence",
+ "description": "answer confidence score, value ranges from 0 to 1.",
+ "format": "double",
+ "maximum": 1,
+ "minimum": 0
+ },
+ "id": {
+ "type": "string",
+ "description": "record ID."
+ },
+ "answerSpan": {
+ "type": "object",
+ "x-ms-client-name": "shortAnswer",
+ "description": "Answer span object with respect to user's question.",
+ "$ref": "#/definitions/AnswerSpan"
+ },
+ "offset": {
+ "type": "integer",
+ "description": "The sentence offset from the start of the document.",
+ "format": "int32"
+ },
+ "length": {
+ "type": "integer",
+ "description": "The length of the sentence.",
+ "format": "int32"
+ }
+ }
+ },
+ "TextDocument": {
+ "type": "object",
+ "description": "Represent input text record to be queried.",
+ "additionalProperties": false,
+ "required": [
+ "id",
+ "text"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for the text record."
+ },
+ "text": {
+ "type": "string",
+ "description": "Text contents of the record."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "AnswersOptions": {
+ "name": "knowledgeBaseQueryOptions",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AnswersOptions"
+ },
+ "x-nullable": true,
+ "description": "Post body of the request.",
+ "x-ms-parameter-location": "method"
+ },
+ "AnswersFromTextOptions": {
+ "name": "textQueryOptions",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AnswersFromTextOptions"
+ },
+ "x-nullable": true,
+ "description": "Post body of the request.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/stable/2021-09-05/Identification.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/stable/2021-09-05/Identification.json
index c27caabe93fc..8d3701b7266c 100644
--- a/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/stable/2021-09-05/Identification.json
+++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Identification/stable/2021-09-05/Identification.json
@@ -6,7 +6,7 @@
"description": "The Azure Cognitive Service Speaker Recognition service provides algorithms that verify and identify speakers by their unique voice characteristics.\nSpeaker Recognition is used to answer the question \"who is speaking?\""
},
"x-ms-parameterized-host": {
- "hostTemplate": "{endpoint}/speaker/identification",
+ "hostTemplate": "{endpoint}/speaker-recognition/identification",
"useSchemePrefix": false,
"positionInOperation": "first",
"parameters": [
diff --git a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/stable/2021-09-05/Verification.json b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/stable/2021-09-05/Verification.json
index 1d1c918f1e12..2c831025aae1 100644
--- a/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/stable/2021-09-05/Verification.json
+++ b/specification/cognitiveservices/data-plane/SpeakerRecognition/Verification/stable/2021-09-05/Verification.json
@@ -6,7 +6,7 @@
"description": "The Azure Cognitive Service Speaker Recognition service provides algorithms that verify and identify speakers by their unique voice characteristics.\nSpeaker Recognition is used to answer the question \"who is speaking?\""
},
"x-ms-parameterized-host": {
- "hostTemplate": "{endpoint}/speaker/verification",
+ "hostTemplate": "{endpoint}/speaker-recognition/verification",
"useSchemePrefix": false,
"positionInOperation": "first",
"parameters": [
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/TextAnalytics.json
new file mode 100644
index 000000000000..8f3f4c1bfc27
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/TextAnalytics.json
@@ -0,0 +1,3477 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "v3.2-preview.2",
+ "contact": {
+ "name": "Microsoft Cognitive Services",
+ "url": "https://azure.microsoft.com/en-us/services/cognitive-services/text-analytics/",
+ "email": "mlapi@microsoft.com"
+ },
+ "title": "Text Analytics Client",
+ "description": "The Text Analytics API is a suite of natural language processing (NLP) services built with best-in-class Microsoft machine learning algorithms. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction and language detection. Functionality for analysis of text specific to the healthcare domain and personal information are also available in the API. Further documentation can be found in https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/overview"
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}/text/analytics/{ApiVersion}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ }
+ ]
+ },
+ "paths": {
+ "/analyze": {
+ "post": {
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "description": "Submit a collection of text documents for analysis. Specify one or more unique tasks to be executed.",
+ "operationId": "Analyze",
+ "summary": "Submit analysis job",
+ "parameters": [
+ {
+ "description": "Collection of documents to analyze and tasks to execute.",
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeBatchInput"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "A successful call results with an Operation-Location header used to check the status of the analysis job.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Submit analysis job request": {
+ "$ref": ".//examples//SuccessfulAnalyzeRequest.json"
+ }
+ },
+ "deprecated": false,
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/analyze/jobs/{jobId}": {
+ "get": {
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "description": "Get the status of an analysis job. A job may consist of one or more tasks. Once all tasks are completed, the job will transition to the completed state and results will be available for each task.",
+ "operationId": "AnalyzeStatus",
+ "summary": "Get analysis status and results",
+ "parameters": [
+ {
+ "$ref": "#/parameters/AnalyzeJobId"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "default": 20,
+ "description": "(Optional) Set the maximum number of results per task. When both $top and $skip are specified, $skip is applied first.",
+ "in": "query",
+ "maximum": 50,
+ "minimum": 1,
+ "name": "$top",
+ "type": "integer"
+ },
+ {
+ "default": 0,
+ "description": "(Optional) Set the number of elements to offset in the response. When both $top and $skip are specified, $skip is applied first.",
+ "in": "query",
+ "minimum": 0,
+ "name": "$skip",
+ "type": "integer"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Analysis job status and metadata.",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeJobState"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Analysis job status request": {
+ "$ref": ".//examples//SuccessfulAnalyzeStatusRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/entities/health/jobs/{jobId}": {
+ "get": {
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "description": "Get details of the healthcare prediction job specified by the jobId.",
+ "operationId": "HealthStatus",
+ "summary": "Get healthcare analysis job status and results",
+ "parameters": [
+ {
+ "$ref": "#/parameters/JobId"
+ },
+ {
+ "default": 20,
+ "description": "(Optional) Set the maximum number of results per task. When both $top and $skip are specified, $skip is applied first.",
+ "in": "query",
+ "maximum": 50,
+ "minimum": 1,
+ "name": "$top",
+ "type": "integer"
+ },
+ {
+ "default": 0,
+ "description": "(Optional) Set the number of elements to offset in the response. When both $top and $skip are specified, $skip is applied first.",
+ "in": "query",
+ "minimum": 0,
+ "name": "$skip",
+ "type": "integer"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/HealthcareJobState"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Health request": {
+ "$ref": ".//examples//SuccessfulHealthStatusRequest.json"
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "description": "Cancel healthcare prediction job.",
+ "operationId": "CancelHealthJob",
+ "summary": "Cancel healthcare prediction job",
+ "parameters": [
+ {
+ "$ref": "#/parameters/JobId"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Cancel Job request has been received.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Health request": {
+ "$ref": ".//examples//SuccessfulHealthDeleteRequest.json"
+ }
+ },
+ "deprecated": false,
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/entities/health/jobs": {
+ "post": {
+ "summary": "Submit healthcare analysis job",
+ "description": "Start a healthcare analysis job to recognize healthcare related entities (drugs, conditions, symptoms, etc) and their relations.",
+ "operationId": "Health",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted - call results in a link where the status of the submitted job can be checked via the GET operation.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Health request": {
+ "$ref": ".//examples//SuccessfulHealthRequest.json"
+ }
+ },
+ "deprecated": false,
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/entities/recognition/general": {
+ "post": {
+ "summary": "Named Entity Recognition",
+ "description": "The API returns a list of general named entities in a given document. For the list of supported entity types, check Supported Entity Types in Text Analytics API. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "EntitiesRecognitionGeneral",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of recognized entities returned for each valid document.",
+ "schema": {
+ "$ref": "#/definitions/EntitiesResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Entities request": {
+ "$ref": ".//examples//SuccessfulEntitiesRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/entities/recognition/pii": {
+ "post": {
+ "summary": "Entities containing personal information",
+ "description": "The API returns a list of entities with personal information (\\\"SSN\\\", \\\"Bank Account\\\" etc) in the document. For the list of supported entity types, check Supported Entity Types in Text Analytics API. See the Supported languages in Text Analytics API for the list of enabled languages.\n",
+ "operationId": "EntitiesRecognitionPii",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ },
+ {
+ "name": "domain",
+ "in": "query",
+ "description": "(Optional) if specified, will set the PII domain to include only a subset of the entity categories. Possible values include: 'PHI', 'none'.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/PiiCategories"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of entities containing personal information returned for each valid document",
+ "schema": {
+ "$ref": "#/definitions/PiiResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Entity PII request": {
+ "$ref": ".//examples//SuccessfulEntityPIIRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/entities/linking": {
+ "post": {
+ "summary": "Linked entities from a well known knowledge base",
+ "description": "The API returns a list of recognized entities with links to a well known knowledge base. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "EntitiesLinking",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of recognized entities with links to a well known knowledge base returned for each valid document",
+ "schema": {
+ "$ref": "#/definitions/EntityLinkingResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Entity Linking request": {
+ "$ref": ".//examples//SuccessfulEntityLinkingRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/keyPhrases": {
+ "post": {
+ "summary": "Key Phrases",
+ "description": "The API returns a list of strings denoting the key phrases in the input text. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "KeyPhrases",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response results in 0 or more key phrases identified in each valid document",
+ "schema": {
+ "$ref": "#/definitions/KeyPhraseResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Key Phrase request": {
+ "$ref": ".//examples//SuccessfulKeyPhrasesRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/languages": {
+ "post": {
+ "summary": "Detect Language",
+ "description": "The API returns the detected language and a numeric score between 0 and 1. Scores close to 1 indicate 100% certainty that the identified language is true. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "Languages",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ },
+ {
+ "$ref": "#/parameters/LanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in the detected language with the highest probability for each valid document",
+ "schema": {
+ "$ref": "#/definitions/LanguageResult"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Detect Language request": {
+ "$ref": ".//examples//SuccessfulLanguagesRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/sentiment": {
+ "post": {
+ "summary": "Sentiment",
+ "description": "The API returns a detailed sentiment analysis for the input text. The analysis is done in multiple levels of granularity, start from the a document level, down to sentence and key terms (targets and assessments).",
+ "operationId": "Sentiment",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/LoggingOptOut"
+ },
+ {
+ "name": "opinionMining",
+ "in": "query",
+ "description": "(Optional) if set to true, response will contain not only sentiment prediction but also opinion mining (aspect-based sentiment analysis) results.",
+ "type": "boolean"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a document sentiment prediction, as well as sentiment scores for each sentiment class (Positive, Negative, and Neutral)",
+ "schema": {
+ "$ref": "#/definitions/SentimentResponse"
+ }
+ },
+ "default": {
+ "description": "Unexpected error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Sentiment request": {
+ "$ref": ".//examples//SuccessfulSentimentRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ }
+ },
+ "definitions": {
+ "JobManifest": {
+ "properties": {
+ "tasks": {
+ "description": "The set of tasks to execute on the input documents. Cannot specify the same task more than once.",
+ "properties": {
+ "entityRecognitionTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntitiesTask"
+ }
+ },
+ "entityRecognitionPiiTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PiiTask"
+ }
+ },
+ "keyPhraseExtractionTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyPhrasesTask"
+ }
+ },
+ "entityLinkingTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EntityLinkingTask"
+ }
+ },
+ "sentimentAnalysisTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SentimentAnalysisTask"
+ }
+ },
+ "extractiveSummarizationTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExtractiveSummarizationTask"
+ }
+ },
+ "customEntityRecognitionTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CustomEntitiesTask"
+ }
+ },
+ "customSingleClassificationTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CustomSingleClassificationTask"
+ }
+ },
+ "customMultiClassificationTasks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CustomMultiClassificationTask"
+ }
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "tasks"
+ ],
+ "type": "object"
+ },
+ "MultiLanguageBatchInput": {
+ "type": "object",
+ "required": [
+ "documents"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "The set of documents to process as part of this batch.",
+ "items": {
+ "$ref": "#/definitions/MultiLanguageInput"
+ }
+ }
+ },
+ "description": "Contains a set of input documents to be analyzed by the service."
+ },
+ "MultiLanguageInput": {
+ "type": "object",
+ "required": [
+ "id",
+ "text"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "A unique, non-empty document identifier."
+ },
+ "text": {
+ "type": "string",
+ "description": "The input text to process."
+ },
+ "language": {
+ "type": "string",
+ "description": "(Optional) This is the 2 letter ISO 639-1 representation of a language. For example, use \"en\" for English; \"es\" for Spanish etc. If not set, use \"en\" for English as default."
+ }
+ },
+ "description": "Contains an input document to be analyzed by the service."
+ },
+ "DocumentError": {
+ "type": "object",
+ "required": [
+ "id",
+ "error"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Document Id."
+ },
+ "error": {
+ "type": "object",
+ "description": "Document Error.",
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "type": "object",
+ "required": [
+ "error"
+ ],
+ "properties": {
+ "error": {
+ "type": "object",
+ "description": "Document Error.",
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ },
+ "TextAnalyticsError": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "enum": [
+ "InvalidRequest",
+ "InvalidArgument",
+ "InternalServerError",
+ "ServiceUnavailable",
+ "NotFound"
+ ],
+ "x-ms-enum": {
+ "name": "ErrorCodeValue",
+ "modelAsString": true
+ },
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "Inner error contains more specific information."
+ },
+ "details": {
+ "type": "array",
+ "description": "Details about specific errors that led to this reported error.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ }
+ },
+ "TextAnalyticsWarning": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "enum": [
+ "LongWordsInDocument",
+ "DocumentTruncated"
+ ],
+ "x-ms-enum": {
+ "name": "WarningCodeValue",
+ "modelAsString": true
+ },
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Warning message."
+ },
+ "targetRef": {
+ "type": "string",
+ "description": "A JSON pointer reference indicating the target object."
+ }
+ }
+ },
+ "ExtractiveSummarizationTask": {
+ "type": "object",
+ "properties": {
+ "parameters": {
+ "type": "object",
+ "properties": {
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ },
+ "sentenceCount": {
+ "default": 3,
+ "type": "integer"
+ },
+ "sortBy": {
+ "default": "Offset",
+ "enum": [
+ "Offset",
+ "Rank"
+ ],
+ "type": "string"
+ }
+ }
+ },
+ "taskName": {
+ "type": "string"
+ }
+ }
+ },
+ "CustomEntitiesTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "project-name": {
+ "type": "string"
+ },
+ "deployment-name": {
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ }
+ },
+ "type": "object",
+ "required": [
+ "project-name",
+ "deployment-name"
+ ]
+ },
+ "taskName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CustomSingleClassificationTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "project-name": {
+ "type": "string"
+ },
+ "deployment-name": {
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object",
+ "required": [
+ "project-name",
+ "deployment-name"
+ ]
+ },
+ "taskName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "CustomMultiClassificationTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "project-name": {
+ "type": "string"
+ },
+ "deployment-name": {
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object",
+ "required": [
+ "project-name",
+ "deployment-name"
+ ]
+ },
+ "taskName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PiiTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "domain": {
+ "default": "none",
+ "enum": [
+ "phi",
+ "none"
+ ],
+ "type": "string"
+ },
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": true,
+ "type": "boolean"
+ },
+ "piiCategories": {
+ "$ref": "#/definitions/PiiCategories"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ }
+ },
+ "type": "object"
+ },
+ "taskName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EntitiesTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ }
+ },
+ "type": "object"
+ },
+ "taskName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SentimentAnalysisTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ },
+ "opinionMining": {
+ "default": false,
+ "type": "boolean"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ }
+ },
+ "type": "object"
+ },
+ "taskName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "InnerError": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "enum": [
+ "InvalidParameterValue",
+ "InvalidRequestBodyFormat",
+ "EmptyRequest",
+ "MissingInputRecords",
+ "InvalidDocument",
+ "ModelVersionIncorrect",
+ "InvalidDocumentBatch",
+ "UnsupportedLanguageCode",
+ "InvalidCountryHint"
+ ],
+ "x-ms-enum": {
+ "name": "InnerErrorCodeValue",
+ "modelAsString": true
+ },
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "details": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Error details."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "Inner error contains more specific information."
+ }
+ }
+ },
+ "AnalyzeBatchInput": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDescriptor"
+ },
+ {
+ "$ref": "#/definitions/AnalysisInput"
+ },
+ {
+ "$ref": "#/definitions/JobManifest"
+ }
+ ]
+ },
+ "AnalyzeJobState": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/AnalyzeJobMetadata"
+ },
+ {
+ "$ref": "#/definitions/TasksState"
+ },
+ {
+ "$ref": "#/definitions/AnalyzeJobErrorsAndStatistics"
+ },
+ {
+ "$ref": "#/definitions/Pagination"
+ }
+ ]
+ },
+ "ExtractiveSummarizationResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/ExtractedDocumentSummary"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "ExtractedDocumentSummary": {
+ "type": "object",
+ "required": [
+ "id",
+ "sentences",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "sentences": {
+ "type": "array",
+ "description": "A ranked list of sentences representing the extracted summary.",
+ "items": {
+ "$ref": "#/definitions/ExtractedSummarySentence"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "ExtractedSummarySentence": {
+ "type": "object",
+ "required": [
+ "text",
+ "rankScore",
+ "offset",
+ "length"
+ ],
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "The extracted sentence text."
+ },
+ "rankScore": {
+ "type": "number",
+ "format": "double",
+ "description": "A double value representing the relevance of the sentence within the summary. Higher values indicate higher importance."
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The sentence offset from the start of the document, based on the value of the parameter StringIndexType."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the sentence."
+ }
+ }
+ },
+ "CustomEntitiesResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "projectName",
+ "deploymentName"
+ ],
+ "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"
+ },
+ "projectName": {
+ "type": "string",
+ "description": "This field indicates the project name for the model."
+ },
+ "deploymentName": {
+ "type": "string",
+ "description": "This field indicates the deployment name for the model."
+ }
+ }
+ },
+ "CustomSingleClassificationResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "projectName",
+ "deploymentName"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/SingleClassificationDocument"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "projectName": {
+ "type": "string",
+ "description": "This field indicates the project name for the model."
+ },
+ "deploymentName": {
+ "type": "string",
+ "description": "This field indicates the deployment name for the model."
+ }
+ }
+ },
+ "CustomMultiClassificationResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "projectName",
+ "deploymentName"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/MultiClassificationDocument"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "projectName": {
+ "type": "string",
+ "description": "This field indicates the project name for the model."
+ },
+ "deploymentName": {
+ "type": "string",
+ "description": "This field indicates the deployment name for the model."
+ }
+ }
+ },
+ "SingleClassificationDocument": {
+ "type": "object",
+ "required": [
+ "id",
+ "classification",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "classification": {
+ "$ref": "#/definitions/ClassificationResult"
+ },
+ "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"
+ }
+ }
+ },
+ "MultiClassificationDocument": {
+ "type": "object",
+ "required": [
+ "id",
+ "classifications",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "classifications": {
+ "type": "array",
+ "description": "Recognized classification results in the document.",
+ "items": {
+ "$ref": "#/definitions/ClassificationResult"
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "ClassificationResult": {
+ "type": "object",
+ "required": [
+ "category",
+ "confidenceScore"
+ ],
+ "properties": {
+ "category": {
+ "type": "string",
+ "description": "Classification type."
+ },
+ "confidenceScore": {
+ "type": "number",
+ "format": "double",
+ "description": "Confidence score between 0 and 1 of the recognized classification."
+ }
+ }
+ },
+ "SentimentResponse": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Sentiment analysis per document.",
+ "items": {
+ "$ref": "#/definitions/DocumentSentiment"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "TaskState": {
+ "properties": {
+ "lastUpdateDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "taskName": {
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "notStarted",
+ "running",
+ "succeeded",
+ "failed",
+ "rejected",
+ "cancelled",
+ "cancelling"
+ ],
+ "x-ms-enum": {
+ "modelAsString": false,
+ "name": "State"
+ }
+ }
+ },
+ "required": [
+ "status",
+ "lastUpdateDateTime",
+ "taskName"
+ ],
+ "type": "object"
+ },
+ "TasksState": {
+ "properties": {
+ "tasks": {
+ "properties": {
+ "completed": {
+ "type": "integer"
+ },
+ "failed": {
+ "type": "integer"
+ },
+ "inProgress": {
+ "type": "integer"
+ },
+ "total": {
+ "type": "integer"
+ },
+ "entityRecognitionTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/EntitiesTaskResult"
+ }
+ ]
+ }
+ },
+ "entityRecognitionPiiTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/PiiTaskResult"
+ }
+ ]
+ }
+ },
+ "keyPhraseExtractionTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/KeyPhraseTaskResult"
+ }
+ ]
+ }
+ },
+ "entityLinkingTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/EntityLinkingTaskResult"
+ }
+ ]
+ }
+ },
+ "sentimentAnalysisTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/SentimentTaskResult"
+ }
+ ]
+ }
+ },
+ "extractiveSummarizationTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/ExtractiveSummarizationTaskResult"
+ }
+ ]
+ }
+ },
+ "customEntityRecognitionTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/CustomEntitiesTaskResult"
+ }
+ ]
+ }
+ },
+ "customSingleClassificationTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/CustomSingleClassificationTaskResult"
+ }
+ ]
+ }
+ },
+ "customMultiClassificationTasks": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TaskState"
+ },
+ {
+ "$ref": "#/definitions/CustomMultiClassificationTaskResult"
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "total",
+ "completed",
+ "failed",
+ "inProgress"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "tasks"
+ ],
+ "type": "object"
+ },
+ "DocumentSentiment": {
+ "type": "object",
+ "required": [
+ "id",
+ "sentiment",
+ "confidenceScores",
+ "sentences",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "sentiment": {
+ "type": "string",
+ "description": "Predicted sentiment for document (Negative, Neutral, Positive, or Mixed).",
+ "enum": [
+ "positive",
+ "neutral",
+ "negative",
+ "mixed"
+ ],
+ "x-ms-enum": {
+ "name": "DocumentSentimentValue",
+ "modelAsString": false
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/DocumentStatistics"
+ },
+ "confidenceScores": {
+ "description": "Document level sentiment confidence scores between 0 and 1 for each sentiment class.",
+ "$ref": "#/definitions/SentimentConfidenceScorePerLabel"
+ },
+ "sentences": {
+ "type": "array",
+ "description": "Sentence level sentiment analysis.",
+ "items": {
+ "$ref": "#/definitions/SentenceSentiment"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ }
+ }
+ },
+ "RequestStatistics": {
+ "type": "object",
+ "required": [
+ "documentsCount",
+ "validDocumentsCount",
+ "erroneousDocumentsCount",
+ "transactionsCount"
+ ],
+ "properties": {
+ "documentsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of documents submitted in the request."
+ },
+ "validDocumentsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of valid documents. This excludes empty, over-size limit or non-supported languages documents."
+ },
+ "erroneousDocumentsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of invalid documents. This includes empty, over-size limit or non-supported languages documents."
+ },
+ "transactionsCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of transactions for the request."
+ }
+ },
+ "description": "if showStats=true was specified in the request this field will contain information about the request payload."
+ },
+ "DocumentStatistics": {
+ "type": "object",
+ "required": [
+ "charactersCount",
+ "transactionsCount"
+ ],
+ "properties": {
+ "charactersCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of text elements recognized in the document."
+ },
+ "transactionsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of transactions for the document."
+ }
+ },
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload."
+ },
+ "SentimentConfidenceScorePerLabel": {
+ "type": "object",
+ "required": [
+ "positive",
+ "neutral",
+ "negative"
+ ],
+ "properties": {
+ "positive": {
+ "type": "number",
+ "format": "double"
+ },
+ "neutral": {
+ "type": "number",
+ "format": "double"
+ },
+ "negative": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "description": "Represents the confidence scores between 0 and 1 across all sentiment classes: positive, neutral, negative."
+ },
+ "SentenceSentiment": {
+ "type": "object",
+ "required": [
+ "text",
+ "sentiment",
+ "confidenceScores",
+ "offset",
+ "length"
+ ],
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "The sentence text."
+ },
+ "sentiment": {
+ "type": "string",
+ "description": "The predicted Sentiment for the sentence.",
+ "enum": [
+ "positive",
+ "neutral",
+ "negative"
+ ],
+ "x-ms-enum": {
+ "name": "SentenceSentimentValue",
+ "modelAsString": false
+ }
+ },
+ "confidenceScores": {
+ "description": "The sentiment confidence score between 0 and 1 for the sentence for all classes.",
+ "$ref": "#/definitions/SentimentConfidenceScorePerLabel"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The sentence offset from the start of the document."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the sentence."
+ },
+ "targets": {
+ "type": "array",
+ "description": "The array of sentence targets for the sentence.",
+ "items": {
+ "$ref": "#/definitions/SentenceTarget"
+ }
+ },
+ "assessments": {
+ "type": "array",
+ "description": "The array of assessments for the sentence.",
+ "items": {
+ "$ref": "#/definitions/SentenceAssessment"
+ }
+ }
+ }
+ },
+ "SentenceTarget": {
+ "type": "object",
+ "required": [
+ "confidenceScores",
+ "length",
+ "offset",
+ "relations",
+ "sentiment",
+ "text"
+ ],
+ "properties": {
+ "sentiment": {
+ "type": "string",
+ "enum": [
+ "positive",
+ "mixed",
+ "negative"
+ ],
+ "x-ms-enum": {
+ "name": "TokenSentimentValue",
+ "modelAsString": false
+ },
+ "description": "Targeted sentiment in the sentence."
+ },
+ "confidenceScores": {
+ "description": "Target sentiment confidence scores for the target in the sentence.",
+ "$ref": "#/definitions/TargetConfidenceScoreLabel"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The target offset from the start of the sentence."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the target."
+ },
+ "text": {
+ "type": "string",
+ "description": "The target text detected."
+ },
+ "relations": {
+ "type": "array",
+ "description": "The array of either assessment or target objects which is related to the target.",
+ "items": {
+ "$ref": "#/definitions/TargetRelation"
+ }
+ }
+ }
+ },
+ "SentenceAssessment": {
+ "type": "object",
+ "required": [
+ "confidenceScores",
+ "isNegated",
+ "length",
+ "offset",
+ "sentiment",
+ "text"
+ ],
+ "properties": {
+ "sentiment": {
+ "type": "string",
+ "enum": [
+ "positive",
+ "mixed",
+ "negative"
+ ],
+ "x-ms-enum": {
+ "name": "TokenSentimentValue",
+ "modelAsString": false
+ },
+ "description": "Assessment sentiment in the sentence."
+ },
+ "confidenceScores": {
+ "description": "Assessment sentiment confidence scores in the sentence.",
+ "$ref": "#/definitions/TargetConfidenceScoreLabel"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The assessment offset from the start of the sentence."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the assessment."
+ },
+ "text": {
+ "type": "string",
+ "description": "The assessment text detected."
+ },
+ "isNegated": {
+ "type": "boolean",
+ "description": "The indicator representing if the assessment is negated."
+ }
+ }
+ },
+ "TargetRelation": {
+ "type": "object",
+ "required": [
+ "ref",
+ "relationType"
+ ],
+ "properties": {
+ "relationType": {
+ "type": "string",
+ "enum": [
+ "assessment",
+ "target"
+ ],
+ "x-ms-enum": {
+ "name": "TargetRelationType",
+ "modelAsString": false
+ },
+ "description": "The type related to the target."
+ },
+ "ref": {
+ "type": "string",
+ "description": "The JSON pointer indicating the linked object."
+ }
+ }
+ },
+ "TargetConfidenceScoreLabel": {
+ "type": "object",
+ "required": [
+ "negative",
+ "positive"
+ ],
+ "properties": {
+ "positive": {
+ "type": "number",
+ "format": "double"
+ },
+ "negative": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "description": "Represents the confidence scores across all sentiment classes: positive, neutral, negative."
+ },
+ "EntitiesResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentEntities"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentEntities": {
+ "type": "object",
+ "required": [
+ "id",
+ "entities",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "entities": {
+ "type": "array",
+ "description": "Recognized entities in the document.",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "PiiDocumentEntities": {
+ "type": "object",
+ "required": [
+ "id",
+ "redactedText",
+ "entities",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "redactedText": {
+ "type": "string",
+ "description": "Returns redacted text."
+ },
+ "entities": {
+ "type": "array",
+ "description": "Recognized entities in the document.",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "Entity": {
+ "type": "object",
+ "required": [
+ "text",
+ "category",
+ "offset",
+ "length",
+ "confidenceScore"
+ ],
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "Entity text as appears in the request."
+ },
+ "category": {
+ "type": "string",
+ "description": "Entity type."
+ },
+ "subcategory": {
+ "type": "string",
+ "description": "(Optional) Entity sub type."
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start position for the entity text. Use of different 'stringIndexType' values can affect the offset returned."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Length for the entity text. Use of different 'stringIndexType' values can affect the length returned."
+ },
+ "confidenceScore": {
+ "type": "number",
+ "format": "double",
+ "description": "Confidence score between 0 and 1 of the extracted entity."
+ }
+ }
+ },
+ "EntityLinkingResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentLinkedEntities"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentLinkedEntities": {
+ "type": "object",
+ "required": [
+ "id",
+ "entities",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "entities": {
+ "type": "array",
+ "description": "Recognized well known entities in the document.",
+ "items": {
+ "$ref": "#/definitions/LinkedEntity"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "HealthcareJobState": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobMetadata"
+ },
+ {
+ "$ref": "#/definitions/HealthcareTaskResult"
+ },
+ {
+ "$ref": "#/definitions/Pagination"
+ }
+ ]
+ },
+ "HealthcareResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentHealthcareEntities"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentHealthcareEntities": {
+ "type": "object",
+ "required": [
+ "id",
+ "entities",
+ "relations",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "entities": {
+ "description": "Healthcare entities.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthcareEntity"
+ }
+ },
+ "relations": {
+ "type": "array",
+ "description": "Healthcare entity relations.",
+ "items": {
+ "$ref": "#/definitions/HealthcareRelation"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "HealthcareEntity": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthcareEntityProperties"
+ },
+ {
+ "$ref": "#/definitions/HealthcareLinkingProperties"
+ }
+ ]
+ },
+ "HealthcareRelation": {
+ "type": "object",
+ "description": "Every relation is an entity graph of a certain relationType, where all entities are connected and have specific roles within the relation context.",
+ "required": [
+ "relationType",
+ "entities"
+ ],
+ "properties": {
+ "relationType": {
+ "description": "Type of relation. Examples include: `DosageOfMedication` or 'FrequencyOfMedication', etc.",
+ "type": "string",
+ "enum": [
+ "Abbreviation",
+ "DirectionOfBodyStructure",
+ "DirectionOfCondition",
+ "DirectionOfExamination",
+ "DirectionOfTreatment",
+ "DosageOfMedication",
+ "FormOfMedication",
+ "FrequencyOfMedication",
+ "FrequencyOfTreatment",
+ "QualifierOfCondition",
+ "RelationOfExamination",
+ "RouteOfMedication",
+ "TimeOfCondition",
+ "TimeOfEvent",
+ "TimeOfExamination",
+ "TimeOfMedication",
+ "TimeOfTreatment",
+ "UnitOfCondition",
+ "UnitOfExamination",
+ "ValueOfCondition",
+ "ValueOfExamination"
+ ],
+ "x-ms-enum": {
+ "name": "relationType",
+ "modelAsString": true
+ }
+ },
+ "entities": {
+ "description": "The entities in the relation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthcareRelationEntity"
+ }
+ }
+ }
+ },
+ "HealthcareAssertion": {
+ "type": "object",
+ "properties": {
+ "conditionality": {
+ "description": "Describes any conditionality on the entity.",
+ "type": "string",
+ "enum": [
+ "hypothetical",
+ "conditional"
+ ],
+ "x-ms-enum": {
+ "name": "Conditionality",
+ "modelAsString": false
+ }
+ },
+ "certainty": {
+ "description": "Describes the entities certainty and polarity.",
+ "type": "string",
+ "enum": [
+ "positive",
+ "positivePossible",
+ "neutralPossible",
+ "negativePossible",
+ "negative"
+ ],
+ "x-ms-enum": {
+ "name": "Certainty",
+ "modelAsString": false
+ }
+ },
+ "association": {
+ "description": "Describes if the entity is the subject of the text or if it describes someone else.",
+ "type": "string",
+ "enum": [
+ "subject",
+ "other"
+ ],
+ "x-ms-enum": {
+ "name": "Association",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "HealthcareRelationEntity": {
+ "type": "object",
+ "required": [
+ "ref",
+ "role"
+ ],
+ "properties": {
+ "ref": {
+ "description": "Reference link object, using a JSON pointer RFC 6901 (URI Fragment Identifier Representation), pointing to the entity .",
+ "type": "string"
+ },
+ "role": {
+ "description": "Role of entity in the relationship. For example: 'CD20-positive diffuse large B-cell lymphoma' has the following entities with their roles in parenthesis: CD20 (GeneOrProtein), Positive (Expression), diffuse large B-cell lymphoma (Diagnosis).",
+ "type": "string"
+ }
+ }
+ },
+ "HealthcareEntityLink": {
+ "type": "object",
+ "required": [
+ "dataSource",
+ "id"
+ ],
+ "properties": {
+ "dataSource": {
+ "description": "Entity Catalog. Examples include: UMLS, CHV, MSH, etc.",
+ "type": "string"
+ },
+ "id": {
+ "description": "Entity id in the given source catalog.",
+ "type": "string"
+ }
+ }
+ },
+ "HealthcareEntityProperties": {
+ "type": "object",
+ "required": [
+ "text",
+ "category",
+ "offset",
+ "length",
+ "confidenceScore"
+ ],
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "Entity text as appears in the request."
+ },
+ "category": {
+ "x-ms-enum": {
+ "name": "healthcareEntityCategory",
+ "modelAsString": true
+ },
+ "type": "string",
+ "description": "Healthcare Entity Category.",
+ "enum": [
+ "BODY_STRUCTURE",
+ "AGE",
+ "GENDER",
+ "EXAMINATION_NAME",
+ "DATE",
+ "DIRECTION",
+ "FREQUENCY",
+ "MEASUREMENT_VALUE",
+ "MEASUREMENT_UNIT",
+ "RELATIONAL_OPERATOR",
+ "TIME",
+ "GENE_OR_PROTEIN",
+ "VARIANT",
+ "ADMINISTRATIVE_EVENT",
+ "CARE_ENVIRONMENT",
+ "HEALTHCARE_PROFESSION",
+ "DIAGNOSIS",
+ "SYMPTOM_OR_SIGN",
+ "CONDITION_QUALIFIER",
+ "MEDICATION_CLASS",
+ "MEDICATION_NAME",
+ "DOSAGE",
+ "MEDICATION_FORM",
+ "MEDICATION_ROUTE",
+ "FAMILY_RELATION",
+ "TREATMENT_NAME"
+ ]
+ },
+ "subcategory": {
+ "type": "string",
+ "description": "(Optional) Entity sub type."
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start position for the entity text. Use of different 'stringIndexType' values can affect the offset returned."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Length for the entity text. Use of different 'stringIndexType' values can affect the length returned."
+ },
+ "confidenceScore": {
+ "type": "number",
+ "format": "double",
+ "description": "Confidence score between 0 and 1 of the extracted entity."
+ }
+ }
+ },
+ "HealthcareLinkingProperties": {
+ "properties": {
+ "assertion": {
+ "type": "object",
+ "$ref": "#/definitions/HealthcareAssertion"
+ },
+ "name": {
+ "description": "Preferred name for the entity. Example: 'histologically' would have a 'name' of 'histologic'.",
+ "type": "string"
+ },
+ "links": {
+ "description": "Entity references in known data sources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthcareEntityLink"
+ }
+ }
+ }
+ },
+ "LinkedEntity": {
+ "type": "object",
+ "required": [
+ "name",
+ "matches",
+ "language",
+ "url",
+ "dataSource"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Entity Linking formal name."
+ },
+ "matches": {
+ "type": "array",
+ "description": "List of instances this entity appears in the text.",
+ "items": {
+ "$ref": "#/definitions/Match"
+ }
+ },
+ "language": {
+ "type": "string",
+ "description": "Language used in the data source."
+ },
+ "id": {
+ "type": "string",
+ "description": "Unique identifier of the recognized entity from the data source."
+ },
+ "url": {
+ "type": "string",
+ "description": "URL for the entity's page from the data source."
+ },
+ "dataSource": {
+ "type": "string",
+ "description": "Data source used to extract entity linking, such as Wiki/Bing etc."
+ },
+ "bingId": {
+ "type": "string",
+ "description": "Bing Entity Search API unique identifier of the recognized entity."
+ }
+ }
+ },
+ "Match": {
+ "type": "object",
+ "required": [
+ "confidenceScore",
+ "text",
+ "offset",
+ "length"
+ ],
+ "properties": {
+ "confidenceScore": {
+ "type": "number",
+ "format": "double",
+ "description": "If a well known item is recognized, a decimal number denoting the confidence level between 0 and 1 will be returned."
+ },
+ "text": {
+ "type": "string",
+ "description": "Entity text as appears in the request."
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start position for the entity match text."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Length for the entity match text."
+ }
+ }
+ },
+ "AnalysisInput": {
+ "type": "object",
+ "required": [
+ "analysisInput"
+ ],
+ "properties": {
+ "analysisInput": {
+ "$ref": "#/definitions/MultiLanguageBatchInput"
+ }
+ }
+ },
+ "EntitiesTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/EntitiesResult"
+ }
+ }
+ },
+ "PiiTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/PiiResult"
+ }
+ }
+ },
+ "KeyPhraseTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/KeyPhraseResult"
+ }
+ }
+ },
+ "EntityLinkingTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/EntityLinkingResult"
+ }
+ }
+ },
+ "SentimentTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/SentimentResponse"
+ }
+ }
+ },
+ "ExtractiveSummarizationTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/ExtractiveSummarizationResult"
+ }
+ }
+ },
+ "CustomEntitiesTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/CustomEntitiesResult"
+ }
+ }
+ },
+ "CustomSingleClassificationTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/CustomSingleClassificationResult"
+ }
+ }
+ },
+ "CustomMultiClassificationTaskResult": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/CustomMultiClassificationResult"
+ }
+ }
+ },
+ "HealthcareTaskResult": {
+ "properties": {
+ "results": {
+ "$ref": "#/definitions/HealthcareResult"
+ },
+ "errors": {
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "JobDescriptor": {
+ "properties": {
+ "displayName": {
+ "description": "Optional display name for the analysis job.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "JobMetadata": {
+ "properties": {
+ "createdDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "expirationDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "jobId": {
+ "format": "uuid",
+ "type": "string"
+ },
+ "lastUpdateDateTime": {
+ "format": "date-time",
+ "type": "string"
+ },
+ "status": {
+ "enum": [
+ "notStarted",
+ "running",
+ "succeeded",
+ "failed",
+ "cancelled",
+ "cancelling"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": false,
+ "name": "State"
+ }
+ }
+ },
+ "required": [
+ "jobId",
+ "lastUpdateDateTime",
+ "createdDateTime",
+ "status"
+ ],
+ "type": "object"
+ },
+ "AnalyzeJobDisplayName": {
+ "properties": {
+ "displayName": {
+ "type": "string"
+ }
+ }
+ },
+ "AnalyzeJobMetadata": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobMetadata"
+ },
+ {
+ "$ref": "#/definitions/AnalyzeJobDisplayName"
+ }
+ ]
+ },
+ "AnalyzeJobErrorsAndStatistics": {
+ "properties": {
+ "errors": {
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ },
+ "type": "array"
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ }
+ },
+ "type": "object"
+ },
+ "KeyPhraseResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentKeyPhrases"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentKeyPhrases": {
+ "type": "object",
+ "required": [
+ "id",
+ "keyPhrases",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "keyPhrases": {
+ "type": "array",
+ "description": "A list of representative words or phrases. The number of key phrases returned is proportional to the number of words in the input document.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "KeyPhrasesTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "taskName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "EntityLinkingTask": {
+ "properties": {
+ "parameters": {
+ "properties": {
+ "model-version": {
+ "default": "latest",
+ "type": "string"
+ },
+ "loggingOptOut": {
+ "default": false,
+ "type": "boolean"
+ },
+ "stringIndexType": {
+ "$ref": "#/definitions/StringIndexType"
+ }
+ },
+ "type": "object"
+ },
+ "taskName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "LanguageBatchInput": {
+ "type": "object",
+ "required": [
+ "documents"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LanguageInput"
+ }
+ }
+ }
+ },
+ "LanguageInput": {
+ "type": "object",
+ "required": [
+ "id",
+ "text"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "text": {
+ "type": "string"
+ },
+ "countryHint": {
+ "type": "string"
+ }
+ }
+ },
+ "Pagination": {
+ "properties": {
+ "@nextLink": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "PiiResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/PiiDocumentEntities"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "LanguageResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentLanguage"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentLanguage": {
+ "type": "object",
+ "required": [
+ "id",
+ "detectedLanguage",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "detectedLanguage": {
+ "description": "Detected Language.",
+ "$ref": "#/definitions/DetectedLanguage"
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "DetectedLanguage": {
+ "type": "object",
+ "required": [
+ "name",
+ "iso6391Name",
+ "confidenceScore"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Long name of a detected language (e.g. English, French)."
+ },
+ "iso6391Name": {
+ "type": "string",
+ "description": "A two letter representation of the detected language according to the ISO 639-1 standard (e.g. en, fr)."
+ },
+ "confidenceScore": {
+ "type": "number",
+ "format": "double",
+ "description": "A confidence score between 0 and 1. Scores close to 1 indicate 100% certainty that the identified language is true."
+ }
+ }
+ },
+ "StringIndexType": {
+ "default": "TextElement_v8",
+ "enum": [
+ "TextElement_v8",
+ "UnicodeCodePoint",
+ "Utf16CodeUnit"
+ ],
+ "x-ms-enum": {
+ "name": "StringIndexType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "TextElement_v8",
+ "description": "Returned offset and length values will correspond to TextElements (Graphemes and Grapheme clusters) confirming to the Unicode 8.0.0 standard. Use this option if your application is written in .Net Framework or .Net Core and you will be using StringInfo."
+ },
+ {
+ "value": "UnicodeCodePoint",
+ "description": "Returned offset and length values will correspond to Unicode code points. Use this option if your application is written in a language that support Unicode, for example Python."
+ },
+ {
+ "value": "Utf16CodeUnit",
+ "description": "Returned offset and length values will correspond to UTF-16 code units. Use this option if your application is written in a language that support Unicode, for example Java, JavaScript."
+ }
+ ]
+ },
+ "type": "string"
+ },
+ "PiiCategories": {
+ "description": "(Optional) describes the PII categories to return",
+ "items": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PiiCategory",
+ "modelAsString": true
+ },
+ "enum": [
+ "ABARoutingNumber",
+ "ARNationalIdentityNumber",
+ "AUBankAccountNumber",
+ "AUDriversLicenseNumber",
+ "AUMedicalAccountNumber",
+ "AUPassportNumber",
+ "AUTaxFileNumber",
+ "AUBusinessNumber",
+ "AUCompanyNumber",
+ "ATIdentityCard",
+ "ATTaxIdentificationNumber",
+ "ATValueAddedTaxNumber",
+ "AzureDocumentDBAuthKey",
+ "AzureIAASDatabaseConnectionAndSQLString",
+ "AzureIoTConnectionString",
+ "AzurePublishSettingPassword",
+ "AzureRedisCacheString",
+ "AzureSAS",
+ "AzureServiceBusString",
+ "AzureStorageAccountKey",
+ "AzureStorageAccountGeneric",
+ "BENationalNumber",
+ "BENationalNumberV2",
+ "BEValueAddedTaxNumber",
+ "BRCPFNumber",
+ "BRLegalEntityNumber",
+ "BRNationalIDRG",
+ "BGUniformCivilNumber",
+ "CABankAccountNumber",
+ "CADriversLicenseNumber",
+ "CAHealthServiceNumber",
+ "CAPassportNumber",
+ "CAPersonalHealthIdentification",
+ "CASocialInsuranceNumber",
+ "CLIdentityCardNumber",
+ "CNResidentIdentityCardNumber",
+ "CreditCardNumber",
+ "HRIdentityCardNumber",
+ "HRNationalIDNumber",
+ "HRPersonalIdentificationNumber",
+ "HRPersonalIdentificationOIBNumberV2",
+ "CYIdentityCard",
+ "CYTaxIdentificationNumber",
+ "CZPersonalIdentityNumber",
+ "CZPersonalIdentityV2",
+ "DKPersonalIdentificationNumber",
+ "DKPersonalIdentificationV2",
+ "DrugEnforcementAgencyNumber",
+ "EEPersonalIdentificationCode",
+ "EUDebitCardNumber",
+ "EUDriversLicenseNumber",
+ "EUGPSCoordinates",
+ "EUNationalIdentificationNumber",
+ "EUPassportNumber",
+ "EUSocialSecurityNumber",
+ "EUTaxIdentificationNumber",
+ "FIEuropeanHealthNumber",
+ "FINationalID",
+ "FINationalIDV2",
+ "FIPassportNumber",
+ "FRDriversLicenseNumber",
+ "FRHealthInsuranceNumber",
+ "FRNationalID",
+ "FRPassportNumber",
+ "FRSocialSecurityNumber",
+ "FRTaxIdentificationNumber",
+ "FRValueAddedTaxNumber",
+ "DEDriversLicenseNumber",
+ "DEPassportNumber",
+ "DEIdentityCardNumber",
+ "DETaxIdentificationNumber",
+ "DEValueAddedNumber",
+ "GRNationalIDCard",
+ "GRNationalIDV2",
+ "GRTaxIdentificationNumber",
+ "HKIdentityCardNumber",
+ "HUValueAddedNumber",
+ "HUPersonalIdentificationNumber",
+ "HUTaxIdentificationNumber",
+ "INPermanentAccount",
+ "INUniqueIdentificationNumber",
+ "IDIdentityCardNumber",
+ "InternationalBankingAccountNumber",
+ "IEPersonalPublicServiceNumber",
+ "IEPersonalPublicServiceNumberV2",
+ "ILBankAccountNumber",
+ "ILNationalID",
+ "ITDriversLicenseNumber",
+ "ITFiscalCode",
+ "ITValueAddedTaxNumber",
+ "JPBankAccountNumber",
+ "JPDriversLicenseNumber",
+ "JPPassportNumber",
+ "JPResidentRegistrationNumber",
+ "JPSocialInsuranceNumber",
+ "JPMyNumberCorporate",
+ "JPMyNumberPersonal",
+ "JPResidenceCardNumber",
+ "LVPersonalCode",
+ "LTPersonalCode",
+ "LUNationalIdentificationNumberNatural",
+ "LUNationalIdentificationNumberNonNatural",
+ "MYIdentityCardNumber",
+ "MTIdentityCardNumber",
+ "MTTaxIDNumber",
+ "NLCitizensServiceNumber",
+ "NLCitizensServiceNumberV2",
+ "NLTaxIdentificationNumber",
+ "NLValueAddedTaxNumber",
+ "NZBankAccountNumber",
+ "NZDriversLicenseNumber",
+ "NZInlandRevenueNumber",
+ "NZMinistryOfHealthNumber",
+ "NZSocialWelfareNumber",
+ "NOIdentityNumber",
+ "PHUnifiedMultiPurposeIDNumber",
+ "PLIdentityCard",
+ "PLNationalID",
+ "PLNationalIDV2",
+ "PLPassportNumber",
+ "PLTaxIdentificationNumber",
+ "PLREGONNumber",
+ "PTCitizenCardNumber",
+ "PTCitizenCardNumberV2",
+ "PTTaxIdentificationNumber",
+ "ROPersonalNumericalCode",
+ "RUPassportNumberDomestic",
+ "RUPassportNumberInternational",
+ "SANationalID",
+ "SGNationalRegistrationIdentityCardNumber",
+ "SKPersonalNumber",
+ "SITaxIdentificationNumber",
+ "SIUniqueMasterCitizenNumber",
+ "ZAIdentificationNumber",
+ "KRResidentRegistrationNumber",
+ "ESDNI",
+ "ESSocialSecurityNumber",
+ "ESTaxIdentificationNumber",
+ "SQLServerConnectionString",
+ "SENationalID",
+ "SENationalIDV2",
+ "SEPassportNumber",
+ "SETaxIdentificationNumber",
+ "SWIFTCode",
+ "CHSocialSecurityNumber",
+ "TWNationalID",
+ "TWPassportNumber",
+ "TWResidentCertificate",
+ "THPopulationIdentificationCode",
+ "TRNationalIdentificationNumber",
+ "UKDriversLicenseNumber",
+ "UKElectoralRollNumber",
+ "UKNationalHealthNumber",
+ "UKNationalInsuranceNumber",
+ "UKUniqueTaxpayerNumber",
+ "USUKPassportNumber",
+ "USBankAccountNumber",
+ "USDriversLicenseNumber",
+ "USIndividualTaxpayerIdentification",
+ "USSocialSecurityNumber",
+ "UAPassportNumberDomestic",
+ "UAPassportNumberInternational",
+ "Organization",
+ "Email",
+ "URL",
+ "Age",
+ "PhoneNumber",
+ "IPAddress",
+ "Date",
+ "Person",
+ "Address",
+ "All",
+ "Default"
+ ]
+ },
+ "type": "array",
+ "uniqueItems": true
+ }
+ },
+ "parameters": {
+ "ApiVersion": {
+ "name": "ApiVersion",
+ "description": "Text Analytics API version (for example, v3.0).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "v3.2-preview.2"
+ ],
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "Endpoint": {
+ "name": "Endpoint",
+ "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "StringIndexType": {
+ "name": "stringIndexType",
+ "in": "query",
+ "type": "string",
+ "description": "(Optional) Specifies the method used to interpret string offsets. Defaults to Text Elements (Graphemes) according to Unicode v8.0.0. For additional information see https://aka.ms/text-analytics-offsets",
+ "default": "TextElement_v8",
+ "enum": [
+ "TextElement_v8",
+ "UnicodeCodePoint",
+ "Utf16CodeUnit"
+ ],
+ "x-ms-enum": {
+ "name": "StringIndexType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "TextElement_v8",
+ "description": "Returned offset and length values will correspond to TextElements (Graphemes and Grapheme clusters) confirming to the Unicode 8.0.0 standard. Use this option if your application is written in .Net Framework or .Net Core and you will be using StringInfo."
+ },
+ {
+ "value": "UnicodeCodePoint",
+ "description": "Returned offset and length values will correspond to Unicode code points. Use this option if your application is written in a language that support Unicode, for example Python."
+ },
+ {
+ "value": "Utf16CodeUnit",
+ "description": "Returned offset and length values will correspond to UTF-16 code units. Use this option if your application is written in a language that support Unicode, for example Java, JavaScript."
+ }
+ ]
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "PiiCategories": {
+ "description": "(Optional) describes the PII categories to return",
+ "in": "query",
+ "collectionFormat": "csv",
+ "items": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PiiCategory",
+ "modelAsString": true
+ },
+ "enum": [
+ "ABARoutingNumber",
+ "ARNationalIdentityNumber",
+ "AUBankAccountNumber",
+ "AUDriversLicenseNumber",
+ "AUMedicalAccountNumber",
+ "AUPassportNumber",
+ "AUTaxFileNumber",
+ "AUBusinessNumber",
+ "AUCompanyNumber",
+ "ATIdentityCard",
+ "ATTaxIdentificationNumber",
+ "ATValueAddedTaxNumber",
+ "AzureDocumentDBAuthKey",
+ "AzureIAASDatabaseConnectionAndSQLString",
+ "AzureIoTConnectionString",
+ "AzurePublishSettingPassword",
+ "AzureRedisCacheString",
+ "AzureSAS",
+ "AzureServiceBusString",
+ "AzureStorageAccountKey",
+ "AzureStorageAccountGeneric",
+ "BENationalNumber",
+ "BENationalNumberV2",
+ "BEValueAddedTaxNumber",
+ "BRCPFNumber",
+ "BRLegalEntityNumber",
+ "BRNationalIDRG",
+ "BGUniformCivilNumber",
+ "CABankAccountNumber",
+ "CADriversLicenseNumber",
+ "CAHealthServiceNumber",
+ "CAPassportNumber",
+ "CAPersonalHealthIdentification",
+ "CASocialInsuranceNumber",
+ "CLIdentityCardNumber",
+ "CNResidentIdentityCardNumber",
+ "CreditCardNumber",
+ "HRIdentityCardNumber",
+ "HRNationalIDNumber",
+ "HRPersonalIdentificationNumber",
+ "HRPersonalIdentificationOIBNumberV2",
+ "CYIdentityCard",
+ "CYTaxIdentificationNumber",
+ "CZPersonalIdentityNumber",
+ "CZPersonalIdentityV2",
+ "DKPersonalIdentificationNumber",
+ "DKPersonalIdentificationV2",
+ "DrugEnforcementAgencyNumber",
+ "EEPersonalIdentificationCode",
+ "EUDebitCardNumber",
+ "EUDriversLicenseNumber",
+ "EUGPSCoordinates",
+ "EUNationalIdentificationNumber",
+ "EUPassportNumber",
+ "EUSocialSecurityNumber",
+ "EUTaxIdentificationNumber",
+ "FIEuropeanHealthNumber",
+ "FINationalID",
+ "FINationalIDV2",
+ "FIPassportNumber",
+ "FRDriversLicenseNumber",
+ "FRHealthInsuranceNumber",
+ "FRNationalID",
+ "FRPassportNumber",
+ "FRSocialSecurityNumber",
+ "FRTaxIdentificationNumber",
+ "FRValueAddedTaxNumber",
+ "DEDriversLicenseNumber",
+ "DEPassportNumber",
+ "DEIdentityCardNumber",
+ "DETaxIdentificationNumber",
+ "DEValueAddedNumber",
+ "GRNationalIDCard",
+ "GRNationalIDV2",
+ "GRTaxIdentificationNumber",
+ "HKIdentityCardNumber",
+ "HUValueAddedNumber",
+ "HUPersonalIdentificationNumber",
+ "HUTaxIdentificationNumber",
+ "INPermanentAccount",
+ "INUniqueIdentificationNumber",
+ "IDIdentityCardNumber",
+ "InternationalBankingAccountNumber",
+ "IEPersonalPublicServiceNumber",
+ "IEPersonalPublicServiceNumberV2",
+ "ILBankAccountNumber",
+ "ILNationalID",
+ "ITDriversLicenseNumber",
+ "ITFiscalCode",
+ "ITValueAddedTaxNumber",
+ "JPBankAccountNumber",
+ "JPDriversLicenseNumber",
+ "JPPassportNumber",
+ "JPResidentRegistrationNumber",
+ "JPSocialInsuranceNumber",
+ "JPMyNumberCorporate",
+ "JPMyNumberPersonal",
+ "JPResidenceCardNumber",
+ "LVPersonalCode",
+ "LTPersonalCode",
+ "LUNationalIdentificationNumberNatural",
+ "LUNationalIdentificationNumberNonNatural",
+ "MYIdentityCardNumber",
+ "MTIdentityCardNumber",
+ "MTTaxIDNumber",
+ "NLCitizensServiceNumber",
+ "NLCitizensServiceNumberV2",
+ "NLTaxIdentificationNumber",
+ "NLValueAddedTaxNumber",
+ "NZBankAccountNumber",
+ "NZDriversLicenseNumber",
+ "NZInlandRevenueNumber",
+ "NZMinistryOfHealthNumber",
+ "NZSocialWelfareNumber",
+ "NOIdentityNumber",
+ "PHUnifiedMultiPurposeIDNumber",
+ "PLIdentityCard",
+ "PLNationalID",
+ "PLNationalIDV2",
+ "PLPassportNumber",
+ "PLTaxIdentificationNumber",
+ "PLREGONNumber",
+ "PTCitizenCardNumber",
+ "PTCitizenCardNumberV2",
+ "PTTaxIdentificationNumber",
+ "ROPersonalNumericalCode",
+ "RUPassportNumberDomestic",
+ "RUPassportNumberInternational",
+ "SANationalID",
+ "SGNationalRegistrationIdentityCardNumber",
+ "SKPersonalNumber",
+ "SITaxIdentificationNumber",
+ "SIUniqueMasterCitizenNumber",
+ "ZAIdentificationNumber",
+ "KRResidentRegistrationNumber",
+ "ESDNI",
+ "ESSocialSecurityNumber",
+ "ESTaxIdentificationNumber",
+ "SQLServerConnectionString",
+ "SENationalID",
+ "SENationalIDV2",
+ "SEPassportNumber",
+ "SETaxIdentificationNumber",
+ "SWIFTCode",
+ "CHSocialSecurityNumber",
+ "TWNationalID",
+ "TWPassportNumber",
+ "TWResidentCertificate",
+ "THPopulationIdentificationCode",
+ "TRNationalIdentificationNumber",
+ "UKDriversLicenseNumber",
+ "UKElectoralRollNumber",
+ "UKNationalHealthNumber",
+ "UKNationalInsuranceNumber",
+ "UKUniqueTaxpayerNumber",
+ "USUKPassportNumber",
+ "USBankAccountNumber",
+ "USDriversLicenseNumber",
+ "USIndividualTaxpayerIdentification",
+ "USSocialSecurityNumber",
+ "UAPassportNumberDomestic",
+ "UAPassportNumberInternational",
+ "Organization",
+ "Email",
+ "URL",
+ "Age",
+ "PhoneNumber",
+ "IPAddress",
+ "Date",
+ "Person",
+ "Address",
+ "All",
+ "Default"
+ ]
+ },
+ "name": "piiCategories",
+ "required": false,
+ "type": "array",
+ "uniqueItems": true,
+ "x-ms-parameter-location": "method"
+ },
+ "JobId": {
+ "description": "Job ID",
+ "format": "uuid",
+ "in": "path",
+ "name": "jobId",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AnalyzeJobId": {
+ "description": "Job ID for Analyze",
+ "in": "path",
+ "name": "jobId",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ShowStats": {
+ "name": "showStats",
+ "in": "query",
+ "description": "(Optional) if set to true, response will contain request and document level statistics.",
+ "type": "boolean",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "LoggingOptOut": {
+ "name": "loggingOptOut",
+ "in": "query",
+ "description": "(Optional) If set to true, you opt-out of having your text input logged for troubleshooting. By default, Text Analytics logs your input text for 48 hours, solely to allow for troubleshooting issues in providing you with the Text Analytics natural language processing functions. Setting this parameter to true, disables input logging and may limit our ability to remediate issues that occur. Please see Cognitive Services Compliance and Privacy notes at https://aka.ms/cs-compliance for additional details, and Microsoft Responsible AI principles at https://www.microsoft.com/en-us/ai/responsible-ai.",
+ "type": "boolean",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "ModelVersion": {
+ "name": "model-version",
+ "in": "query",
+ "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ",
+ "type": "string",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "MultiLanguageInput": {
+ "in": "body",
+ "name": "input",
+ "description": "Collection of documents to analyze.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MultiLanguageBatchInput"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "LanguageInput": {
+ "in": "body",
+ "name": "input",
+ "description": "Collection of documents to analyze for language endpoint.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LanguageBatchInput"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulAnalyzeRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulAnalyzeRequest.json
new file mode 100644
index 000000000000..0e27c771f244
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulAnalyzeRequest.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.2",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}",
+ "input": {
+ "displayName": "Extracting Location & US Region",
+ "analysisInput": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "I had a wonderful trip to Seattle last week."
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "I'm flying to NYC tomorrow. See you there."
+ }
+ ]
+ },
+ "tasks": {
+ "entityRecognitionTasks": [
+ {
+ "parameters": {
+ "model-version": "latest"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/text/analytics/v3.2-preview.2/analyze/jobs/{jobId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulAnalyzeStatusRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulAnalyzeStatusRequest.json
new file mode 100644
index 000000000000..12650b876e60
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulAnalyzeStatusRequest.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.2",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "createdDateTime": "2020-10-01T15:00:45Z",
+ "displayName": "Extracting Location & US Region",
+ "expirationDateTime": "2020-10-03T15:01:03Z",
+ "jobId": "c0f2a446-05d9-48fc-ba8f-3ef4af8d0b18",
+ "lastUpdateDateTime": "2020-10-01T15:01:03Z",
+ "status": "succeeded",
+ "tasks": {
+ "completed": 2,
+ "failed": 0,
+ "inProgress": 0,
+ "total": 2,
+ "entityRecognitionTasks": [
+ {
+ "taskName": "Recognize Entities (2020-04-01)",
+ "lastUpdateDateTime": "2020-10-01T15:01:03Z",
+ "status": "succeeded",
+ "results": {
+ "documents": [
+ {
+ "entities": [
+ {
+ "category": "Event",
+ "confidenceScore": 0.61,
+ "length": 4,
+ "offset": 18,
+ "text": "trip"
+ },
+ {
+ "category": "Location",
+ "confidenceScore": 0.82,
+ "length": 7,
+ "offset": 26,
+ "subcategory": "GPE",
+ "text": "Seattle"
+ },
+ {
+ "category": "DateTime",
+ "confidenceScore": 0.8,
+ "length": 9,
+ "offset": 34,
+ "subcategory": "DateRange",
+ "text": "last week"
+ }
+ ],
+ "id": "1",
+ "warnings": []
+ },
+ {
+ "entities": [
+ {
+ "category": "Location",
+ "confidenceScore": 0.52,
+ "length": 3,
+ "offset": 14,
+ "subcategory": "GPE",
+ "text": "NYC"
+ },
+ {
+ "category": "DateTime",
+ "confidenceScore": 0.8,
+ "length": 8,
+ "offset": 18,
+ "subcategory": "Date",
+ "text": "tomorrow"
+ }
+ ],
+ "id": "2",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-04-01"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulEntitiesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulEntitiesRequest.json
new file mode 100644
index 000000000000..0411014e8ca1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulEntitiesRequest.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.2",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Microsoft was founded by Bill Gates and Paul Allen."
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "Pike place market is my favorite Seattle attraction."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "entities": [
+ {
+ "category": "Organization",
+ "confidenceScore": 0.84,
+ "length": 9,
+ "offset": 0,
+ "text": "Microsoft"
+ },
+ {
+ "category": "Person",
+ "confidenceScore": 0.85,
+ "length": 10,
+ "offset": 25,
+ "text": "Bill Gates"
+ },
+ {
+ "category": "Person",
+ "confidenceScore": 0.9,
+ "length": 10,
+ "offset": 40,
+ "text": "Paul Allen"
+ }
+ ],
+ "id": "1",
+ "warnings": []
+ },
+ {
+ "entities": [
+ {
+ "category": "Location",
+ "confidenceScore": 0.55,
+ "length": 7,
+ "offset": 33,
+ "subcategory": "GPE",
+ "text": "Seattle"
+ }
+ ],
+ "id": "2",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulEntityLinkingRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulEntityLinkingRequest.json
new file mode 100644
index 000000000000..0cdc8583aaa7
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulEntityLinkingRequest.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.2",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Microsoft was founded by Bill Gates and Paul Allen."
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "Pike place market is my favorite Seattle attraction."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "entities": [
+ {
+ "dataSource": "Wikipedia",
+ "id": "Bill Gates",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.52,
+ "length": 10,
+ "offset": 25,
+ "text": "Bill Gates"
+ }
+ ],
+ "name": "Bill Gates",
+ "url": "https://en.wikipedia.org/wiki/Bill_Gates"
+ },
+ {
+ "dataSource": "Wikipedia",
+ "id": "Paul Allen",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.54,
+ "length": 10,
+ "offset": 40,
+ "text": "Paul Allen"
+ }
+ ],
+ "name": "Paul Allen",
+ "url": "https://en.wikipedia.org/wiki/Paul_Allen"
+ },
+ {
+ "dataSource": "Wikipedia",
+ "id": "Microsoft",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.49,
+ "length": 9,
+ "offset": 0,
+ "text": "Microsoft"
+ }
+ ],
+ "name": "Microsoft",
+ "url": "https://en.wikipedia.org/wiki/Microsoft"
+ }
+ ],
+ "id": "1",
+ "warnings": []
+ },
+ {
+ "entities": [
+ {
+ "dataSource": "Wikipedia",
+ "id": "Pike Place Market",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.86,
+ "length": 17,
+ "offset": 0,
+ "text": "Pike place market"
+ }
+ ],
+ "name": "Pike Place Market",
+ "url": "https://en.wikipedia.org/wiki/Pike_Place_Market"
+ },
+ {
+ "dataSource": "Wikipedia",
+ "id": "Seattle",
+ "language": "en",
+ "matches": [
+ {
+ "confidenceScore": 0.27,
+ "length": 7,
+ "offset": 33,
+ "text": "Seattle"
+ }
+ ],
+ "name": "Seattle",
+ "url": "https://en.wikipedia.org/wiki/Seattle"
+ }
+ ],
+ "id": "2",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-02-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulEntityPIIRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulEntityPIIRequest.json
new file mode 100644
index 000000000000..a0f057d9a862
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulEntityPIIRequest.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.2",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "My SSN is 859-98-0987"
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "Your ABA number - 111000025 - is the first 9 digits in the lower left hand corner of your personal check."
+ },
+ {
+ "id": "3",
+ "language": "en",
+ "text": "Is 998.214.865-68 your Brazilian CPF number?"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "redactedText": "My SSN is ***********",
+ "entities": [
+ {
+ "category": "U.S. Social Security Number (SSN)",
+ "confidenceScore": 0.65,
+ "length": 11,
+ "offset": 28,
+ "text": "859-98-0987"
+ }
+ ],
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "redactedText": "Your ABA number - ********* - is the first 9 digits in the lower left hand corner of your personal check.",
+ "entities": [
+ {
+ "category": "ABA Routing Number",
+ "confidenceScore": 0.75,
+ "length": 9,
+ "offset": 18,
+ "text": "111000025"
+ }
+ ],
+ "warnings": []
+ },
+ {
+ "id": "3",
+ "redactedText": "Is ************** your Brazilian CPF number?",
+ "entities": [
+ {
+ "category": "Brazil CPF Number",
+ "confidenceScore": 0.85,
+ "length": 14,
+ "offset": 3,
+ "text": "998.214.865-68"
+ }
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulHealthDeleteRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulHealthDeleteRequest.json
new file mode 100644
index 000000000000..1d2e2d1db2df
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulHealthDeleteRequest.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.2",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/text/analytics/v3.2-preview.2/entities/healthcare/jobs/{jobId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulHealthRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulHealthRequest.json
new file mode 100644
index 000000000000..a63a59eab294
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulHealthRequest.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.2",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Subject is taking 100mg of ibuprofen twice daily."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/text/analytics/v3.2-preview.2/entities/healthcare/jobs/{jobId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulHealthStatusRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulHealthStatusRequest.json
new file mode 100644
index 000000000000..343b2b5b45a7
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulHealthStatusRequest.json
@@ -0,0 +1,206 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.2",
+ "Endpoint": "{Endpoint}",
+ "jobId": "{Job ID}"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "createdDateTime": "2020-10-01T15:01:03Z",
+ "expirationDateTime": "2020-10-03T15:01:03Z",
+ "jobId": "c0f2a446-05d9-48fc-ba8f-3ef4af8d0b18",
+ "lastUpdateDateTime": "2020-10-01T15:01:03Z",
+ "status": "succeeded",
+ "results": {
+ "documents": [
+ {
+ "id": "1",
+ "entities": [
+ {
+ "offset": 18,
+ "length": 5,
+ "text": "100mg",
+ "category": "DOSAGE",
+ "confidenceScore": 0.99
+ },
+ {
+ "offset": 27,
+ "length": 9,
+ "text": "ibuprofen",
+ "category": "MEDICATION_NAME",
+ "confidenceScore": 1.0,
+ "assertion": {
+ "certainty": "positive"
+ },
+ "links": [
+ {
+ "id": "C0020740",
+ "dataSource": "UMLS"
+ },
+ {
+ "id": "0000019879",
+ "dataSource": "AOD"
+ },
+ {
+ "id": "M01AE01",
+ "dataSource": "ATC"
+ },
+ {
+ "id": "0046165",
+ "dataSource": "CCPSS"
+ },
+ {
+ "id": "0000006519",
+ "dataSource": "CHV"
+ },
+ {
+ "id": "2270-2077",
+ "dataSource": "CSP"
+ },
+ {
+ "id": "DB01050",
+ "dataSource": "DRUGBANK"
+ },
+ {
+ "id": "1611",
+ "dataSource": "GS"
+ },
+ {
+ "id": "sh97005926",
+ "dataSource": "LCH_NW"
+ },
+ {
+ "id": "LP16165-0",
+ "dataSource": "LNC"
+ },
+ {
+ "id": "40458",
+ "dataSource": "MEDCIN"
+ },
+ {
+ "id": "d00015",
+ "dataSource": "MMSL"
+ },
+ {
+ "id": "D007052",
+ "dataSource": "MSH"
+ },
+ {
+ "id": "WK2XYI10QM",
+ "dataSource": "MTHSPL"
+ },
+ {
+ "id": "C561",
+ "dataSource": "NCI"
+ },
+ {
+ "id": "C561",
+ "dataSource": "NCI_CTRP"
+ },
+ {
+ "id": "00803",
+ "dataSource": "NCI_DCP"
+ },
+ {
+ "id": "NSC0256857",
+ "dataSource": "NCI_DTP"
+ },
+ {
+ "id": "WK2XYI10QM",
+ "dataSource": "NCI_FDA"
+ },
+ {
+ "id": "CDR0000613511",
+ "dataSource": "NCI_NCI-GLOSS"
+ },
+ {
+ "id": "002377",
+ "dataSource": "NDDF"
+ },
+ {
+ "id": "CDR0000040475",
+ "dataSource": "PDQ"
+ },
+ {
+ "id": "x02MO",
+ "dataSource": "RCD"
+ },
+ {
+ "id": "5640",
+ "dataSource": "RXNORM"
+ },
+ {
+ "id": "E-7772",
+ "dataSource": "SNM"
+ },
+ {
+ "id": "C-603C0",
+ "dataSource": "SNMI"
+ },
+ {
+ "id": "387207008",
+ "dataSource": "SNOMEDCT_US"
+ },
+ {
+ "id": "m39860",
+ "dataSource": "USP"
+ },
+ {
+ "id": "MTHU000060",
+ "dataSource": "USPMG"
+ },
+ {
+ "id": "4017840",
+ "dataSource": "VANDF"
+ }
+ ]
+ },
+ {
+ "offset": 37,
+ "length": 11,
+ "text": "twice daily",
+ "category": "FREQUENCY",
+ "confidenceScore": 1
+ }
+ ],
+ "relations": [
+ {
+ "relationType": "DosageOfMedication",
+ "entities": [
+ {
+ "ref": "#/documents/0/entities/0",
+ "role": "Attribute"
+ },
+ {
+ "ref": "#/documents/0/entities/1",
+ "role": "Entity"
+ }
+ ]
+ },
+ {
+ "relationType": "FrequencyOfMedication",
+ "entities": [
+ {
+ "ref": "#/documents/0/entities/2",
+ "role": "Attribute"
+ },
+ {
+ "ref": "#/documents/0/entities/1",
+ "role": "Entity"
+ }
+ ]
+ }
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-05-08"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulKeyPhrasesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulKeyPhrasesRequest.json
new file mode 100644
index 000000000000..7459fdea7a3b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulKeyPhrasesRequest.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.2",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Microsoft was founded by Bill Gates and Paul Allen."
+ },
+ {
+ "id": "2",
+ "language": "en",
+ "text": "Text Analytics is one of the Azure Cognitive Services."
+ },
+ {
+ "id": "3",
+ "language": "en",
+ "text": "My cat might need to see a veterinarian."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "keyPhrases": [
+ "Bill Gates",
+ "Paul Allen",
+ "Microsoft"
+ ],
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "keyPhrases": [
+ "Azure Cognitive Services",
+ "Text Analytics"
+ ],
+ "warnings": []
+ },
+ {
+ "id": "3",
+ "keyPhrases": [
+ "cat",
+ "veterinarian"
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulLanguagesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulLanguagesRequest.json
new file mode 100644
index 000000000000..e5af200192be
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulLanguagesRequest.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.2",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "text": "Hello world"
+ },
+ {
+ "id": "2",
+ "text": "Bonjour tout le monde"
+ },
+ {
+ "id": "3",
+ "text": "Hola mundo"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "detectedLanguage": {
+ "confidenceScore": 1,
+ "iso6391Name": "en",
+ "name": "English"
+ },
+ "id": "1",
+ "warnings": []
+ },
+ {
+ "detectedLanguage": {
+ "confidenceScore": 1,
+ "iso6391Name": "fr",
+ "name": "French"
+ },
+ "id": "2",
+ "warnings": []
+ },
+ {
+ "detectedLanguage": {
+ "confidenceScore": 1,
+ "iso6391Name": "es",
+ "name": "Spanish"
+ },
+ "id": "3",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulSentimentRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulSentimentRequest.json
new file mode 100644
index 000000000000..04ea896c843b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.2-preview.2/examples/SuccessfulSentimentRequest.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "ApiVersion": "v3.2-preview.2",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "id": "1",
+ "language": "en",
+ "text": "Great atmosphere. Close to plenty of restaurants, hotels, and transit! Staff are friendly and helpful."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "confidenceScores": {
+ "negative": 0,
+ "neutral": 0,
+ "positive": 1
+ },
+ "id": "1",
+ "sentences": [
+ {
+ "targets": [
+ {
+ "confidenceScores": {
+ "negative": 0,
+ "positive": 1
+ },
+ "length": 10,
+ "offset": 6,
+ "relations": [
+ {
+ "ref": "#/documents/0/sentences/0/assessments/0",
+ "relationType": "assessment"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "atmosphere"
+ }
+ ],
+ "confidenceScores": {
+ "negative": 0,
+ "neutral": 0,
+ "positive": 1
+ },
+ "length": 17,
+ "offset": 0,
+ "assessments": [
+ {
+ "confidenceScores": {
+ "negative": 0,
+ "positive": 1
+ },
+ "isNegated": false,
+ "length": 5,
+ "offset": 0,
+ "sentiment": "positive",
+ "text": "great"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "Great atmosphere."
+ },
+ {
+ "targets": [
+ {
+ "confidenceScores": {
+ "negative": 0.01,
+ "positive": 0.99
+ },
+ "length": 11,
+ "offset": 37,
+ "relations": [
+ {
+ "ref": "#/documents/0/sentences/1/assessments/0",
+ "relationType": "assessment"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "restaurants"
+ },
+ {
+ "confidenceScores": {
+ "negative": 0.01,
+ "positive": 0.99
+ },
+ "length": 6,
+ "offset": 50,
+ "relations": [
+ {
+ "ref": "#/documents/0/sentences/1/assessments/0",
+ "relationType": "assessment"
+ }
+ ],
+ "sentiment": "positive",
+ "text": "hotels"
+ }
+ ],
+ "confidenceScores": {
+ "negative": 0.01,
+ "neutral": 0.86,
+ "positive": 0.13
+ },
+ "length": 52,
+ "offset": 18,
+ "assessments": [
+ {
+ "confidenceScores": {
+ "negative": 0.01,
+ "positive": 0.99
+ },
+ "isNegated": false,
+ "length": 15,
+ "offset": 18,
+ "sentiment": "positive",
+ "text": "Close to plenty"
+ }
+ ],
+ "sentiment": "neutral",
+ "text": "Close to plenty of restaurants, hotels, and transit!"
+ }
+ ],
+ "sentiment": "positive",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
index 7539842e2c81..cfd9ac31ead0 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
@@ -132,6 +132,14 @@ These settings apply only when `--tag=release_3_2_preview.1` is specified on the
input-file: preview/v3.2-preview.1/TextAnalytics.json
```
+### Release 3.2-preview.2
+
+These settings apply only when `--tag=release_3_2_preview.2` is specified on the command line.
+
+``` yaml $(tag) == 'release_3_2_preview.2'
+input-file: preview/v3.2-preview.2/TextAnalytics.json
+```
+
## Swagger to SDK
This section describes what SDK should be generated by the automatic system.
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/cognitiveservices.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/cognitiveservices.json
new file mode 100644
index 000000000000..dcba455ca6cf
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/cognitiveservices.json
@@ -0,0 +1,2938 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "CognitiveServicesManagementClient",
+ "description": "Cognitive Services Management Client",
+ "version": "2021-10-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.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/locations/{location}/commitmentTiers": {
+ "get": {
+ "tags": [
+ "CommitmentTiers"
+ ],
+ "operationId": "CommitmentTiers_List",
+ "description": "List Commitment Tiers.",
+ "x-ms-examples": {
+ "ListCommitmentTiers": {
+ "$ref": "./examples/ListCommitmentTiers.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"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/CommitmentTierListResult"
+ }
+ },
+ "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/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"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments": {
+ "get": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_List",
+ "description": "Gets the deployments associated with the Cognitive Services account.",
+ "x-ms-examples": {
+ "ListDeployments": {
+ "$ref": "./examples/ListDeployments.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 deployments.",
+ "schema": {
+ "$ref": "#/definitions/DeploymentListResult"
+ }
+ },
+ "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}/deployments/{deploymentName}": {
+ "get": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_Get",
+ "description": "Gets the specified deployments associated with the Cognitive Services account.",
+ "x-ms-examples": {
+ "GetDeployment": {
+ "$ref": "./examples/GetDeployment.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/deploymentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Get the deployments properties successfully.",
+ "schema": {
+ "$ref": "#/definitions/Deployment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_CreateOrUpdate",
+ "description": "Update the state of specified deployments associated with the Cognitive Services account.",
+ "x-ms-examples": {
+ "PutDeployment": {
+ "$ref": "./examples/PutDeployment.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/deploymentNameParameter"
+ },
+ {
+ "name": "deployment",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Deployment"
+ },
+ "description": "The deployment properties."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Create/Update the deployment successfully.",
+ "schema": {
+ "$ref": "#/definitions/Deployment"
+ }
+ },
+ "201": {
+ "description": "Create the deployment successfully.",
+ "schema": {
+ "$ref": "#/definitions/Deployment"
+ }
+ },
+ "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": [
+ "Deployments"
+ ],
+ "operationId": "Deployments_Delete",
+ "description": "Deletes the specified deployment associated with the Cognitive Services account.",
+ "x-ms-examples": {
+ "DeleteDeployment": {
+ "$ref": "./examples/DeleteDeployment.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/deploymentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Delete the deployment successfully."
+ },
+ "202": {
+ "description": "Accepted -- the operation was successfully started and will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content -- The deployment 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}/commitmentPlans": {
+ "get": {
+ "tags": [
+ "CommitmentPlans"
+ ],
+ "operationId": "CommitmentPlans_List",
+ "description": "Gets the commitmentPlans associated with the Cognitive Services account.",
+ "x-ms-examples": {
+ "ListCommitmentPlans": {
+ "$ref": "./examples/ListCommitmentPlans.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 commitmentPlans.",
+ "schema": {
+ "$ref": "#/definitions/CommitmentPlanListResult"
+ }
+ },
+ "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}/commitmentPlans/{commitmentPlanName}": {
+ "get": {
+ "tags": [
+ "CommitmentPlans"
+ ],
+ "operationId": "CommitmentPlans_Get",
+ "description": "Gets the specified commitmentPlans associated with the Cognitive Services account.",
+ "x-ms-examples": {
+ "GetCommitmentPlan": {
+ "$ref": "./examples/GetCommitmentPlan.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/commitmentPlanNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Get the commitmentPlans properties successfully.",
+ "schema": {
+ "$ref": "#/definitions/CommitmentPlan"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "CommitmentPlans"
+ ],
+ "operationId": "CommitmentPlans_CreateOrUpdate",
+ "description": "Update the state of specified commitmentPlans associated with the Cognitive Services account.",
+ "x-ms-examples": {
+ "PutCommitmentPlan": {
+ "$ref": "./examples/PutCommitmentPlan.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/commitmentPlanNameParameter"
+ },
+ {
+ "name": "commitmentPlan",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CommitmentPlan"
+ },
+ "description": "The commitmentPlan properties."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Create/Update the CommitmentPlan successfully.",
+ "schema": {
+ "$ref": "#/definitions/CommitmentPlan"
+ }
+ },
+ "201": {
+ "description": "Create the CommitmentPlan successfully.",
+ "schema": {
+ "$ref": "#/definitions/CommitmentPlan"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "CommitmentPlans"
+ ],
+ "operationId": "CommitmentPlans_Delete",
+ "description": "Deletes the specified commitmentPlan associated with the Cognitive Services account.",
+ "x-ms-examples": {
+ "DeleteCommitmentPlan": {
+ "$ref": "./examples/DeleteCommitmentPlan.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/commitmentPlanNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Delete the commitmentPlan successfully."
+ },
+ "202": {
+ "description": "Accepted -- the operation was successfully started and will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content -- The commitmentPlan 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
+ }
+ }
+ },
+ "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."
+ },
+ "kind": {
+ "$ref": "#/definitions/Kind",
+ "description": "The Kind 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."
+ },
+ "kind": {
+ "$ref": "#/definitions/Kind",
+ "description": "The Kind 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."
+ },
+ "DeploymentListResult": {
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of Deployment.",
+ "type": "string"
+ },
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Deployment"
+ },
+ "description": "Gets the list of Cognitive Services accounts Deployment and their properties."
+ }
+ },
+ "description": "The list of cognitive services accounts operation response."
+ },
+ "Deployment": {
+ "description": "Cognitive Services account deployment.",
+ "type": "object",
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ },
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Etag."
+ },
+ "properties": {
+ "$ref": "#/definitions/DeploymentProperties",
+ "description": "Properties of Cognitive Services account deployment."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "DeploymentProperties": {
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets the status of the resource at the time the operation was called.",
+ "enum": [
+ "Accepted",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed",
+ "Succeeded"
+ ],
+ "x-ms-enum": {
+ "name": "DeploymentProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "model": {
+ "type": "object",
+ "$ref": "#/definitions/DeploymentModel"
+ },
+ "scaleSettings": {
+ "type": "object",
+ "$ref": "#/definitions/DeploymentScaleSettings"
+ }
+ },
+ "description": "Properties of Cognitive Services account deployment."
+ },
+ "DeploymentModel": {
+ "type": "object",
+ "properties": {
+ "format": {
+ "type": "string",
+ "description": "Deployment model format."
+ },
+ "name": {
+ "type": "string",
+ "description": "Deployment model name."
+ },
+ "version": {
+ "type": "string",
+ "description": "Deployment model version."
+ }
+ },
+ "description": "Properties of Cognitive Services account deployment model."
+ },
+ "DeploymentScaleSettings": {
+ "type": "object",
+ "properties": {
+ "scaleType": {
+ "type": "string",
+ "description": "Deployment scale type.",
+ "enum": [
+ "Manual"
+ ],
+ "x-ms-enum": {
+ "name": "DeploymentScaleType",
+ "modelAsString": true
+ }
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Deployment capacity."
+ }
+ },
+ "description": "Properties of Cognitive Services account deployment model."
+ },
+ "CommitmentTierListResult": {
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of CommitmentTier.",
+ "type": "string"
+ },
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommitmentTier"
+ },
+ "description": "Gets the list of Cognitive Services accounts CommitmentTier and their properties."
+ }
+ },
+ "description": "The list of cognitive services accounts operation response."
+ },
+ "CommitmentTier": {
+ "description": "Cognitive Services account commitment tier.",
+ "type": "object",
+ "properties": {
+ "kind": {
+ "$ref": "#/definitions/Kind",
+ "description": "The Kind of the resource."
+ },
+ "skuName": {
+ "type": "string",
+ "description": "The name of the SKU. Ex - P3. It is typically a letter+number code"
+ },
+ "hostingModel": {
+ "$ref": "#/definitions/HostingModel",
+ "description": "Account hosting model."
+ },
+ "planType": {
+ "type": "string",
+ "description": "Commitment plan type."
+ },
+ "tier": {
+ "type": "string",
+ "description": "Commitment period commitment tier."
+ },
+ "maxCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Commitment period commitment max count."
+ },
+ "quota": {
+ "type": "object",
+ "$ref": "#/definitions/CommitmentQuota"
+ },
+ "cost": {
+ "type": "object",
+ "$ref": "#/definitions/CommitmentCost"
+ }
+ }
+ },
+ "CommitmentQuota": {
+ "type": "object",
+ "properties": {
+ "quantity": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Commitment quota quantity."
+ },
+ "unit": {
+ "type": "string",
+ "description": "Commitment quota unit."
+ }
+ },
+ "description": "Cognitive Services account commitment quota."
+ },
+ "CommitmentCost": {
+ "type": "object",
+ "properties": {
+ "commitmentMeterId": {
+ "type": "string",
+ "description": "Commitment meter Id."
+ },
+ "overageMeterId": {
+ "type": "string",
+ "description": "Overage meter Id."
+ }
+ },
+ "description": "Cognitive Services account commitment cost."
+ },
+ "CommitmentPlanListResult": {
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of CommitmentPlan.",
+ "type": "string"
+ },
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommitmentPlan"
+ },
+ "description": "Gets the list of Cognitive Services accounts CommitmentPlan and their properties."
+ }
+ },
+ "description": "The list of cognitive services accounts operation response."
+ },
+ "CommitmentPlan": {
+ "description": "Cognitive Services account commitment plan.",
+ "type": "object",
+ "properties": {
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ },
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Etag."
+ },
+ "properties": {
+ "$ref": "#/definitions/CommitmentPlanProperties",
+ "description": "Properties of Cognitive Services account commitment plan."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "CommitmentPlanProperties": {
+ "type": "object",
+ "properties": {
+ "hostingModel": {
+ "$ref": "#/definitions/HostingModel",
+ "description": "Account hosting model."
+ },
+ "planType": {
+ "type": "string",
+ "description": "Commitment plan type."
+ },
+ "current": {
+ "type": "object",
+ "$ref": "#/definitions/CommitmentPeriod"
+ },
+ "autoRenew": {
+ "type": "boolean",
+ "description": "AutoRenew commitment plan."
+ },
+ "next": {
+ "type": "object",
+ "$ref": "#/definitions/CommitmentPeriod"
+ },
+ "last": {
+ "type": "object",
+ "$ref": "#/definitions/CommitmentPeriod",
+ "readOnly": true
+ }
+ },
+ "description": "Properties of Cognitive Services account commitment plan."
+ },
+ "HostingModel": {
+ "type": "string",
+ "description": "Account hosting model.",
+ "enum": [
+ "Web",
+ "ConnectedContainer",
+ "DisconnectedContainer"
+ ],
+ "x-ms-enum": {
+ "name": "HostingModel",
+ "modelAsString": true
+ }
+ },
+ "CommitmentPeriod": {
+ "type": "object",
+ "properties": {
+ "tier": {
+ "type": "string",
+ "description": "Commitment period commitment tier."
+ },
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Commitment period commitment count."
+ },
+ "quota": {
+ "type": "object",
+ "$ref": "#/definitions/CommitmentQuota",
+ "readOnly": true
+ },
+ "startDate": {
+ "type": "string",
+ "description": "Commitment period start date.",
+ "readOnly": true
+ },
+ "endDate": {
+ "type": "string",
+ "description": "Commitment period end date.",
+ "readOnly": true
+ }
+ },
+ "description": "Cognitive Services account commitment period."
+ }
+ },
+ "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"
+ },
+ "deploymentNameParameter": {
+ "name": "deploymentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the deployment associated with the Cognitive Services Account",
+ "x-ms-parameter-location": "method"
+ },
+ "commitmentPlanNameParameter": {
+ "name": "commitmentPlanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the commitmentPlan associated with the Cognitive Services Account",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CheckDomainAvailability.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CheckDomainAvailability.json
new file mode 100644
index 000000000000..1886b7e7f93c
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CheckDomainAvailability.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "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-10-01/examples/CheckSkuAvailability.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CheckSkuAvailability.json
new file mode 100644
index 000000000000..d8f46bb1a8c1
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CheckSkuAvailability.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "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-10-01/examples/CreateAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CreateAccount.json
new file mode 100644
index 000000000000..1d94fef196ef
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CreateAccount.json
@@ -0,0 +1,140 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "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-10-01/examples/CreateAccountMin.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CreateAccountMin.json
new file mode 100644
index 000000000000..e6a58e8a7614
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/CreateAccountMin.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "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-10-01/examples/DeleteAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeleteAccount.json
new file mode 100644
index 000000000000..10e00186cad9
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeleteAccount.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "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-10-01/examples/DeleteCommitmentPlan.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeleteCommitmentPlan.json
new file mode 100644
index 000000000000..894058cd1d1c
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeleteCommitmentPlan.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroupName",
+ "accountName": "accountName",
+ "commitmentPlanName": "commitmentPlanName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeleteDeployment.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeleteDeployment.json
new file mode 100644
index 000000000000..e4e940d31cc9
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeleteDeployment.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroupName",
+ "accountName": "accountName",
+ "deploymentName": "deploymentName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeletePrivateEndpointConnection.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..c4f8d00e2d95
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/DeletePrivateEndpointConnection.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res6977",
+ "accountName": "sto2527",
+ "privateEndpointConnectionName": "{privateEndpointConnectionName}",
+ "api-version": "2021-10-01",
+ "monitor": "true"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetAccount.json
new file mode 100644
index 000000000000..3fd685c7807a
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetAccount.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "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-10-01/examples/GetCommitmentPlan.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetCommitmentPlan.json
new file mode 100644
index 000000000000..9b6fa25083ec
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetCommitmentPlan.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroupName",
+ "accountName": "accountName",
+ "commitmentPlanName": "commitmentPlanName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/commitmentPlans/commitmentPlanName",
+ "name": "commitmentPlanName",
+ "type": "Microsoft.CognitiveServices/accounts/commitmentPlans",
+ "properties": {
+ "hostingModel": "Web",
+ "planType": "Speech2Text",
+ "autoRenew": true,
+ "current": {
+ "tier": "T1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetDeletedAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetDeletedAccount.json
new file mode 100644
index 000000000000..601f7df76b95
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetDeletedAccount.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "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-10-01/examples/GetDeployment.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetDeployment.json
new file mode 100644
index 000000000000..fe035dbbce92
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetDeployment.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroupName",
+ "accountName": "accountName",
+ "deploymentName": "deploymentName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/deployments/deploymentName",
+ "name": "deploymentName",
+ "type": "Microsoft.CognitiveServices/accounts/deployments",
+ "properties": {
+ "model": {
+ "format": "OpenAI",
+ "name": "ada",
+ "version": "1"
+ },
+ "scaleSettings": {
+ "scaleType": "Manual",
+ "capacity": 1
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetOperations.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetOperations.json
new file mode 100644
index 000000000000..db62aada7dfc
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetOperations.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01"
+ },
+ "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-10-01/examples/GetPrivateEndpointConnection.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetPrivateEndpointConnection.json
new file mode 100644
index 000000000000..bf6513674d67
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetPrivateEndpointConnection.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res6977",
+ "accountName": "sto2527",
+ "privateEndpointConnectionName": "{privateEndpointConnectionName}",
+ "api-version": "2021-10-01",
+ "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-10-01/examples/GetSkus.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetSkus.json
new file mode 100644
index 000000000000..931af469dbc2
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetSkus.json
@@ -0,0 +1,2164 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "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-10-01/examples/GetUsages.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetUsages.json
new file mode 100644
index 000000000000..21b1373e84b6
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/GetUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "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-10-01/examples/ListAccountsByResourceGroup.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListAccountsByResourceGroup.json
new file mode 100644
index 000000000000..ea5820bd6bd2
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListAccountsByResourceGroup.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "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-10-01/examples/ListAccountsBySubscription.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListAccountsBySubscription.json
new file mode 100644
index 000000000000..4f9c88678d37
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListAccountsBySubscription.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "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-10-01/examples/ListCommitmentPlans.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListCommitmentPlans.json
new file mode 100644
index 000000000000..fe0d9f780421
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListCommitmentPlans.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroupName",
+ "accountName": "accountName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/commitmentPlans/commitmentPlanName",
+ "name": "commitmentPlanName",
+ "type": "Microsoft.CognitiveServices/accounts/commitmentPlans",
+ "properties": {
+ "hostingModel": "Web",
+ "planType": "Speech2Text",
+ "autoRenew": true,
+ "current": {
+ "tier": "T1"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListCommitmentTiers.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListCommitmentTiers.json
new file mode 100644
index 000000000000..0ef1a0f02d87
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListCommitmentTiers.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroupName",
+ "location": "location"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "kind": "TextAnalytics",
+ "skuName": "S",
+ "hostingModel": "Web",
+ "planType": "TA",
+ "tier": "T1",
+ "quota": {
+ "quantity": 1000000,
+ "unit": "Transaction"
+ },
+ "cost": {}
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListDeployments.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListDeployments.json
new file mode 100644
index 000000000000..4777afb831a5
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListDeployments.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroupName",
+ "accountName": "accountName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/deployments/deploymentName",
+ "name": "deploymentName",
+ "type": "Microsoft.CognitiveServices/accounts/deployments",
+ "properties": {
+ "model": {
+ "format": "OpenAI",
+ "name": "ada",
+ "version": "1"
+ },
+ "scaleSettings": {
+ "scaleType": "Manual",
+ "capacity": 1
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListKeys.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListKeys.json
new file mode 100644
index 000000000000..3d3f604085ce
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "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-10-01/examples/ListPrivateEndpointConnections.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListPrivateEndpointConnections.json
new file mode 100644
index 000000000000..435d9e9844aa
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListPrivateEndpointConnections.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res6977",
+ "accountName": "sto2527",
+ "api-version": "2021-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.CognitiveServices/accounts/sto288/privateEndpointConnections/{privateEndpointConnectionName}",
+ "name": "{privateEndpointConnectionName}",
+ "type": "Microsoft.CognitiveServices/accounts/privateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/res7231/providers/Microsoft.Network/privateEndpoints/petest01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListPrivateLinkResources.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListPrivateLinkResources.json
new file mode 100644
index 000000000000..c9443f898590
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListPrivateLinkResources.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res6977",
+ "accountName": "sto2527",
+ "api-version": "2021-10-01"
+ },
+ "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-10-01/examples/ListSkus.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListSkus.json
new file mode 100644
index 000000000000..9e940274f547
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/ListSkus.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "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-10-01/examples/PurgeDeletedAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PurgeDeletedAccount.json
new file mode 100644
index 000000000000..d9f4dc6874be
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PurgeDeletedAccount.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "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-10-01/examples/PutCommitmentPlan.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PutCommitmentPlan.json
new file mode 100644
index 000000000000..d6f85afb2759
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PutCommitmentPlan.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroupName",
+ "accountName": "accountName",
+ "commitmentPlanName": "commitmentPlanName",
+ "commitmentPlan": {
+ "properties": {
+ "hostingModel": "Web",
+ "planType": "Speech2Text",
+ "autoRenew": true,
+ "current": {
+ "tier": "T1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/commitmentPlans/commitmentPlanName",
+ "name": "commitmentPlanName",
+ "type": "Microsoft.CognitiveServices/accounts/commitmentPlans",
+ "properties": {
+ "hostingModel": "Web",
+ "planType": "Speech2Text",
+ "autoRenew": true,
+ "current": {
+ "tier": "T1"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/commitmentPlans/commitmentPlanName",
+ "name": "commitmentPlanName",
+ "type": "Microsoft.CognitiveServices/accounts/commitmentPlans",
+ "properties": {
+ "hostingModel": "Web",
+ "planType": "Speech2Text",
+ "autoRenew": true,
+ "current": {
+ "tier": "T1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PutDeployment.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PutDeployment.json
new file mode 100644
index 000000000000..d30fb1b126e5
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PutDeployment.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subscriptionId",
+ "resourceGroupName": "resourceGroupName",
+ "accountName": "accountName",
+ "deploymentName": "deploymentName",
+ "deployment": {
+ "properties": {
+ "model": {
+ "format": "OpenAI",
+ "name": "ada",
+ "version": "1"
+ },
+ "scaleSettings": {
+ "scaleType": "Manual",
+ "capacity": 1
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/deployments/deploymentName",
+ "name": "deploymentName",
+ "type": "Microsoft.CognitiveServices/accounts/deployments",
+ "properties": {
+ "model": {
+ "format": "OpenAI",
+ "name": "ada",
+ "version": "1"
+ },
+ "scaleSettings": {
+ "scaleType": "Manual",
+ "capacity": 1
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/accountName/deployments/deploymentName",
+ "name": "deploymentName",
+ "type": "Microsoft.CognitiveServices/accounts/deployments",
+ "properties": {
+ "model": {
+ "format": "OpenAI",
+ "name": "ada",
+ "version": "1"
+ },
+ "scaleSettings": {
+ "scaleType": "Manual",
+ "capacity": 1
+ },
+ "provisioningState": "Accepted"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PutPrivateEndpointConnection.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PutPrivateEndpointConnection.json
new file mode 100644
index 000000000000..5f6c3d56d6f6
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/PutPrivateEndpointConnection.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res7687",
+ "accountName": "sto9699",
+ "privateEndpointConnectionName": "{privateEndpointConnectionName}",
+ "api-version": "2021-10-01",
+ "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-10-01/examples/RegenerateKey.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/RegenerateKey.json
new file mode 100644
index 000000000000..6f3dc2f221ae
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/RegenerateKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "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-10-01/examples/UpdateAccount.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/UpdateAccount.json
new file mode 100644
index 000000000000..60e9dbba3825
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2021-10-01/examples/UpdateAccount.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "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.go.md b/specification/cognitiveservices/resource-manager/readme.go.md
index 4b6500b266ac..8a6d9ecc0f6e 100644
--- a/specification/cognitiveservices/resource-manager/readme.go.md
+++ b/specification/cognitiveservices/resource-manager/readme.go.md
@@ -2,22 +2,40 @@
These settings apply only when `--go` is specified on the command line.
-``` yaml $(go)
+``` yaml $(go) && !$(track2)
go:
license-header: MICROSOFT_MIT_NO_VERSION
namespace: cognitiveservices
clear-output-folder: true
```
+``` yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/resourcemanager/cognitiveservices/armcognitiveservices
+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-10
- tag: package-2021-04
- tag: package-2017-04
- tag: package-2016-02-preview
```
+### Tag: package-2021-10 and go
+
+These settings apply only when `--tag=package-2021-10 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-10' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-10-01/$(namespace)
+```
+
### Tag: package-2021-04 and go
These settings apply only when `--tag=package-2021-04 --go` is specified on the command line.
diff --git a/specification/cognitiveservices/resource-manager/readme.md b/specification/cognitiveservices/resource-manager/readme.md
index 846c047e0ed7..2ba2d446bbea 100644
--- a/specification/cognitiveservices/resource-manager/readme.md
+++ b/specification/cognitiveservices/resource-manager/readme.md
@@ -5,10 +5,13 @@
This is the AutoRest configuration file for CognitiveServices.
# Notice
+
Microsoft will use data you send to Bing Search Services or the Translator Speech API to improve Microsoft products and services. Where you send personal data to these Cognitive Services, you are responsible for obtaining sufficient consent from the data subjects. The General Privacy and Security Terms in the Online Services Terms do not apply to these Cognitive Services. Please refer to the Microsoft Cognitive Services section in the [Online Services Terms](https://www.microsoft.com/en-us/Licensing/product-licensing/products.aspx) for details. Microsoft offers policy controls that may be used to [disable new Cognitive Services deployments](https://docs.microsoft.com/en-us/azure/cognitive-services/cognitive-services-apis-create-account).
---
+
## Getting Started
+
To build the SDK for CognitiveServices, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -16,21 +19,29 @@ To build the SDK for CognitiveServices, simply [Install AutoRest](https://aka.ms
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
-
-
### Basic Information
+
These are the global settings for the CognitiveServices API.
``` yaml
openapi-type: arm
-tag: package-2021-04
+tag: package-2021-10
```
+### Tag: package-2021-10
+
+These settings apply only when `--tag=package-2021-10` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-10'
+input-file:
+ - Microsoft.CognitiveServices/stable/2021-10-01/cognitiveservices.json
+```
### Tag: package-2021-04
These settings apply only when `--tag=package-2021-04` is specified on the command line.
@@ -58,10 +69,9 @@ input-file:
- Microsoft.CognitiveServices/preview/2016-02-01-preview/cognitiveservices.json
```
-
---
-# Code Generation
+# Code Generation
## Swagger to SDK
@@ -74,6 +84,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-sdk-for-ruby
@@ -82,7 +93,6 @@ swagger-to-sdk:
- repo: azure-resource-manager-schemas
```
-
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -152,8 +162,3 @@ java:
regenerate-manager: true
generate-interface: true
```
-
-
-
-
-
diff --git a/specification/communication/data-plane/Identity/preview/2021-10-31-preview/CommunicationIdentity.json b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/CommunicationIdentity.json
new file mode 100644
index 000000000000..0c9b7f2904ac
--- /dev/null
+++ b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/CommunicationIdentity.json
@@ -0,0 +1,374 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "CommunicationIdentityClient",
+ "description": "Azure Communication Identity Service",
+ "version": "2021-10-31-preview"
+ },
+ "paths": {
+ "/identities": {
+ "post": {
+ "tags": [
+ "Identity"
+ ],
+ "summary": "Create a new identity, and optionally, an access token.",
+ "operationId": "CommunicationIdentity_Create",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "If specified, creates also a Communication Identity access token associated with the identity and containing the requested scopes.",
+ "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 Communication Identity access token with a matching expiration time.",
+ "operationId": "CommunicationIdentity_ExchangeTeamsUserAccessToken",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "AAD access token of a Teams user",
+ "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": "Requested 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": {
+ "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"
+ }
+ }
+ },
+ "CommunicationIdentityAccessTokenRequest": {
+ "required": [
+ "scopes"
+ ],
+ "type": "object",
+ "properties": {
+ "scopes": {
+ "description": "List of scopes attached to the token.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationIdentityTokenScope"
+ }
+ }
+ }
+ },
+ "CommunicationIdentityAccessTokenResult": {
+ "description": "A communication identity with access token.",
+ "required": [
+ "identity"
+ ],
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/CommunicationIdentity"
+ },
+ "accessToken": {
+ "$ref": "#/definitions/CommunicationIdentityAccessToken"
+ }
+ }
+ },
+ "CommunicationIdentityCreateRequest": {
+ "type": "object",
+ "properties": {
+ "createTokenWithScopes": {
+ "description": "Also create access token for the created identity.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationIdentityTokenScope"
+ }
+ }
+ }
+ },
+ "CommunicationIdentityTokenScope": {
+ "description": "List of scopes for an access token.",
+ "enum": [
+ "chat",
+ "voip"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "CommunicationIdentityTokenScope",
+ "modelAsString": true
+ }
+ },
+ "TeamsUserAccessTokenRequest": {
+ "required": [
+ "token"
+ ],
+ "type": "object",
+ "properties": {
+ "token": {
+ "description": "AAD access token of a Teams User to acquire a new Communication Identity access token.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "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-10-31-preview/examples/CreateIdentity.json b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/CreateIdentity.json
new file mode 100644
index 000000000000..913f65bc45b4
--- /dev/null
+++ b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/CreateIdentity.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-10-31-preview",
+ "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-10-31-preview/examples/DeleteIdentity.json b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/DeleteIdentity.json
new file mode 100644
index 000000000000..958d0a1b6e4f
--- /dev/null
+++ b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/DeleteIdentity.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-10-31-preview",
+ "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-10-31-preview/examples/ExchangeTeamsUserAccessToken.json b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/ExchangeTeamsUserAccessToken.json
new file mode 100644
index 000000000000..466de212b2d7
--- /dev/null
+++ b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/ExchangeTeamsUserAccessToken.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-10-31-preview",
+ "content-type": "application/json",
+ "body": {
+ "token": "AadAccessTokenOfATeamsUser"
+ },
+ "endpoint": "https://my-resource.communication.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "token": "CommunicationIdentityAccessToken",
+ "expiresOn": "2021-09-10T21:39:39.3244584+00:00"
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/IssueAccessToken.json b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/IssueAccessToken.json
new file mode 100644
index 000000000000..5fe327b43f5d
--- /dev/null
+++ b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/IssueAccessToken.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2021-10-31-preview",
+ "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-10-31-preview/examples/RevokeAccessTokens.json b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/RevokeAccessTokens.json
new file mode 100644
index 000000000000..958d0a1b6e4f
--- /dev/null
+++ b/specification/communication/data-plane/Identity/preview/2021-10-31-preview/examples/RevokeAccessTokens.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-10-31-preview",
+ "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.md b/specification/communication/data-plane/Identity/readme.md
index 753ada23c611..80cb05161647 100644
--- a/specification/communication/data-plane/Identity/readme.md
+++ b/specification/communication/data-plane/Identity/readme.md
@@ -24,17 +24,25 @@ For other options on installation see [Installing AutoRest](https://aka.ms/autor
These are the global settings for the communicationservices.
-```yaml
+``` yaml
openapi-type: data-plane
-tag: package-2020-07-20-preview1
+tag: package-preview-2021-10
```
+### Tag: package-preview-2021-10
+
+These settings apply only when `--tag=package-preview-2021-10` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2021-10'
+input-file:
+ - preview/2021-10-31-preview/CommunicationIdentity.json
+```
### 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'
+``` yaml $(tag) == 'package-2020-07-20-preview2'
input-file:
- preview/2020-07-20-preview2/CommunicationIdentity.json
```
@@ -43,7 +51,7 @@ input-file:
These settings apply only when `--tag=package-2021-03-07` is specified on the command line.
-```yaml $(tag) == 'package-2021-03-07'
+``` yaml $(tag) == 'package-2021-03-07'
input-file:
- stable/2021-03-07/CommunicationIdentity.json
title:
@@ -54,7 +62,7 @@ title:
These settings apply only when `--tag=package-2021-02-22-preview1` is specified on the command line.
-```yaml $(tag) == 'package-2021-02-22-preview1'
+``` yaml $(tag) == 'package-2021-02-22-preview1'
input-file:
- preview/2021-02-22-preview1/CommunicationIdentity.json
```
@@ -63,7 +71,7 @@ input-file:
These settings apply only when `--tag=package-2021-03-31-preview1` is specified on the command line.
-```yaml $(tag) == 'package-2021-03-31-preview1'
+``` yaml $(tag) == 'package-2021-03-31-preview1'
input-file:
- preview/2021-03-31-preview1/CommunicationIdentity.json
```
diff --git a/specification/communication/data-plane/NetworkTraversal/preview/2021-10-08-preview/CommunicationNetworkTraversal.json b/specification/communication/data-plane/NetworkTraversal/preview/2021-10-08-preview/CommunicationNetworkTraversal.json
new file mode 100644
index 000000000000..c512cd813beb
--- /dev/null
+++ b/specification/communication/data-plane/NetworkTraversal/preview/2021-10-08-preview/CommunicationNetworkTraversal.json
@@ -0,0 +1,172 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "CommunicationNetworkingClient",
+ "description": "Azure Communication Networking Service",
+ "version": "2021-10-08-preview"
+ },
+ "paths": {
+ "/networktraversal/:issueRelayConfiguration": {
+ "post": {
+ "tags": [
+ "Turn"
+ ],
+ "summary": "Issue a configuration for an STUN/TURN server for an existing identity.",
+ "operationId": "CommunicationNetworkTraversal_IssueRelayConfiguration",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "schema": {
+ "$ref": "#/definitions/CommunicationRelayConfigurationRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CommunicationRelayConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Issue Relay Configuration": {
+ "$ref": "./examples/IssueRelayConfiguration.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CommunicationRelayConfigurationRequest": {
+ "description": "Request for a CommunicationRelayConfiguration.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "An existing ACS identity.",
+ "type": "string"
+ },
+ "routeType": {
+ "$ref": "#/definitions/RouteType"
+ }
+ }
+ },
+ "CommunicationIceServer": {
+ "description": "An instance of a STUN/TURN server with credentials to be used for ICE negotiation.",
+ "required": [
+ "credential",
+ "urls",
+ "username",
+ "routeType"
+ ],
+ "type": "object",
+ "properties": {
+ "urls": {
+ "description": "List of STUN/TURN server URLs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "username": {
+ "description": "User account name which uniquely identifies the credentials.",
+ "type": "string"
+ },
+ "credential": {
+ "description": "Credential for the server.",
+ "type": "string"
+ },
+ "routeType": {
+ "$ref": "#/definitions/RouteType"
+ }
+ }
+ },
+ "CommunicationRelayConfiguration": {
+ "description": "A relay configuration containing the STUN/TURN URLs and credentials.",
+ "required": [
+ "expiresOn",
+ "iceServers"
+ ],
+ "type": "object",
+ "properties": {
+ "expiresOn": {
+ "format": "date-time",
+ "description": "The date for which the username and credentials are not longer valid.",
+ "type": "string"
+ },
+ "iceServers": {
+ "description": "An array representing the credentials and the STUN/TURN server URLs for use in ICE negotiations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CommunicationIceServer"
+ }
+ }
+ }
+ },
+ "RouteType": {
+ "description": "The routing methodology to where the ICE server will be located from the client.",
+ "enum": [
+ "any",
+ "nearest"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RouteType",
+ "modelAsString": true
+ }
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "in": "query",
+ "name": "api-version",
+ "description": "Version of API to invoke.",
+ "required": true,
+ "enum": [
+ "2021-10-08-preview"
+ ],
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "name": "endpoint",
+ "description": "The communication resource, for example https://my-resource.communication.azure.com",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "client"
+ }
+ ]
+ }
+}
diff --git a/specification/communication/data-plane/NetworkTraversal/preview/2021-10-08-preview/examples/IssueRelayConfiguration.json b/specification/communication/data-plane/NetworkTraversal/preview/2021-10-08-preview/examples/IssueRelayConfiguration.json
new file mode 100644
index 000000000000..0927f60852e7
--- /dev/null
+++ b/specification/communication/data-plane/NetworkTraversal/preview/2021-10-08-preview/examples/IssueRelayConfiguration.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-10-08-preview",
+ "content-type": "application/json",
+ "body": {
+ "id": "8:acs:2dee53b4-368b-45b4-ab52-8493fb117652_00000005-14a2-493b-8a72-5a3a0d000081"
+ },
+ "endpoint": "https://my-resource.communication.azure.com"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "expiresOn": "2021-11-10T21:39:39.3244584+00:00",
+ "iceServers": [
+ {
+ "urls": [
+ "turn:131.107.255.255:3478",
+ "stun:131.107.255.255:3478"
+ ],
+ "username": "AgAAJNOeygwB1uVGvuwAVMHV4PLhYDgY66Fg1dUZvQ4AAAAEhXrhc8uJFjOK8lxEsZk3KIpWxc0=",
+ "credential": "9rl8ablFWj6/aqSuPLgLykLZKqw=",
+ "routeType": "any"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/NetworkTraversal/readme.md b/specification/communication/data-plane/NetworkTraversal/readme.md
index de431910454a..d8e5e19406b2 100644
--- a/specification/communication/data-plane/NetworkTraversal/readme.md
+++ b/specification/communication/data-plane/NetworkTraversal/readme.md
@@ -49,6 +49,15 @@ input-file:
- preview/2021-06-21-preview/CommunicationNetworkTraversal.json
```
+### Tag: package-2021-10-08-preview
+
+These settings apply only when `--tag=package-2021-10-08-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-10-08-preview'
+input-file:
+ - preview/2021-10-08-preview/CommunicationNetworkTraversal.json
+```
+
---
# Code Generation
diff --git a/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/DeleteUSProgramBriefAsync.json b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/DeleteUSProgramBriefAsync.json
new file mode 100644
index 000000000000..487d72fe614e
--- /dev/null
+++ b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/DeleteUSProgramBriefAsync.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-10-25-preview",
+ "programBriefId": "146b433f-d774-40b9-9138-55d386208725",
+ "endpoint": "https://resourcename.region.dev.communications.azure.net/"
+ },
+ "responses": {
+ "204": {
+ "headers": {}
+ }
+ }
+}
diff --git a/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/GetShortCodesAsync.json b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/GetShortCodesAsync.json
new file mode 100644
index 000000000000..8a5ccbde53fc
--- /dev/null
+++ b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/GetShortCodesAsync.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-10-25-preview",
+ "endpoint": "https://resourcename.region.dev.communications.azure.net/"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "shortCodes": [
+ {
+ "number": "123456",
+ "numberType": "shortCode",
+ "countryCode": "US",
+ "programBriefIds": [
+ "146b433f-d774-40b9-9138-55d386208725"
+ ],
+ "purchaseDate": "2021-07-14T13:00:00+00:00"
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/GetUSProgramBriefAsync.json b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/GetUSProgramBriefAsync.json
new file mode 100644
index 000000000000..ae5aef7e39ad
--- /dev/null
+++ b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/GetUSProgramBriefAsync.json
@@ -0,0 +1,117 @@
+{
+ "parameters": {
+ "api-version": "2021-10-25-preview",
+ "programBriefId": "146b433f-d774-40b9-9138-55d386208725",
+ "endpoint": "https://resourcename.region.dev.communications.azure.net/"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "146b433f-d774-40b9-9138-55d386208725",
+ "status": "approved",
+ "number": "123456",
+ "reviewNotes": [
+ {
+ "message": "Program Brief is approved.",
+ "date": "2021-07-11T21:36:24.8898166+00:00"
+ }
+ ],
+ "costs": [
+ {
+ "amount": 1500.0,
+ "currencyCode": "USD",
+ "billingFrequency": "monthly"
+ },
+ {
+ "amount": 650.0,
+ "currencyCode": "USD",
+ "billingFrequency": "once"
+ }
+ ],
+ "submissionDate": "2021-07-11T21:36:24.8898166+00:00",
+ "statusUpdatedDate": "2021-08-10T21:36:24.8898162+00:00",
+ "programDetails": {
+ "isVanity": true,
+ "preferredVanityNumbers": [
+ "123456"
+ ],
+ "numberType": "shortCode",
+ "isPoliticalCampaign": false,
+ "name": "CONTOSO Shipping",
+ "description": "CONTOSO Shipping program that will send shipping notification messages",
+ "url": "https://www.contoso.com/shipping",
+ "signUpTypes": [
+ "sms",
+ "website"
+ ],
+ "signUpUrl": "https://www.contoso.com/shipping/callToAction.png",
+ "termsOfServiceUrl": "https://www.contoso.com/shipping/termsofservice",
+ "privacyPolicyUrl": "https://www.contoso.com/shipping/privacypolicy",
+ "expectedDateOfService": "2021-10-25T00:00:00+00:00"
+ },
+ "companyInformation": {
+ "name": "CONTOSO",
+ "url": "https://www.contoso.com",
+ "address": "CONTOSO Address",
+ "contactInformation": {
+ "name": "John Doe",
+ "phone": "+1123456789",
+ "email": "john.doe@contoso.com"
+ },
+ "customerCareInformation": {
+ "tollFreeNumber": "+1987654321",
+ "email": "customercare@contoso.com"
+ }
+ },
+ "messageDetails": {
+ "supportedProtocols": [
+ "sms"
+ ],
+ "recurrence": "transaction",
+ "helpMessage": "This is the HELP message test.",
+ "optOutMessage": "This is the STOP message test.",
+ "optInMessage": "CONTOSO Shipping - To confirm your subscription with us, please reply 'Y', and you will be added to our list.",
+ "optInReply": "JOIN",
+ "confirmationMessage": "CONTOSO Shipping - Welcome message to CONTOSO Shipping. Messaging & data rates may apply.For help, reply \"HELP\" or call/email customercare@contoso.comTo unsubscribe, reply \"STOP\". Visit our terms and conditions at https://www.contoso.com/shipping/termsofservice.",
+ "directionality": "twoWay",
+ "useCases": [
+ {
+ "contentCategory": "loyaltyProgramPointsPrizes",
+ "examples": [
+ {
+ "messages": [
+ {
+ "direction": "toUser",
+ "text": "Your password is 123 STOP/HELP"
+ }
+ ]
+ },
+ {
+ "messages": [
+ {
+ "direction": "toUser",
+ "text": "Want me to notify you when package in the way?"
+ },
+ {
+ "direction": "fromUser",
+ "text": "Y"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "trafficDetails": {
+ "totalMonthlyVolume": 10,
+ "monthlyAverageMessagesFromUser": 2,
+ "monthlyAverageMessagesToUser": 1,
+ "isSpiky": false,
+ "spikeDetails": "Higher traffic expected during holiday season and Black Friday.",
+ "estimatedRampUpTimeInDays": 10
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/GetUSProgramBriefsAsync.json b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/GetUSProgramBriefsAsync.json
new file mode 100644
index 000000000000..1c601aa1ba6d
--- /dev/null
+++ b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/GetUSProgramBriefsAsync.json
@@ -0,0 +1,121 @@
+{
+ "parameters": {
+ "api-version": "2021-10-25-preview",
+ "endpoint": "https://resourcename.region.dev.communications.azure.net/"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "programBriefs": [
+ {
+ "id": "146b433f-d774-40b9-9138-55d386208725",
+ "status": "approved",
+ "number": "123456",
+ "reviewNotes": [
+ {
+ "message": "Program Brief is approved.",
+ "date": "2021-07-11T21:36:24.8898166+00:00"
+ }
+ ],
+ "costs": [
+ {
+ "amount": 1500.0,
+ "currencyCode": "USD",
+ "billingFrequency": "monthly"
+ },
+ {
+ "amount": 650.0,
+ "currencyCode": "USD",
+ "billingFrequency": "once"
+ }
+ ],
+ "submissionDate": "2021-07-11T21:36:24.8898166+00:00",
+ "statusUpdatedDate": "2021-08-10T21:36:24.8898162+00:00",
+ "programDetails": {
+ "isVanity": true,
+ "preferredVanityNumbers": [
+ "123456"
+ ],
+ "numberType": "shortCode",
+ "isPoliticalCampaign": false,
+ "name": "CONTOSO Shipping",
+ "description": "CONTOSO Shipping program that will send shipping notification messages",
+ "url": "https://www.contoso.com/shipping",
+ "signUpTypes": [
+ "sms",
+ "website"
+ ],
+ "signUpUrl": "https://www.contoso.com/shipping/callToAction.png",
+ "termsOfServiceUrl": "https://www.contoso.com/shipping/termsofservice",
+ "privacyPolicyUrl": "https://www.contoso.com/shipping/privacypolicy",
+ "expectedDateOfService": "2021-10-25T00:00:00+00:00"
+ },
+ "companyInformation": {
+ "name": "CONTOSO",
+ "url": "https://www.contoso.com",
+ "address": "CONTOSO Address",
+ "contactInformation": {
+ "name": "John Doe",
+ "phone": "+1123456789",
+ "email": "john.doe@contoso.com"
+ },
+ "customerCareInformation": {
+ "tollFreeNumber": "+1987654321",
+ "email": "customercare@contoso.com"
+ }
+ },
+ "messageDetails": {
+ "supportedProtocols": [
+ "sms"
+ ],
+ "recurrence": "transaction",
+ "helpMessage": "This is the HELP message test.",
+ "optOutMessage": "This is the STOP message test.",
+ "optInMessage": "CONTOSO Shipping - To confirm your subscription with us, please reply 'Y', and you will be added to our list.",
+ "optInReply": "JOIN",
+ "confirmationMessage": "CONTOSO Shipping - Welcome message to CONTOSO Shipping. Messaging & data rates may apply.For help, reply \"HELP\" or call/email customercare@contoso.comTo unsubscribe, reply \"STOP\". Visit our terms and conditions at https://www.contoso.com/shipping/termsofservice.",
+ "directionality": "twoWay",
+ "useCases": [
+ {
+ "contentCategory": "loyaltyProgramPointsPrizes",
+ "examples": [
+ {
+ "messages": [
+ {
+ "direction": "toUser",
+ "text": "Your password is 123 STOP/HELP"
+ }
+ ]
+ },
+ {
+ "messages": [
+ {
+ "direction": "toUser",
+ "text": "Want me to notify you when package in the way?"
+ },
+ {
+ "direction": "fromUser",
+ "text": "Y"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "trafficDetails": {
+ "totalMonthlyVolume": 10,
+ "monthlyAverageMessagesFromUser": 2,
+ "monthlyAverageMessagesToUser": 1,
+ "isSpiky": false,
+ "spikeDetails": "Higher traffic expected during holiday season and Black Friday.",
+ "estimatedRampUpTimeInDays": 10
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/SubmitUSProgramBriefAsync.json b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/SubmitUSProgramBriefAsync.json
new file mode 100644
index 000000000000..dd19f85aee92
--- /dev/null
+++ b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/SubmitUSProgramBriefAsync.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "api-version": "2021-10-25-preview",
+ "programBriefId": "146b433f-d774-40b9-9138-55d386208725",
+ "endpoint": "https://resourcename.region.dev.communications.azure.net/"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "146b433f-d774-40b9-9138-55d386208725",
+ "status": "submitted",
+ "costs": [
+ {
+ "amount": 1500.0,
+ "currencyCode": "USD",
+ "billingFrequency": "monthly"
+ },
+ {
+ "amount": 650.0,
+ "currencyCode": "USD",
+ "billingFrequency": "once"
+ }
+ ],
+ "submissionDate": "2021-07-11T21:36:24.8898166+00:00",
+ "statusUpdatedDate": "2021-08-10T21:36:24.8898162+00:00",
+ "programDetails": {
+ "isVanity": true,
+ "preferredVanityNumbers": [
+ "123456"
+ ],
+ "numberType": "shortCode",
+ "isPoliticalCampaign": false,
+ "name": "CONTOSO Shipping",
+ "description": "CONTOSO Shipping program that will send shipping notification messages",
+ "url": "https://www.contoso.com/shipping",
+ "signUpTypes": [
+ "sms",
+ "website"
+ ],
+ "signUpUrl": "https://www.contoso.com/shipping/callToAction.png",
+ "termsOfServiceUrl": "https://www.contoso.com/shipping/termsofservice",
+ "privacyPolicyUrl": "https://www.contoso.com/shipping/privacypolicy",
+ "expectedDateOfService": "2021-10-25T00:00:00+00:00"
+ },
+ "companyInformation": {
+ "name": "CONTOSO",
+ "url": "https://www.contoso.com",
+ "address": "CONTOSO Address",
+ "contactInformation": {
+ "name": "John Doe",
+ "phone": "+1123456789",
+ "email": "john.doe@contoso.com"
+ },
+ "customerCareInformation": {
+ "tollFreeNumber": "+1987654321",
+ "email": "customercare@contoso.com"
+ }
+ },
+ "messageDetails": {
+ "supportedProtocols": [
+ "sms"
+ ],
+ "recurrence": "transaction",
+ "helpMessage": "This is the HELP message test.",
+ "optOutMessage": "This is the STOP message test.",
+ "optInMessage": "CONTOSO Shipping - To confirm your subscription with us, please reply 'Y', and you will be added to our list.",
+ "optInReply": "JOIN",
+ "confirmationMessage": "CONTOSO Shipping - Welcome message to CONTOSO Shipping. Messaging & data rates may apply.For help, reply \"HELP\" or call/email customercare@contoso.comTo unsubscribe, reply \"STOP\". Visit our terms and conditions at https://www.contoso.com/shipping/termsofservice.",
+ "directionality": "twoWay",
+ "useCases": [
+ {
+ "contentCategory": "loyaltyProgramPointsPrizes",
+ "examples": [
+ {
+ "messages": [
+ {
+ "direction": "toUser",
+ "text": "Your password is 123 STOP/HELP"
+ }
+ ]
+ },
+ {
+ "messages": [
+ {
+ "direction": "toUser",
+ "text": "Want me to notify you when package in the way?"
+ },
+ {
+ "direction": "fromUser",
+ "text": "Y"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "trafficDetails": {
+ "totalMonthlyVolume": 10,
+ "monthlyAverageMessagesFromUser": 2,
+ "monthlyAverageMessagesToUser": 1,
+ "isSpiky": false,
+ "spikeDetails": "Higher traffic expected during holiday season and Black Friday.",
+ "estimatedRampUpTimeInDays": 10
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/UpsertUSProgramBriefAsync.json b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/UpsertUSProgramBriefAsync.json
new file mode 100644
index 000000000000..93ba12d2ef4a
--- /dev/null
+++ b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/examples/UpsertUSProgramBriefAsync.json
@@ -0,0 +1,294 @@
+{
+ "parameters": {
+ "api-version": "2021-10-25-preview",
+ "programBriefId": "146b433f-d774-40b9-9138-55d386208725",
+ "body": {
+ "id": "146b433f-d774-40b9-9138-55d386208725",
+ "programDetails": {
+ "isVanity": true,
+ "preferredVanityNumbers": [
+ "123456"
+ ],
+ "numberType": "shortCode",
+ "isPoliticalCampaign": false,
+ "name": "CONTOSO Shipping",
+ "description": "CONTOSO Shipping program that will send shipping notification messages",
+ "url": "https://www.contoso.com/shipping",
+ "signUpTypes": [
+ "sms",
+ "website"
+ ],
+ "signUpUrl": "https://www.contoso.com/shipping/callToAction.png",
+ "termsOfServiceUrl": "https://www.contoso.com/shipping/termsofservice",
+ "privacyPolicyUrl": "https://www.contoso.com/shipping/privacypolicy",
+ "expectedDateOfService": "2021-10-25T00:00:00+00:00"
+ },
+ "companyInformation": {
+ "name": "CONTOSO",
+ "url": "https://www.contoso.com",
+ "address": "CONTOSO Address",
+ "contactInformation": {
+ "name": "John Doe",
+ "phone": "+1123456789",
+ "email": "john.doe@contoso.com"
+ },
+ "customerCareInformation": {
+ "tollFreeNumber": "+1987654321",
+ "email": "customercare@contoso.com"
+ }
+ },
+ "messageDetails": {
+ "supportedProtocols": [
+ "sms"
+ ],
+ "recurrence": "transaction",
+ "helpMessage": "This is the HELP message test.",
+ "optOutMessage": "This is the STOP message test.",
+ "optInMessage": "CONTOSO Shipping - To confirm your subscription with us, please reply 'Y', and you will be added to our list.",
+ "optInReply": "JOIN",
+ "confirmationMessage": "CONTOSO Shipping - Welcome message to CONTOSO Shipping. Messaging & data rates may apply.For help, reply \"HELP\" or call/email customercare@contoso.comTo unsubscribe, reply \"STOP\". Visit our terms and conditions at https://www.contoso.com/shipping/termsofservice.",
+ "directionality": "twoWay",
+ "useCases": [
+ {
+ "contentCategory": "loyaltyProgramPointsPrizes",
+ "examples": [
+ {
+ "messages": [
+ {
+ "direction": "toUser",
+ "text": "Your password is 123 STOP/HELP"
+ }
+ ]
+ },
+ {
+ "messages": [
+ {
+ "direction": "toUser",
+ "text": "Want me to notify you when package in the way?"
+ },
+ {
+ "direction": "fromUser",
+ "text": "Y"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "trafficDetails": {
+ "totalMonthlyVolume": 10,
+ "monthlyAverageMessagesFromUser": 2,
+ "monthlyAverageMessagesToUser": 1,
+ "isSpiky": false,
+ "spikeDetails": "Higher traffic expected during holiday season and Black Friday.",
+ "estimatedRampUpTimeInDays": 10
+ }
+ },
+ "endpoint": "https://resourcename.region.dev.communications.azure.net/"
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "146b433f-d774-40b9-9138-55d386208725",
+ "status": "draft",
+ "costs": [
+ {
+ "amount": 1500.0,
+ "currencyCode": "USD",
+ "billingFrequency": "monthly"
+ },
+ {
+ "amount": 650.0,
+ "currencyCode": "USD",
+ "billingFrequency": "once"
+ }
+ ],
+ "submissionDate": "2021-07-11T21:36:24.8898166+00:00",
+ "statusUpdatedDate": "2021-07-11T21:36:24.8898166+00:00",
+ "programDetails": {
+ "isVanity": true,
+ "preferredVanityNumbers": [
+ "123456"
+ ],
+ "numberType": "shortCode",
+ "isPoliticalCampaign": false,
+ "name": "CONTOSO Shipping",
+ "description": "CONTOSO Shipping program that will send shipping notification messages",
+ "url": "https://www.contoso.com/shipping",
+ "signUpTypes": [
+ "sms",
+ "website"
+ ],
+ "signUpUrl": "https://www.contoso.com/shipping/callToAction.png",
+ "termsOfServiceUrl": "https://www.contoso.com/shipping/termsofservice",
+ "privacyPolicyUrl": "https://www.contoso.com/shipping/privacypolicy",
+ "expectedDateOfService": "2021-10-25T00:00:00+00:00"
+ },
+ "companyInformation": {
+ "name": "CONTOSO",
+ "url": "https://www.contoso.com",
+ "address": "CONTOSO Address",
+ "contactInformation": {
+ "name": "John Doe",
+ "phone": "+1123456789",
+ "email": "john.doe@contoso.com"
+ },
+ "customerCareInformation": {
+ "tollFreeNumber": "+1987654321",
+ "email": "customercare@contoso.com"
+ }
+ },
+ "messageDetails": {
+ "supportedProtocols": [
+ "sms"
+ ],
+ "recurrence": "transaction",
+ "helpMessage": "This is the HELP message test.",
+ "optOutMessage": "This is the STOP message test.",
+ "optInMessage": "CONTOSO Shipping - To confirm your subscription with us, please reply 'Y', and you will be added to our list.",
+ "optInReply": "JOIN",
+ "confirmationMessage": "CONTOSO Shipping - Welcome message to CONTOSO Shipping. Messaging & data rates may apply.For help, reply \"HELP\" or call/email customercare@contoso.comTo unsubscribe, reply \"STOP\". Visit our terms and conditions at https://www.contoso.com/shipping/termsofservice.",
+ "directionality": "twoWay",
+ "useCases": [
+ {
+ "contentCategory": "loyaltyProgramPointsPrizes",
+ "examples": [
+ {
+ "messages": [
+ {
+ "direction": "toUser",
+ "text": "Your password is 123 STOP/HELP"
+ }
+ ]
+ },
+ {
+ "messages": [
+ {
+ "direction": "toUser",
+ "text": "Want me to notify you when package in the way?"
+ },
+ {
+ "direction": "fromUser",
+ "text": "Y"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "trafficDetails": {
+ "totalMonthlyVolume": 10,
+ "monthlyAverageMessagesFromUser": 2,
+ "monthlyAverageMessagesToUser": 1,
+ "isSpiky": false,
+ "spikeDetails": "Higher traffic expected during holiday season and Black Friday.",
+ "estimatedRampUpTimeInDays": 10
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "146b433f-d774-40b9-9138-55d386208725",
+ "status": "draft",
+ "costs": [
+ {
+ "amount": 1500.0,
+ "currencyCode": "USD",
+ "billingFrequency": "monthly"
+ },
+ {
+ "amount": 650.0,
+ "currencyCode": "USD",
+ "billingFrequency": "once"
+ }
+ ],
+ "submissionDate": "2021-07-11T21:36:24.8898166+00:00",
+ "statusUpdatedDate": "2021-08-10T21:36:24.8898162+00:00",
+ "programDetails": {
+ "isVanity": true,
+ "preferredVanityNumbers": [
+ "123456"
+ ],
+ "numberType": "shortCode",
+ "isPoliticalCampaign": false,
+ "name": "CONTOSO Shipping",
+ "description": "CONTOSO Shipping program that will send shipping notification messages",
+ "url": "https://www.contoso.com/shipping",
+ "signUpTypes": [
+ "sms",
+ "website"
+ ],
+ "signUpUrl": "https://www.contoso.com/shipping/callToAction.png",
+ "termsOfServiceUrl": "https://www.contoso.com/shipping/termsofservice",
+ "privacyPolicyUrl": "https://www.contoso.com/shipping/privacypolicy",
+ "expectedDateOfService": "2021-10-25T00:00:00+00:00"
+ },
+ "companyInformation": {
+ "name": "CONTOSO",
+ "url": "https://www.contoso.com",
+ "address": "CONTOSO Address",
+ "contactInformation": {
+ "name": "John Doe",
+ "phone": "+1123456789",
+ "email": "john.doe@contoso.com"
+ },
+ "customerCareInformation": {
+ "tollFreeNumber": "+1987654321",
+ "email": "customercare@contoso.com"
+ }
+ },
+ "messageDetails": {
+ "supportedProtocols": [
+ "sms"
+ ],
+ "recurrence": "transaction",
+ "helpMessage": "This is the HELP message test.",
+ "optOutMessage": "This is the STOP message test.",
+ "optInMessage": "CONTOSO Shipping - To confirm your subscription with us, please reply 'Y', and you will be added to our list.",
+ "optInReply": "JOIN",
+ "confirmationMessage": "CONTOSO Shipping - Welcome message to CONTOSO Shipping. Messaging & data rates may apply.For help, reply \"HELP\" or call/email customercare@contoso.comTo unsubscribe, reply \"STOP\". Visit our terms and conditions at https://www.contoso.com/shipping/termsofservice.",
+ "directionality": "twoWay",
+ "useCases": [
+ {
+ "contentCategory": "loyaltyProgramPointsPrizes",
+ "examples": [
+ {
+ "messages": [
+ {
+ "direction": "toUser",
+ "text": "Your password is 123 STOP/HELP"
+ }
+ ]
+ },
+ {
+ "messages": [
+ {
+ "direction": "toUser",
+ "text": "Want me to notify you when package in the way?"
+ },
+ {
+ "direction": "fromUser",
+ "text": "Y"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "trafficDetails": {
+ "totalMonthlyVolume": 10,
+ "monthlyAverageMessagesFromUser": 2,
+ "monthlyAverageMessagesToUser": 1,
+ "isSpiky": false,
+ "spikeDetails": "Higher traffic expected during holiday season and Black Friday.",
+ "estimatedRampUpTimeInDays": 10
+ }
+ }
+ }
+ }
+}
diff --git a/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/shortcodes.json b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/shortcodes.json
new file mode 100644
index 000000000000..afae6a49e052
--- /dev/null
+++ b/specification/communication/data-plane/ShortCodes/preview/2021-10-25-preview/shortcodes.json
@@ -0,0 +1,884 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ShortCodesNumbersClient",
+ "description": "The short codes client uses Azure Communication Services to purchase and manage short codes.",
+ "version": "2021-10-25-preview"
+ },
+ "paths": {
+ "/shortCodes": {
+ "get": {
+ "tags": [
+ "ShortCodes"
+ ],
+ "summary": "Gets the list of short codes for the current resource.",
+ "operationId": "ShortCodes_GetShortCodes",
+ "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": "top",
+ "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/ShortCodes"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "shortCodes"
+ },
+ "x-ms-examples": {
+ "List short codes": {
+ "$ref": "./examples/GetShortCodesAsync.json"
+ }
+ }
+ }
+ },
+ "/shortCodes/countries/US/programBriefs/{programBriefId}": {
+ "patch": {
+ "tags": [
+ "ShortCodes - ProgramBrief"
+ ],
+ "summary": "Creates or updates a US Program Brief.",
+ "operationId": "ShortCodes_UpsertUSProgramBrief",
+ "consumes": [
+ "application/merge-patch+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "programBriefId",
+ "description": "Program Brief Id. Must be a valid GUID",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Data to create new a Program Brief or fields to update an existing Program Brief",
+ "schema": {
+ "$ref": "#/definitions/USProgramBrief"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/USProgramBrief"
+ }
+ },
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/USProgramBrief"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Creates or Updates a US Program Brief": {
+ "$ref": "./examples/UpsertUSProgramBriefAsync.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ShortCodes - ProgramBrief"
+ ],
+ "summary": "Deletes a US Program Brief.",
+ "operationId": "ShortCodes_DeleteUSProgramBrief",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "programBriefId",
+ "description": "Program Brief Id. Must be a valid GUID",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Deletes a US Program Brief": {
+ "$ref": "./examples/DeleteUSProgramBriefAsync.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ]
+ },
+ "get": {
+ "tags": [
+ "ShortCodes - ProgramBrief"
+ ],
+ "operationId": "ShortCodes_GetUSProgramBrief",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "programBriefId",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/USProgramBrief"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Query a US Program Brief": {
+ "$ref": "./examples/GetUSProgramBriefAsync.json"
+ }
+ }
+ }
+ },
+ "/shortCodes/countries/US/programBriefs/{programBriefId}/:submit": {
+ "post": {
+ "tags": [
+ "ShortCodes - ProgramBrief"
+ ],
+ "operationId": "ShortCodes_SubmitUSProgramBrief",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "programBriefId",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/USProgramBrief"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Submit a US Program Brief": {
+ "$ref": "./examples/SubmitUSProgramBriefAsync.json"
+ }
+ }
+ }
+ },
+ "/shortCodes/countries/US/programBriefs": {
+ "get": {
+ "tags": [
+ "ShortCodes - ProgramBrief"
+ ],
+ "summary": "Gets the list of US Program Briefs for the current resource.",
+ "operationId": "ShortCodes_GetUSProgramBriefs",
+ "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": "top",
+ "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/USProgramBriefs"
+ }
+ },
+ "default": {
+ "description": "Failure",
+ "schema": {
+ "$ref": "../../../Common/stable/2021-03-07/common.json#/definitions/CommunicationErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "programBriefs"
+ },
+ "x-ms-examples": {
+ "List US Program Briefs": {
+ "$ref": "./examples/GetUSProgramBriefsAsync.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ShortCode": {
+ "description": "Represents a number, ShortCode or AlphaId, acquired in a given country.",
+ "type": "object",
+ "properties": {
+ "number": {
+ "description": "The value of the ShortCode or the alpha numeric e.g. '555555', 'CONTOSO', etc.",
+ "type": "string"
+ },
+ "numberType": {
+ "description": "The type of number e.g. 'ShortCode', 'AlphaId'.",
+ "enum": [
+ "shortCode",
+ "alphaId"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NumberType",
+ "modelAsString": true
+ }
+ },
+ "countryCode": {
+ "description": "ISO 3166 2-char code representing the country e.g. 'US'.",
+ "type": "string"
+ },
+ "programBriefIds": {
+ "description": "Program Brief Name.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "purchaseDate": {
+ "format": "date-time",
+ "description": "Date in which number was purchased.",
+ "type": "string"
+ }
+ }
+ },
+ "ShortCodes": {
+ "description": "A wrapper for a list of short code entities.",
+ "type": "object",
+ "properties": {
+ "shortCodes": {
+ "description": "List of short codes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShortCode"
+ }
+ },
+ "nextLink": {
+ "description": "Represents the URL link to the next page.",
+ "type": "string"
+ }
+ }
+ },
+ "ReviewNote": {
+ "description": "Holds a note about a Program Brief that has gone thru stages of review process.",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Note related to a Program Brief that may imply changes needed from the client.",
+ "type": "string"
+ },
+ "date": {
+ "format": "date-time",
+ "description": "Date and time when the note was added to the Program Brief.",
+ "type": "string"
+ }
+ }
+ },
+ "ShortCodeCost": {
+ "description": "The incurred cost for a single short code.",
+ "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",
+ "once"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BillingFrequency",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ProgramDetails": {
+ "type": "object",
+ "properties": {
+ "isVanity": {
+ "description": "Set to true if the request is for a vanity number.",
+ "type": "boolean"
+ },
+ "preferredVanityNumbers": {
+ "description": "Priority ordered list of preferred vanity numbers.\r\nVanity numbers should be 5 or 6 digit when number type is ShortCode.\r\ne.g. 555555, 222222.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "numberType": {
+ "description": "Type for desired numbers e.g. 'shortCode' or 'alphaId'.",
+ "enum": [
+ "shortCode",
+ "alphaId"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NumberType",
+ "modelAsString": true
+ }
+ },
+ "isPoliticalCampaign": {
+ "description": "Indicates whether the number will be used for political campaigns or not.",
+ "type": "boolean"
+ },
+ "name": {
+ "description": "A program name that indicates the purpose of filling the Program Brief and how the number will be used for messaging.\r\ne.g. 'CONTOSO Shipping'",
+ "type": "string"
+ },
+ "description": {
+ "description": "Describes how and why the number will be used for messaging as part of the program.",
+ "type": "string"
+ },
+ "url": {
+ "format": "uri",
+ "description": "URL for the program or company.",
+ "type": "string"
+ },
+ "signUpTypes": {
+ "description": "Indicates how the consumer can sign up to the program e.g. 'website', 'pointOfSale' and/or 'sms'.",
+ "type": "array",
+ "items": {
+ "description": "Indicates how a program will be discoverable by the consumer.",
+ "enum": [
+ "website",
+ "pointOfSale",
+ "sms",
+ "interactiveVoiceResponse"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProgramSignUpType",
+ "modelAsString": true
+ }
+ }
+ },
+ "signUpUrl": {
+ "format": "uri",
+ "description": "URL for \"call to action\" image for the program.",
+ "type": "string"
+ },
+ "termsOfServiceUrl": {
+ "format": "uri",
+ "description": "URL for program terms of service.",
+ "type": "string"
+ },
+ "privacyPolicyUrl": {
+ "format": "uri",
+ "description": "URL for privacy policy.",
+ "type": "string"
+ },
+ "expectedDateOfService": {
+ "format": "date-time",
+ "description": "Date in which SMS messages will start to be sent out.\r\nShould follow ISO 8601 internet format for datetimes.\r\ne.g. 2021-08-17T22:02:51.316Z, 2021-08-17T16:39:57-08:00, etc.",
+ "type": "string"
+ }
+ }
+ },
+ "ContactInformation": {
+ "description": "Contact Information",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of authorized user for purposes of submitting the Program Brief.",
+ "type": "string"
+ },
+ "phone": {
+ "description": "Contact phone number for the authorized user for the customer. Use E164 format. e.g. +14086111111.",
+ "type": "string"
+ },
+ "email": {
+ "format": "email",
+ "description": "Contact email address number for the authorized user for the customer.",
+ "type": "string"
+ }
+ }
+ },
+ "CustomerCareInformation": {
+ "description": "Customer Care Information",
+ "type": "object",
+ "properties": {
+ "tollFreeNumber": {
+ "description": "Customer support phone number for the customer submitting the Program Brief. Use E164 format. e.g. +18005551212",
+ "type": "string"
+ },
+ "email": {
+ "format": "email",
+ "description": "Customer support email address for the customer submitting the Program Brief.",
+ "type": "string"
+ }
+ }
+ },
+ "CompanyInformation": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Legal entity name for customer submitting Program Brief.",
+ "type": "string"
+ },
+ "url": {
+ "format": "uri",
+ "description": "Company URL for customer submitting Program Brief.",
+ "type": "string"
+ },
+ "address": {
+ "description": "Company's address for the customer submitting the Program Brief.",
+ "type": "string"
+ },
+ "contactInformation": {
+ "$ref": "#/definitions/ContactInformation"
+ },
+ "customerCareInformation": {
+ "$ref": "#/definitions/CustomerCareInformation"
+ }
+ }
+ },
+ "MessageExample": {
+ "description": "Represents a message example to be sent from or to the end user.",
+ "type": "object",
+ "properties": {
+ "direction": {
+ "description": "Indicates whether the message example is supposed to be sent to or from the end user e.g. toUser",
+ "enum": [
+ "toUser",
+ "fromUser"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MessageDirection",
+ "modelAsString": true
+ }
+ },
+ "text": {
+ "description": "Actual example text for the message e.g. 'Want me to notify you when package in the way?'",
+ "type": "string"
+ }
+ }
+ },
+ "MessageExampleSequence": {
+ "description": "A sequence of example messages to and from the end user.",
+ "type": "object",
+ "properties": {
+ "messages": {
+ "description": "Example messages to be sent to and from the end user.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MessageExample"
+ }
+ }
+ }
+ },
+ "UseCase": {
+ "description": "Describes a messaging use case for a given content type by providing example messages.",
+ "type": "object",
+ "properties": {
+ "contentCategory": {
+ "description": "Indicates the messaging content category used in the program e.g. 'ringTones', 'smsChat', 'video', 'loyaltyProgramPointsPrizes', 'gifting', 'inApplicationBilling', 'textToScreen'.",
+ "enum": [
+ "ringTones",
+ "smsChat",
+ "video",
+ "loyaltyProgramPointsPrizes",
+ "gifting",
+ "inApplicationBilling",
+ "textToScreen",
+ "games",
+ "audioChat",
+ "mmsPictures",
+ "sweepstakesContestAuction",
+ "financialBanking",
+ "premiumWap",
+ "queryService",
+ "wallpaperScreensaver",
+ "voting",
+ "application",
+ "mobileGivingDonations",
+ "coupons",
+ "loyaltyProgram",
+ "noPointsPrizes",
+ "informationalAlerts",
+ "microBilling",
+ "trivia",
+ "entertainmentAlerts",
+ "accountNotification",
+ "ageGatedContent",
+ "conversationalMessaging",
+ "deliveryNotification",
+ "education",
+ "emergencyAlerts",
+ "fraudAlerts",
+ "loanArrangement",
+ "onBehalfOfCarrier",
+ "political",
+ "promotionalMarketing",
+ "publicServiceAnnouncements",
+ "securityAlerts",
+ "socialMedia",
+ "twoFactorAuthentication",
+ "other"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MessageContentCategory",
+ "modelAsString": true
+ }
+ },
+ "examples": {
+ "description": "Example messages to be sent to and from the end user for the indicated content type.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MessageExampleSequence"
+ }
+ }
+ }
+ },
+ "MessageDetails": {
+ "type": "object",
+ "properties": {
+ "supportedProtocols": {
+ "description": "Applicable message protocols used in the program e.g. SMS, MMS.",
+ "type": "array",
+ "items": {
+ "description": "Applicable message protocols to be used in a program.",
+ "enum": [
+ "sms",
+ "mms"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MessageProtocol",
+ "modelAsString": true
+ }
+ }
+ },
+ "recurrence": {
+ "description": "Indicates the nature of the messaging associated with the program e.g. 'subscription', 'transaction'.",
+ "enum": [
+ "subscription",
+ "transaction"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Recurrence",
+ "modelAsString": true
+ }
+ },
+ "helpMessage": {
+ "description": "Message text for mobile terminated message associated with HELP keyword\r\ne.g 'This is the HELP message test.'.",
+ "type": "string"
+ },
+ "optOutMessage": {
+ "description": "\"Message text for mobile terminated message associated with STOP keyword\r\ne.g. 'This is the STOP message test.'.",
+ "type": "string"
+ },
+ "optInMessage": {
+ "type": "string"
+ },
+ "optInReply": {
+ "description": "Keyword used to confirm double Opt-In method e.g. 'JOIN'.",
+ "type": "string"
+ },
+ "confirmationMessage": {
+ "type": "string"
+ },
+ "directionality": {
+ "description": "Describes directionality e.g. oneWay or twoWay",
+ "enum": [
+ "oneWay",
+ "twoWay"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MessageDirectionality",
+ "modelAsString": true
+ }
+ },
+ "useCases": {
+ "description": "Provides message exchange examples from and to end user for each supported message content type.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UseCase"
+ }
+ }
+ }
+ },
+ "TrafficDetails": {
+ "type": "object",
+ "properties": {
+ "totalMonthlyVolume": {
+ "format": "int32",
+ "description": "Estimated total messages per month.",
+ "maximum": 2147483647,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "monthlyAverageMessagesFromUser": {
+ "format": "int32",
+ "description": "Estimated number of Mobile-Originated messages likely to be received from a user per month.",
+ "maximum": 2147483647,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "monthlyAverageMessagesToUser": {
+ "format": "int32",
+ "description": "Estimated number of Mobile-Terminated messages likely to be sent per user per month.",
+ "maximum": 2147483647,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "isSpiky": {
+ "description": "Indicates if the nature of the messaging traffic will be bursty.",
+ "type": "boolean"
+ },
+ "spikeDetails": {
+ "description": "If isSpiky=true, then explain additional details about the traffic pattern\r\ne.g. 'Higher traffic expected during holiday season and Black Friday.'.",
+ "type": "string"
+ },
+ "estimatedRampUpTimeInDays": {
+ "format": "int32",
+ "description": "Numbers of days in which is expected to start sending messages from the short code.",
+ "maximum": 2147483647,
+ "minimum": 0,
+ "type": "integer"
+ }
+ }
+ },
+ "USProgramBrief": {
+ "description": "Represents a US Program Brief for acquiring a short code in the United States.\r\nA Program Brief provides vital information to the carriers about a messaging program or campaign that would be associated with a short code or alpha sender number.\r\nA Program Brief also provides specifics about the use case, the purpose and the consumer experience receiving the message.",
+ "required": [
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Program Brief Id.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Program Brief status e.g. 'submitted', 'approved', etc",
+ "enum": [
+ "submitted",
+ "approved",
+ "submitNewVanityNumbers",
+ "updateProgramBrief",
+ "draft",
+ "denied"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProgramBriefStatus",
+ "modelAsString": true
+ }
+ },
+ "number": {
+ "description": "Number provisioned for the Program Brief e.g. 555555, 'CONTOSO'",
+ "type": "string"
+ },
+ "reviewNotes": {
+ "description": "Notes added to the Program Brief after being reviewed to help customer understand\r\nreview results and necessary follow up actions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReviewNote"
+ }
+ },
+ "costs": {
+ "description": "Represents the costs tied to the number.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShortCodeCost"
+ }
+ },
+ "submissionDate": {
+ "format": "date-time",
+ "description": "Date and time when the Program Brief was submitted.",
+ "type": "string"
+ },
+ "statusUpdatedDate": {
+ "format": "date-time",
+ "description": "Last date and time when the Program Brief status was updated.",
+ "type": "string"
+ },
+ "programDetails": {
+ "$ref": "#/definitions/ProgramDetails"
+ },
+ "companyInformation": {
+ "$ref": "#/definitions/CompanyInformation"
+ },
+ "messageDetails": {
+ "$ref": "#/definitions/MessageDetails"
+ },
+ "trafficDetails": {
+ "$ref": "#/definitions/TrafficDetails"
+ }
+ }
+ },
+ "USProgramBriefs": {
+ "description": "A wrapper for a list of USProgramBrief entities.",
+ "type": "object",
+ "properties": {
+ "programBriefs": {
+ "description": "List of Program Briefs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/USProgramBrief"
+ }
+ },
+ "nextLink": {
+ "description": "Represents the URL link to the next page.",
+ "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/ShortCodes/readme.csharp.md b/specification/communication/data-plane/ShortCodes/readme.csharp.md
new file mode 100644
index 000000000000..2efd3715cdc3
--- /dev/null
+++ b/specification/communication/data-plane/ShortCodes/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/ShortCodes/readme.md b/specification/communication/data-plane/ShortCodes/readme.md
new file mode 100644
index 000000000000..e5b29b1cdcef
--- /dev/null
+++ b/specification/communication/data-plane/ShortCodes/readme.md
@@ -0,0 +1,69 @@
+# 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-shortcode-2021-10-25-preview
+
+These settings apply only when `--tag=package-shortcode-2021-10-25-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-shortcode-2021-10-25-preview'
+input-file:
+ - preview/2021-10-25-preview/shortcodes.json
+title:
+ Azure Communication Services
+```
+
+## Supression
+``` yaml
+directive:
+ - from:
+ - shortcodes.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.
+
+## 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/ShortCodes/readme.typescript.md b/specification/communication/data-plane/ShortCodes/readme.typescript.md
new file mode 100644
index 000000000000..be9f877fd1c2
--- /dev/null
+++ b/specification/communication/data-plane/ShortCodes/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/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateAnSshPublicKey.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateAnSshPublicKey.json
index 00074b2b3fd1..c1d79087d42e 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateAnSshPublicKey.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-12-01/examples/CreateAnSshPublicKey.json
@@ -1,36 +1,36 @@
-{
- "parameters": {
- "subscriptionId": "{subscription-id}",
- "resourceGroupName": "myResourceGroup",
- "api-version": "2019-12-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}"
- }
- }
- }
- }
-}
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2019-12-01",
+ "sshPublicKeyName": "mySshPublicKeyName",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "publicKey": "{ssh-rsa public key}"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "mySshPublicKeyName",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/sshPublicKeys/mySshPublicKeyName",
+ "properties": {
+ "publicKey": "{ssh-rsa public key}"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "mySshPublicKeyName",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/sshPublicKeys/mySshPublicKeyName",
+ "properties": {
+ "publicKey": "{ssh-rsa public key}"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json
index 302987076754..22b648606db8 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json
@@ -2804,7 +2804,7 @@
"in": "query",
"required": false,
"type": "boolean",
- "description": "Optional parameter to force delete virtual machines.(Feature in Preview)"
+ "description": "Optional parameter to force delete virtual machines."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/compute.json
index 63a425f0fdcd..3d088557e5be 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-12-01/compute.json
@@ -3192,7 +3192,7 @@
"in": "query",
"required": false,
"type": "boolean",
- "description": "Optional parameter to force delete virtual machines.(Feature in Preview)"
+ "description": "Optional parameter to force delete virtual machines."
},
{
"$ref": "#/parameters/ApiVersionParameter"
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/compute.json
index 4bba7558ffa9..24ee58dfde72 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/compute.json
@@ -3215,7 +3215,7 @@
"in": "query",
"required": false,
"type": "boolean",
- "description": "Optional parameter to force delete virtual machines.(Feature in Preview)"
+ "description": "Optional parameter to force delete virtual machines."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -7635,30 +7635,6 @@
},
"description": "Describes a data disk."
},
- "RestorePointProvisioningDetails": {
- "properties": {
- "creationTime": {
- "type": "string",
- "format": "date-time",
- "description": "Gets the creation time of the restore point."
- },
- "totalUsedSizeInBytes": {
- "type": "integer",
- "format": "int64",
- "description": "Gets the total size of the data in all the disks which are part of the restore point."
- },
- "statusCode": {
- "type": "integer",
- "format": "int32",
- "description": "Gets the status of the Create restore point operation."
- },
- "statusMessage": {
- "type": "string",
- "description": "Gets the status message of the Create restore point operation."
- }
- },
- "description": "Restore Point Provisioning details."
- },
"RestorePoint": {
"properties": {
"properties": {
@@ -7707,10 +7683,10 @@
},
"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."
+ "timeCreated": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Gets the creation time of the restore point."
}
},
"description": "The restore point properties."
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateARestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateARestorePoint.json
index 0e147d3d62db..8b9aec14420c 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateARestorePoint.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/CreateARestorePoint.json
@@ -79,12 +79,7 @@
},
"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}"
- }
+ "timeCreated": "2021-01-27T20:35:05.8401519+00:00"
}
}
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePoint.json
index 989bc1353c3b..7d63a024de25 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePoint.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePoint.json
@@ -70,12 +70,7 @@
},
"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}"
- }
+ "timeCreated": "2021-01-27T20:35:05.8401519+00:00"
}
}
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json
index fcdefbc18c78..7755fe14eac3 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-03-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json
@@ -86,12 +86,7 @@
},
"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}"
- }
+ "timeCreated": "2021-01-27T20:35:05.8401519+00:00"
}
}
]
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/compute.json
index c4f8526dc54f..1ae8cdc6f627 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/compute.json
@@ -3218,7 +3218,7 @@
"in": "query",
"required": false,
"type": "boolean",
- "description": "Optional parameter to force delete virtual machines.(Feature in Preview)"
+ "description": "Optional parameter to force delete virtual machines."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -8293,30 +8293,6 @@
},
"description": "Describes a data disk."
},
- "RestorePointProvisioningDetails": {
- "properties": {
- "creationTime": {
- "type": "string",
- "format": "date-time",
- "description": "Gets the creation time of the restore point."
- },
- "totalUsedSizeInBytes": {
- "type": "integer",
- "format": "int64",
- "description": "Gets the total size of the data in all the disks which are part of the restore point."
- },
- "statusCode": {
- "type": "integer",
- "format": "int32",
- "description": "Gets the status of the Create restore point operation."
- },
- "statusMessage": {
- "type": "string",
- "description": "Gets the status message of the Create restore point operation."
- }
- },
- "description": "Restore Point Provisioning details."
- },
"RestorePoint": {
"properties": {
"properties": {
@@ -8365,10 +8341,10 @@
},
"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."
+ "timeCreated": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Gets the creation time of the restore point."
}
},
"description": "The restore point properties."
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateARestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateARestorePoint.json
index d6ea9279f204..c1f274a81fa2 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateARestorePoint.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateARestorePoint.json
@@ -79,12 +79,7 @@
},
"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}"
- }
+ "timeCreated": "2021-01-27T20:35:05.8401519+00:00"
}
}
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateABurstingEnabledManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateABurstingEnabledManagedDisk.json
index 6f962b65ef92..6c8bb03b3ef6 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateABurstingEnabledManagedDisk.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/CreateOrUpdateABurstingEnabledManagedDisk.json
@@ -13,6 +13,9 @@
},
"responses": {
"202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01"
+ },
"body": {
"properties": {
"creationData": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePoint.json
index 08a2c87d845a..68c69456dd49 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePoint.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePoint.json
@@ -70,12 +70,7 @@
},
"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}"
- }
+ "timeCreated": "2021-01-27T20:35:05.8401519+00:00"
}
}
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json
index e8c954c155b9..2b5f20369d9c 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/GetRestorePointCollectionWithContainedRestorePoints.json
@@ -86,12 +86,7 @@
},
"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}"
- }
+ "timeCreated": "2021-01-27T20:35:05.8401519+00:00"
}
}
]
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskAccess.json
index 9ad3a83be39b..5e17b0937b3c 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskAccess.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskAccess.json
@@ -13,6 +13,9 @@
},
"responses": {
"202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess?api-version=2021-04-01"
+ },
"body": {
"name": "myDiskAccess",
"id": "/subscriptions/{subscription-id}/resourceGroups/myResourcegroup/providers/Microsoft.Compute/diskAccesses/myDiskAccess",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSet.json
index 5ac662c007fc..f9c97699556e 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSet.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSet.json
@@ -22,6 +22,9 @@
},
"responses": {
"202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet?api-version=2021-04-01"
+ },
"body": {
"name": "myDiskEncryptionSet",
"location": "West US",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabled.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabled.json
index b31cc10876ae..43bafdf940f1 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabled.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabled.json
@@ -19,6 +19,9 @@
},
"responses": {
"202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet?api-version=2021-04-01"
+ },
"body": {
"name": "myDiskEncryptionSet",
"id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabledInProgress.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabledInProgress.json
index 33e602d73271..c2fc69cfe453 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabledInProgress.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabledInProgress.json
@@ -19,6 +19,9 @@
},
"responses": {
"202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet?api-version=2021-04-01"
+ },
"body": {
"name": "myDiskEncryptionSet",
"id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/myDiskEncryptionSet",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddAcceleratedNetworking.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddAcceleratedNetworking.json
index b7b2035430dd..9284debc1f6e 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddAcceleratedNetworking.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddAcceleratedNetworking.json
@@ -14,6 +14,9 @@
},
"responses": {
"202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01"
+ },
"body": {
"name": "myDisk",
"location": "westus",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddPurchasePlan.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddPurchasePlan.json
index 1c77aa7ad609..b74656fe5709 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddPurchasePlan.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddPurchasePlan.json
@@ -17,6 +17,9 @@
},
"responses": {
"202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01"
+ },
"body": {
"name": "myDisk",
"location": "westus",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddSupportsHibernation.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddSupportsHibernation.json
index a7dab8f35a29..1910a1c7be2c 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddSupportsHibernation.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToAddSupportsHibernation.json
@@ -12,6 +12,9 @@
},
"responses": {
"202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01"
+ },
"body": {
"name": "myDisk",
"location": "westus",
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToChangeTier.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToChangeTier.json
index 941cf1abe728..75ee45273f2e 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToChangeTier.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToChangeTier.json
@@ -12,6 +12,9 @@
},
"responses": {
"202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01"
+ },
"body": {
"properties": {
"creationData": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToDisableBursting.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToDisableBursting.json
index d919c9e88581..01b209f2a6aa 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToDisableBursting.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToDisableBursting.json
@@ -12,6 +12,9 @@
},
"responses": {
"202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01"
+ },
"body": {
"properties": {
"creationData": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToRemoveDiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToRemoveDiskAccess.json
index c05fe297a553..be3d81183ae5 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToRemoveDiskAccess.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateAManagedDiskToRemoveDiskAccess.json
@@ -12,6 +12,9 @@
},
"responses": {
"202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk?api-version=2021-04-01"
+ },
"body": {
"properties": {
"creationData": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateASnapshot.json
index 1453fd429977..4f2510256ef1 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateASnapshot.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-04-01/examples/UpdateASnapshot.json
@@ -16,6 +16,9 @@
},
"responses": {
"202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot?api-version=2021-04-01"
+ },
"body": {
"properties": {
"creationData": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/communityGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/communityGallery.json
new file mode 100644
index 000000000000..711cf2ecd43e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/communityGallery.json
@@ -0,0 +1,535 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "CommunityGalleryServiceClient",
+ "description": "Community Gallery Service Client.",
+ "version": "2021-07-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/communityGalleries/{publicGalleryName}": {
+ "get": {
+ "tags": [
+ "CommunityGalleries"
+ ],
+ "operationId": "CommunityGalleries_Get",
+ "description": "Get a community gallery by gallery public name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PublicGalleryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CommunityGallery"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery.": {
+ "$ref": "./examples/communityGallery/GetACommunityGallery.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/communityGalleries/{publicGalleryName}/images/{galleryImageName}": {
+ "get": {
+ "tags": [
+ "CommunityGalleryImages"
+ ],
+ "operationId": "CommunityGalleryImages_Get",
+ "description": "Get a community gallery image.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PublicGalleryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/GalleryImageNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CommunityGalleryImage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery.": {
+ "$ref": "./examples/communityGallery/GetACommunityGalleryImage.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/communityGalleries/{publicGalleryName}/images/{galleryImageName}/versions/{galleryImageVersionName}": {
+ "get": {
+ "tags": [
+ "CommunityGalleryImageVersions"
+ ],
+ "operationId": "CommunityGalleryImageVersions_Get",
+ "description": "Get a community gallery image version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PublicGalleryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/GalleryImageNameParameter"
+ },
+ {
+ "$ref": "#/parameters/GalleryImageVersionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CommunityGalleryImageVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery.": {
+ "$ref": "./examples/communityGallery/GetACommunityGalleryImageVersion.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PirCommunityGalleryResource": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource location"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "identifier": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CommunityGalleryIdentifier"
+ }
+ },
+ "description": "Base information about the community gallery resource in pir."
+ },
+ "CommunityGalleryIdentifier": {
+ "properties": {
+ "uniqueId": {
+ "type": "string",
+ "description": "The unique id of this community gallery."
+ }
+ },
+ "description": "The identifier information of community gallery."
+ },
+ "CommunityGallery": {
+ "properties": {},
+ "allOf": [
+ {
+ "$ref": "#/definitions/PirCommunityGalleryResource"
+ }
+ ],
+ "description": "Specifies information about the Community Gallery that you want to create or update."
+ },
+ "CommunityGalleryImage": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CommunityGalleryImageProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PirCommunityGalleryResource"
+ }
+ ],
+ "description": "Specifies information about the gallery image definition that you want to create or update."
+ },
+ "CommunityGalleryImageProperties": {
+ "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."
+ },
+ "CommunityGalleryImageVersion": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CommunityGalleryImageVersionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PirCommunityGalleryResource"
+ }
+ ],
+ "description": "Specifies information about the gallery image version that you want to create or update."
+ },
+ "CommunityGalleryImageVersionProperties": {
+ "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."
+ },
+ "PublicGalleryNameParameter": {
+ "name": "publicGalleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The public name of the community gallery."
+ },
+ "GalleryImageNameParameter": {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The name of the community gallery image definition."
+ },
+ "GalleryImageVersionNameParameter": {
+ "name": "galleryImageVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The name of the community gallery image version. 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: .."
+ },
+ "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-07-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/compute.json
index c0c702bf82a5..981eeb6f69e0 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/compute.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/compute.json
@@ -3235,7 +3235,7 @@
"in": "query",
"required": false,
"type": "boolean",
- "description": "Optional parameter to force delete virtual machines.(Feature in Preview)"
+ "description": "Optional parameter to force delete virtual machines."
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -8326,30 +8326,6 @@
},
"description": "Describes a data disk."
},
- "RestorePointProvisioningDetails": {
- "properties": {
- "creationTime": {
- "type": "string",
- "format": "date-time",
- "description": "Gets the creation time of the restore point."
- },
- "totalUsedSizeInBytes": {
- "type": "integer",
- "format": "int64",
- "description": "Gets the total size of the data in all the disks which are part of the restore point."
- },
- "statusCode": {
- "type": "integer",
- "format": "int32",
- "description": "Gets the status of the Create restore point operation."
- },
- "statusMessage": {
- "type": "string",
- "description": "Gets the status message of the Create restore point operation."
- }
- },
- "description": "Restore Point Provisioning details."
- },
"RestorePoint": {
"properties": {
"properties": {
@@ -8398,10 +8374,10 @@
},
"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."
+ "timeCreated": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Gets the creation time of the restore point."
}
},
"description": "The restore point properties."
@@ -11674,7 +11650,7 @@
"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": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.
**NOTE**: If storageUri is being specified then ensure that the storage account is in the same region and subscription as the VM.
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."
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/communityGallery/GetACommunityGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/communityGallery/GetACommunityGallery.json
new file mode 100644
index 000000000000..814f96cfbaf6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/communityGallery/GetACommunityGallery.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "myLocation",
+ "api-version": "2021-07-01",
+ "publicGalleryName": "publicGalleryName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "myLocation",
+ "name": "publicGalleryName",
+ "type": "Microsoft.Compute/Locations/CommunityGallery",
+ "identifier": {
+ "uniqueId": "/CommunityGalleries/publicGalleryName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/communityGallery/GetACommunityGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/communityGallery/GetACommunityGalleryImage.json
new file mode 100644
index 000000000000..d7ff0d54839a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/communityGallery/GetACommunityGalleryImage.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "myLocation",
+ "api-version": "2021-07-01",
+ "publicGalleryName": "publicGalleryName",
+ "galleryImageName": "myGalleryImageName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ }
+ },
+ "location": "myLocation",
+ "name": "myGalleryImageName",
+ "type": "Microsoft.Compute/Locations/CommunityGalleryImage",
+ "identifier": {
+ "uniqueId": "/CommunityGalleries/publicGalleryName/Images/myGalleryImageName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/communityGallery/GetACommunityGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/communityGallery/GetACommunityGalleryImageVersion.json
new file mode 100644
index 000000000000..064bb8e3c6b2
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/communityGallery/GetACommunityGalleryImageVersion.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "myLocation",
+ "api-version": "2021-07-01",
+ "publicGalleryName": "publicGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "myGalleryImageVersionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishedDate": "2018-03-20T09:12:28Z",
+ "endOfLifeDate": "2022-03-20T09:12:28Z"
+ },
+ "location": "myLocation",
+ "name": "myGalleryImageVersionName",
+ "type": "Microsoft.Compute/Locations/CommunityGalleryImageVersion",
+ "identifier": {
+ "uniqueId": "/CommunityGalleries/publicGalleryName/Images/myGalleryImageName/Versions/myGalleryImageVersionName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/CreateARestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/CreateARestorePoint.json
index 7cff97e632cd..fc5b22570e60 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/CreateARestorePoint.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/CreateARestorePoint.json
@@ -79,12 +79,7 @@
},
"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}"
- }
+ "timeCreated": "2021-01-27T20:35:05.8401519+00:00"
}
}
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/GetRestorePoint.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/GetRestorePoint.json
index d616fabdc9e8..2d330d636dfc 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/GetRestorePoint.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/GetRestorePoint.json
@@ -70,12 +70,7 @@
},
"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}"
- }
+ "timeCreated": "2021-01-27T20:35:05.8401519+00:00"
}
}
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/GetRestorePointCollectionWithContainedRestorePoints.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/GetRestorePointCollectionWithContainedRestorePoints.json
index ce9d3b156fa8..b4d13ce0ace1 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/GetRestorePointCollectionWithContainedRestorePoints.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/compute/GetRestorePointCollectionWithContainedRestorePoints.json
@@ -86,12 +86,7 @@
},
"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}"
- }
+ "timeCreated": "2021-01-27T20:35:05.8401519+00:00"
}
}
]
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/gallery/AddToSharingProfileInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/gallery/AddToSharingProfileInAGallery.json
index 79663def1c75..ad9d6e586cd9 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/gallery/AddToSharingProfileInAGallery.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/gallery/AddToSharingProfileInAGallery.json
@@ -45,6 +45,9 @@
}
},
"202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/share?api-version=2021-07-01"
+ },
"body": {
"operationType": "Add",
"groups": [
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/gallery/ResetSharingProfileInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/gallery/ResetSharingProfileInAGallery.json
index 270abfd8de99..e04e99e87ebd 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/gallery/ResetSharingProfileInAGallery.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2021-07-01/examples/gallery/ResetSharingProfileInAGallery.json
@@ -15,6 +15,9 @@
}
},
"202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/share?api-version=2021-07-01"
+ },
"body": {
"operationType": "Reset"
}
diff --git a/specification/compute/resource-manager/readme.go.md b/specification/compute/resource-manager/readme.go.md
index 429c7a791ac9..f2b284a9c486 100644
--- a/specification/compute/resource-manager/readme.go.md
+++ b/specification/compute/resource-manager/readme.go.md
@@ -31,7 +31,7 @@ directive:
``` yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/compute/armcompute
+module-name: sdk/resourcemanager/compute/armcompute
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
diff --git a/specification/compute/resource-manager/readme.java.md b/specification/compute/resource-manager/readme.java.md
index f83c0c13d7fb..399311f42133 100644
--- a/specification/compute/resource-manager/readme.java.md
+++ b/specification/compute/resource-manager/readme.java.md
@@ -125,4 +125,18 @@ Creating this tag to pick proper resources from the hybrid profile.
input-file:
- Microsoft.Compute/stable/2017-12-01/compute.json
- Microsoft.Compute/stable/2017-03-30/disk.json
-```
\ No newline at end of file
+```
+
+### Tag: profile-hybrid-2020-09-01 and java
+
+These settings apply only when `--tag=profile-hybrid-2020-09-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'profile-hybrid-2020-09-01' && $(java)
+input-file:
+ - Microsoft.Compute/stable/2020-06-01/compute.json
+ - Microsoft.Compute/stable/2020-06-01/runCommands.json
+ - Microsoft.Compute/stable/2019-04-01/skus.json
+ - Microsoft.Compute/stable/2019-07-01/disk.json
+ - Microsoft.Compute/stable/2019-12-01/gallery.json
+```
diff --git a/specification/compute/resource-manager/readme.md b/specification/compute/resource-manager/readme.md
index fae2578a2f4b..2f115a57104d 100644
--- a/specification/compute/resource-manager/readme.md
+++ b/specification/compute/resource-manager/readme.md
@@ -242,6 +242,7 @@ input-file:
- Microsoft.Compute/stable/2021-04-01/disk.json
- Microsoft.Compute/stable/2021-07-01/gallery.json
- Microsoft.Compute/stable/2021-07-01/sharedGallery.json
+- Microsoft.Compute/stable/2021-07-01/communityGallery.json
- Microsoft.Compute/stable/2021-03-01/cloudService.json
```
@@ -256,6 +257,7 @@ input-file:
- Microsoft.Compute/stable/2021-07-01/skus.json
- Microsoft.Compute/stable/2021-07-01/gallery.json
- Microsoft.Compute/stable/2021-07-01/sharedGallery.json
+- Microsoft.Compute/stable/2021-07-01/communityGallery.json
```
### Tag: package-2021-06-01-preview
@@ -306,6 +308,7 @@ These settings apply only when `--tag=package-2021-04-01-only` is specified on t
input-file:
- Microsoft.Compute/stable/2021-04-01/compute.json
- Microsoft.Compute/stable/2021-04-01/runCommands.json
+- Microsoft.Compute/stable/2021-04-01/disk.json
```
### Tag: package-2021-03-01
@@ -925,6 +928,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-java
- repo: azure-sdk-for-js
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-node
- repo: azure-sdk-for-ruby
after_scripts:
diff --git a/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/confluent.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/confluent.json
new file mode 100644
index 000000000000..f2a530d17ce4
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/confluent.json
@@ -0,0 +1,971 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Microsoft.Confluent",
+ "version": "2021-09-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-09-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-09-01-preview/examples/MarketplaceAgreements_Create.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/MarketplaceAgreements_Create.json
new file mode 100644
index 000000000000..3104ced9356c
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/MarketplaceAgreements_Create.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/MarketplaceAgreements_List.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/MarketplaceAgreements_List.json
new file mode 100644
index 000000000000..fa7cb5839d62
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/MarketplaceAgreements_List.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/OrganizationOperations_List.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/OrganizationOperations_List.json
new file mode 100644
index 000000000000..b9769ec3de3e
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/OrganizationOperations_List.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Organization_Create.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Create.json
new file mode 100644
index 000000000000..5147d436815e
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Create.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Organization_Delete.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Delete.json
new file mode 100644
index 000000000000..23925b7ae870
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Organization_Get.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Get.json
new file mode 100644
index 000000000000..a17a9c72675b
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Get.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Organization_ListByResourceGroup.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_ListByResourceGroup.json
new file mode 100644
index 000000000000..422dbf0c65f4
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_ListByResourceGroup.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Organization_ListBySubscription.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_ListBySubscription.json
new file mode 100644
index 000000000000..3718d7237243
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_ListBySubscription.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Organization_Update.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Update.json
new file mode 100644
index 000000000000..6e855d4649f1
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Organization_Update.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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-09-01-preview/examples/Validations_ValidateOrganizations.json b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Validations_ValidateOrganizations.json
new file mode 100644
index 000000000000..3bf81a922153
--- /dev/null
+++ b/specification/confluent/resource-manager/Microsoft.Confluent/preview/2021-09-01-preview/examples/Validations_ValidateOrganizations.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2021-09-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/readme.go.md b/specification/confluent/resource-manager/readme.go.md
index d137ad529b23..c04f08b06af6 100644
--- a/specification/confluent/resource-manager/readme.go.md
+++ b/specification/confluent/resource-manager/readme.go.md
@@ -13,11 +13,21 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-preview-2021-09
- tag: package-2020-03-01
- tag: package-2020-03-01-preview
- tag: package-2021-03-01-preview
```
+### Tag: package-preview-2021-09 and go
+
+These settings apply only when `--tag=package-preview-2021-09 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-preview-2021-09' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-09-01-preview/$(namespace)
+```
+
### Tag: package-2020-03-01 and go
These settings apply only when `--tag=package-2020-03-01 --go` is specified on the command line.
diff --git a/specification/confluent/resource-manager/readme.md b/specification/confluent/resource-manager/readme.md
index 8780a27ab0d6..1653aafcc649 100644
--- a/specification/confluent/resource-manager/readme.md
+++ b/specification/confluent/resource-manager/readme.md
@@ -4,10 +4,10 @@
This is the AutoRest configuration file for Confluent.
-
-
---
+
## Getting Started
+
To build the SDK for Confluent, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -15,22 +15,31 @@ To build the SDK for Confluent, simply [Install AutoRest](https://aka.ms/autores
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
-
-
### Basic Information
+
These are the global settings for the Confluent API.
``` yaml
title: ConfluentManagementClient
openapi-type: arm
openapi-subtype: rpaas
-tag: package-2021-03-01-preview
+tag: package-preview-2021-09
```
+
+### Tag: package-preview-2021-09
+
+These settings apply only when `--tag=package-preview-2021-09` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2021-09'
+input-file:
+ - Microsoft.Confluent/preview/2021-09-01-preview/confluent.json
+```
### Tag: package-2020-03-01
These settings apply only when `--tag=package-2020-03-01` is specified on the command line.
@@ -107,4 +116,3 @@ See configuration in [readme.ruby.md](./readme.ruby.md)
## TypeScript
See configuration in [readme.typescript.md](./readme.typescript.md)
-
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/connectedvmware.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/connectedvmware.json
new file mode 100644
index 000000000000..c8bd6537bc7f
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/connectedvmware.json
@@ -0,0 +1,6724 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Arc VMware Management Service API",
+ "description": "Self service experience for VMware.",
+ "version": "2020-10-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.ConnectedVMwarevSphere/operations": {
+ "get": {
+ "description": "Returns list of all operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "ListOperations": {
+ "$ref": "./examples/ListOperations.json"
+ }
+ },
+ "tags": [
+ "Operations"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation details.",
+ "schema": {
+ "$ref": "#/definitions/operationsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools/{resourcePoolName}": {
+ "put": {
+ "tags": [
+ "ResourcePools"
+ ],
+ "operationId": "ResourcePools_Create",
+ "description": "Create Or Update resourcePool.",
+ "summary": "Implements resourcePool PUT method.",
+ "x-ms-examples": {
+ "CreateResourcePool": {
+ "$ref": "./examples/CreateResourcePool.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "resourcePoolName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the resourcePool."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Request payload.",
+ "schema": {
+ "$ref": "#/definitions/ResourcePool"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ResourcePool"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ResourcePool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "get": {
+ "tags": [
+ "ResourcePools"
+ ],
+ "operationId": "ResourcePools_Get",
+ "summary": "Gets a resourcePool.",
+ "description": "Implements resourcePool GET method.",
+ "x-ms-examples": {
+ "GetResourcePool": {
+ "$ref": "./examples/GetResourcePool.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "resourcePoolName",
+ "description": "Name of the resourcePool.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ResourcePool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ResourcePools"
+ ],
+ "operationId": "ResourcePools_Update",
+ "summary": "Updates a resourcePool.",
+ "description": "API to update certain properties of the resourcePool resource.",
+ "x-ms-examples": {
+ "UpdateResourcePool": {
+ "$ref": "./examples/UpdateResourcePool.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "resourcePoolName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the resourcePool."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Resource properties to update.",
+ "schema": {
+ "$ref": "#/definitions/ResourcePatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ResourcePool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ResourcePools"
+ ],
+ "operationId": "ResourcePools_Delete",
+ "summary": "Deletes an resourcePool.",
+ "description": "Implements resourcePool DELETE method.",
+ "x-ms-examples": {
+ "DeleteResourcePool": {
+ "$ref": "./examples/DeleteResourcePool.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "resourcePoolName",
+ "description": "Name of the resourcePool.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "query",
+ "name": "force",
+ "description": "Whether force delete was specified.",
+ "required": false,
+ "type": "boolean"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools": {
+ "get": {
+ "tags": [
+ "ResourcePools"
+ ],
+ "operationId": "ResourcePools_List",
+ "summary": "Implements GET resourcePools in a subscription.",
+ "description": "List of resourcePools in a subscription.",
+ "x-ms-examples": {
+ "ListResourcePools": {
+ "$ref": "./examples/ListResourcePools.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ResourcePoolsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/resourcePools": {
+ "get": {
+ "tags": [
+ "ResourcePools"
+ ],
+ "operationId": "ResourcePools_ListByResourceGroup",
+ "summary": "Implements GET resourcePools in a resource group.",
+ "description": "List of resourcePools in a resource group.",
+ "x-ms-examples": {
+ "ListResourcePoolsByResourceGroup": {
+ "$ref": "./examples/ListResourcePoolsByResourceGroup.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ResourcePoolsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/clusters/{clusterName}": {
+ "put": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Create",
+ "description": "Create Or Update cluster.",
+ "summary": "Implements cluster PUT method.",
+ "x-ms-examples": {
+ "CreateCluster": {
+ "$ref": "./examples/CreateCluster.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "clusterName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the cluster."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Request payload.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Get",
+ "summary": "Gets a cluster.",
+ "description": "Implements cluster GET method.",
+ "x-ms-examples": {
+ "GetCluster": {
+ "$ref": "./examples/GetCluster.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "clusterName",
+ "description": "Name of the cluster.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Update",
+ "summary": "Updates a cluster.",
+ "description": "API to update certain properties of the cluster resource.",
+ "x-ms-examples": {
+ "UpdateCluster": {
+ "$ref": "./examples/UpdateCluster.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "clusterName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the cluster."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Resource properties to update.",
+ "schema": {
+ "$ref": "#/definitions/ResourcePatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Delete",
+ "summary": "Deletes an cluster.",
+ "description": "Implements cluster DELETE method.",
+ "x-ms-examples": {
+ "DeleteCluster": {
+ "$ref": "./examples/DeleteCluster.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "clusterName",
+ "description": "Name of the cluster.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "query",
+ "name": "force",
+ "description": "Whether force delete was specified.",
+ "required": false,
+ "type": "boolean"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/clusters": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_List",
+ "summary": "Implements GET clusters in a subscription.",
+ "description": "List of clusters in a subscription.",
+ "x-ms-examples": {
+ "ListClusters": {
+ "$ref": "./examples/ListClusters.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ClustersList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/clusters": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_ListByResourceGroup",
+ "summary": "Implements GET clusters in a resource group.",
+ "description": "List of clusters in a resource group.",
+ "x-ms-examples": {
+ "ListClustersByResourceGroup": {
+ "$ref": "./examples/ListClustersByResourceGroup.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ClustersList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/hosts/{hostName}": {
+ "put": {
+ "tags": [
+ "Hosts"
+ ],
+ "operationId": "Hosts_Create",
+ "description": "Create Or Update host.",
+ "summary": "Implements host PUT method.",
+ "x-ms-examples": {
+ "CreateHost": {
+ "$ref": "./examples/CreateHost.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "hostName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the host."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Request payload.",
+ "schema": {
+ "$ref": "#/definitions/Host"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Host"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Host"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "get": {
+ "tags": [
+ "Hosts"
+ ],
+ "operationId": "Hosts_Get",
+ "summary": "Gets a host.",
+ "description": "Implements host GET method.",
+ "x-ms-examples": {
+ "GetHost": {
+ "$ref": "./examples/GetHost.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "hostName",
+ "description": "Name of the host.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Host"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Hosts"
+ ],
+ "operationId": "Hosts_Update",
+ "summary": "Updates a host.",
+ "description": "API to update certain properties of the host resource.",
+ "x-ms-examples": {
+ "UpdateHost": {
+ "$ref": "./examples/UpdateHost.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "hostName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the host."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Resource properties to update.",
+ "schema": {
+ "$ref": "#/definitions/ResourcePatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Host"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Hosts"
+ ],
+ "operationId": "Hosts_Delete",
+ "summary": "Deletes an host.",
+ "description": "Implements host DELETE method.",
+ "x-ms-examples": {
+ "DeleteHost": {
+ "$ref": "./examples/DeleteHost.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "hostName",
+ "description": "Name of the host.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "query",
+ "name": "force",
+ "description": "Whether force delete was specified.",
+ "required": false,
+ "type": "boolean"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/hosts": {
+ "get": {
+ "tags": [
+ "Hosts"
+ ],
+ "operationId": "Hosts_List",
+ "summary": "Implements GET hosts in a subscription.",
+ "description": "List of hosts in a subscription.",
+ "x-ms-examples": {
+ "ListHosts": {
+ "$ref": "./examples/ListHosts.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/HostsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/hosts": {
+ "get": {
+ "tags": [
+ "Hosts"
+ ],
+ "operationId": "Hosts_ListByResourceGroup",
+ "summary": "Implements GET hosts in a resource group.",
+ "description": "List of hosts in a resource group.",
+ "x-ms-examples": {
+ "ListHostsByResourceGroup": {
+ "$ref": "./examples/ListHostsByResourceGroup.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/HostsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/datastores/{datastoreName}": {
+ "put": {
+ "tags": [
+ "Datastores"
+ ],
+ "operationId": "Datastores_Create",
+ "description": "Create Or Update datastore.",
+ "summary": "Implements datastore PUT method.",
+ "x-ms-examples": {
+ "CreateDatastore": {
+ "$ref": "./examples/CreateDatastore.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "datastoreName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the datastore."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Request payload.",
+ "schema": {
+ "$ref": "#/definitions/Datastore"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Datastore"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Datastore"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "get": {
+ "tags": [
+ "Datastores"
+ ],
+ "operationId": "Datastores_Get",
+ "summary": "Gets a datastore.",
+ "description": "Implements datastore GET method.",
+ "x-ms-examples": {
+ "GetDatastore": {
+ "$ref": "./examples/GetDatastore.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "datastoreName",
+ "description": "Name of the datastore.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Datastore"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Datastores"
+ ],
+ "operationId": "Datastores_Update",
+ "summary": "Updates a datastore.",
+ "description": "API to update certain properties of the datastore resource.",
+ "x-ms-examples": {
+ "UpdateDatastore": {
+ "$ref": "./examples/UpdateDatastore.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "datastoreName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the datastore."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Resource properties to update.",
+ "schema": {
+ "$ref": "#/definitions/ResourcePatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Datastore"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Datastores"
+ ],
+ "operationId": "Datastores_Delete",
+ "summary": "Deletes an datastore.",
+ "description": "Implements datastore DELETE method.",
+ "x-ms-examples": {
+ "DeleteDatastore": {
+ "$ref": "./examples/DeleteDatastore.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "datastoreName",
+ "description": "Name of the datastore.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "query",
+ "name": "force",
+ "description": "Whether force delete was specified.",
+ "required": false,
+ "type": "boolean"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/datastores": {
+ "get": {
+ "tags": [
+ "Datastores"
+ ],
+ "operationId": "Datastores_List",
+ "summary": "Implements GET datastores in a subscription.",
+ "description": "List of datastores in a subscription.",
+ "x-ms-examples": {
+ "ListDatastores": {
+ "$ref": "./examples/ListDatastores.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatastoresList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/datastores": {
+ "get": {
+ "tags": [
+ "Datastores"
+ ],
+ "operationId": "Datastores_ListByResourceGroup",
+ "summary": "Implements GET datastores in a resource group.",
+ "description": "List of datastores in a resource group.",
+ "x-ms-examples": {
+ "ListDatastoresByResourceGroup": {
+ "$ref": "./examples/ListDatastoresByResourceGroup.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DatastoresList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}": {
+ "put": {
+ "tags": [
+ "VCenters"
+ ],
+ "operationId": "VCenters_Create",
+ "description": "Create Or Update vCenter.",
+ "summary": "Implements vCenter PUT method.",
+ "x-ms-examples": {
+ "CreateVCenter": {
+ "$ref": "./examples/CreateVCenter.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "vcenterName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the vCenter."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Request payload.",
+ "schema": {
+ "$ref": "#/definitions/VCenter"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VCenter"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VCenter"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "get": {
+ "tags": [
+ "VCenters"
+ ],
+ "operationId": "VCenters_Get",
+ "summary": "Gets a vCenter.",
+ "description": "Implements vCenter GET method.",
+ "x-ms-examples": {
+ "GetVCenter": {
+ "$ref": "./examples/GetVCenter.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "vcenterName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the vCenter."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VCenter"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VCenters"
+ ],
+ "operationId": "VCenters_Update",
+ "summary": "Updates a vCenter.",
+ "description": "API to update certain properties of the vCenter resource.",
+ "x-ms-examples": {
+ "UpdateVCenter": {
+ "$ref": "./examples/UpdateVCenter.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "vcenterName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the vCenter."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Resource properties to update.",
+ "schema": {
+ "$ref": "#/definitions/ResourcePatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VCenter"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VCenters"
+ ],
+ "operationId": "VCenters_Delete",
+ "summary": "Deletes an vCenter.",
+ "description": "Implements vCenter DELETE method.",
+ "x-ms-examples": {
+ "DeleteVCenter": {
+ "$ref": "./examples/DeleteVCenter.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "vcenterName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the vCenter."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "query",
+ "name": "force",
+ "description": "Whether force delete was specified.",
+ "required": false,
+ "type": "boolean"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/vcenters": {
+ "get": {
+ "tags": [
+ "VCenters"
+ ],
+ "operationId": "VCenters_List",
+ "summary": "Implements GET vCenters in a subscription.",
+ "description": "List of vCenters in a subscription.",
+ "x-ms-examples": {
+ "ListVCenters": {
+ "$ref": "./examples/ListVCenters.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VCentersList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters": {
+ "get": {
+ "tags": [
+ "VCenters"
+ ],
+ "operationId": "VCenters_ListByResourceGroup",
+ "summary": "Implements GET vCenters in a resource group.",
+ "description": "List of vCenters in a resource group.",
+ "x-ms-examples": {
+ "ListVCentersByResourceGroup": {
+ "$ref": "./examples/ListVCentersByResourceGroup.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VCentersList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}": {
+ "put": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Create",
+ "description": "Create Or Update virtual machine.",
+ "summary": "Implements virtual machine PUT method.",
+ "x-ms-examples": {
+ "CreateVirtualMachine": {
+ "$ref": "./examples/CreateVirtualMachine.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualMachineName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the virtual machine resource."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Request payload.",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Get",
+ "summary": "Gets a virtual machine.",
+ "description": "Implements virtual machine GET method.",
+ "x-ms-examples": {
+ "GetVirtualMachine": {
+ "$ref": "./examples/GetVirtualMachine.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualMachineName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the virtual machine resource."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Update",
+ "summary": "Updates a virtual machine.",
+ "description": "API to update certain properties of the virtual machine resource.",
+ "x-ms-examples": {
+ "UpdateVirtualMachine": {
+ "$ref": "./examples/UpdateVirtualMachine.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualMachineName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the virtual machine resource."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Resource properties to update.",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Delete",
+ "summary": "Deletes an virtual machine.",
+ "description": "Implements virtual machine DELETE method.",
+ "x-ms-examples": {
+ "DeleteVirtualMachine": {
+ "$ref": "./examples/DeleteVirtualMachine.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualMachineName",
+ "description": "Name of the virtual machine resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "query",
+ "name": "force",
+ "description": "Whether force delete was specified.",
+ "required": false,
+ "type": "boolean"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/stop": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Stop",
+ "description": "Stop virtual machine.",
+ "summary": "Implements the operation to stop a virtual machine.",
+ "x-ms-examples": {
+ "StopVirtualMachine": {
+ "$ref": "./examples/StopVirtualMachine.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualMachineName",
+ "description": "Name of the virtual machine resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Virtualmachine stop action payload.",
+ "schema": {
+ "$ref": "#/definitions/StopVirtualMachineOptions"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/start": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Start",
+ "description": "Start virtual machine.",
+ "summary": "Implements the operation to start a virtual machine.",
+ "x-ms-examples": {
+ "StartVirtualMachine": {
+ "$ref": "./examples/StartVirtualMachine.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualMachineName",
+ "description": "Name of the virtual machine resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/restart": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Restart",
+ "description": "Restart virtual machine.",
+ "summary": "Implements the operation to restart a virtual machine.",
+ "x-ms-examples": {
+ "RestartVirtualMachine": {
+ "$ref": "./examples/RestartVirtualMachine.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualMachineName",
+ "description": "Name of the virtual machine resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines": {
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_List",
+ "summary": "Implements GET virtualMachines in a subscription.",
+ "description": "List of virtualMachines in a subscription.",
+ "x-ms-examples": {
+ "ListVirtualMachines": {
+ "$ref": "./examples/ListVirtualMachines.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachinesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines": {
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_ListByResourceGroup",
+ "summary": "Implements GET virtualMachines in a resource group.",
+ "description": "List of virtualMachines in a resource group.",
+ "x-ms-examples": {
+ "ListVirtualMachinesByResourceGroup": {
+ "$ref": "./examples/ListVirtualMachinesByResourceGroup.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachinesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates/{virtualMachineTemplateName}": {
+ "put": {
+ "tags": [
+ "VirtualMachineTemplates"
+ ],
+ "operationId": "VirtualMachineTemplates_Create",
+ "description": "Create Or Update virtual machine template.",
+ "x-ms-examples": {
+ "CreateVirtualMachineTemplate": {
+ "$ref": "./examples/CreateVirtualMachineTemplate.json"
+ }
+ },
+ "summary": "Implements virtual machine template PUT method.",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualMachineTemplateName",
+ "description": "Name of the virtual machine template resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Request payload.",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineTemplate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineTemplate"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineTemplate"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineTemplates"
+ ],
+ "operationId": "VirtualMachineTemplates_Get",
+ "summary": "Gets a virtual machine template.",
+ "description": "Implements virtual machine template GET method.",
+ "x-ms-examples": {
+ "GetVirtualMachineTemplate": {
+ "$ref": "./examples/GetVirtualMachineTemplate.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualMachineTemplateName",
+ "description": "Name of the virtual machine template resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineTemplate"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachineTemplates"
+ ],
+ "operationId": "VirtualMachineTemplates_Update",
+ "summary": "Updates a virtual machine template.",
+ "description": "API to update certain properties of the virtual machine template resource.",
+ "x-ms-examples": {
+ "UpdateVirtualMachineTemplate": {
+ "$ref": "./examples/UpdateVirtualMachineTemplate.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualMachineTemplateName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the virtual machine template resource."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Resource properties to update.",
+ "schema": {
+ "$ref": "#/definitions/ResourcePatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineTemplate"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineTemplates"
+ ],
+ "operationId": "VirtualMachineTemplates_Delete",
+ "summary": "Deletes an virtual machine template.",
+ "description": "Implements virtual machine template DELETE method.",
+ "x-ms-examples": {
+ "DeleteVirtualMachineTemplate": {
+ "$ref": "./examples/DeleteVirtualMachineTemplate.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualMachineTemplateName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the virtual machine template resource."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "query",
+ "name": "force",
+ "description": "Whether force delete was specified.",
+ "required": false,
+ "type": "boolean"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates": {
+ "get": {
+ "tags": [
+ "VirtualMachineTemplates"
+ ],
+ "operationId": "VirtualMachineTemplates_List",
+ "summary": "Implements GET virtualMachineTemplates in a subscription.",
+ "description": "List of virtualMachineTemplates in a subscription.",
+ "x-ms-examples": {
+ "ListVirtualMachineTemplates": {
+ "$ref": "./examples/ListVirtualMachineTemplates.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineTemplatesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachineTemplates": {
+ "get": {
+ "tags": [
+ "VirtualMachineTemplates"
+ ],
+ "operationId": "VirtualMachineTemplates_ListByResourceGroup",
+ "summary": "Implements GET virtualMachineTemplates in a resource group.",
+ "description": "List of virtualMachineTemplates in a resource group.",
+ "x-ms-examples": {
+ "ListVirtualMachineTemplatesByResourceGroup": {
+ "$ref": "./examples/ListVirtualMachineTemplatesByResourceGroup.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineTemplatesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks/{virtualNetworkName}": {
+ "put": {
+ "tags": [
+ "VirtualNetworks"
+ ],
+ "operationId": "VirtualNetworks_Create",
+ "description": "Create Or Update virtual network.",
+ "summary": "Implements virtual network PUT method.",
+ "x-ms-examples": {
+ "CreateVirtualNetwork": {
+ "$ref": "./examples/CreateVirtualNetwork.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualNetworkName",
+ "description": "Name of the virtual network resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Request payload.",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetwork"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetwork"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetwork"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualNetworks"
+ ],
+ "operationId": "VirtualNetworks_Get",
+ "summary": "Gets a virtual network.",
+ "description": "Implements virtual network GET method.",
+ "x-ms-examples": {
+ "GetVirtualNetwork": {
+ "$ref": "./examples/GetVirtualNetwork.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualNetworkName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the virtual network resource."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetwork"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualNetworks"
+ ],
+ "operationId": "VirtualNetworks_Update",
+ "summary": "Updates a virtual network.",
+ "description": "API to update certain properties of the virtual network resource.",
+ "x-ms-examples": {
+ "UpdateVirtualNetwork": {
+ "$ref": "./examples/UpdateVirtualNetwork.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualNetworkName",
+ "description": "Name of the virtual network resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Resource properties to update.",
+ "schema": {
+ "$ref": "#/definitions/ResourcePatch"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetwork"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VirtualNetworks"
+ ],
+ "operationId": "VirtualNetworks_Delete",
+ "summary": "Deletes an virtual network.",
+ "description": "Implements virtual network DELETE method.",
+ "x-ms-examples": {
+ "DeleteVirtualNetwork": {
+ "$ref": "./examples/DeleteVirtualNetwork.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualNetworkName",
+ "description": "Name of the virtual network resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "query",
+ "name": "force",
+ "description": "Whether force delete was specified.",
+ "required": false,
+ "type": "boolean"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks": {
+ "get": {
+ "tags": [
+ "VirtualNetworks"
+ ],
+ "operationId": "VirtualNetworks_List",
+ "summary": "Implements GET virtualNetworks in a subscription.",
+ "description": "List of virtualNetworks in a subscription.",
+ "x-ms-examples": {
+ "ListVirtualNetworks": {
+ "$ref": "./examples/ListVirtualNetworks.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworksList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualNetworks": {
+ "get": {
+ "tags": [
+ "VirtualNetworks"
+ ],
+ "operationId": "VirtualNetworks_ListByResourceGroup",
+ "summary": "Implements GET virtualNetworks in a resource group.",
+ "description": "List of virtualNetworks in a resource group.",
+ "x-ms-examples": {
+ "ListVirtualNetworksByResourceGroup": {
+ "$ref": "./examples/ListVirtualNetworksByResourceGroup.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/VirtualNetworksList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}/inventoryItems/{inventoryItemName}": {
+ "put": {
+ "tags": [
+ "InventoryItems"
+ ],
+ "operationId": "InventoryItems_Create",
+ "description": "Create Or Update InventoryItem.",
+ "summary": "Implements InventoryItem PUT method.",
+ "x-ms-examples": {
+ "CreateInventoryItem": {
+ "$ref": "./examples/CreateInventoryItem.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "vcenterName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the vCenter."
+ },
+ {
+ "in": "path",
+ "name": "inventoryItemName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the inventoryItem."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Request payload.",
+ "schema": {
+ "$ref": "#/definitions/InventoryItem"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/InventoryItem"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "InventoryItems"
+ ],
+ "operationId": "InventoryItems_Get",
+ "summary": "Gets InventoryItem.",
+ "description": "Implements InventoryItem GET method.",
+ "x-ms-examples": {
+ "GetInventoryItem": {
+ "$ref": "./examples/GetInventoryItem.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "vcenterName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the vCenter."
+ },
+ {
+ "in": "path",
+ "name": "inventoryItemName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the inventoryItem."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/InventoryItem"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "InventoryItems"
+ ],
+ "operationId": "InventoryItems_Delete",
+ "summary": "Deletes an inventoryItem.",
+ "description": "Implements inventoryItem DELETE method.",
+ "x-ms-examples": {
+ "DeleteInventoryItem": {
+ "$ref": "./examples/DeleteInventoryItem.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "vcenterName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the vCenter."
+ },
+ {
+ "in": "path",
+ "name": "inventoryItemName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the inventoryItem."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/vcenters/{vcenterName}/inventoryItems": {
+ "get": {
+ "tags": [
+ "InventoryItems"
+ ],
+ "operationId": "InventoryItems_ListByVCenter",
+ "summary": "Implements GET inventoryItems in a vCenter.",
+ "description": "Returns the list of inventoryItems of the given vCenter.",
+ "x-ms-examples": {
+ "InventoryItemsListByVCenter": {
+ "$ref": "./examples/InventoryItems_ListByVCenter.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "vcenterName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the vCenter."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/InventoryItemsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/hybridIdentityMetadata/{metadataName}": {
+ "put": {
+ "tags": [
+ "HybridIdentityMetadata"
+ ],
+ "operationId": "HybridIdentityMetadata_Create",
+ "description": "Create Or Update HybridIdentityMetadata.",
+ "summary": "Implements HybridIdentityMetadata PUT method.",
+ "x-ms-examples": {
+ "CreateHybridIdentityMetadata": {
+ "$ref": "./examples/CreateHybridIdentityMetadata.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualMachineName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the vm."
+ },
+ {
+ "in": "path",
+ "name": "metadataName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the hybridIdentityMetadata."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Request payload.",
+ "schema": {
+ "$ref": "#/definitions/HybridIdentityMetadata"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/HybridIdentityMetadata"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "HybridIdentityMetadata"
+ ],
+ "operationId": "HybridIdentityMetadata_Get",
+ "summary": "Gets HybridIdentityMetadata.",
+ "description": "Implements HybridIdentityMetadata GET method.",
+ "x-ms-examples": {
+ "GetHybridIdentityMetadata": {
+ "$ref": "./examples/GetHybridIdentityMetadata.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualMachineName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the vm."
+ },
+ {
+ "in": "path",
+ "name": "metadataName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the HybridIdentityMetadata."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/HybridIdentityMetadata"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "HybridIdentityMetadata"
+ ],
+ "operationId": "HybridIdentityMetadata_Delete",
+ "summary": "Deletes an HybridIdentityMetadata.",
+ "description": "Implements HybridIdentityMetadata DELETE method.",
+ "x-ms-examples": {
+ "DeleteHybridIdentityMetadata": {
+ "$ref": "./examples/DeleteHybridIdentityMetadata.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualMachineName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the vm."
+ },
+ {
+ "in": "path",
+ "name": "metadataName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the HybridIdentityMetadata."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/hybridIdentityMetadata": {
+ "get": {
+ "tags": [
+ "HybridIdentityMetadata"
+ ],
+ "operationId": "HybridIdentityMetadata_ListByVm",
+ "summary": "Implements GET HybridIdentityMetadata in a vm.",
+ "description": "Returns the list of HybridIdentityMetadata of the given vm.",
+ "x-ms-examples": {
+ "HybridIdentityMetadataListByVm": {
+ "$ref": "./examples/HybridIdentityMetadata_ListByVm.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualMachineName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the vm."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/HybridIdentityMetadataList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions/{extensionName}": {
+ "put": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_CreateOrUpdate",
+ "description": "The operation to create or update the extension.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine where the extension should be created or updated."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ },
+ "description": "Parameters supplied to the Create Machine Extension operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ }
+ },
+ "201": {
+ "description": "HTTP 201 (Created) if the operation was successfully started and will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update a Machine Extension (PUT)": {
+ "$ref": "./examples/PUTExtension.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "patch": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_Update",
+ "description": "The operation to update the extension.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine where the extension should be created or updated."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MachineExtensionUpdate"
+ },
+ "description": "Parameters supplied to the Create Machine Extension operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update a Machine Extension (PATCH)": {
+ "$ref": "./examples/UpdateExtension.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_Delete",
+ "description": "The operation to delete the extension.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine where the extension should be deleted."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a Machine Extension": {
+ "$ref": "./examples/DELETEExtension.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_Get",
+ "description": "The operation to get the extension.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine containing the extension."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Machine Extension": {
+ "$ref": "./examples/GETExtension.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{name}/extensions": {
+ "get": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_List",
+ "description": "The operation to get all extensions of a non-Azure machine",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine containing the extension."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtensionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get all Machine Extensions": {
+ "$ref": "./examples/LISTExtension.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/guestAgents/{name}": {
+ "put": {
+ "tags": [
+ "GuestAgents"
+ ],
+ "operationId": "GuestAgents_Create",
+ "description": "Create Or Update GuestAgent.",
+ "summary": "Implements GuestAgent PUT method.",
+ "x-ms-examples": {
+ "CreateGuestAgent": {
+ "$ref": "./examples/CreateGuestAgent.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualMachineName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the vm."
+ },
+ {
+ "in": "path",
+ "name": "name",
+ "required": true,
+ "type": "string",
+ "description": "Name of the guestAgents."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Request payload.",
+ "schema": {
+ "$ref": "#/definitions/GuestAgent"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/GuestAgent"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/GuestAgent"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "get": {
+ "tags": [
+ "GuestAgents"
+ ],
+ "operationId": "GuestAgents_Get",
+ "summary": "Gets GuestAgent.",
+ "description": "Implements GuestAgent GET method.",
+ "x-ms-examples": {
+ "GetGuestAgent": {
+ "$ref": "./examples/GetGuestAgent.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualMachineName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the vm."
+ },
+ {
+ "in": "path",
+ "name": "name",
+ "required": true,
+ "type": "string",
+ "description": "Name of the GuestAgent."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/GuestAgent"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GuestAgents"
+ ],
+ "operationId": "GuestAgents_Delete",
+ "summary": "Deletes an GuestAgent.",
+ "description": "Implements GuestAgent DELETE method.",
+ "x-ms-examples": {
+ "DeleteGuestAgent": {
+ "$ref": "./examples/DeleteGuestAgent.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualMachineName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the vm."
+ },
+ {
+ "in": "path",
+ "name": "name",
+ "required": true,
+ "type": "string",
+ "description": "Name of the GuestAgent."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ConnectedVMwarevSphere/virtualMachines/{virtualMachineName}/guestAgents": {
+ "get": {
+ "tags": [
+ "GuestAgents"
+ ],
+ "operationId": "GuestAgents_ListByVm",
+ "summary": "Implements GET GuestAgent in a vm.",
+ "description": "Returns the list of GuestAgent of the given vm.",
+ "x-ms-examples": {
+ "GuestAgentListByVm": {
+ "$ref": "./examples/GuestAgent_ListByVm.json"
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "in": "path",
+ "name": "virtualMachineName",
+ "required": true,
+ "type": "string",
+ "description": "Name of the vm."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/GuestAgentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ResourcePatch": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Object containing updates for patch operations."
+ },
+ "ResourcePoolProperties": {
+ "description": "Defines the resource properties.",
+ "type": "object",
+ "properties": {
+ "uuid": {
+ "description": "Gets or sets a unique identifier for this resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vCenterId": {
+ "description": "Gets or sets the ARM Id of the vCenter resource in which this resource pool resides.",
+ "type": "string"
+ },
+ "moRefId": {
+ "description": "Gets or sets the vCenter MoRef (Managed Object Reference) ID for the resource pool.",
+ "type": "string"
+ },
+ "inventoryItemId": {
+ "description": "Gets or sets the inventory Item ID for the resource pool.",
+ "type": "string"
+ },
+ "moName": {
+ "description": "Gets or sets the vCenter Managed Object name for the resource pool.",
+ "type": "string",
+ "readOnly": true
+ },
+ "cpuSharesLevel": {
+ "description": "Gets or sets CPUSharesLevel which specifies the CPU allocation level for this pool.\r\nThis property is used in relative allocation between resource consumers.",
+ "type": "string",
+ "readOnly": true
+ },
+ "cpuReservationMHz": {
+ "format": "int64",
+ "description": "Gets or sets CPUReservationMHz which specifies the CPU size in MHz that is guaranteed\r\nto be available.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "cpuLimitMHz": {
+ "format": "int64",
+ "description": "Gets or sets CPULimitMHz which specifies a CPU usage limit in MHz.\r\nUtilization will not exceed this limit even if there are available resources.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "memSharesLevel": {
+ "description": "Gets or sets CPUSharesLevel which specifies the memory allocation level for this pool.\r\nThis property is used in relative allocation between resource consumers.",
+ "type": "string",
+ "readOnly": true
+ },
+ "memReservationMB": {
+ "format": "int64",
+ "description": "Gets or sets MemReservationMB which specifies the guaranteed available memory in\r\nmegabytes.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "memLimitMB": {
+ "format": "int64",
+ "description": "Gets or sets MemLimitMB specifies a memory usage limit in megabytes.\r\nUtilization will not exceed the specified limit even if there are available resources.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "customResourceName": {
+ "description": "Gets the name of the corresponding resource in Kubernetes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "statuses": {
+ "description": "The resource status information.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceStatus"
+ }
+ },
+ "provisioningState": {
+ "description": "Gets or sets the provisioning state.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ResourcePool": {
+ "description": "Define the resourcePool.",
+ "required": [
+ "location",
+ "properties"
+ ],
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Resource properties.",
+ "$ref": "#/definitions/ResourcePoolProperties"
+ },
+ "location": {
+ "description": "Gets or sets the location.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "Gets or sets the extended location."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "The system data."
+ },
+ "tags": {
+ "description": "Gets or sets the Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "name": {
+ "description": "Gets or sets the name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Gets or sets the Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Gets or sets the type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "kind": {
+ "type": "string",
+ "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value."
+ }
+ }
+ },
+ "ResourcePoolsList": {
+ "description": "List of ResourcePools.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "Url to follow for getting next page of ResourcePools.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of ResourcePools",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourcePool"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "VICredential": {
+ "description": "Username / Password Credentials to connect to vcenter.",
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "Gets or sets username to connect with the vCenter.",
+ "type": "string"
+ },
+ "password": {
+ "description": "Gets or sets the password to connect with the vCenter.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ }
+ }
+ },
+ "ResourceStatus": {
+ "description": "The resource status information.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the condition.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the condition.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reason": {
+ "description": "The reason for the condition's status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "A human readable message indicating details about the status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "severity": {
+ "description": "Severity with which to treat failures of this type of condition.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastUpdatedAt": {
+ "description": "The last update time for this condition.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ }
+ }
+ },
+ "VCenterProperties": {
+ "description": "Defines the resource properties.",
+ "required": [
+ "fqdn"
+ ],
+ "type": "object",
+ "properties": {
+ "uuid": {
+ "description": "Gets or sets a unique identifier for this resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "fqdn": {
+ "description": "Gets or sets the FQDN/IPAddress of the vCenter.",
+ "type": "string"
+ },
+ "port": {
+ "format": "int32",
+ "description": "Gets or sets the port of the vCenter.",
+ "maximum": 65535,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "version": {
+ "description": "Gets or sets the version of the vCenter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "instanceUuid": {
+ "description": "Gets or sets the instance UUID of the vCenter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "connectionStatus": {
+ "description": "Gets or sets the connection status to the vCenter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "customResourceName": {
+ "description": "Gets the name of the corresponding resource in Kubernetes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "credentials": {
+ "description": "Username / Password Credentials to connect to vcenter.",
+ "$ref": "#/definitions/VICredential"
+ },
+ "statuses": {
+ "description": "The resource status information.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceStatus"
+ }
+ },
+ "provisioningState": {
+ "description": "Gets or sets the provisioning state.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "VirtualDiskUpdate": {
+ "description": "Defines the virtual disk update.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Gets or sets the name of the virtual disk.",
+ "type": "string"
+ },
+ "diskSizeGB": {
+ "format": "int32",
+ "description": "Gets or sets the disk total size.",
+ "type": "integer"
+ },
+ "deviceKey": {
+ "format": "int32",
+ "description": "Gets or sets the device key value.",
+ "type": "integer"
+ },
+ "diskMode": {
+ "description": "Gets or sets the disk mode.",
+ "$ref": "#/definitions/DiskMode"
+ },
+ "controllerKey": {
+ "description": "Gets or sets the controller id.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "unitNumber": {
+ "description": "Gets or sets the unit number of the disk on the controller.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "deviceName": {
+ "description": "Gets or sets the device name.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "Gets or sets the disk backing type.",
+ "$ref": "#/definitions/DiskType"
+ }
+ }
+ },
+ "VirtualDisk": {
+ "description": "Virtual disk model",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Gets or sets the name of the virtual disk.",
+ "type": "string"
+ },
+ "label": {
+ "description": "Gets or sets the label of the virtual disk in vCenter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskObjectId": {
+ "description": "Gets or sets the disk object id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "diskSizeGB": {
+ "format": "int32",
+ "description": "Gets or sets the disk total size.",
+ "type": "integer"
+ },
+ "deviceKey": {
+ "format": "int32",
+ "description": "Gets or sets the device key value.",
+ "type": "integer"
+ },
+ "diskMode": {
+ "description": "Gets or sets the disk mode.",
+ "$ref": "#/definitions/DiskMode"
+ },
+ "controllerKey": {
+ "description": "Gets or sets the controller id.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "unitNumber": {
+ "description": "Gets or sets the unit number of the disk on the controller.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "deviceName": {
+ "description": "Gets or sets the device name.",
+ "type": "string"
+ },
+ "diskType": {
+ "description": "Gets or sets the disk backing type.",
+ "$ref": "#/definitions/DiskType"
+ }
+ }
+ },
+ "Condition": {
+ "description": "Condition defines an extension to status.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of the condition.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reason": {
+ "description": "The reason for the condition's status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "A human readable message indicating details about the status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "severity": {
+ "description": "Severity with which to treat failures of this type of condition.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "VCenter": {
+ "description": "Defines the vCenter.",
+ "required": [
+ "location",
+ "properties"
+ ],
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Resource properties.",
+ "$ref": "#/definitions/VCenterProperties"
+ },
+ "location": {
+ "description": "Gets or sets the location.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "Gets or sets the extended location."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "The system data."
+ },
+ "tags": {
+ "description": "Gets or sets the Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "name": {
+ "description": "Gets or sets the name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Gets or sets the Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Gets or sets the type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "kind": {
+ "type": "string",
+ "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value."
+ }
+ }
+ },
+ "VCentersList": {
+ "description": "List of VCenters.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "Url to follow for getting next page of VCenters.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of VCenters",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VCenter"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "OsType": {
+ "description": "Defines the different types of VM guest operating systems.",
+ "enum": [
+ "Windows",
+ "Linux",
+ "Other"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "OsType"
+ }
+ },
+ "OsProfile": {
+ "description": "Defines the resource properties.",
+ "type": "object",
+ "properties": {
+ "computerName": {
+ "description": "Gets or sets computer name.",
+ "type": "string"
+ },
+ "adminUsername": {
+ "description": "Gets or sets administrator username.",
+ "type": "string"
+ },
+ "adminPassword": {
+ "description": "Gets or sets administrator password.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ },
+ "osType": {
+ "description": "Gets or sets the type of the os.",
+ "$ref": "#/definitions/OsType"
+ },
+ "osName": {
+ "description": "Gets or sets os name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "toolsRunningStatus": {
+ "description": "Gets or sets the current running status of VMware Tools running in the guest operating system.",
+ "type": "string",
+ "readOnly": true
+ },
+ "toolsVersionStatus": {
+ "description": "Gets or sets the current version status of VMware Tools installed in the guest operating system.",
+ "type": "string",
+ "readOnly": true
+ },
+ "toolsVersion": {
+ "description": "Gets or sets the current version of VMware Tools.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "HardwareProfile": {
+ "description": "Defines the resource properties.",
+ "type": "object",
+ "properties": {
+ "memorySizeMB": {
+ "format": "int32",
+ "description": "Gets or sets memory size in MBs for the vm.",
+ "type": "integer"
+ },
+ "numCPUs": {
+ "format": "int32",
+ "description": "Gets or sets the number of vCPUs for the vm.",
+ "type": "integer"
+ },
+ "numCoresPerSocket": {
+ "format": "int32",
+ "description": "Gets or sets the number of cores per socket for the vm. Defaults to 1 if unspecified.",
+ "type": "integer"
+ },
+ "cpuHotAddEnabled": {
+ "description": "Gets or sets a value indicating whether virtual processors can be added while this virtual machine is running.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "cpuHotRemoveEnabled": {
+ "description": "Gets or sets a value indicating whether virtual processors can be removed while this virtual machine is running.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "memoryHotAddEnabled": {
+ "description": "Gets or sets a value indicating whether memory can be added while this virtual machine is running.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "NetworkProfileUpdate": {
+ "description": "Defines the update resource properties.",
+ "type": "object",
+ "properties": {
+ "networkInterfaces": {
+ "description": "Gets or sets the list of network interfaces associated with the virtual machine.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterfaceUpdate"
+ }
+ }
+ }
+ },
+ "NetworkProfile": {
+ "description": "Defines the resource properties.",
+ "type": "object",
+ "properties": {
+ "networkInterfaces": {
+ "description": "Gets or sets the list of network interfaces associated with the virtual machine.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterface"
+ }
+ }
+ }
+ },
+ "SCSIControllerType": {
+ "description": "Defines the different types of SCSI controllers.",
+ "enum": [
+ "lsilogic",
+ "buslogic",
+ "pvscsi",
+ "lsilogicsas"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "SCSIControllerType"
+ }
+ },
+ "VirtualSCSISharing": {
+ "description": "Defines the sharing mode for sharing the SCSI bus.",
+ "enum": [
+ "noSharing",
+ "physicalSharing",
+ "virtualSharing"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "VirtualSCSISharing"
+ }
+ },
+ "VirtualSCSIController": {
+ "description": "This data object type contains the properties of a SCSI controller device attached to a virtual machine that is reported by the controller.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Gets or sets the controller type.",
+ "$ref": "#/definitions/SCSIControllerType"
+ },
+ "controllerKey": {
+ "format": "int32",
+ "description": "Gets or sets the key of the controller.",
+ "type": "integer"
+ },
+ "busNumber": {
+ "format": "int32",
+ "description": "Gets or sets the bus number of the controller.",
+ "type": "integer"
+ },
+ "scsiCtlrUnitNumber": {
+ "format": "int32",
+ "description": "Gets or sets the SCSI controller unit number.",
+ "type": "integer"
+ },
+ "sharing": {
+ "description": "Gets or sets the sharing mode.",
+ "$ref": "#/definitions/VirtualSCSISharing"
+ }
+ }
+ },
+ "StorageProfile": {
+ "description": "Defines the resource properties.",
+ "type": "object",
+ "properties": {
+ "disks": {
+ "description": "Gets or sets the list of virtual disks associated with the virtual machine.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualDisk"
+ }
+ },
+ "scsiControllers": {
+ "description": "Gets or sets the list of virtual SCSI controllers associated with the virtual machine.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualSCSIController"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "StorageProfileUpdate": {
+ "description": "Defines the resource update properties.",
+ "type": "object",
+ "properties": {
+ "disks": {
+ "description": "Gets or sets the list of virtual disks associated with the virtual machine.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualDiskUpdate"
+ }
+ }
+ }
+ },
+ "GuestAgentProfile": {
+ "description": "Defines the resource properties.",
+ "type": "object",
+ "properties": {
+ "vmUuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the VM's unique SMBIOS ID."
+ },
+ "status": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The status of the hybrid machine agent.",
+ "enum": [
+ "Connected",
+ "Disconnected",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "StatusTypes",
+ "modelAsString": true
+ }
+ },
+ "lastStatusChange": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time of the last status change."
+ },
+ "agentVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The hybrid machine agent full version."
+ },
+ "errorDetails": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
+ },
+ "description": "Details about the error state."
+ }
+ }
+ },
+ "PlacementProfile": {
+ "description": "Defines the resource properties.",
+ "type": "object",
+ "properties": {
+ "resourcePoolId": {
+ "type": "string",
+ "description": "Gets or sets the ARM Id of the resourcePool resource on which this virtual machine will deploy."
+ },
+ "clusterId": {
+ "type": "string",
+ "description": "Gets or sets the ARM Id of the cluster resource on which this virtual machine will deploy."
+ },
+ "hostId": {
+ "type": "string",
+ "description": "Gets or sets the ARM Id of the host resource on which this virtual machine will deploy."
+ },
+ "datastoreId": {
+ "type": "string",
+ "description": "Gets or sets the ARM Id of the datastore resource on which the data for the virtual machine will be kept."
+ }
+ }
+ },
+ "ExtendedLocation": {
+ "type": "object",
+ "description": "The extended location.",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The extended location type."
+ },
+ "name": {
+ "type": "string",
+ "description": "The extended location name."
+ }
+ }
+ },
+ "VirtualMachineProperties": {
+ "description": "Defines the resource properties.",
+ "type": "object",
+ "properties": {
+ "resourcePoolId": {
+ "description": "Gets or sets the ARM Id of the resourcePool resource on which this virtual machine will\r\ndeploy.",
+ "type": "string"
+ },
+ "templateId": {
+ "description": "Gets or sets the ARM Id of the template resource to deploy the virtual machine.",
+ "type": "string"
+ },
+ "vCenterId": {
+ "description": "Gets or sets the ARM Id of the vCenter resource in which this resource pool resides.",
+ "type": "string"
+ },
+ "placementProfile": {
+ "description": "Placement properties.",
+ "$ref": "#/definitions/PlacementProfile"
+ },
+ "osProfile": {
+ "description": "OS properties.",
+ "$ref": "#/definitions/OsProfile"
+ },
+ "hardwareProfile": {
+ "description": "Hardware properties.",
+ "$ref": "#/definitions/HardwareProfile"
+ },
+ "networkProfile": {
+ "description": "Network properties.",
+ "$ref": "#/definitions/NetworkProfile"
+ },
+ "storageProfile": {
+ "description": "Storage properties.",
+ "$ref": "#/definitions/StorageProfile"
+ },
+ "guestAgentProfile": {
+ "description": "Guest agent status properties.",
+ "$ref": "#/definitions/GuestAgentProfile"
+ },
+ "moRefId": {
+ "description": "Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual machine.",
+ "type": "string"
+ },
+ "inventoryItemId": {
+ "description": "Gets or sets the inventory Item ID for the virtual machine.",
+ "type": "string"
+ },
+ "moName": {
+ "description": "Gets or sets the vCenter Managed Object name for the virtual machine.",
+ "type": "string",
+ "readOnly": true
+ },
+ "folderPath": {
+ "description": "Gets or sets the folder path of the vm.",
+ "type": "string",
+ "readOnly": true
+ },
+ "instanceUuid": {
+ "description": "Gets or sets the instance uuid of the vm.",
+ "type": "string",
+ "readOnly": true
+ },
+ "smbiosUuid": {
+ "type": "string",
+ "description": "Gets or sets the SMBIOS UUID of the vm."
+ },
+ "firmwareType": {
+ "description": "Firmware type",
+ "$ref": "#/definitions/FirmwareType"
+ },
+ "powerState": {
+ "description": "Gets the power state of the virtual machine.",
+ "type": "string",
+ "readOnly": true
+ },
+ "customResourceName": {
+ "description": "Gets the name of the corresponding resource in Kubernetes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "uuid": {
+ "description": "Gets or sets a unique identifier for this resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "statuses": {
+ "description": "The resource status information.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceStatus"
+ }
+ },
+ "provisioningState": {
+ "description": "Gets or sets the provisioning state.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vmId": {
+ "description": "Gets or sets a unique identifier for the vm resource.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "VirtualMachine": {
+ "description": "Define the virtualMachine.",
+ "required": [
+ "location",
+ "properties"
+ ],
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Resource properties.",
+ "$ref": "#/definitions/VirtualMachineProperties"
+ },
+ "location": {
+ "description": "Gets or sets the location.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "Gets or sets the extended location."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "The system data."
+ },
+ "tags": {
+ "description": "Gets or sets the Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "name": {
+ "description": "Gets or sets the name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Gets or sets the Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Gets or sets the type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "kind": {
+ "type": "string",
+ "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the resource."
+ }
+ }
+ },
+ "VirtualMachineUpdateProperties": {
+ "description": "Defines the resource properties.",
+ "type": "object",
+ "properties": {
+ "hardwareProfile": {
+ "$ref": "#/definitions/HardwareProfile"
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/StorageProfileUpdate"
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/NetworkProfileUpdate"
+ }
+ }
+ },
+ "VirtualMachineUpdate": {
+ "description": "Defines the virtualMachineUpdate.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Resource properties.",
+ "$ref": "#/definitions/VirtualMachineUpdateProperties"
+ },
+ "tags": {
+ "description": "Gets or sets the Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the resource."
+ }
+ }
+ },
+ "VirtualMachinesList": {
+ "description": "List of VirtualMachines.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "Url to follow for getting next page of VirtualMachines.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of VirtualMachines",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "StopVirtualMachineOptions": {
+ "description": "Defines the stop action properties.",
+ "type": "object",
+ "properties": {
+ "skipShutdown": {
+ "description": "Gets or sets a value indicating whether to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Defaults to false.",
+ "type": "boolean",
+ "default": false
+ }
+ }
+ },
+ "VirtualMachineTemplateProperties": {
+ "description": "Defines the resource properties.",
+ "type": "object",
+ "properties": {
+ "uuid": {
+ "description": "Gets or sets a unique identifier for this resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vCenterId": {
+ "description": "Gets or sets the ARM Id of the vCenter resource in which this template resides.",
+ "type": "string"
+ },
+ "moRefId": {
+ "description": "Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual machine\r\ntemplate.",
+ "type": "string"
+ },
+ "inventoryItemId": {
+ "description": "Gets or sets the inventory Item ID for the virtual machine template.",
+ "type": "string"
+ },
+ "moName": {
+ "description": "Gets or sets the vCenter Managed Object name for the virtual machine template.",
+ "type": "string",
+ "readOnly": true
+ },
+ "memorySizeMB": {
+ "format": "int32",
+ "description": "Gets or sets memory size in MBs for the template.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "numCPUs": {
+ "format": "int32",
+ "description": "Gets or sets the number of vCPUs for the template.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "numCoresPerSocket": {
+ "format": "int32",
+ "description": "Gets or sets the number of cores per socket for the template.\r\nDefaults to 1 if unspecified.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "osType": {
+ "description": "Gets or sets the type of the os.",
+ "$ref": "#/definitions/OsType",
+ "readOnly": true
+ },
+ "osName": {
+ "description": "Gets or sets os name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "folderPath": {
+ "description": "Gets or sets the folder path of the template.",
+ "type": "string",
+ "readOnly": true
+ },
+ "networkInterfaces": {
+ "description": "Gets or sets the network interfaces of the template.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterface"
+ },
+ "readOnly": true
+ },
+ "disks": {
+ "description": "Gets or sets the disks the template.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualDisk"
+ },
+ "readOnly": true
+ },
+ "customResourceName": {
+ "description": "Gets the name of the corresponding resource in Kubernetes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "toolsVersionStatus": {
+ "description": "Gets or sets the current version status of VMware Tools installed in the guest operating system.",
+ "type": "string",
+ "readOnly": true
+ },
+ "toolsVersion": {
+ "description": "Gets or sets the current version of VMware Tools.",
+ "type": "string",
+ "readOnly": true
+ },
+ "firmwareType": {
+ "description": "Firmware type",
+ "$ref": "#/definitions/FirmwareType",
+ "readOnly": true
+ },
+ "statuses": {
+ "description": "The resource status information.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceStatus"
+ }
+ },
+ "provisioningState": {
+ "description": "Gets or sets the provisioning state.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ClusterProperties": {
+ "description": "Defines the resource properties.",
+ "type": "object",
+ "properties": {
+ "uuid": {
+ "description": "Gets or sets a unique identifier for this resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vCenterId": {
+ "description": "Gets or sets the ARM Id of the vCenter resource in which this cluster resides.",
+ "type": "string"
+ },
+ "moRefId": {
+ "description": "Gets or sets the vCenter MoRef (Managed Object Reference) ID for the cluster.",
+ "type": "string"
+ },
+ "inventoryItemId": {
+ "description": "Gets or sets the inventory Item ID for the cluster.",
+ "type": "string"
+ },
+ "moName": {
+ "description": "Gets or sets the vCenter Managed Object name for the cluster.",
+ "type": "string",
+ "readOnly": true
+ },
+ "statuses": {
+ "description": "The resource status information.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceStatus"
+ }
+ },
+ "customResourceName": {
+ "description": "Gets the name of the corresponding resource in Kubernetes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "datastoreIds": {
+ "description": "Gets or sets the datastore ARM ids.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "networkIds": {
+ "description": "Gets or sets the network ARM ids.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Gets or sets the provisioning state.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Cluster": {
+ "description": "Define the cluster.",
+ "required": [
+ "location",
+ "properties"
+ ],
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Resource properties.",
+ "$ref": "#/definitions/ClusterProperties"
+ },
+ "location": {
+ "description": "Gets or sets the location.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "Gets or sets the extended location."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "The system data."
+ },
+ "tags": {
+ "description": "Gets or sets the Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "name": {
+ "description": "Gets or sets the name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Gets or sets the Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Gets or sets the type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "kind": {
+ "type": "string",
+ "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value."
+ }
+ }
+ },
+ "ClustersList": {
+ "description": "List of Clusters.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "Url to follow for getting next page of Clusters.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of Clusters",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Cluster"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "HostProperties": {
+ "description": "Defines the resource properties.",
+ "type": "object",
+ "properties": {
+ "uuid": {
+ "description": "Gets or sets a unique identifier for this resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vCenterId": {
+ "description": "Gets or sets the ARM Id of the vCenter resource in which this host resides.",
+ "type": "string"
+ },
+ "moRefId": {
+ "description": "Gets or sets the vCenter MoRef (Managed Object Reference) ID for the host.",
+ "type": "string"
+ },
+ "inventoryItemId": {
+ "description": "Gets or sets the inventory Item ID for the host.",
+ "type": "string"
+ },
+ "moName": {
+ "description": "Gets or sets the vCenter Managed Object name for the host.",
+ "type": "string",
+ "readOnly": true
+ },
+ "statuses": {
+ "description": "The resource status information.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceStatus"
+ }
+ },
+ "customResourceName": {
+ "description": "Gets the name of the corresponding resource in Kubernetes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Gets or sets the provisioning state.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Host": {
+ "description": "Define the host.",
+ "required": [
+ "location",
+ "properties"
+ ],
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Resource properties.",
+ "$ref": "#/definitions/HostProperties"
+ },
+ "location": {
+ "description": "Gets or sets the location.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "Gets or sets the extended location."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "The system data."
+ },
+ "tags": {
+ "description": "Gets or sets the Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "name": {
+ "description": "Gets or sets the name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Gets or sets the Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Gets or sets the type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "kind": {
+ "type": "string",
+ "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value."
+ }
+ }
+ },
+ "HostsList": {
+ "description": "List of Hosts.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "Url to follow for getting next page of Hosts.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of Hosts",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Host"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "DatastoreProperties": {
+ "description": "Defines the resource properties.",
+ "type": "object",
+ "properties": {
+ "uuid": {
+ "description": "Gets or sets a unique identifier for this resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vCenterId": {
+ "description": "Gets or sets the ARM Id of the vCenter resource in which this datastore resides.",
+ "type": "string"
+ },
+ "moRefId": {
+ "description": "Gets or sets the vCenter MoRef (Managed Object Reference) ID for the datastore.",
+ "type": "string"
+ },
+ "inventoryItemId": {
+ "description": "Gets or sets the inventory Item ID for the datastore.",
+ "type": "string"
+ },
+ "moName": {
+ "description": "Gets or sets the vCenter Managed Object name for the datastore.",
+ "type": "string",
+ "readOnly": true
+ },
+ "statuses": {
+ "description": "The resource status information.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceStatus"
+ }
+ },
+ "customResourceName": {
+ "description": "Gets the name of the corresponding resource in Kubernetes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/ResourceProvisioningState",
+ "description": "Provisioning state of the resource.",
+ "readOnly": true
+ }
+ }
+ },
+ "ResourceProvisioningState": {
+ "type": "string",
+ "description": "The current deployment state of resource.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Provisioning",
+ "Updating",
+ "Deleting",
+ "Accepted",
+ "Created"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "Datastore": {
+ "description": "Define the datastore.",
+ "required": [
+ "location",
+ "properties"
+ ],
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Resource properties.",
+ "$ref": "#/definitions/DatastoreProperties"
+ },
+ "location": {
+ "description": "Gets or sets the location.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "Gets or sets the extended location."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "The system data."
+ },
+ "tags": {
+ "description": "Gets or sets the Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "name": {
+ "description": "Gets or sets the name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Gets or sets the Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Gets or sets the type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "kind": {
+ "type": "string",
+ "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value."
+ }
+ }
+ },
+ "DatastoresList": {
+ "description": "List of Datastores.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "Url to follow for getting next page of Datastores.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of Datastores",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Datastore"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "VirtualMachineTemplate": {
+ "description": "Define the virtualMachineTemplate.",
+ "required": [
+ "location",
+ "properties"
+ ],
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Resource properties.",
+ "$ref": "#/definitions/VirtualMachineTemplateProperties"
+ },
+ "location": {
+ "description": "Gets or sets the location.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "Gets or sets the extended location."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "The system data."
+ },
+ "tags": {
+ "description": "Gets or sets the Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "name": {
+ "description": "Gets or sets the name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Gets or sets the Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Gets or sets the type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "kind": {
+ "type": "string",
+ "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value."
+ }
+ }
+ },
+ "VirtualMachineTemplatesList": {
+ "description": "List of VirtualMachineTemplates.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "Url to follow for getting next page of VirtualMachineTemplates.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of VirtualMachineTemplates",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineTemplate"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "VirtualNetworkProperties": {
+ "description": "Defines the resource properties.",
+ "type": "object",
+ "properties": {
+ "uuid": {
+ "description": "Gets or sets a unique identifier for this resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vCenterId": {
+ "description": "Gets or sets the ARM Id of the vCenter resource in which this template resides.",
+ "type": "string"
+ },
+ "moRefId": {
+ "description": "Gets or sets the vCenter MoRef (Managed Object Reference) ID for the virtual network.",
+ "type": "string"
+ },
+ "inventoryItemId": {
+ "description": "Gets or sets the inventory Item ID for the virtual network.",
+ "type": "string"
+ },
+ "moName": {
+ "description": "Gets or sets the vCenter Managed Object name for the virtual network.",
+ "type": "string",
+ "readOnly": true
+ },
+ "customResourceName": {
+ "description": "Gets the name of the corresponding resource in Kubernetes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "statuses": {
+ "description": "The resource status information.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceStatus"
+ }
+ },
+ "provisioningState": {
+ "description": "Gets or sets the provisioning state.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "VirtualNetwork": {
+ "description": "Define the virtualNetwork.",
+ "required": [
+ "location",
+ "properties"
+ ],
+ "type": "object",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Resource properties.",
+ "$ref": "#/definitions/VirtualNetworkProperties"
+ },
+ "location": {
+ "description": "Gets or sets the location.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "Gets or sets the extended location."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "The system data."
+ },
+ "tags": {
+ "description": "Gets or sets the Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "name": {
+ "description": "Gets or sets the name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Gets or sets the Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Gets or sets the type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "kind": {
+ "type": "string",
+ "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value."
+ }
+ }
+ },
+ "VirtualNetworksList": {
+ "description": "List of VirtualNetworks.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "Url to follow for getting next page of VirtualNetworks.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of VirtualNetworks",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetwork"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "NetworkInterfaceUpdate": {
+ "description": "Defines the network interface update.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Gets or sets the name of the network interface.",
+ "type": "string"
+ },
+ "networkId": {
+ "description": "Gets or sets the ARM Id of the network resource to connect the virtual machine.",
+ "type": "string"
+ },
+ "nicType": {
+ "description": "NIC type",
+ "$ref": "#/definitions/NICType"
+ },
+ "powerOnBoot": {
+ "description": "Gets or sets the power on boot.",
+ "$ref": "#/definitions/PowerOnBootOption"
+ },
+ "deviceKey": {
+ "format": "int32",
+ "description": "Gets or sets the device key value.",
+ "type": "integer"
+ }
+ }
+ },
+ "NetworkInterface": {
+ "description": "Network Interface model",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Gets or sets the name of the network interface.",
+ "type": "string"
+ },
+ "label": {
+ "description": "Gets or sets the label of the virtual network in vCenter that the nic is connected to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "ipAddresses": {
+ "description": "Gets or sets the nic ip addresses.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "macAddress": {
+ "description": "Gets or sets the NIC MAC address.",
+ "type": "string",
+ "readOnly": true
+ },
+ "networkId": {
+ "description": "Gets or sets the ARM Id of the network resource to connect the virtual machine.",
+ "type": "string"
+ },
+ "nicType": {
+ "description": "NIC type",
+ "$ref": "#/definitions/NICType"
+ },
+ "powerOnBoot": {
+ "description": "Gets or sets the power on boot.",
+ "$ref": "#/definitions/PowerOnBootOption"
+ },
+ "networkMoRefId": {
+ "description": "Gets or sets the vCenter MoRef (Managed Object Reference) ID of the virtual network\r\nthat the nic is connected to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "networkMoName": {
+ "description": "Gets or sets the name of the virtual network in vCenter that the nic is connected to.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceKey": {
+ "format": "int32",
+ "description": "Gets or sets the device key value.",
+ "type": "integer"
+ },
+ "ipSettings": {
+ "description": "Gets or sets the ipsettings.",
+ "$ref": "#/definitions/NicIPSettings"
+ }
+ }
+ },
+ "PowerOnBootOption": {
+ "description": "Defines the options for power on boot.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PowerOnBootOption"
+ }
+ },
+ "DiskMode": {
+ "description": "Defines the different types of disk modes.",
+ "enum": [
+ "persistent",
+ "independent_persistent",
+ "independent_nonpersistent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "DiskMode"
+ }
+ },
+ "DiskType": {
+ "description": "Defines the different types of disks.",
+ "enum": [
+ "flat",
+ "pmem",
+ "rawphysical",
+ "rawvirtual",
+ "sparse",
+ "sesparse",
+ "unknown"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "DiskType"
+ }
+ },
+ "NICType": {
+ "description": "NIC type",
+ "type": "string",
+ "enum": [
+ "vmxnet3",
+ "vmxnet2",
+ "vmxnet",
+ "e1000",
+ "e1000e",
+ "pcnet32"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "NICType"
+ }
+ },
+ "FirmwareType": {
+ "description": "Firmware type",
+ "type": "string",
+ "enum": [
+ "bios",
+ "efi"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "FirmwareType"
+ }
+ },
+ "IPAddressAllocationMethod": {
+ "description": "IP address allocation method.",
+ "enum": [
+ "unset",
+ "dynamic",
+ "static",
+ "linklayer",
+ "random",
+ "other"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "IPAddressAllocationMethod"
+ }
+ },
+ "NicIPAddressSettings": {
+ "description": "IP address information for a virtual network adapter reported by the fabric.",
+ "type": "object",
+ "properties": {
+ "allocationMethod": {
+ "description": "Gets the ip address allocation method.",
+ "type": "string",
+ "readOnly": true
+ },
+ "ipAddress": {
+ "description": "Gets the ip address for the nic.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subnetMask": {
+ "description": "Gets the mask.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "NicIPSettings": {
+ "description": "Defines the network interface ip settings.",
+ "type": "object",
+ "properties": {
+ "allocationMethod": {
+ "description": "Gets or sets the nic allocation method.",
+ "$ref": "#/definitions/IPAddressAllocationMethod"
+ },
+ "dnsServers": {
+ "description": "Gets or sets the dns servers.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "gateway": {
+ "description": "Gets or sets the gateway.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ipAddress": {
+ "description": "Gets or sets the ip address for the nic.",
+ "type": "string"
+ },
+ "subnetMask": {
+ "description": "Gets or sets the mask.",
+ "type": "string"
+ },
+ "primaryWinsServer": {
+ "description": "Gets or sets the primary server.",
+ "type": "string",
+ "readOnly": true
+ },
+ "secondaryWinsServer": {
+ "description": "Gets or sets the secondary server.",
+ "type": "string",
+ "readOnly": true
+ },
+ "ipAddressInfo": {
+ "description": "Gets or sets the IP address information being reported for this NIC. This contains the same IPv4 information above plus IPV6 information.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NicIPAddressSettings"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ErrorDetail": {
+ "title": "Error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error's code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A human readable error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Indicates which property in the request is responsible for the error.",
+ "type": "string"
+ },
+ "details": {
+ "description": "Additional error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "operation": {
+ "description": "Operation provided by provider",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the operation"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is data action or not.",
+ "type": "boolean"
+ },
+ "display": {
+ "type": "object",
+ "description": "Properties of the operation",
+ "properties": {
+ "provider": {
+ "type": "string",
+ "description": "Provider name"
+ },
+ "resource": {
+ "type": "string",
+ "description": "Resource name"
+ },
+ "operation": {
+ "type": "string",
+ "description": "Operation name"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the operation"
+ }
+ }
+ }
+ }
+ },
+ "operationsList": {
+ "description": "Lists the operations available.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "Url to follow for getting next page of operations.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of operations",
+ "type": "array",
+ "items": {
+ "description": "Operation.",
+ "$ref": "#/definitions/operation"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "ErrorResponse": {
+ "description": "Error response.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorDefinition",
+ "description": "The error details."
+ }
+ }
+ },
+ "ErrorDefinition": {
+ "description": "Error definition.",
+ "type": "object",
+ "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
+ }
+ }
+ },
+ "InventoryItemsList": {
+ "description": "List of InventoryItems.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "Url to follow for getting next page of InventoryItems.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of InventoryItems",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InventoryItem"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "InventoryItem": {
+ "description": "Defines the inventory item.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource",
+ "description": "The resource model definition for an Azure Resource Manager proxy resource. It will have everything other than required location and tags."
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Resource properties.",
+ "$ref": "#/definitions/InventoryItemProperties"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "The system data."
+ },
+ "kind": {
+ "type": "string",
+ "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "InventoryItemProperties": {
+ "description": "Defines the resource properties.",
+ "required": [
+ "inventoryType"
+ ],
+ "discriminator": "inventoryType",
+ "type": "object",
+ "properties": {
+ "inventoryType": {
+ "description": "They inventory type.",
+ "$ref": "#/definitions/InventoryType"
+ },
+ "managedResourceId": {
+ "description": "Gets or sets the tracked resource id corresponding to the inventory resource.",
+ "type": "string"
+ },
+ "moRefId": {
+ "description": "Gets or sets the MoRef (Managed Object Reference) ID for the inventory item.",
+ "type": "string"
+ },
+ "moName": {
+ "description": "Gets or sets the vCenter Managed Object name for the inventory item.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "description": "Gets or sets the provisioning state.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ResourcePoolInventoryItem": {
+ "description": "The resource pool inventory item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/InventoryItemProperties"
+ }
+ ],
+ "properties": {
+ "parent": {
+ "description": "Parent resourcePool inventory resource details.",
+ "$ref": "#/definitions/InventoryItemDetails"
+ }
+ },
+ "x-ms-discriminator-value": "ResourcePool"
+ },
+ "VirtualMachineInventoryItem": {
+ "description": "The VM inventory item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/InventoryItemProperties"
+ }
+ ],
+ "properties": {
+ "osType": {
+ "description": "Gets or sets the type of the os.",
+ "$ref": "#/definitions/OsType"
+ },
+ "osName": {
+ "description": "Gets or sets os name.",
+ "type": "string"
+ },
+ "ipAddresses": {
+ "description": "Gets or sets the nic ip addresses.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "folderPath": {
+ "description": "Gets or sets the folder path of the vm.",
+ "type": "string"
+ },
+ "host": {
+ "description": "Host inventory resource details.",
+ "$ref": "#/definitions/InventoryItemDetails"
+ },
+ "resourcePool": {
+ "description": "ResourcePool inventory resource details.",
+ "$ref": "#/definitions/InventoryItemDetails"
+ },
+ "instanceUuid": {
+ "description": "Gets or sets the instance uuid of the vm.",
+ "type": "string"
+ },
+ "smbiosUuid": {
+ "type": "string",
+ "description": "Gets or sets the SMBIOS UUID of the vm."
+ },
+ "powerState": {
+ "description": "Gets the power state of the virtual machine.",
+ "type": "string",
+ "readOnly": true
+ },
+ "toolsRunningStatus": {
+ "description": "Gets or sets the current running status of VMware Tools running in the guest operating system.",
+ "type": "string",
+ "readOnly": true
+ },
+ "toolsVersionStatus": {
+ "description": "Gets or sets the current version status of VMware Tools installed in the guest operating system.",
+ "type": "string",
+ "readOnly": true
+ },
+ "toolsVersion": {
+ "description": "Gets or sets the current version of VMware Tools.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "VirtualMachine"
+ },
+ "VirtualMachineTemplateInventoryItem": {
+ "description": "The VM Template inventory item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/InventoryItemProperties"
+ }
+ ],
+ "properties": {
+ "memorySizeMB": {
+ "format": "int32",
+ "description": "Gets or sets memory size in MBs for the template.",
+ "type": "integer"
+ },
+ "numCPUs": {
+ "format": "int32",
+ "description": "Gets or sets the number of vCPUs for the template.",
+ "type": "integer"
+ },
+ "numCoresPerSocket": {
+ "format": "int32",
+ "description": "Gets or sets the number of cores per socket for the template.\r\nDefaults to 1 if unspecified.",
+ "type": "integer"
+ },
+ "osType": {
+ "description": "Gets or sets the type of the os.",
+ "$ref": "#/definitions/OsType"
+ },
+ "osName": {
+ "description": "Gets or sets os name.",
+ "type": "string"
+ },
+ "folderPath": {
+ "description": "Gets or sets the folder path of the template.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "VirtualMachineTemplate"
+ },
+ "VirtualNetworkInventoryItem": {
+ "description": "The Virtual network inventory item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/InventoryItemProperties"
+ }
+ ],
+ "x-ms-discriminator-value": "VirtualNetwork"
+ },
+ "ClusterInventoryItem": {
+ "description": "The cluster inventory item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/InventoryItemProperties"
+ }
+ ],
+ "x-ms-discriminator-value": "Cluster"
+ },
+ "DatastoreInventoryItem": {
+ "description": "The datastore inventory item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/InventoryItemProperties"
+ }
+ ],
+ "properties": {
+ "capacityGB": {
+ "format": "int64",
+ "description": "Gets or sets Maximum capacity of this datastore, in GBs.",
+ "type": "integer"
+ },
+ "freeSpaceGB": {
+ "format": "int64",
+ "description": "Gets or sets Available space of this datastore, in GBs.",
+ "type": "integer"
+ }
+ },
+ "x-ms-discriminator-value": "Datastore"
+ },
+ "HostInventoryItem": {
+ "description": "The host inventory item.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/InventoryItemProperties"
+ }
+ ],
+ "properties": {
+ "parent": {
+ "description": "Parent host inventory resource details.",
+ "$ref": "#/definitions/InventoryItemDetails"
+ }
+ },
+ "x-ms-discriminator-value": "Host"
+ },
+ "InventoryType": {
+ "type": "string",
+ "description": "The inventory type.",
+ "enum": [
+ "ResourcePool",
+ "VirtualMachine",
+ "VirtualMachineTemplate",
+ "VirtualNetwork",
+ "Cluster",
+ "Datastore",
+ "Host"
+ ],
+ "x-ms-enum": {
+ "name": "InventoryType",
+ "modelAsString": true
+ }
+ },
+ "InventoryItemDetails": {
+ "description": "Defines the resource properties.",
+ "type": "object",
+ "properties": {
+ "inventoryItemId": {
+ "description": "Gets or sets the inventory Item ID for the resource.",
+ "type": "string"
+ },
+ "moName": {
+ "description": "Gets or sets the vCenter Managed Object name for the resource.",
+ "type": "string"
+ }
+ }
+ },
+ "HybridIdentityMetadataList": {
+ "description": "List of HybridIdentityMetadata.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "Url to follow for getting next page of HybridIdentityMetadata.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of HybridIdentityMetadata",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HybridIdentityMetadata"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "HybridIdentityMetadata": {
+ "description": "Defines the HybridIdentityMetadata.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource",
+ "description": "The resource model definition for an Azure Resource Manager proxy resource. It will have everything other than required location and tags."
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Resource properties.",
+ "$ref": "#/definitions/HybridIdentityMetadataProperties"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "The system data."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "HybridIdentityMetadataProperties": {
+ "description": "Defines the resource properties.",
+ "type": "object",
+ "properties": {
+ "vmId": {
+ "description": "Gets or sets the Vm Id.",
+ "type": "string"
+ },
+ "publicKey": {
+ "description": "Gets or sets the Public Key.",
+ "type": "string"
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the resource.",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Gets or sets the provisioning state.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Identity": {
+ "type": "object",
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of managed service identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant of managed service identity."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of managed service identity.",
+ "enum": [
+ "None",
+ "SystemAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Managed service identity."
+ },
+ "MachineExtension": {
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MachineExtensionProperties",
+ "description": "Describes Machine Extension Properties."
+ },
+ "location": {
+ "description": "Gets or sets the location.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "The system data."
+ },
+ "tags": {
+ "description": "Gets or sets the Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "name": {
+ "description": "Gets or sets the name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Gets or sets the Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Gets or sets the type of the resource.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "description": "Describes a Machine Extension."
+ },
+ "MachineExtensionUpdate": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MachineExtensionUpdateProperties",
+ "description": "Describes Machine Extension Update Properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ResourcePatch"
+ }
+ ],
+ "description": "Describes a Machine Extension Update."
+ },
+ "MachineExtensionProperties": {
+ "type": "object",
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "How the extension handler should be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.",
+ "x-ms-secret": true
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "instanceView": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/MachineExtensionInstanceView"
+ }
+ ],
+ "description": "The machine extension instance view."
+ }
+ },
+ "description": "Describes the properties of a Machine Extension."
+ },
+ "MachineExtensionUpdateProperties": {
+ "type": "object",
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "How the extension handler should be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.",
+ "x-ms-secret": true
+ }
+ },
+ "description": "Describes the properties of a Machine Extension."
+ },
+ "MachineExtensionInstanceView": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The machine extension name."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Specifies the version of the script handler."
+ },
+ "status": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The status code."
+ },
+ "level": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The level code.",
+ "enum": [
+ "Info",
+ "Warning",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "StatusLevelTypes",
+ "modelAsString": true
+ }
+ },
+ "displayStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The short localizable label for the status."
+ },
+ "message": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The detailed status message, including for alerts and error messages."
+ },
+ "time": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time of the status."
+ }
+ },
+ "description": "Instance view status."
+ }
+ },
+ "description": "Describes the Machine Extension Instance View."
+ },
+ "MachineExtensionsListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MachineExtension"
+ },
+ "description": "The list of extensions"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of machine extensions. Call ListNext() with this to fetch the next page of extensions."
+ }
+ },
+ "description": "Describes the Machine Extensions List Result."
+ },
+ "ProvisioningAction": {
+ "description": "Defines the different types of operations for guest agent.",
+ "enum": [
+ "install",
+ "uninstall",
+ "repair"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ProvisioningAction"
+ }
+ },
+ "GuestCredential": {
+ "description": "Username / Password Credentials to connect to guest.",
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "Gets or sets username to connect with the guest.",
+ "type": "string"
+ },
+ "password": {
+ "description": "Gets or sets the password to connect with the guest.",
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "update"
+ ],
+ "x-ms-secret": true
+ }
+ }
+ },
+ "HttpProxyConfiguration": {
+ "description": "HTTP Proxy configuration for the VM.",
+ "type": "object",
+ "properties": {
+ "httpsProxy": {
+ "description": "Gets or sets httpsProxy url.",
+ "type": "string"
+ }
+ }
+ },
+ "GuestAgentList": {
+ "description": "List of GuestAgent.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "Url to follow for getting next page of GuestAgent.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Array of GuestAgent",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GuestAgent"
+ }
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "GuestAgent": {
+ "description": "Defines the GuestAgent.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource",
+ "description": "The resource model definition for an Azure Resource Manager proxy resource. It will have everything other than required location and tags."
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Resource properties.",
+ "$ref": "#/definitions/GuestAgentProperties"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "The system data."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "GuestAgentProperties": {
+ "description": "Defines the resource properties.",
+ "type": "object",
+ "properties": {
+ "uuid": {
+ "description": "Gets or sets a unique identifier for this resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "credentials": {
+ "description": "Username / Password Credentials to provision guest agent.",
+ "$ref": "#/definitions/GuestCredential"
+ },
+ "httpProxyConfig": {
+ "description": "HTTP Proxy configuration for the VM.",
+ "$ref": "#/definitions/HttpProxyConfiguration"
+ },
+ "provisioningAction": {
+ "description": "Gets or sets the guest agent provisioning action.",
+ "$ref": "#/definitions/ProvisioningAction",
+ "type": "string"
+ },
+ "status": {
+ "description": "Gets or sets the guest agent status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "customResourceName": {
+ "description": "Gets the name of the corresponding resource in Kubernetes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "statuses": {
+ "description": "The resource status information.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceStatus"
+ }
+ },
+ "provisioningState": {
+ "description": "Gets or sets the provisioning state.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "in": "path",
+ "name": "subscriptionId",
+ "description": "The Subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "api-version": {
+ "in": "query",
+ "name": "api-version",
+ "description": "Client Api Version.",
+ "required": true,
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "in": "path",
+ "name": "resourceGroupName",
+ "description": "The Resource Group Name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateCluster.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateCluster.json
new file mode 100644
index 000000000000..6a8c49468054
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateCluster.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "clusterName": "HRCluster",
+ "body": {
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Clusters/HRCluster",
+ "name": "HRCluster",
+ "type": "Microsoft.ConnectedVMwarevSphere/Clusters",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Clusters/ContosoAgent",
+ "name": "ContosoAgent",
+ "type": "Microsoft.ConnectedVMwarevSphere/Clusters",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateDatastore.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateDatastore.json
new file mode 100644
index 000000000000..9c749df5011a
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateDatastore.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "datastoreName": "HRDatastore",
+ "body": {
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Datastores/HRDatastore",
+ "name": "HRDatastore",
+ "type": "Microsoft.ConnectedVMwarevSphere/Datastores",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Datastores/ContosoAgent",
+ "name": "ContosoAgent",
+ "type": "Microsoft.ConnectedVMwarevSphere/Datastores",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateGuestAgent.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateGuestAgent.json
new file mode 100644
index 000000000000..6ae14d82ebb7
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateGuestAgent.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualMachineName": "ContosoVm",
+ "name": "default",
+ "body": {
+ "properties": {
+ "provisioningAction": "install",
+ "credentials": {
+ "username": "tempuser",
+ "password": ""
+ },
+ "httpProxyConfig": {
+ "httpsProxy": "http://192.1.2.3:8080"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VitualMachines/ContosoVm/guestAgents/default",
+ "name": "default",
+ "type": "Microsoft.ConnectedVMwarevSphere/VitualMachines/guestAgents",
+ "properties": {
+ "provisioningAction": "install",
+ "status": "connected",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VitualMachines/ContosoVm/guestAgents/default",
+ "name": "default",
+ "type": "Microsoft.ConnectedVMwarevSphere/VitualMachines/guestAgents",
+ "properties": {
+ "provisioningAction": "install",
+ "status": "connected",
+ "provisioningState": "Created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateHost.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateHost.json
new file mode 100644
index 000000000000..061e75864a0f
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateHost.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "hostName": "HRHost",
+ "body": {
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Hosts/HRHost",
+ "name": "HRHost",
+ "type": "Microsoft.ConnectedVMwarevSphere/Hosts",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Hosts/ContosoAgent",
+ "name": "ContosoAgent",
+ "type": "Microsoft.ConnectedVMwarevSphere/Hosts",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateHybridIdentityMetadata.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateHybridIdentityMetadata.json
new file mode 100644
index 000000000000..b65c4c76096d
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateHybridIdentityMetadata.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualMachineName": "ContosoVm",
+ "metadataName": "default",
+ "body": {
+ "properties": {
+ "vmId": "f8b82dff-38ef-4220-99ef-d3a3f86ddc6c",
+ "publicKey": "8ec7d60c-9700-40b1-8e6e-e5b2f6f477f2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VitualMachines/ContosoVm/hybridIdentityMetadatas/default",
+ "name": "testItem",
+ "type": "Microsoft.ConnectedVMwarevSphere/VitualMachines/hybridIdentityMetadatas",
+ "properties": {
+ "vmId": "f8b82dff-38ef-4220-99ef-d3a3f86ddc6c",
+ "publicKey": "8ec7d60c-9700-40b1-8e6e-e5b2f6f477f2",
+ "identity": {
+ "principalId": "7b5129bc-8642-4a6a-95f8-63400ca6ec4d",
+ "tenantId": "ec46ca82-5d4a-4e3e-b4b7-e27f9318645d",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateInventoryItem.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateInventoryItem.json
new file mode 100644
index 000000000000..6f7de662fb14
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateInventoryItem.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "vcenterName": "ContosoVCenter",
+ "inventoryItemName": "testItem",
+ "body": {
+ "properties": {
+ "inventoryType": "ResourcePool"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter/InventoryItems/testItem",
+ "name": "testItem",
+ "type": "Microsoft.ConnectedVMwarevSphere/VCenters/InventoryItems",
+ "properties": {
+ "inventoryType": "ResourcePool"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateResourcePool.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateResourcePool.json
new file mode 100644
index 000000000000..3aeb7d090d50
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateResourcePool.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "resourcePoolName": "HRPool",
+ "body": {
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool",
+ "name": "HRPool",
+ "type": "Microsoft.ConnectedVMwarevSphere/ResourcePools",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/ContosoAgent",
+ "name": "ContosoAgent",
+ "type": "Microsoft.ConnectedVMwarevSphere/ResourcePools",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVCenter.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVCenter.json
new file mode 100644
index 000000000000..60d481681955
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVCenter.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "vcenterName": "ContosoVCenter",
+ "body": {
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "fqdn": "ContosoVMware.contoso.com",
+ "port": 1234,
+ "credentials": {
+ "username": "tempuser",
+ "password": ""
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "name": "ContosoVCenter",
+ "type": "Microsoft.ConnectedVMwarevSphere/VCenters",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "fqdn": "ContosoVMware.contoso.com",
+ "port": 1234,
+ "credentials": {
+ "username": "tempuser"
+ },
+ "version": "1.0",
+ "instanceUuid": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "name": "ContosoVCenter",
+ "type": "Microsoft.ConnectedVMwarevSphere/VCenters",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "fqdn": "ContosoVMware.contoso.com",
+ "port": 1234,
+ "credentials": {
+ "username": "tempuser"
+ },
+ "version": "1.0",
+ "instanceUuid": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVirtualMachine.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVirtualMachine.json
new file mode 100644
index 000000000000..f7c43b5c842c
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVirtualMachine.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualMachineName": "DemoVM",
+ "body": {
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "resourcePoolId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool",
+ "templateId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate",
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "hardwareProfile": {
+ "memorySizeMB": 4196,
+ "numCPUs": 4
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachines/DemoVM",
+ "name": "DemoVM",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "resourcePoolId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool",
+ "templateId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate",
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "osProfile": {
+ "computerName": "DemoVM",
+ "osType": "Windows"
+ },
+ "hardwareProfile": {
+ "memorySizeMB": 4196,
+ "numCPUs": 4
+ },
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachines/ContosoAgent",
+ "name": "ContosoAgent",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "resourcePoolId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool",
+ "templateId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate",
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "osProfile": {
+ "computerName": "DemoVM",
+ "osType": "Windows"
+ },
+ "hardwareProfile": {
+ "memorySizeMB": 4196,
+ "numCPUs": 4
+ },
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVirtualMachineTemplate.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVirtualMachineTemplate.json
new file mode 100644
index 000000000000..6002d00d8703
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVirtualMachineTemplate.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualMachineTemplateName": "WebFrontEndTemplate",
+ "body": {
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate",
+ "name": "WebFrontEndTemplate",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/ContosoAgent",
+ "name": "ContosoAgent",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVirtualNetwork.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVirtualNetwork.json
new file mode 100644
index 000000000000..b40ef6f0d283
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/CreateVirtualNetwork.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualNetworkName": "ProdNetwork",
+ "body": {
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/ProdNetwork",
+ "name": "ProdNetwork",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualNetworks",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/ContosoAgent",
+ "name": "ContosoAgent",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualNetworks",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DELETEExtension.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DELETEExtension.json
new file mode 100644
index 000000000000..ee9c207fd698
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DELETEExtension.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "extensionName": "MMA",
+ "api-version": "2020-10-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteCluster.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteCluster.json
new file mode 100644
index 000000000000..8eae49d45700
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteCluster.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "clusterName": "HRCluster"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteDatastore.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteDatastore.json
new file mode 100644
index 000000000000..d0bf2d43edc9
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteDatastore.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "datastoreName": "HRDatastore"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteGuestAgent.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteGuestAgent.json
new file mode 100644
index 000000000000..70815b865695
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteGuestAgent.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualMachineName": "ContosoVm",
+ "name": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteHost.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteHost.json
new file mode 100644
index 000000000000..cee3e485e8a7
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteHost.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "hostName": "HRHost"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteHybridIdentityMetadata.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteHybridIdentityMetadata.json
new file mode 100644
index 000000000000..ec09cae88b0e
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteHybridIdentityMetadata.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualMachineName": "ContosoVm",
+ "metadataName": "default"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteInventoryItem.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteInventoryItem.json
new file mode 100644
index 000000000000..124c3b7254b6
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteInventoryItem.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "vcenterName": "ContosoVCenter",
+ "inventoryItemName": "testItem"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteResourcePool.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteResourcePool.json
new file mode 100644
index 000000000000..e82b1f1e8330
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteResourcePool.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "resourcePoolName": "HRPool"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVCenter.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVCenter.json
new file mode 100644
index 000000000000..87d0493c7e20
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVCenter.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "vcenterName": "ContosoVCenter"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVirtualMachine.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVirtualMachine.json
new file mode 100644
index 000000000000..b7333b9ca978
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVirtualMachine.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualMachineName": "DemoVM"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVirtualMachineTemplate.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVirtualMachineTemplate.json
new file mode 100644
index 000000000000..2d4edf62ccf2
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVirtualMachineTemplate.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualMachineTemplateName": "WebFrontEndTemplate"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVirtualNetwork.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVirtualNetwork.json
new file mode 100644
index 000000000000..aaf0974cbef3
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/DeleteVirtualNetwork.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualNetworkName": "ProdNetwork"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GETExtension.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GETExtension.json
new file mode 100644
index 000000000000..e67d330149e9
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GETExtension.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "extensionName": "CustomScriptExtension",
+ "api-version": "2020-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines/extensions",
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}",
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "displayStatus": "Provisioning succeeded",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2019-08-08T20:42:10.999Z"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetCluster.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetCluster.json
new file mode 100644
index 000000000000..7dd3194da4ca
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetCluster.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "clusterName": "HRCluster"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Clusters/HRCluster",
+ "name": "HRCluster",
+ "type": "Microsoft.ConnectedVMwarevSphere/Clusters",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetDatastore.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetDatastore.json
new file mode 100644
index 000000000000..4f01f03958b0
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetDatastore.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "datastoreName": "HRDatastore"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Datastores/HRDatastore",
+ "name": "HRDatastore",
+ "type": "Microsoft.ConnectedVMwarevSphere/Datastores",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetGuestAgent.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetGuestAgent.json
new file mode 100644
index 000000000000..0718866d57b5
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetGuestAgent.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualMachineName": "ContosoVm",
+ "name": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VitualMachines/ContosoVm/guestAgents/default",
+ "name": "default",
+ "type": "Microsoft.ConnectedVMwarevSphere/VitualMachines/guestAgents",
+ "properties": {
+ "provisioningAction": "install",
+ "status": "connected",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetHost.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetHost.json
new file mode 100644
index 000000000000..df4db075f076
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetHost.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "hostName": "HRHost"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Hosts/HRHost",
+ "name": "HRHost",
+ "type": "Microsoft.ConnectedVMwarevSphere/Hosts",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetHybridIdentityMetadata.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetHybridIdentityMetadata.json
new file mode 100644
index 000000000000..1cfa7dd08bef
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetHybridIdentityMetadata.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualMachineName": "ContosoVm",
+ "metadataName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VitualMachines/ContosoVm/hybridIdentityMetadatas/default",
+ "name": "testItem",
+ "type": "Microsoft.ConnectedVMwarevSphere/VitualMachines/hybridIdentityMetadatas",
+ "properties": {
+ "vmId": "f8b82dff-38ef-4220-99ef-d3a3f86ddc6c",
+ "publicKey": "8ec7d60c-9700-40b1-8e6e-e5b2f6f477f2",
+ "identity": {
+ "principalId": "7b5129bc-8642-4a6a-95f8-63400ca6ec4d",
+ "tenantId": "ec46ca82-5d4a-4e3e-b4b7-e27f9318645d",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetInventoryItem.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetInventoryItem.json
new file mode 100644
index 000000000000..704fce09922d
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetInventoryItem.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "vcenterName": "ContosoVCenter",
+ "inventoryItemName": "testItem"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter/InventoryItems/testItem",
+ "name": "testItem",
+ "type": "Microsoft.ConnectedVMwarevSphere/VCenters/InventoryItems",
+ "properties": {
+ "inventoryType": "ResourcePool"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetResourcePool.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetResourcePool.json
new file mode 100644
index 000000000000..37454fcb4200
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetResourcePool.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "resourcePoolName": "HRPool"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool",
+ "name": "HRPool",
+ "type": "Microsoft.ConnectedVMwarevSphere/ResourcePools",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVCenter.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVCenter.json
new file mode 100644
index 000000000000..98a8cebae24c
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVCenter.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "vcenterName": "ContosoVCenter"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "name": "ContosoVCenter",
+ "type": "Microsoft.ConnectedVMwarevSphere/VCenters",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "fqdn": "ContosoVMware.contoso.com",
+ "port": 1234,
+ "credentials": {
+ "username": "tempuser"
+ },
+ "version": "1.0",
+ "instanceUuid": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVirtualMachine.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVirtualMachine.json
new file mode 100644
index 000000000000..9f196782a5d7
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVirtualMachine.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualMachineName": "DemoVM"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachines/DemoVM",
+ "name": "DemoVM",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "resourcePoolId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool",
+ "templateId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate",
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "osProfile": {
+ "computerName": "DemoVM",
+ "osType": "Windows"
+ },
+ "hardwareProfile": {
+ "memorySizeMB": 4196,
+ "numCPUs": 4
+ },
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVirtualMachineTemplate.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVirtualMachineTemplate.json
new file mode 100644
index 000000000000..e2fac2f2f75c
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVirtualMachineTemplate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualMachineTemplateName": "WebFrontEndTemplate"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate",
+ "name": "WebFrontEndTemplate",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVirtualNetwork.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVirtualNetwork.json
new file mode 100644
index 000000000000..ae5ebb669f1e
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GetVirtualNetwork.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualNetworkName": "ProdNetwork"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/ProdNetwork",
+ "name": "ProdNetwork",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualNetworks",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GuestAgent_ListByVm.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GuestAgent_ListByVm.json
new file mode 100644
index 000000000000..f7aebe231e3e
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/GuestAgent_ListByVm.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualMachineName": "ContosoVm"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VitualMachines/ContosoVm/guestAgents/default",
+ "name": "default",
+ "type": "Microsoft.ConnectedVMwarevSphere/VitualMachines/guestAgents",
+ "properties": {
+ "provisioningAction": "install",
+ "status": "connected",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/HybridIdentityMetadata_ListByVm.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/HybridIdentityMetadata_ListByVm.json
new file mode 100644
index 000000000000..9248df888c7b
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/HybridIdentityMetadata_ListByVm.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualMachineName": "ContosoVm"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VitualMachines/ContosoVm/hybridIdentityMetadatas/default",
+ "name": "testItem",
+ "type": "Microsoft.ConnectedVMwarevSphere/VitualMachines/hybridIdentityMetadatas",
+ "properties": {
+ "vmId": "f8b82dff-38ef-4220-99ef-d3a3f86ddc6c",
+ "publicKey": "8ec7d60c-9700-40b1-8e6e-e5b2f6f477f2",
+ "identity": {
+ "principalId": "7b5129bc-8642-4a6a-95f8-63400ca6ec4d",
+ "tenantId": "ec46ca82-5d4a-4e3e-b4b7-e27f9318645d",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/InventoryItems_ListByVCenter.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/InventoryItems_ListByVCenter.json
new file mode 100644
index 000000000000..e5d381b9d5a6
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/InventoryItems_ListByVCenter.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "vcenterName": "ContosoVCenter"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter/InventoryItems/testItem",
+ "name": "testItem",
+ "type": "Microsoft.ConnectedVMwarevSphere/VCenters/InventoryItems",
+ "properties": {
+ "inventoryType": "ResourcePool"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/LISTExtension.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/LISTExtension.json
new file mode 100644
index 000000000000..453651e74d9f
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/LISTExtension.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "api-version": "2020-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "location": "eastus2euap",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines/extensions",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": {
+ "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\""
+ },
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "displayStatus": "Provisioning succeeded",
+ "message": "formattedMessage: Finished executing command, StdOut: , StdErr: ",
+ "time": "2020-08-13T17:18:57.405Z"
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/winosupdateextension",
+ "name": "winosupdateextension",
+ "location": "eastus2euap",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines/extensions",
+ "properties": {
+ "publisher": "microsoft.softwareupdatemanagement.test",
+ "type": "windowsosupdateextension",
+ "typeHandlerVersion": "1.0.0.0",
+ "autoUpgradeMinorVersion": false,
+ "settings": {},
+ "provisioningState": "Creating",
+ "instanceView": {
+ "name": "winosupdateextension",
+ "type": "windowsosupdateextension",
+ "typeHandlerVersion": "1.0.0.0",
+ "status": {}
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListClusters.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListClusters.json
new file mode 100644
index 000000000000..f5cd18f2c565
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListClusters.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Clusters/HRCluster",
+ "name": "HRCluster",
+ "type": "Microsoft.ConnectedVMwarevSphere/Clusters",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListClustersByResourceGroup.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListClustersByResourceGroup.json
new file mode 100644
index 000000000000..040c9e16e044
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListClustersByResourceGroup.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Clusters/HRCluster",
+ "name": "HRCluster",
+ "type": "Microsoft.ConnectedVMwarevSphere/Clusters",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListDatastores.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListDatastores.json
new file mode 100644
index 000000000000..a88aec750694
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListDatastores.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Datastores/HRDatastore",
+ "name": "HRDatastore",
+ "type": "Microsoft.ConnectedVMwarevSphere/Datastores",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListDatastoresByResourceGroup.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListDatastoresByResourceGroup.json
new file mode 100644
index 000000000000..0177bfdf3f2a
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListDatastoresByResourceGroup.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Datastores/HRDatastore",
+ "name": "HRDatastore",
+ "type": "Microsoft.ConnectedVMwarevSphere/Datastores",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListHosts.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListHosts.json
new file mode 100644
index 000000000000..8d5533841207
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListHosts.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Hosts/HRHost",
+ "name": "HRHost",
+ "type": "Microsoft.ConnectedVMwarevSphere/Hosts",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListHostsByResourceGroup.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListHostsByResourceGroup.json
new file mode 100644
index 000000000000..04a20207b0be
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListHostsByResourceGroup.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Hosts/HRHost",
+ "name": "HRHost",
+ "type": "Microsoft.ConnectedVMwarevSphere/Hosts",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListOperations.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListOperations.json
new file mode 100644
index 000000000000..144697c88e63
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListOperations.json
@@ -0,0 +1,203 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "microsoft.vmware/vcenters/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "microsoft.vmware",
+ "resource": "vcenters",
+ "operation": "Gets/List vcenters resources",
+ "description": "Read vcenters"
+ }
+ },
+ {
+ "name": "microsoft.vmware/vcenters/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "microsoft.vmware",
+ "resource": "vcenters",
+ "operation": "Create/update vcenters resources",
+ "description": "Writes vcenters"
+ }
+ },
+ {
+ "name": "microsoft.vmware/vcenters/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "microsoft.vmware",
+ "resource": "vcenters",
+ "operation": "Deletes vcenters resource",
+ "description": "Deletes vcenters"
+ }
+ },
+ {
+ "name": "microsoft.vmware/resourcepools/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "microsoft.vmware",
+ "resource": "resourcepools",
+ "operation": "Gets/List resourcepools resources",
+ "description": "Read resourcepools"
+ }
+ },
+ {
+ "name": "microsoft.vmware/resourcepools/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "microsoft.vmware",
+ "resource": "resourcepools",
+ "operation": "Create/update resourcepools resources",
+ "description": "Writes resourcepools"
+ }
+ },
+ {
+ "name": "microsoft.vmware/resourcepools/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "microsoft.vmware",
+ "resource": "resourcepools",
+ "operation": "Deletes resourcepools resource",
+ "description": "Deletes resourcepools"
+ }
+ },
+ {
+ "name": "microsoft.vmware/virtualmachines/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "microsoft.vmware",
+ "resource": "virtualmachines",
+ "operation": "Gets/List virtualmachines resources",
+ "description": "Read virtualmachines"
+ }
+ },
+ {
+ "name": "microsoft.vmware/virtualmachines/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "microsoft.vmware",
+ "resource": "virtualmachines",
+ "operation": "Create/update virtualmachines resources",
+ "description": "Writes virtualmachines"
+ }
+ },
+ {
+ "name": "microsoft.vmware/virtualmachines/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "microsoft.vmware",
+ "resource": "virtualmachines",
+ "operation": "Deletes virtualmachines resource",
+ "description": "Deletes virtualmachines"
+ }
+ },
+ {
+ "name": "microsoft.vmware/virtualmachinetemplates/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "microsoft.vmware",
+ "resource": "virtualmachinetemplates",
+ "operation": "Gets/List virtualmachinetemplates resources",
+ "description": "Read virtualmachinetemplates"
+ }
+ },
+ {
+ "name": "microsoft.vmware/virtualmachinetemplates/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "microsoft.vmware",
+ "resource": "virtualmachinetemplates",
+ "operation": "Create/update virtualmachinetemplates resources",
+ "description": "Writes virtualmachinetemplates"
+ }
+ },
+ {
+ "name": "microsoft.vmware/virtualmachinetemplates/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "microsoft.vmware",
+ "resource": "virtualmachinetemplates",
+ "operation": "Deletes virtualmachinetemplates resource",
+ "description": "Deletes virtualmachinetemplates"
+ }
+ },
+ {
+ "name": "microsoft.vmware/virtualnetworks/Read",
+ "isDataAction": false,
+ "display": {
+ "provider": "microsoft.vmware",
+ "resource": "virtualnetworks",
+ "operation": "Gets/List virtualnetworks resources",
+ "description": "Read virtualnetworks"
+ }
+ },
+ {
+ "name": "microsoft.vmware/virtualnetworks/Write",
+ "isDataAction": false,
+ "display": {
+ "provider": "microsoft.vmware",
+ "resource": "virtualnetworks",
+ "operation": "Create/update virtualnetworks resources",
+ "description": "Writes virtualnetworks"
+ }
+ },
+ {
+ "name": "microsoft.vmware/virtualnetworks/Delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "microsoft.vmware",
+ "resource": "virtualnetworks",
+ "operation": "Deletes virtualnetworks resource",
+ "description": "Deletes virtualnetworks"
+ }
+ },
+ {
+ "name": "microsoft.vmware/arczones/deploy/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "microsoft.vmware",
+ "resource": "arczones",
+ "operation": "Deploy on arczone.",
+ "description": "Deploy on arczone."
+ }
+ },
+ {
+ "name": "microsoft.vmware/virtualmachinetemplates/clone/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "microsoft.vmware",
+ "resource": "virtualmachinetemplates",
+ "operation": "Clone on virtual machine templates.",
+ "description": "Clone on virtual machine templates."
+ }
+ },
+ {
+ "name": "microsoft.vmware/resourcepools/deploy/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "microsoft.vmware",
+ "resource": "resourcepools",
+ "operation": "Deploy on resource pool.",
+ "description": "Deploy on resource pool."
+ }
+ },
+ {
+ "name": "microsoft.vmware/virtualnetworks/join/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "microsoft.vmware",
+ "resource": "virtualnetworks",
+ "operation": "Join virtual network.",
+ "description": "Join virtual network."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListResourcePools.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListResourcePools.json
new file mode 100644
index 000000000000..481ea519c04a
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListResourcePools.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool",
+ "name": "HRPool",
+ "type": "Microsoft.ConnectedVMwarevSphere/ResourcePools",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListResourcePoolsByResourceGroup.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListResourcePoolsByResourceGroup.json
new file mode 100644
index 000000000000..141d41001445
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListResourcePoolsByResourceGroup.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool",
+ "name": "HRPool",
+ "type": "Microsoft.ConnectedVMwarevSphere/ResourcePools",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVCenters.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVCenters.json
new file mode 100644
index 000000000000..34410e512267
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVCenters.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "name": "ContosoVCenter",
+ "type": "Microsoft.ConnectedVMwarevSphere/VCenters",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "fqdn": "ContosoVMware.contoso.com",
+ "port": 1234,
+ "credentials": {
+ "username": "tempuser"
+ },
+ "version": "1.0",
+ "instanceUuid": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVCentersByResourceGroup.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVCentersByResourceGroup.json
new file mode 100644
index 000000000000..274316735703
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVCentersByResourceGroup.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "name": "ContosoVCenter",
+ "type": "Microsoft.ConnectedVMwarevSphere/VCenters",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "fqdn": "ContosoVMware.contoso.com",
+ "port": 1234,
+ "credentials": {
+ "username": "tempuser"
+ },
+ "version": "1.0",
+ "instanceUuid": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachineTemplates.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachineTemplates.json
new file mode 100644
index 000000000000..7764ca07f190
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachineTemplates.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate",
+ "name": "WebFrontEndTemplate",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachineTemplatesByResourceGroup.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachineTemplatesByResourceGroup.json
new file mode 100644
index 000000000000..d0a65801dbe5
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachineTemplatesByResourceGroup.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate",
+ "name": "WebFrontEndTemplate",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachines.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachines.json
new file mode 100644
index 000000000000..feb1e3e0802d
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachines.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachines/DemoVM",
+ "name": "DemoVM",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "resourcePoolId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool",
+ "templateId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate",
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "osProfile": {
+ "computerName": "DemoVM",
+ "osType": "Windows"
+ },
+ "hardwareProfile": {
+ "memorySizeMB": 4196,
+ "numCPUs": 4
+ },
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachinesByResourceGroup.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachinesByResourceGroup.json
new file mode 100644
index 000000000000..2e27e6e1c49a
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualMachinesByResourceGroup.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachines/DemoVM",
+ "name": "DemoVM",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "resourcePoolId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool",
+ "templateId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate",
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "osProfile": {
+ "computerName": "DemoVM",
+ "osType": "Windows"
+ },
+ "hardwareProfile": {
+ "memorySizeMB": 4196,
+ "numCPUs": 4
+ },
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualNetworks.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualNetworks.json
new file mode 100644
index 000000000000..ecfd41af9aa2
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualNetworks.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/ProdNetwork",
+ "name": "ProdNetwork",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualNetworks",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualNetworksByResourceGroup.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualNetworksByResourceGroup.json
new file mode 100644
index 000000000000..b53dd21b97d7
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/ListVirtualNetworksByResourceGroup.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/ProdNetwork",
+ "name": "ProdNetwork",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualNetworks",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/PUTExtension.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/PUTExtension.json
new file mode 100644
index 000000000000..49f0ef1db77a
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/PUTExtension.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "extensionName": "CustomScriptExtension",
+ "api-version": "2020-10-01-preview",
+ "extensionParameters": {
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "typeHandlerVersion": "1.10",
+ "type": "CustomScriptExtension",
+ "settings": {
+ "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\""
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines/extensions",
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}",
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2020-08-08T20:42:10.999Z"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines/extensions",
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}",
+ "provisioningState": "Created",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {}
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/RestartVirtualMachine.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/RestartVirtualMachine.json
new file mode 100644
index 000000000000..d126622ef3b3
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/RestartVirtualMachine.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualMachineName": "DemoVM"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/StartVirtualMachine.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/StartVirtualMachine.json
new file mode 100644
index 000000000000..d126622ef3b3
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/StartVirtualMachine.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualMachineName": "DemoVM"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/StopVirtualMachine.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/StopVirtualMachine.json
new file mode 100644
index 000000000000..033f4d84291b
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/StopVirtualMachine.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualMachineName": "DemoVM",
+ "body": {
+ "skipShutdown": true
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateCluster.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateCluster.json
new file mode 100644
index 000000000000..b4e85c37763f
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateCluster.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "clusterName": "HRCluster",
+ "body": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Clusters/HRCluster",
+ "name": "HRCluster",
+ "type": "Microsoft.ConnectedVMwarevSphere/Clusters",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateDatastore.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateDatastore.json
new file mode 100644
index 000000000000..6dffca04ed35
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateDatastore.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "datastoreName": "HRDatastore",
+ "body": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Datastores/HRDatastore",
+ "name": "HRDatastore",
+ "type": "Microsoft.ConnectedVMwarevSphere/Datastores",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateExtension.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateExtension.json
new file mode 100644
index 000000000000..cc578117deec
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateExtension.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "extensionName": "CustomScriptExtension",
+ "api-version": "2020-10-01-preview",
+ "extensionParameters": {
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "typeHandlerVersion": "1.10",
+ "type": "CustomScriptExtension",
+ "settings": {
+ "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\""
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines/extensions",
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\"}",
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2020-01-08T20:42:10.999Z"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines/extensions",
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\"}",
+ "provisioningState": "Created",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {}
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateHost.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateHost.json
new file mode 100644
index 000000000000..0c0ed5396f4c
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateHost.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "hostName": "HRHost",
+ "body": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/Hosts/HRHost",
+ "name": "HRHost",
+ "type": "Microsoft.ConnectedVMwarevSphere/Hosts",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateResourcePool.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateResourcePool.json
new file mode 100644
index 000000000000..3d445b6b7cda
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateResourcePool.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "resourcePoolName": "HRPool",
+ "body": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool",
+ "name": "HRPool",
+ "type": "Microsoft.ConnectedVMwarevSphere/ResourcePools",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVCenter.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVCenter.json
new file mode 100644
index 000000000000..49e00626a47a
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVCenter.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "vcenterName": "ContosoVCenter",
+ "body": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "name": "ContosoVCenter",
+ "type": "Microsoft.ConnectedVMwarevSphere/VCenters",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "fqdn": "ContosoVMware.contoso.com",
+ "credentials": {
+ "username": "tempuser"
+ },
+ "port": 1234,
+ "version": "1.0",
+ "instanceUuid": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVirtualMachine.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVirtualMachine.json
new file mode 100644
index 000000000000..40dba64cc193
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVirtualMachine.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualMachineName": "DemoVM",
+ "body": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachines/DemoVM",
+ "name": "DemoVM",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "resourcePoolId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool",
+ "templateId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate",
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "osProfile": {
+ "computerName": "DemoVM",
+ "osType": "Windows"
+ },
+ "hardwareProfile": {
+ "memorySizeMB": 4196,
+ "numCPUs": 4
+ },
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachines/DemoVM",
+ "name": "DemoVM",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachines",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "resourcePoolId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/ResourcePools/HRPool",
+ "templateId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate",
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "osProfile": {
+ "computerName": "DemoVM",
+ "osType": "Windows"
+ },
+ "hardwareProfile": {
+ "memorySizeMB": 4196,
+ "numCPUs": 4
+ },
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVirtualMachineTemplate.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVirtualMachineTemplate.json
new file mode 100644
index 000000000000..bcd0a882a4e4
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVirtualMachineTemplate.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualMachineTemplateName": "WebFrontEndTemplate",
+ "body": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates/WebFrontEndTemplate",
+ "name": "WebFrontEndTemplate",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualMachineTemplates",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVirtualNetwork.json b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVirtualNetwork.json
new file mode 100644
index 000000000000..59ba31adb322
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/examples/UpdateVirtualNetwork.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-10-01-preview",
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "testrg",
+ "virtualNetworkName": "ProdNetwork",
+ "body": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VirtualNetworks/ProdNetwork",
+ "name": "ProdNetwork",
+ "type": "Microsoft.ConnectedVMwarevSphere/VirtualNetworks",
+ "location": "East US",
+ "extendedLocation": {
+ "type": "customLocation",
+ "name": "/subscriptions/a5015e1c-867f-4533-8541-85cd470d0cfb/resourceGroups/demoRG/providers/Microsoft.ExtendedLocation/customLocations/contoso"
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "vCenterId": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg/providers/Microsoft.ConnectedVMwarevSphere/VCenters/ContosoVCenter",
+ "moRefId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/connectedvmware/resource-manager/readme.azureresourceschema.md b/specification/connectedvmware/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..a7b591c23285
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-connectedvmware-2020-10-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-connectedvmware-2020-10-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-connectedvmware-2020-10-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/connectedvmware.json
+
+```
diff --git a/specification/connectedvmware/resource-manager/readme.csharp.md b/specification/connectedvmware/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..898482a24821
--- /dev/null
+++ b/specification/connectedvmware/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.ConnectedVMwarevSphere
+ output-folder: $(csharp-sdks-folder)/ConnectedVMware/Microsoft.Azure.Management.ConnectedVMwarevSphere/src/Generated
+```
diff --git a/specification/connectedvmware/resource-manager/readme.go.md b/specification/connectedvmware/resource-manager/readme.go.md
new file mode 100644
index 000000000000..18bcd546e53e
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+```yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2020-10-01-preview
+```
+
+### Tag: package-2020-10-01-preview and go
+
+These settings apply only when `--tag=package-2020-10-01-preview --go` is specified on the command line.
+Please also specify `--go-sdks-folder=`.
+
+```yaml $(tag) == 'package-2020-10-01-preview' && $(go)
+namespace: connectedvmware
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-10-01-preview/$(namespace)
+```
diff --git a/specification/connectedvmware/resource-manager/readme.java.md b/specification/connectedvmware/resource-manager/readme.java.md
new file mode 100644
index 000000000000..62d89b884057
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/readme.java.md
@@ -0,0 +1,34 @@
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(java)
+azure-arm: true
+fluent: true
+namespace: com.microsoft.azure.management.connectedvmware
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-connectedvmware
+title: ConnectedVMwareClient
+description: "Connected VMware Client"
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2020-10-01-preview
+```
+
+### Tag: package-2020-10-01-preview and java
+
+These settings apply only when `--tag=package-2020-01-01-preview` is specified on the 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.connectedvmware.v2020-10-01-preview
+ output-folder: $(azure-libraries-for-java-folder)/connectedvmware/resource-manager/v2020-10-01-preview
+regenerate-manager: true
+generate-interface: true
+```
diff --git a/specification/connectedvmware/resource-manager/readme.md b/specification/connectedvmware/resource-manager/readme.md
new file mode 100644
index 000000000000..641c6b2ccd34
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/readme.md
@@ -0,0 +1,83 @@
+# connectedvmware
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for connectedvmware.
+
+## 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 vmware.
+
+```yaml
+openapi-type: arm
+openapi-subtype: rpaas
+tag: package-2020-10-01-preview
+```
+
+### Tag: package-2020-10-01-preview
+
+These settings apply only when `--tag=package-2020-10-01-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-10-01-preview'
+input-file:
+ - Microsoft.ConnectedVMwarevSphere/preview/2020-10-01-preview/connectedvmware.json
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+```yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-python-track2
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-ruby
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_connectedvmware']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js connectedvmware/resource-manager
+```
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## Ruby
+
+See configuration in [readme.ruby.md](./readme.ruby.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
diff --git a/specification/connectedvmware/resource-manager/readme.python.md b/specification/connectedvmware/resource-manager/readme.python.md
new file mode 100644
index 000000000000..9fa557558dac
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/readme.python.md
@@ -0,0 +1,44 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
+
+```yaml $(python) && !$(track2)
+python:
+ python-mode: create
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.mgmt.connectedvmware
+ package-name: azure-mgmt-connectedvmware
+ package-version: 0.1.1
+ clear-output-folder: true
+```
+```yaml $(python) && $(track2)
+python-mode: create
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.connectedvmware
+package-name: azure-mgmt-connectedvmware
+package-version: 0.1.1
+clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update' && !$(track2)
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/connectedvmware/azure-mgmt-connectedvmware/azure/mgmt/connectedvmware
+```
+``` yaml $(python) && $(python-mode) == 'create' && !$(track2)
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/connectedvmware/azure-mgmt-connectedvmware
+```
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/connectedvmware/azure-mgmt-connectedvmware/azure/mgmt/connectedvmware
+```
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/connectedvmware/azure-mgmt-connectedvmware
+```
diff --git a/specification/connectedvmware/resource-manager/readme.ruby.md b/specification/connectedvmware/resource-manager/readme.ruby.md
new file mode 100644
index 000000000000..8ecdafabcfac
--- /dev/null
+++ b/specification/connectedvmware/resource-manager/readme.ruby.md
@@ -0,0 +1,27 @@
+## Ruby
+
+These settings apply only when `--ruby` is specified on the command line.
+
+```yaml
+package-name: azure_mgmt_vmware
+package-version: 2020-10-01-preview
+azure-arm: true
+```
+
+### Ruby multi-api
+
+``` yaml $(ruby) && $(multiapi)
+batch:
+ - tag: package-2020-10-01-preview
+```
+
+### 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::ConnectedVMware::Mgmt::V2020-10-01-preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_connectedvmware/lib
+```
+
diff --git a/specification/connectedvmware/resource-manager/readme.typescript.md b/specification/connectedvmware/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..eb63a1e93a20
--- /dev/null
+++ b/specification/connectedvmware/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: "connectedvmware"
+ output-folder: "$(typescript-sdks-folder)/packages/connectedvmware"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
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 3485df1dd9e3..43d7b5055869 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
@@ -4162,7 +4162,8 @@
"description": "The type of threshold",
"type": "string",
"enum": [
- "Actual"
+ "Actual",
+ "Forecasted"
],
"x-ms-enum": {
"name": "ThresholdType",
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/consumption.json
index de9b055b17b2..f9e6e2ed154c 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/consumption.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-05-01/consumption.json
@@ -4911,7 +4911,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "#/definitions/ProxyResource"
}
],
"properties": {
@@ -5047,11 +5047,6 @@
"description": "The balance in billing currency after the event.",
"readOnly": true,
"$ref": "#/definitions/AmountWithExchangeRate"
- },
- "eTag": {
- "readOnly": true,
- "type": "string",
- "description": "The eTag for the resource."
}
}
},
@@ -5078,7 +5073,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "#/definitions/ProxyResource"
}
],
"properties": {
@@ -5180,11 +5175,6 @@
"description": "The reseller of the lot.",
"readOnly": true,
"$ref": "#/definitions/Reseller"
- },
- "eTag": {
- "readOnly": true,
- "type": "string",
- "description": "The eTag for the resource."
}
}
},
@@ -5193,7 +5183,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/Resource"
+ "$ref": "#/definitions/ProxyResource"
}
],
"properties": {
@@ -5242,11 +5232,6 @@
"description": "Credit's reseller.",
"readOnly": true,
"$ref": "#/definitions/Reseller"
- },
- "eTag": {
- "readOnly": true,
- "type": "string",
- "description": "The eTag for the resource."
}
}
},
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/consumption.json
new file mode 100644
index 000000000000..5e0cf981b646
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/consumption.json
@@ -0,0 +1,5777 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-10-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/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"
+ }
+ }
+ }
+ }
+ },
+ "/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}/providers/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": {
+ "LotsListByBillingProfile": {
+ "$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"
+ }
+ },
+ "204": {
+ "description": "No Content. The request has succeeded but returned no results."
+ },
+ "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
+ },
+ "payGPrice": {
+ "description": "Retail price for the resource.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "pricingModel": {
+ "description": "Identifier that indicates how the meter is priced.",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "On Demand",
+ "Reservation",
+ "Spot"
+ ],
+ "x-ms-enum": {
+ "name": "pricingModelType",
+ "modelAsString": 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
+ },
+ "effectivePrice": {
+ "description": "Effective Price that's charged for the usage.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "pricingModel": {
+ "description": "Identifier that indicates how the meter is priced",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "On Demand",
+ "Reservation",
+ "Spot"
+ ],
+ "x-ms-enum": {
+ "name": "pricingModelType",
+ "modelAsString": 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
+ },
+ "benefitId": {
+ "description": "Unique identifier for the applicable benefit.",
+ "type": "string",
+ "readOnly": true
+ },
+ "benefitName": {
+ "description": "Name of the applicable benefit.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provider": {
+ "description": "Identifier for Product Category or Line Of Business, Ex - Azure, Microsoft 365, AWS e.t.c",
+ "type": "string",
+ "readOnly": true
+ },
+ "costAllocationRuleName": {
+ "description": "Name for Cost Allocation Rule.",
+ "type": "string",
+ "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.",
+ "type": "object",
+ "discriminator": "scope",
+ "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"
+ },
+ "skuProperties": {
+ "description": "List of sku properties",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuProperty"
+ },
+ "readOnly": true
+ }
+ },
+ "required": [
+ "scope"
+ ]
+ },
+ "LegacySingleScopeReservationRecommendationProperties": {
+ "description": "The properties of the legacy reservation recommendation for single scope.",
+ "type": "object",
+ "x-ms-discriminator-value": "Single",
+ "properties": {
+ "subscriptionId": {
+ "description": "Subscription id associated with single scoped recommendation.",
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/LegacyReservationRecommendationProperties"
+ }
+ ]
+ },
+ "LegacySharedScopeReservationRecommendationProperties": {
+ "description": "The properties of the legacy reservation recommendation for shared scope.",
+ "type": "object",
+ "x-ms-discriminator-value": "Shared",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LegacyReservationRecommendationProperties"
+ }
+ ]
+ },
+ "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
+ },
+ "billingMonth": {
+ "description": "The billing month(yyyyMMdd), on which the event initiated.",
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true
+ },
+ "monetaryCommitment": {
+ "description": "The monetary commitment amount at the enrollment scope.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "overage": {
+ "description": "The overage amount at the enrollment scope.",
+ "type": "number",
+ "format": "decimal",
+ "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",
+ "Forecasted"
+ ],
+ "x-ms-enum": {
+ "name": "ThresholdType",
+ "modelAsString": true
+ },
+ "default": "Actual"
+ },
+ "locale": {
+ "description": "Language in which the recipient will receive the notification",
+ "type": "string",
+ "enum": [
+ "en-us",
+ "ja-jp",
+ "zh-cn",
+ "de-de",
+ "es-es",
+ "fr-fr",
+ "it-it",
+ "ko-kr",
+ "pt-br",
+ "ru-ru",
+ "zh-tw",
+ "cs-cz",
+ "pl-pl",
+ "tr-tr",
+ "da-dk",
+ "en-gb",
+ "hu-hu",
+ "nb-no",
+ "nl-nl",
+ "pt-pt",
+ "sv-se"
+ ],
+ "x-ms-enum": {
+ "name": "CultureCode",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "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
+ }
+ }
+ },
+ "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/ProxyResource"
+ }
+ ],
+ "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/ProxyResource"
+ }
+ ],
+ "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"
+ },
+ "eTag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The eTag for the resource."
+ }
+ }
+ },
+ "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/ProxyResource"
+ }
+ ],
+ "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
+ },
+ "purchasedDate": {
+ "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"
+ },
+ "eTag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The eTag for the resource."
+ }
+ }
+ },
+ "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"
+ },
+ "eTag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The eTag for the resource."
+ }
+ }
+ },
+ "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.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/amount"
+ }
+ ],
+ "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-10-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-10-01/examples/AggregatedCostByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/AggregatedCostByManagementGroup.json
new file mode 100644
index 000000000000..51398acf7db7
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/AggregatedCostByManagementGroup.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-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-10-01/examples/AggregatedCostByManagementGroupFilterByDate.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/AggregatedCostByManagementGroupFilterByDate.json
new file mode 100644
index 000000000000..8a69dbeddf57
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/AggregatedCostByManagementGroupFilterByDate.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/AggregatedCostForBillingPeriodByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/AggregatedCostForBillingPeriodByManagementGroup.json
new file mode 100644
index 000000000000..c484c11226ca
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/AggregatedCostForBillingPeriodByManagementGroup.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/BalancesByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/BalancesByBillingAccount.json
new file mode 100644
index 000000000000..37613d13d1e5
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/BalancesByBillingAccount.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/BalancesByBillingAccountForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/BalancesByBillingAccountForBillingPeriod.json
new file mode 100644
index 000000000000..0336e17ff2d4
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/BalancesByBillingAccountForBillingPeriod.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/Budget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/Budget.json
new file mode 100644
index 000000000000..192b53acfd98
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/Budget.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/BudgetsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/BudgetsList.json
new file mode 100644
index 000000000000..f37ee9cc9b0c
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/BudgetsList.json
@@ -0,0 +1,186 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ChargesForBillingPeriodByDepartment.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesForBillingPeriodByDepartment.json
new file mode 100644
index 000000000000..66c35c8ee906
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesForBillingPeriodByDepartment.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ChargesForBillingPeriodByEnrollmentAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesForBillingPeriodByEnrollmentAccount.json
new file mode 100644
index 000000000000..68bbcce1658a
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesForBillingPeriodByEnrollmentAccount.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ChargesListByModernBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccount.json
new file mode 100644
index 000000000000..1c9660435ed5
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccount.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-01/examples/ChargesListByModernBillingAccountGroupByBillingProfileId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccountGroupByBillingProfileId.json
new file mode 100644
index 000000000000..48e2b11231f1
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccountGroupByBillingProfileId.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ChargesListByModernBillingAccountGroupByCustomerId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccountGroupByCustomerId.json
new file mode 100644
index 000000000000..9faac1177864
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccountGroupByCustomerId.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ChargesListByModernBillingAccountGroupByInvoiceSectionId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccountGroupByInvoiceSectionId.json
new file mode 100644
index 000000000000..867b218bcb74
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingAccountGroupByInvoiceSectionId.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ChargesListByModernBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingProfile.json
new file mode 100644
index 000000000000..af75e3d832f8
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingProfile.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-01/examples/ChargesListByModernBillingProfileGroupByInvoiceSectionId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingProfileGroupByInvoiceSectionId.json
new file mode 100644
index 000000000000..867b218bcb74
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingProfileGroupByInvoiceSectionId.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ChargesListByModernBillingProfileInvoiceSection.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingProfileInvoiceSection.json
new file mode 100644
index 000000000000..29fb469e7828
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernBillingProfileInvoiceSection.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-01/examples/ChargesListByModernCustomer.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernCustomer.json
new file mode 100644
index 000000000000..a9dedc7ec3c8
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernCustomer.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-01/examples/ChargesListByModernInvoiceSectionId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernInvoiceSectionId.json
new file mode 100644
index 000000000000..126f16dc84cd
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListByModernInvoiceSectionId.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-01/examples/ChargesListForDepartmentFilterByStartEndDate.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListForDepartmentFilterByStartEndDate.json
new file mode 100644
index 000000000000..18087a32069c
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListForDepartmentFilterByStartEndDate.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ChargesListForEnrollmentAccountFilterByStartEndDate.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListForEnrollmentAccountFilterByStartEndDate.json
new file mode 100644
index 000000000000..7ea77977485b
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ChargesListForEnrollmentAccountFilterByStartEndDate.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/CreateOrUpdateBudget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/CreateOrUpdateBudget.json
new file mode 100644
index 000000000000..771a304770e7
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/CreateOrUpdateBudget.json
@@ -0,0 +1,227 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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,
+ "locale": "en-us",
+ "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,
+ "locale": "en-us",
+ "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,
+ "locale": "en-us",
+ "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-10-01/examples/CreditSummaryByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/CreditSummaryByBillingProfile.json
new file mode 100644
index 000000000000..7b950595325a
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/CreditSummaryByBillingProfile.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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."
+ }
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/DeleteBudget.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/DeleteBudget.json
new file mode 100644
index 000000000000..45b3e12f05a2
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/DeleteBudget.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/EventsGetByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/EventsGetByBillingAccount.json
new file mode 100644
index 000000000000..c2c4513e2c7d
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/EventsGetByBillingAccount.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/EventsGetByBillingAccountWithFilters.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/EventsGetByBillingAccountWithFilters.json
new file mode 100644
index 000000000000..13411ff3dd9e
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/EventsGetByBillingAccountWithFilters.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/EventsListByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/EventsListByBillingProfile.json
new file mode 100644
index 000000000000..56527d1b4aec
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/EventsListByBillingProfile.json
@@ -0,0 +1,257 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-01/examples/LotsListByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByBillingAccount.json
new file mode 100644
index 000000000000..2f07c688e9ae
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByBillingAccount.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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",
+ "purchasedDate": "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",
+ "purchasedDate": "2019-09-01T00:00:00Z",
+ "status": "Expired"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByBillingAccountWithFilters.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByBillingAccountWithFilters.json
new file mode 100644
index 000000000000..419d523b9b8f
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByBillingAccountWithFilters.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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",
+ "purchasedDate": "2019-09-01T00:00:00Z",
+ "status": "Active"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByBillingProfile.json
new file mode 100644
index 000000000000..1f1297ba6678
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/LotsListByBillingProfile.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01T00:00:00Z",
+ "expirationDate": "2021-10-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-10-01T00:00:00Z",
+ "expirationDate": "2019-12-31T00:00:00Z",
+ "poNumber": "31224"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByBillingAccountList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByBillingAccountList.json
new file mode 100644
index 000000000000..c80cee78d473
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByBillingAccountList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/MarketplacesByBillingAccountListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByBillingAccountListForBillingPeriod.json
new file mode 100644
index 000000000000..220977882555
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByBillingAccountListForBillingPeriod.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/MarketplacesByDepartmentList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByDepartmentList.json
new file mode 100644
index 000000000000..60def81107ee
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByDepartmentList.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/MarketplacesByDepartment_ListByBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByDepartment_ListByBillingPeriod.json
new file mode 100644
index 000000000000..60def81107ee
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByDepartment_ListByBillingPeriod.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/MarketplacesByEnrollmentAccountList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByEnrollmentAccountList.json
new file mode 100644
index 000000000000..2ec12b50c750
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByEnrollmentAccountList.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/MarketplacesByEnrollmentAccounts_ListByBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByEnrollmentAccounts_ListByBillingPeriod.json
new file mode 100644
index 000000000000..2ec12b50c750
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByEnrollmentAccounts_ListByBillingPeriod.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/MarketplacesByManagementGroupList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByManagementGroupList.json
new file mode 100644
index 000000000000..e223281ed252
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByManagementGroupList.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/MarketplacesByManagementGroup_ListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByManagementGroup_ListForBillingPeriod.json
new file mode 100644
index 000000000000..c36797b6d6eb
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesByManagementGroup_ListForBillingPeriod.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/MarketplacesList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesList.json
new file mode 100644
index 000000000000..a986704e5fbd
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/MarketplacesListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesListForBillingPeriod.json
new file mode 100644
index 000000000000..dbbf6882bd91
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/MarketplacesListForBillingPeriod.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/PriceSheet.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/PriceSheet.json
new file mode 100644
index 000000000000..8cdfaeba727f
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/PriceSheet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/PriceSheetExpand.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/PriceSheetExpand.json
new file mode 100644
index 000000000000..5f8291a6b6e6
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/PriceSheetExpand.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/PriceSheetForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/PriceSheetForBillingPeriod.json
new file mode 100644
index 000000000000..95942619cd99
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/PriceSheetForBillingPeriod.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ReservationDetails.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetails.json
new file mode 100644
index 000000000000..58f642df61b1
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetails.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ReservationDetailsByBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsByBillingAccountId.json
new file mode 100644
index 000000000000..c431c7d034e8
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsByBillingAccountId.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ReservationDetailsByBillingProfileId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsByBillingProfileId.json
new file mode 100644
index 000000000000..dc89f0ab8760
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsByBillingProfileId.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ReservationDetailsByBillingProfileIdReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsByBillingProfileIdReservationId.json
new file mode 100644
index 000000000000..154b042d0c1e
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsByBillingProfileIdReservationId.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579",
+ "startDate": "2019-09-01",
+ "endDate": "2019-10-31",
+ "reservationId": "1c6b6358-709f-484c-85f1-72e862a0cf3b",
+ "reservationOrderId": "9f39ba10-794f-4dcb-8f4b-8d0cb47c27dc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579/providers/Microsoft.Consumption/reservationDetails/reservationDetails_Id1",
+ "name": "reservationDetails_Id1",
+ "type": "Microsoft.Consumption/reservationDetails",
+ "tags": null,
+ "properties": {
+ "reservationOrderId": "9f39ba10-794f-4dcb-8f4b-8d0cb47c27dc",
+ "reservationId": "1c6b6358-709f-484c-85f1-72e862a0cf3b",
+ "usageDate": "2019-09-30T00:00:00-08:00",
+ "skuName": "Standard_D2s_v3",
+ "instanceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/sqlh1/providers/microsoft.compute/virtualmachines/sqlh1",
+ "totalReservedQuantity": 0,
+ "reservedHours": 48,
+ "usedHours": 0.6,
+ "instanceFlexibilityGroup": "DSv3 Series",
+ "instanceFlexibilityRatio": "1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsWithReservationId.json
new file mode 100644
index 000000000000..4e71ab114861
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationDetailsWithReservationId.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ReservationRecommendationDetailsByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsByBillingAccount.json
new file mode 100644
index 000000000000..6214b09d66b1
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsByBillingAccount.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ReservationRecommendationDetailsByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsByBillingProfile.json
new file mode 100644
index 000000000000..6b6b54492382
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsByBillingProfile.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ReservationRecommendationDetailsByResourceGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsByResourceGroup.json
new file mode 100644
index 000000000000..98c07f63e6cc
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsByResourceGroup.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingScope": "subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/testGroup",
+ "lookBackPeriod": "Last30Days",
+ "product": "Standard_DS13_v2",
+ "region": "westus",
+ "scope": "Single",
+ "term": "P3Y"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/testGroup/providers/microsoft.consumption/reservationrecommendationdetails",
+ "name": "reservationRecommendationDetails",
+ "type": "Microsoft.Consumption/ReservationRecommendationDetails",
+ "properties": {
+ "currency": "USD",
+ "resource": {
+ "appliedScopes": [
+ "00000000-0000-0000-0000-00000000",
+ "testGroup"
+ ],
+ "onDemandRate": 0.519,
+ "product": "Standard_DS13_v2",
+ "region": "westus",
+ "reservationRate": 0.302549467275493,
+ "resourceType": "virtualmachines"
+ },
+ "resourceGroup": "testGroup",
+ "savings": {
+ "calculatedSavings": [
+ {
+ "onDemandCost": 368.4813602070006,
+ "overageCost": 0.0,
+ "quantity": 2,
+ "reservationCost": 429.01514459665,
+ "totalReservationCost": 429.01514459665,
+ "savings": -60.5337843896494
+ },
+ {
+ "onDemandCost": 368.481360207000,
+ "overageCost": 1.557,
+ "quantity": 1,
+ "reservationCost": 214.507572298325,
+ "totalReservationCost": 216.064572298325,
+ "savings": 152.416787908675
+ }
+ ],
+ "lookBackPeriod": 30,
+ "recommendedQuantity": 1.0,
+ "reservationOrderTerm": "P3Y",
+ "savingsType": "instance",
+ "unitOfMeasure": "hour"
+ },
+ "scope": "Single",
+ "usage": {
+ "firstConsumptionDate": "2020-02-03T00:00:00",
+ "lastConsumptionDate": "2020-03-03T13:00:00",
+ "lookBackUnitType": "virtualMachine quantity",
+ "usageData": [
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0
+ ],
+ "usageGrain": "hourly"
+ }
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsBySubscription.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsBySubscription.json
new file mode 100644
index 000000000000..c6594fd17e26
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationDetailsBySubscription.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ReservationRecommendationsByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsByBillingAccount.json
new file mode 100644
index 000000000000..299b49911c8b
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsByBillingAccount.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01&$skiptoken=AQAAAA%3D%3D&"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsByBillingProfile.json
new file mode 100644
index 000000000000..7e4057d3439d
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsByBillingProfile.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01&$skiptoken=AQAAAA%3D%3D&"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsByResourceGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsByResourceGroup.json
new file mode 100644
index 000000000000..1a1c1fb6979e
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsByResourceGroup.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGrouups/testGroup/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations1",
+ "name": "reservationRecommendations1",
+ "type": "Microsoft.Consumption/reservationRecommendations",
+ "sku": "Standard_DS1_v2",
+ "location": "northeurope",
+ "kind": "legacy",
+ "properties": {
+ "lookBackPeriod": "Last7Days",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "term": "P1Y",
+ "costWithNoReservedInstances": 0.0,
+ "recommendedQuantity": 1,
+ "totalCostWithReservedInstances": 0.0,
+ "netSavings": 4.634521202630137,
+ "firstUsageDate": "2018-03-06T00:00:00Z",
+ "scope": "Single",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ {
+ "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",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.Consumption/reservationRecommendations?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D&"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsBySubscription.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsBySubscription.json
new file mode 100644
index 000000000000..eb4ec8490475
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsBySubscription.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ {
+ "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",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D&"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsFilterBySubscriptionForScopeLookBackPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsFilterBySubscriptionForScopeLookBackPeriod.json
new file mode 100644
index 000000000000..bbca5db6fd42
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationRecommendationsFilterBySubscriptionForScopeLookBackPeriod.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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"
+ }
+ ],
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ {
+ "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"
+ }
+ ],
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Consumption/reservationRecommendations?api-version=2021-10-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-10-01/examples/ReservationSummariesDaily.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDaily.json
new file mode 100644
index 000000000000..59cdade1bdca
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDaily.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ReservationSummariesDailyWithBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDailyWithBillingAccountId.json
new file mode 100644
index 000000000000..477985e88d1d
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDailyWithBillingAccountId.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ReservationSummariesDailyWithBillingProfileId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDailyWithBillingProfileId.json
new file mode 100644
index 000000000000..9b2696c73635
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDailyWithBillingProfileId.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ReservationSummariesDailyWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDailyWithReservationId.json
new file mode 100644
index 000000000000..ba32a10d5afb
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesDailyWithReservationId.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ReservationSummariesMonthly.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthly.json
new file mode 100644
index 000000000000..4a69199021a5
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthly.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ReservationSummariesMonthlyWithBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithBillingAccountId.json
new file mode 100644
index 000000000000..ea5e8df55e85
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithBillingAccountId.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ReservationSummariesMonthlyWithBillingProfileId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithBillingProfileId.json
new file mode 100644
index 000000000000..6b56c52a7f93
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithBillingProfileId.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json
new file mode 100644
index 000000000000..83fd78fb6dcc
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579",
+ "grain": "monthly",
+ "reservationId": "1c6b6358-709f-484c-85f1-72e862a0cf3b",
+ "reservationOrderId": "9f39ba10-794f-4dcb-8f4b-8d0cb47c27dc"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/12345:2468/billingProfiles/13579/providers/Microsoft.Consumption/reservationSummaries/reservationSummaries_Id1",
+ "name": "reservationSummaries_Id1",
+ "type": "Microsoft.Consumption/reservationSummaries",
+ "tags": null,
+ "properties": {
+ "reservationOrderId": "9f39ba10-794f-4dcb-8f4b-8d0cb47c27dc",
+ "reservationId": "1c6b6358-709f-484c-85f1-72e862a0cf3b",
+ "skuName": "Standard_B1s",
+ "reservedHours": 720,
+ "usageDate": "2018-09-01T00:00:00-07:00",
+ "usedHours": 0,
+ "minUtilizationPercentage": 0,
+ "avgUtilizationPercentage": 0,
+ "maxUtilizationPercentage": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithReservationId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithReservationId.json
new file mode 100644
index 000000000000..e0f144b3ac92
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationSummariesMonthlyWithReservationId.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ReservationTransactionsListByBillingProfileId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationTransactionsListByBillingProfileId.json
new file mode 100644
index 000000000000..4fa040345c2b
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationTransactionsListByBillingProfileId.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "$filter": "properties/eventDate+ge+2020-05-20+AND+properties/eventDate+le+2020-05-30",
+ "billingAccountId": "fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30",
+ "billingProfileId": "Z76D-SGAF-BG7-TGB"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/billingProfiles/Z76D-SGAF-BG7-TGB/providers/Microsoft.Consumption/reservationTransactions",
+ "name": "a838a8c3-a408-49e1-ac90-42cb95bff9b2",
+ "type": "Microsoft.Consumption/reservationTransactions",
+ "properties": {
+ "eventDate": "2020-04-25T21:21:38Z",
+ "reservationOrderId": "a838a8c3-a408-49e1-ac90-42cb95bff9b2",
+ "description": "Reserved VM Instance, Standard_B1ls, US East, 3 Years",
+ "eventType": "Purchase",
+ "quantity": 1,
+ "amount": 1.44,
+ "currency": "USD",
+ "reservationOrderName": "VM_RI_03-25-2020_14-18",
+ "armSkuName": "Standard_B1ls",
+ "billingFrequency": "Recurring",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/billingProfiles/Z76D-SGAF-BG7-TGB",
+ "billingProfileName": "IT Department*",
+ "invoice": "T000456437",
+ "invoiceId": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/billingProfiles/Z76D-SGAF-BG7-TGB/invoices/T000456437",
+ "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/invoiceSections/QBTB-EYAK-PJA-TGB",
+ "invoiceSectionName": "IT Department",
+ "purchasingSubscriptionGuid": "d924ad15-4a3d-4047-971d-c8b1b300a97b",
+ "purchasingSubscriptionName": "contoso",
+ "region": "eastus",
+ "term": "P3Y"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationTransactionsListByEnrollmentNumber.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationTransactionsListByEnrollmentNumber.json
new file mode 100644
index 000000000000..401b206645d9
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/ReservationTransactionsListByEnrollmentNumber.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "$filter": "properties/eventDate+ge+2020-05-20+AND+properties/eventDate+le+2020-05-30",
+ "billingAccountId": "123456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/billingAccounts/123456/providers/Microsoft.Consumption/reservationtransactions/201909091919",
+ "name": "201909091919",
+ "type": "Microsoft.Consumption/reservationTransactions",
+ "tags": [],
+ "properties": {
+ "eventDate": "2019-09-09T19:19:04Z",
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "description": "Standard_DS1_v2 westus 1 Year",
+ "eventType": "Refund",
+ "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",
+ "billingMonth": 20190901,
+ "monetaryCommitment": 523123.90,
+ "overage": 23234.49
+ }
+ },
+ {
+ "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",
+ "billingMonth": 20190901,
+ "monetaryCommitment": 523123.90,
+ "overage": 23234.49
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/Tags.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/Tags.json
new file mode 100644
index 000000000000..b75f41cd70b5
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/Tags.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-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-10-01/examples/UsageDetailsExpand.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsExpand.json
new file mode 100644
index 000000000000..f1c965ccbe1f
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsExpand.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/UsageDetailsList.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsList.json
new file mode 100644
index 000000000000..9b2318d563e0
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsList.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/UsageDetailsListByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByBillingAccount.json
new file mode 100644
index 000000000000..3be178f12b5e
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByBillingAccount.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/UsageDetailsListByDepartment.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByDepartment.json
new file mode 100644
index 000000000000..7df56b0eb769
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByDepartment.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/UsageDetailsListByEnrollmentAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByEnrollmentAccount.json
new file mode 100644
index 000000000000..fad16b93d9dc
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByEnrollmentAccount.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/UsageDetailsListByMCABillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCABillingAccount.json
new file mode 100644
index 000000000000..f6bd5e4daf6d
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCABillingAccount.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-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": "Microsoft",
+ "resourceLocationNormalized": "US East",
+ "serviceInfo1": "",
+ "serviceInfo2": "Windows Client BYOL",
+ "servicePeriodEndDate": "2019-12-01T00:00:00Z",
+ "servicePeriodStartDate": "2021-10-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",
+ "benefitId": "00000000-0000-0000-0000-000000000000",
+ "benefitName": "Reservation_purchase_03-09-2018_10-59"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCABillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCABillingProfile.json
new file mode 100644
index 000000000000..3206ea352f20
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCABillingProfile.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-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": "Microsoft",
+ "resourceLocationNormalized": "US East",
+ "serviceInfo1": "",
+ "serviceInfo2": "Windows Client BYOL",
+ "servicePeriodEndDate": "2019-12-01T00:00:00Z",
+ "servicePeriodStartDate": "2021-10-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",
+ "benefitId": "00000000-0000-0000-0000-000000000000",
+ "benefitName": "Reservation_purchase_03-09-2018_10-59"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCACustomer.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCACustomer.json
new file mode 100644
index 000000000000..36ae95ed5010
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCACustomer.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-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": "Microsoft",
+ "resourceLocationNormalized": "US East",
+ "serviceInfo1": "",
+ "serviceInfo2": "Windows Client BYOL",
+ "servicePeriodEndDate": "2019-12-01T00:00:00Z",
+ "servicePeriodStartDate": "2021-10-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",
+ "benefitId": "00000000-0000-0000-0000-000000000000",
+ "benefitName": "Reservation_purchase_03-09-2018_10-59"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCAInvoiceSection.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCAInvoiceSection.json
new file mode 100644
index 000000000000..701502c1cd02
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMCAInvoiceSection.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-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": "Microsoft",
+ "resourceLocationNormalized": "US East",
+ "serviceInfo1": "",
+ "serviceInfo2": "Windows Client BYOL",
+ "servicePeriodEndDate": "2019-12-01T00:00:00Z",
+ "servicePeriodStartDate": "2021-10-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",
+ "benefitId": "00000000-0000-0000-0000-000000000000",
+ "benefitName": "Reservation_purchase_03-09-2018_10-59"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByManagementGroup.json
new file mode 100644
index 000000000000..4adbb2002171
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByManagementGroup.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/UsageDetailsListByMetricActualCost.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMetricActualCost.json
new file mode 100644
index 000000000000..443e33ecbdcc
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMetricActualCost.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/UsageDetailsListByMetricAmortizedCost.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMetricAmortizedCost.json
new file mode 100644
index 000000000000..f641e19d9cf6
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMetricAmortizedCost.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/UsageDetailsListByMetricUsage.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMetricUsage.json
new file mode 100644
index 000000000000..6b83fdee4d4f
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListByMetricUsage.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/UsageDetailsListFilterByTag.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListFilterByTag.json
new file mode 100644
index 000000000000..4dfc34a0e408
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListFilterByTag.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/UsageDetailsListForBillingPeriod.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriod.json
new file mode 100644
index 000000000000..b016a4da5c27
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriod.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/UsageDetailsListForBillingPeriodByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByBillingAccount.json
new file mode 100644
index 000000000000..f3115d03a845
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByBillingAccount.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/UsageDetailsListForBillingPeriodByDepartment.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByDepartment.json
new file mode 100644
index 000000000000..55e630ad8d66
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByDepartment.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/UsageDetailsListForBillingPeriodByEnrollmentAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByEnrollmentAccount.json
new file mode 100644
index 000000000000..8b8607576f3b
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByEnrollmentAccount.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/UsageDetailsListForBillingPeriodByManagementGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByManagementGroup.json
new file mode 100644
index 000000000000..ae4d933a8a26
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2021-10-01/examples/UsageDetailsListForBillingPeriodByManagementGroup.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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.go.md b/specification/consumption/resource-manager/readme.go.md
index f6628d3edcbb..ae1d8b934304 100644
--- a/specification/consumption/resource-manager/readme.go.md
+++ b/specification/consumption/resource-manager/readme.go.md
@@ -2,13 +2,21 @@
These settings apply only when `--go` is specified on the command line.
-``` yaml $(go)
+``` yaml $(go) && !$(track2)
go:
license-header: MICROSOFT_MIT_NO_VERSION
namespace: consumption
clear-output-folder: true
```
+``` yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/resourcemanager/consumption/armconsumption
+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:
diff --git a/specification/consumption/resource-manager/readme.md b/specification/consumption/resource-manager/readme.md
index bdc8e3d7c472..bb35ea0a7971 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-2021-05
+tag: package-2021-10
```
+### Tag: package-2021-10
+
+These settings apply only when `--tag=package-2021-10` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-10'
+input-file:
+ - Microsoft.Consumption/stable/2021-10-01/consumption.json
+```
### Tag: package-2021-05
These settings apply only when `--tag=package-2021-05` is specified on the command line.
-```yaml $(tag) == 'package-2021-05'
+``` 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.
@@ -230,6 +239,7 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-js
@@ -436,7 +446,6 @@ directive:
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/Microsoft.ContainerInstance/stable/2021-09-01/containerInstance.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/containerInstance.json
new file mode 100644
index 000000000000..11fedc3ac944
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/containerInstance.json
@@ -0,0 +1,2230 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-09-01",
+ "title": "ContainerInstanceManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/containerGroups": {
+ "get": {
+ "operationId": "ContainerGroups_List",
+ "x-ms-examples": {
+ "ContainerGroupsList": {
+ "$ref": "./examples/ContainerGroupsList.json"
+ }
+ },
+ "summary": "Get a list of container groups in the specified subscription.",
+ "description": "Get a list of container groups in the specified subscription. This operation returns properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroupListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups": {
+ "get": {
+ "operationId": "ContainerGroups_ListByResourceGroup",
+ "x-ms-examples": {
+ "ContainerGroupsListByResourceGroup": {
+ "$ref": "./examples/ContainerGroupsListByResourceGroup.json"
+ }
+ },
+ "summary": "Get a list of container groups in the specified subscription and resource group.",
+ "description": "Get a list of container groups in a specified subscription and resource group. This operation returns properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroupListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}": {
+ "get": {
+ "operationId": "ContainerGroups_Get",
+ "x-ms-examples": {
+ "ContainerGroupsGet_Succeeded": {
+ "$ref": "./examples/ContainerGroupsGet_Succeeded.json"
+ },
+ "ContainerGroupsGet_Failed": {
+ "$ref": "./examples/ContainerGroupsGet_Failed.json"
+ }
+ },
+ "summary": "Get the properties of the specified container group.",
+ "description": "Gets the properties of the specified container group in the specified subscription and resource group. The operation returns the properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "ContainerGroups_CreateOrUpdate",
+ "x-ms-examples": {
+ "ContainerGroupsCreateOrUpdate": {
+ "$ref": "./examples/ContainerGroupsCreateOrUpdate.json"
+ }
+ },
+ "summary": "Create or update container groups.",
+ "description": "Create or update container groups with specified configurations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ },
+ {
+ "name": "containerGroup",
+ "description": "The properties of the container group to be created or updated.",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ },
+ "201": {
+ "description": "Created - the container group is created.",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "operationId": "ContainerGroups_Update",
+ "x-ms-examples": {
+ "ContainerGroupsUpdate": {
+ "$ref": "./examples/ContainerGroupsUpdate.json"
+ }
+ },
+ "summary": "Update container groups.",
+ "description": "Updates container group tags with specified values.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ },
+ {
+ "name": "Resource",
+ "description": "The container group resource with just the tags to be updated.",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/Resource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "ContainerGroups_Delete",
+ "x-ms-examples": {
+ "ContainerGroupsDelete": {
+ "$ref": "./examples/ContainerGroupsDelete.json"
+ }
+ },
+ "summary": "Delete the specified container group.",
+ "description": "Delete the specified container group in the specified subscription and resource group. The operation does not delete other resources provided by the user, such as volumes.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ },
+ "202": {
+ "description": "Delete started."
+ },
+ "204": {
+ "description": "No Content - the specified container group was not found."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/restart": {
+ "post": {
+ "operationId": "ContainerGroups_Restart",
+ "x-ms-examples": {
+ "ContainerRestart": {
+ "$ref": "./examples/ContainerGroupsRestart.json"
+ }
+ },
+ "summary": "Restarts all containers in a container group.",
+ "description": "Restarts all containers in a container group in place. If container image has updates, new image will be downloaded.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/stop": {
+ "post": {
+ "operationId": "ContainerGroups_Stop",
+ "x-ms-examples": {
+ "ContainerStop": {
+ "$ref": "./examples/ContainerGroupsStop.json"
+ }
+ },
+ "summary": "Stops all containers in a container group.",
+ "description": "Stops all containers in a container group. Compute resources will be deallocated and billing will stop.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/start": {
+ "post": {
+ "operationId": "ContainerGroups_Start",
+ "x-ms-examples": {
+ "ContainerStart": {
+ "$ref": "./examples/ContainerGroupsStart.json"
+ }
+ },
+ "summary": "Starts all containers in a container group.",
+ "description": "Starts all containers in a container group. Compute resources will be allocated and billing will start.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Started - the container group is starting."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/providers/Microsoft.ContainerInstance/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "OperationsList": {
+ "$ref": "./examples/OperationsList.json"
+ }
+ },
+ "description": "List the operations for Azure Container Instance service.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/usages": {
+ "get": {
+ "operationId": "Location_ListUsage",
+ "x-ms-examples": {
+ "ContainerUsage": {
+ "$ref": "./examples/ContainerGroupUsage.json"
+ }
+ },
+ "description": "Get the usage for a subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UsageListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/logs": {
+ "get": {
+ "operationId": "Containers_ListLogs",
+ "x-ms-examples": {
+ "ContainerListLogs": {
+ "$ref": "./examples/ContainerListLogs.json"
+ }
+ },
+ "summary": "Get the logs for a specified container instance.",
+ "description": "Get the logs for a specified container instance in a specified resource group and container group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The name of the container instance.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "tail",
+ "in": "query",
+ "description": "The number of lines to show from the tail of the container instance log. If not provided, all available logs are shown up to 4mb.",
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "timestamps",
+ "in": "query",
+ "description": "If true, adds a timestamp at the beginning of every line of log output. If not provided, defaults to false.",
+ "type": "boolean"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Logs"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/exec": {
+ "post": {
+ "operationId": "Containers_ExecuteCommand",
+ "x-ms-examples": {
+ "ContainerExec": {
+ "$ref": "./examples/ContainerExec.json"
+ }
+ },
+ "summary": "Executes a command in a specific container instance.",
+ "description": "Executes a command for a specific container instance in a specified resource group and container group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The name of the container instance.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerExecRequest",
+ "in": "body",
+ "description": "The request for the exec command.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ContainerExecRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerExecResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/attach": {
+ "post": {
+ "operationId": "Containers_Attach",
+ "x-ms-examples": {
+ "ContainerAttach": {
+ "$ref": "./examples/ContainerAttach.json"
+ }
+ },
+ "summary": "Attach to the output of a specific container instance.",
+ "description": "Attach to the output stream of a specific container instance in a specified resource group and container group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The name of the container instance.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerAttachResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/cachedImages": {
+ "get": {
+ "operationId": "Location_ListCachedImages",
+ "x-ms-examples": {
+ "CachedImages": {
+ "$ref": "./examples/CachedImagesList.json"
+ }
+ },
+ "summary": "Get the list of cached images.",
+ "description": "Get the list of cached images on specific OS type for a subscription in a region.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CachedImagesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/capabilities": {
+ "get": {
+ "operationId": "Location_ListCapabilities",
+ "x-ms-examples": {
+ "GetCapabilities": {
+ "$ref": "./examples/CapabilitiesList.json"
+ }
+ },
+ "summary": "Get the list of capabilities of the location.",
+ "description": "Get the list of CPU/memory/GPU capabilities of a region.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CapabilitiesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/outboundNetworkDependenciesEndpoints": {
+ "get": {
+ "operationId": "ContainerGroups_GetOutboundNetworkDependenciesEndpoints",
+ "x-ms-examples": {},
+ "summary": "Get all network dependencies for container group.",
+ "description": "Gets all the network dependencies for this container group to allow complete control of network setting and configuration. For container groups, this will always be an empty list.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/NetworkDependenciesResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Container": {
+ "description": "A container instance.",
+ "type": "object",
+ "required": [
+ "properties",
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "The user-provided name of the container instance.",
+ "type": "string"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of the container instance.",
+ "$ref": "#/definitions/ContainerProperties"
+ }
+ }
+ },
+ "ContainerProperties": {
+ "description": "The container instance properties.",
+ "type": "object",
+ "required": [
+ "image",
+ "resources"
+ ],
+ "properties": {
+ "image": {
+ "description": "The name of the image used to create the container instance.",
+ "type": "string"
+ },
+ "command": {
+ "description": "The commands to execute within the container instance in exec form.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ports": {
+ "description": "The exposed ports on the container instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerPort"
+ }
+ },
+ "environmentVariables": {
+ "description": "The environment variables to set in the container instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentVariable"
+ }
+ },
+ "instanceView": {
+ "description": "The instance view of the container instance. Only valid in response.",
+ "readOnly": true,
+ "type": "object",
+ "properties": {
+ "restartCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of times that the container instance has been restarted."
+ },
+ "currentState": {
+ "readOnly": true,
+ "description": "Current container instance state.",
+ "$ref": "#/definitions/ContainerState"
+ },
+ "previousState": {
+ "readOnly": true,
+ "description": "Previous container instance state.",
+ "$ref": "#/definitions/ContainerState"
+ },
+ "events": {
+ "readOnly": true,
+ "description": "The events of the container instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Event"
+ }
+ }
+ }
+ },
+ "resources": {
+ "description": "The resource requirements of the container instance.",
+ "$ref": "#/definitions/ResourceRequirements"
+ },
+ "volumeMounts": {
+ "description": "The volume mounts available to the container instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VolumeMount"
+ }
+ },
+ "livenessProbe": {
+ "description": "The liveness probe.",
+ "$ref": "#/definitions/ContainerProbe"
+ },
+ "readinessProbe": {
+ "description": "The readiness probe.",
+ "$ref": "#/definitions/ContainerProbe"
+ }
+ }
+ },
+ "ContainerState": {
+ "description": "The container instance state.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "state": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The state of the container instance."
+ },
+ "startTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The date-time when the container instance state started."
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The container instance exit codes correspond to those from the `docker run` command."
+ },
+ "finishTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The date-time when the container instance state finished."
+ },
+ "detailStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The human-readable status of the container instance state."
+ }
+ }
+ },
+ "Event": {
+ "description": "A container group or container instance event.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The count of the event."
+ },
+ "firstTimestamp": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The date-time of the earliest logged event."
+ },
+ "lastTimestamp": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The date-time of the latest logged event."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The event name."
+ },
+ "message": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The event message."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The event type."
+ }
+ }
+ },
+ "ResourceRequirements": {
+ "description": "The resource requirements.",
+ "type": "object",
+ "required": [
+ "requests"
+ ],
+ "properties": {
+ "requests": {
+ "description": "The resource requests of this container instance.",
+ "$ref": "#/definitions/ResourceRequests"
+ },
+ "limits": {
+ "description": "The resource limits of this container instance.",
+ "$ref": "#/definitions/ResourceLimits"
+ }
+ }
+ },
+ "ResourceRequests": {
+ "description": "The resource requests.",
+ "type": "object",
+ "required": [
+ "memoryInGB",
+ "cpu"
+ ],
+ "properties": {
+ "memoryInGB": {
+ "description": "The memory request in GB of this container instance.",
+ "type": "number",
+ "format": "double"
+ },
+ "cpu": {
+ "description": "The CPU request of this container instance.",
+ "type": "number",
+ "format": "double"
+ },
+ "gpu": {
+ "description": "The GPU request of this container instance.",
+ "$ref": "#/definitions/GpuResource"
+ }
+ }
+ },
+ "ResourceLimits": {
+ "description": "The resource limits.",
+ "type": "object",
+ "properties": {
+ "memoryInGB": {
+ "description": "The memory limit in GB of this container instance.",
+ "type": "number",
+ "format": "double"
+ },
+ "cpu": {
+ "description": "The CPU limit of this container instance.",
+ "type": "number",
+ "format": "double"
+ },
+ "gpu": {
+ "description": "The GPU limit of this container instance.",
+ "$ref": "#/definitions/GpuResource"
+ }
+ }
+ },
+ "GpuResource": {
+ "description": "The GPU resource.",
+ "type": "object",
+ "required": [
+ "count",
+ "sku"
+ ],
+ "properties": {
+ "count": {
+ "description": "The count of the GPU resource.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "sku": {
+ "type": "string",
+ "description": "The SKU of the GPU resource.",
+ "enum": [
+ "K80",
+ "P100",
+ "V100"
+ ],
+ "x-ms-enum": {
+ "name": "GpuSku",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "AzureFileVolume": {
+ "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.",
+ "type": "object",
+ "required": [
+ "shareName",
+ "storageAccountName"
+ ],
+ "properties": {
+ "shareName": {
+ "description": "The name of the Azure File share to be mounted as a volume.",
+ "type": "string"
+ },
+ "readOnly": {
+ "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.",
+ "type": "boolean"
+ },
+ "storageAccountName": {
+ "description": "The name of the storage account that contains the Azure File share.",
+ "type": "string"
+ },
+ "storageAccountKey": {
+ "description": "The storage account access key used to access the Azure File share.",
+ "type": "string"
+ }
+ }
+ },
+ "EmptyDirVolume": {
+ "description": "The empty directory volume.",
+ "type": "object",
+ "properties": {}
+ },
+ "SecretVolume": {
+ "description": "The secret volume.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "GitRepoVolume": {
+ "description": "Represents a volume that is populated with the contents of a git repository",
+ "required": [
+ "repository"
+ ],
+ "properties": {
+ "directory": {
+ "description": "Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.",
+ "type": "string"
+ },
+ "repository": {
+ "description": "Repository URL",
+ "type": "string"
+ },
+ "revision": {
+ "description": "Commit hash for the specified revision.",
+ "type": "string"
+ }
+ }
+ },
+ "Volume": {
+ "description": "The properties of the volume.",
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "The name of the volume.",
+ "type": "string"
+ },
+ "azureFile": {
+ "description": "The Azure File volume.",
+ "$ref": "#/definitions/AzureFileVolume"
+ },
+ "emptyDir": {
+ "description": "The empty directory volume.",
+ "$ref": "#/definitions/EmptyDirVolume"
+ },
+ "secret": {
+ "description": "The secret volume.",
+ "$ref": "#/definitions/SecretVolume"
+ },
+ "gitRepo": {
+ "description": "The git repo volume.",
+ "$ref": "#/definitions/GitRepoVolume"
+ }
+ }
+ },
+ "VolumeMount": {
+ "description": "The properties of the volume mount.",
+ "type": "object",
+ "required": [
+ "name",
+ "mountPath"
+ ],
+ "properties": {
+ "name": {
+ "description": "The name of the volume mount.",
+ "type": "string"
+ },
+ "mountPath": {
+ "description": "The path within the container where the volume should be mounted. Must not contain colon (:).",
+ "type": "string"
+ },
+ "readOnly": {
+ "description": "The flag indicating whether the volume mount is read-only.",
+ "type": "boolean"
+ }
+ }
+ },
+ "ContainerExec": {
+ "type": "object",
+ "description": "The container execution command, for liveness or readiness probe",
+ "properties": {
+ "command": {
+ "description": "The commands to execute within the container.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ContainerHttpGet": {
+ "type": "object",
+ "description": "The container Http Get settings, for liveness or readiness probe",
+ "properties": {
+ "path": {
+ "description": "The path to probe.",
+ "type": "string"
+ },
+ "port": {
+ "type": "integer",
+ "description": "The port number to probe.",
+ "format": "int32"
+ },
+ "scheme": {
+ "description": "The scheme.",
+ "type": "string",
+ "enum": [
+ "http",
+ "https"
+ ],
+ "x-ms-enum": {
+ "name": "Scheme",
+ "modelAsString": true
+ }
+ },
+ "httpHeaders": {
+ "description": "The HTTP headers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HttpHeader"
+ }
+ }
+ },
+ "required": [
+ "port"
+ ]
+ },
+ "ContainerProbe": {
+ "type": "object",
+ "description": "The container probe, for liveness or readiness",
+ "properties": {
+ "exec": {
+ "description": "The execution command to probe",
+ "$ref": "#/definitions/ContainerExec"
+ },
+ "httpGet": {
+ "description": "The Http Get settings to probe",
+ "$ref": "#/definitions/ContainerHttpGet"
+ },
+ "initialDelaySeconds": {
+ "description": "The initial delay seconds.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "periodSeconds": {
+ "description": "The period seconds.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "failureThreshold": {
+ "description": "The failure threshold.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "successThreshold": {
+ "description": "The success threshold.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "timeoutSeconds": {
+ "description": "The timeout seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "ContainerGroup": {
+ "description": "A container group.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "type": "object",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/ContainerGroupIdentity",
+ "description": "The identity of the container group, if configured."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "type": "object",
+ "description": "The container group properties",
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the container group. This only appears in the response."
+ },
+ "containers": {
+ "type": "array",
+ "description": "The containers within the container group.",
+ "items": {
+ "$ref": "#/definitions/Container"
+ }
+ },
+ "imageRegistryCredentials": {
+ "type": "array",
+ "description": "The image registry credentials by which the container group is created from.",
+ "items": {
+ "$ref": "#/definitions/ImageRegistryCredential"
+ }
+ },
+ "restartPolicy": {
+ "type": "string",
+ "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n",
+ "enum": [
+ "Always",
+ "OnFailure",
+ "Never"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerGroupRestartPolicy",
+ "modelAsString": true
+ }
+ },
+ "ipAddress": {
+ "description": "The IP address type of the container group.",
+ "$ref": "#/definitions/IpAddress"
+ },
+ "osType": {
+ "type": "string",
+ "description": "The operating system type required by the containers in the container group.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": true
+ }
+ },
+ "volumes": {
+ "type": "array",
+ "description": "The list of volumes that can be mounted by containers in this container group.",
+ "items": {
+ "$ref": "#/definitions/Volume"
+ }
+ },
+ "instanceView": {
+ "description": "The instance view of the container group. Only valid in response.",
+ "readOnly": true,
+ "type": "object",
+ "properties": {
+ "events": {
+ "description": "The events of this container group.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Event"
+ }
+ },
+ "state": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The state of the container group. Only valid in response."
+ }
+ }
+ },
+ "diagnostics": {
+ "description": "The diagnostic information for a container group.",
+ "$ref": "#/definitions/ContainerGroupDiagnostics"
+ },
+ "subnetIds": {
+ "type": "array",
+ "description": "The subnet resource IDs for a container group.",
+ "items": {
+ "$ref": "#/definitions/ContainerGroupSubnetId"
+ }
+ },
+ "dnsConfig": {
+ "description": "The DNS config information for a container group.",
+ "$ref": "#/definitions/DnsConfiguration"
+ },
+ "sku": {
+ "description": "The SKU for a container group.",
+ "$ref": "#/definitions/ContainerGroupSku"
+ },
+ "encryptionProperties": {
+ "description": "The encryption properties for a container group.",
+ "$ref": "#/definitions/EncryptionProperties"
+ },
+ "initContainers": {
+ "type": "array",
+ "description": "The init containers for a container group.",
+ "items": {
+ "$ref": "#/definitions/InitContainerDefinition"
+ }
+ }
+ },
+ "required": [
+ "containers",
+ "osType"
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "ContainerGroupIdentity": {
+ "description": "Identity for the container group.",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the container group identity. This property will only be provided for a system assigned identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id associated with the container group. This property will only be provided for a system assigned identity."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the container group.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "description": "The list of user identities associated with the container group. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ }
+ }
+ }
+ },
+ "ImageRegistryCredential": {
+ "description": "Image registry credential.",
+ "type": "object",
+ "properties": {
+ "server": {
+ "type": "string",
+ "description": "The Docker image registry server without a protocol such as \"http\" and \"https\"."
+ },
+ "username": {
+ "type": "string",
+ "description": "The username for the private registry."
+ },
+ "password": {
+ "type": "string",
+ "description": "The password for the private registry."
+ },
+ "identity": {
+ "type": "string",
+ "description": "The identity for the private registry."
+ },
+ "identityUrl": {
+ "type": "string",
+ "description": "The identity URL for the private registry."
+ }
+ },
+ "required": [
+ "server",
+ "username"
+ ]
+ },
+ "ContainerGroupDiagnostics": {
+ "description": "Container group diagnostic information.",
+ "type": "object",
+ "properties": {
+ "logAnalytics": {
+ "description": "Container group log analytics information.",
+ "$ref": "#/definitions/LogAnalytics"
+ }
+ }
+ },
+ "LogAnalytics": {
+ "description": "Container group log analytics information.",
+ "type": "object",
+ "properties": {
+ "workspaceId": {
+ "description": "The workspace id for log analytics",
+ "type": "string"
+ },
+ "workspaceKey": {
+ "description": "The workspace key for log analytics",
+ "type": "string"
+ },
+ "logType": {
+ "type": "string",
+ "description": "The log type to be used.",
+ "enum": [
+ "ContainerInsights",
+ "ContainerInstanceLogs"
+ ],
+ "x-ms-enum": {
+ "name": "LogAnalyticsLogType",
+ "modelAsString": true
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Metadata for log analytics.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "workspaceResourceId": {
+ "description": "The workspace resource id for log analytics",
+ "type": "string"
+ }
+ },
+ "required": [
+ "workspaceId",
+ "workspaceKey"
+ ]
+ },
+ "ContainerGroupSubnetId": {
+ "description": "Container group subnet information.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource ID of virtual network and subnet.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Friendly name for the subnet.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "IpAddress": {
+ "description": "IP address for the container group.",
+ "type": "object",
+ "properties": {
+ "ports": {
+ "type": "array",
+ "description": "The list of ports exposed on the container group.",
+ "items": {
+ "$ref": "#/definitions/Port"
+ }
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies if the IP is exposed to the public internet or private VNET.",
+ "enum": [
+ "Public",
+ "Private"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerGroupIpAddressType",
+ "modelAsString": true
+ }
+ },
+ "ip": {
+ "type": "string",
+ "description": "The IP exposed to the public internet."
+ },
+ "dnsNameLabel": {
+ "type": "string",
+ "description": "The Dns name label for the IP."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The FQDN for the IP."
+ }
+ },
+ "required": [
+ "ports",
+ "type"
+ ]
+ },
+ "Port": {
+ "description": "The port exposed on the container group.",
+ "type": "object",
+ "properties": {
+ "protocol": {
+ "type": "string",
+ "description": "The protocol associated with the port.",
+ "enum": [
+ "TCP",
+ "UDP"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerGroupNetworkProtocol",
+ "modelAsString": true
+ }
+ },
+ "port": {
+ "type": "integer",
+ "description": "The port number.",
+ "format": "int32"
+ }
+ },
+ "required": [
+ "port"
+ ]
+ },
+ "ContainerPort": {
+ "description": "The port exposed on the container instance.",
+ "type": "object",
+ "properties": {
+ "protocol": {
+ "type": "string",
+ "description": "The protocol associated with the port.",
+ "enum": [
+ "TCP",
+ "UDP"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerNetworkProtocol",
+ "modelAsString": true
+ }
+ },
+ "port": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The port number exposed within the container group."
+ }
+ },
+ "required": [
+ "port"
+ ]
+ },
+ "EnvironmentVariable": {
+ "description": "The environment variable to set within the container instance.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the environment variable."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the environment variable."
+ },
+ "secureValue": {
+ "type": "string",
+ "description": "The value of the secure environment variable."
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "OperationListResult": {
+ "description": "The operation list response that contains all operations for Azure Container Instance service.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "The list of operations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of operations."
+ }
+ }
+ },
+ "Operation": {
+ "description": "An operation for Azure Container Instance service.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the operation."
+ },
+ "display": {
+ "description": "The display information of the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The name of the provider of the operation.",
+ "type": "string"
+ },
+ "resource": {
+ "type": "string",
+ "description": "The name of the resource type of the operation."
+ },
+ "operation": {
+ "description": "The friendly name of the operation.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "properties": {
+ "type": "object",
+ "description": "The additional properties.",
+ "x-ms-client-flatten": true
+ },
+ "origin": {
+ "type": "string",
+ "description": "The intended executor of the operation.",
+ "enum": [
+ "User",
+ "System"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerInstanceOperationsOrigin",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name",
+ "display"
+ ]
+ },
+ "UsageListResult": {
+ "description": "The response containing the usage data",
+ "type": "object",
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "description": "The usage data.",
+ "items": {
+ "$ref": "#/definitions/Usage"
+ }
+ }
+ }
+ },
+ "Usage": {
+ "description": "A single usage result",
+ "type": "object",
+ "properties": {
+ "unit": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Unit of the usage result"
+ },
+ "currentValue": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The current usage of the resource"
+ },
+ "limit": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum permitted usage of the resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "object",
+ "description": "The name object of the resource",
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource"
+ },
+ "localizedValue": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized name of the resource"
+ }
+ }
+ }
+ }
+ },
+ "ContainerGroupListResult": {
+ "description": "The container group list response that contains the container group properties.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerGroup"
+ },
+ "description": "The list of container groups."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of container groups."
+ }
+ }
+ },
+ "Logs": {
+ "description": "The logs.",
+ "type": "object",
+ "properties": {
+ "content": {
+ "type": "string",
+ "description": "The content of the log."
+ }
+ }
+ },
+ "ContainerExecRequest": {
+ "description": "The container exec request.",
+ "type": "object",
+ "properties": {
+ "command": {
+ "type": "string",
+ "description": "The command to be executed."
+ },
+ "terminalSize": {
+ "type": "object",
+ "description": "The size of the terminal.",
+ "properties": {
+ "rows": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The row size of the terminal"
+ },
+ "cols": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The column size of the terminal"
+ }
+ }
+ }
+ }
+ },
+ "ContainerExecResponse": {
+ "description": "The information for the container exec command.",
+ "type": "object",
+ "properties": {
+ "webSocketUri": {
+ "type": "string",
+ "description": "The uri for the exec websocket."
+ },
+ "password": {
+ "type": "string",
+ "description": "The password to start the exec command."
+ }
+ }
+ },
+ "ContainerAttachResponse": {
+ "description": "The information for the output stream from container attach.",
+ "type": "object",
+ "properties": {
+ "webSocketUri": {
+ "type": "string",
+ "description": "The uri for the output stream from the attach."
+ },
+ "password": {
+ "type": "string",
+ "description": "The password to the output stream from the attach. Send as an Authorization header value when connecting to the websocketUri."
+ }
+ }
+ },
+ "HttpHeader": {
+ "description": "The HTTP header.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The header name."
+ },
+ "value": {
+ "type": "string",
+ "description": "The header value."
+ }
+ }
+ },
+ "DnsConfiguration": {
+ "description": "DNS configuration for the container group.",
+ "type": "object",
+ "required": [
+ "nameServers"
+ ],
+ "properties": {
+ "nameServers": {
+ "description": "The DNS servers for the container group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "searchDomains": {
+ "description": "The DNS search domains for hostname lookup in the container group.",
+ "type": "string"
+ },
+ "options": {
+ "description": "The DNS options for the container group.",
+ "type": "string"
+ }
+ }
+ },
+ "Resource": {
+ "type": "object",
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource id."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "The resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ },
+ "zones": {
+ "description": "The zones for the container group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "CachedImagesListResult": {
+ "description": "The response containing cached images.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/cachedImages"
+ },
+ "description": "The list of cached images."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of cached images."
+ }
+ }
+ },
+ "cachedImages": {
+ "description": "The cached image and OS type.",
+ "type": "object",
+ "required": [
+ "osType",
+ "image"
+ ],
+ "properties": {
+ "osType": {
+ "type": "string",
+ "description": "The OS type of the cached image."
+ },
+ "image": {
+ "type": "string",
+ "description": "The cached image name."
+ }
+ }
+ },
+ "CapabilitiesListResult": {
+ "description": "The response containing list of capabilities.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Capabilities"
+ },
+ "description": "The list of capabilities."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of capabilities."
+ }
+ }
+ },
+ "Capabilities": {
+ "description": "The regional capabilities.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource type that this capability describes."
+ },
+ "osType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The OS type that this capability describes."
+ },
+ "location": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource location."
+ },
+ "ipAddressType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The ip address type that this capability describes."
+ },
+ "gpu": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The GPU sku that this capability describes."
+ },
+ "capabilities": {
+ "type": "object",
+ "readOnly": true,
+ "description": "The supported capabilities.",
+ "properties": {
+ "maxMemoryInGB": {
+ "type": "number",
+ "readOnly": true,
+ "description": "The maximum allowed memory request in GB."
+ },
+ "maxCpu": {
+ "type": "number",
+ "readOnly": true,
+ "description": "The maximum allowed CPU request in cores."
+ },
+ "maxGpuCount": {
+ "type": "number",
+ "readOnly": true,
+ "description": "The maximum allowed GPU count."
+ }
+ }
+ }
+ }
+ },
+ "ContainerGroupSku": {
+ "description": "The container group SKU.",
+ "type": "string",
+ "enum": [
+ "Standard",
+ "Dedicated"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerGroupSku",
+ "modelAsString": true
+ }
+ },
+ "EncryptionProperties": {
+ "description": "The container group encryption properties.",
+ "type": "object",
+ "properties": {
+ "vaultBaseUrl": {
+ "description": "The keyvault base url.",
+ "type": "string"
+ },
+ "keyName": {
+ "description": "The encryption key name.",
+ "type": "string"
+ },
+ "keyVersion": {
+ "description": "The encryption key version.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "vaultBaseUrl",
+ "keyName",
+ "keyVersion"
+ ]
+ },
+ "InitContainerDefinition": {
+ "description": "The init container definition.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name for the init container.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "The properties for the init container.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/InitContainerPropertiesDefinition"
+ }
+ },
+ "required": [
+ "name",
+ "properties"
+ ]
+ },
+ "InitContainerPropertiesDefinition": {
+ "description": "The init container definition properties.",
+ "type": "object",
+ "properties": {
+ "image": {
+ "description": "The image of the init container.",
+ "type": "string"
+ },
+ "command": {
+ "description": "The command to execute within the init container in exec form.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "environmentVariables": {
+ "description": "The environment variables to set in the init container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentVariable"
+ }
+ },
+ "instanceView": {
+ "description": "The instance view of the init container. Only valid in response.",
+ "readOnly": true,
+ "type": "object",
+ "properties": {
+ "restartCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of times that the init container has been restarted."
+ },
+ "currentState": {
+ "readOnly": true,
+ "description": "The current state of the init container.",
+ "$ref": "#/definitions/ContainerState"
+ },
+ "previousState": {
+ "readOnly": true,
+ "description": "The previous state of the init container.",
+ "$ref": "#/definitions/ContainerState"
+ },
+ "events": {
+ "readOnly": true,
+ "description": "The events of the init container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Event"
+ }
+ }
+ }
+ },
+ "volumeMounts": {
+ "description": "The volume mounts available to the init container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VolumeMount"
+ }
+ }
+ }
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An error response from the Container Instance service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Container Instance service."
+ },
+ "NetworkDependenciesResponse": {
+ "description": "Response for network dependencies, always empty list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "x-ms-parameter-location": "client"
+ },
+ "LocationParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The identifier for the physical azure location.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ContainerGroupNameParameter": {
+ "name": "containerGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the container group.",
+ "x-ms-parameter-location": "method"
+ },
+ "OperationIdParameter": {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The operation Id.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/CachedImagesList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/CachedImagesList.json
new file mode 100644
index 000000000000..010b9881d3b0
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/CachedImagesList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "location": "westcentralus",
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "osType": "Linux",
+ "image": "ubuntu:16.04"
+ },
+ {
+ "osType": "Linux",
+ "image": "alpine:3.6"
+ },
+ {
+ "osType": "Windows",
+ "image": "microsoft/nanoserver:10.0.14393.2485"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/CapabilitiesList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/CapabilitiesList.json
new file mode 100644
index 000000000000..bde85fe22a94
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/CapabilitiesList.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "location": "westus",
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "containerGroups",
+ "osType": "Linux",
+ "location": "West US",
+ "ipAddressType": "Public",
+ "gpu": "K80",
+ "capabilities": {
+ "maxMemoryInGB": 14,
+ "maxCpu": 4,
+ "maxGpuCount": 4
+ }
+ },
+ {
+ "resourceType": "containerGroups",
+ "osType": "Windows",
+ "location": "West US",
+ "ipAddressType": "Public",
+ "gpu": "None",
+ "capabilities": {
+ "maxMemoryInGB": 14,
+ "maxCpu": 4,
+ "maxGpuCount": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerAttach.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerAttach.json
new file mode 100644
index 000000000000..1539a43a72c2
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerAttach.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2021-09-01",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1",
+ "containerName": "container1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "webSocketUri": "wss://web-socket-uri",
+ "password": "password"
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerExec.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerExec.json
new file mode 100644
index 000000000000..8c1b5686dfe5
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerExec.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2021-09-01",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1",
+ "containerName": "container1",
+ "containerExecRequest": {
+ "command": "/bin/bash",
+ "terminalSize": {
+ "rows": 12,
+ "cols": 12
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "webSocketUri": "wss://web-socket-uri",
+ "password": "password"
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupUsage.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupUsage.json
new file mode 100644
index 000000000000..005922be7e26
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupUsage.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "location": "westcentralus",
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Count",
+ "currentValue": 1,
+ "limit": 2000,
+ "name": {
+ "value": "ContainerGroups",
+ "localizedValue": "Container Groups"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsCreateOrUpdate.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsCreateOrUpdate.json
new file mode 100644
index 000000000000..876f55a002f3
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsCreateOrUpdate.json
@@ -0,0 +1,314 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2021-09-01",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1",
+ "zones": [
+ "1"
+ ],
+ "containerGroup": {
+ "location": "west us",
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name": {}
+ }
+ },
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5,
+ "gpu": {
+ "count": 1,
+ "sku": "K80"
+ }
+ }
+ },
+ "volumeMounts": [
+ {
+ "name": "volume1",
+ "mountPath": "/mnt/volume1",
+ "readOnly": false
+ },
+ {
+ "name": "volume2",
+ "mountPath": "/mnt/volume2",
+ "readOnly": false
+ },
+ {
+ "name": "volume3",
+ "mountPath": "/mnt/volume3",
+ "readOnly": true
+ }
+ ]
+ }
+ }
+ ],
+ "diagnostics": {
+ "logAnalytics": {
+ "workspaceId": "workspaceid",
+ "workspaceKey": "workspaceKey",
+ "logType": "ContainerInsights",
+ "metadata": {
+ "test-key": "test-metadata-value"
+ },
+ "workspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/microsoft.operationalinsights/workspaces/workspace"
+ }
+ },
+ "subnetIds": [
+ {
+ "id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('subnetName'))]"
+ }
+ ],
+ "dnsConfig": {
+ "nameServers": [
+ "1.1.1.1"
+ ],
+ "searchDomains": "cluster.local svc.cluster.local",
+ "options": "ndots:2"
+ },
+ "imageRegistryCredentials": [],
+ "ipAddress": {
+ "ports": [
+ {
+ "protocol": "TCP",
+ "port": 80
+ }
+ ],
+ "type": "Public",
+ "dnsNameLabel": "dnsnamelabel1"
+ },
+ "osType": "Linux",
+ "volumes": [
+ {
+ "name": "volume1",
+ "azureFile": {
+ "shareName": "shareName",
+ "storageAccountName": "accountName",
+ "storageAccountKey": "accountKey"
+ }
+ },
+ {
+ "name": "volume2",
+ "emptyDir": {}
+ },
+ {
+ "name": "volume3",
+ "secret": {
+ "secretKey1": "SecretValue1InBase64",
+ "secretKey2": "SecretValue2InBase64"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "zones": [
+ "1"
+ ],
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5,
+ "gpu": {
+ "count": 1,
+ "sku": "K80"
+ }
+ }
+ },
+ "volumeMounts": [
+ {
+ "name": "volume1",
+ "mountPath": "/mnt/volume1",
+ "readOnly": false
+ },
+ {
+ "name": "volume2",
+ "mountPath": "/mnt/volume2",
+ "readOnly": false
+ },
+ {
+ "name": "volume3",
+ "mountPath": "/mnt/volume3",
+ "readOnly": true
+ }
+ ]
+ }
+ }
+ ],
+ "diagnostics": {
+ "logAnalytics": {
+ "workspaceId": "workspaceid",
+ "workspaceKey": ""
+ }
+ },
+ "dnsConfig": {
+ "nameServers": [
+ "1.1.1.1"
+ ],
+ "searchDomains": "cluster.local svc.cluster.local",
+ "options": "ndots:2"
+ },
+ "imageRegistryCredentials": [],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public",
+ "dnsNameLabel": "dnsnamelabel1",
+ "fqdn": "dnsnamelabel1.azure-container.io"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "name": "volume1",
+ "azureFile": {
+ "shareName": "shareName",
+ "storageAccountName": "accountName"
+ }
+ },
+ {
+ "name": "volume2",
+ "emptyDir": {}
+ },
+ {
+ "name": "volume3",
+ "secret": {}
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "zones": [
+ "1"
+ ],
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5,
+ "gpu": {
+ "count": 1,
+ "sku": "K80"
+ }
+ }
+ },
+ "volumeMounts": [
+ {
+ "name": "volume1",
+ "mountPath": "/mnt/volume1",
+ "readOnly": false
+ },
+ {
+ "name": "volume2",
+ "mountPath": "/mnt/volume2",
+ "readOnly": false
+ },
+ {
+ "name": "volume3",
+ "mountPath": "/mnt/volume3",
+ "readOnly": true
+ }
+ ]
+ }
+ }
+ ],
+ "dnsConfig": {
+ "nameServers": [
+ "1.1.1.1"
+ ]
+ },
+ "imageRegistryCredentials": [],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public",
+ "dnsNameLabel": "dnsnamelabel1",
+ "fqdn": "dnsnamelabel1.azure-container.io"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "name": "volume1",
+ "azureFile": {
+ "shareName": "shareName",
+ "storageAccountName": "accountName"
+ }
+ },
+ {
+ "name": "volume2",
+ "emptyDir": {}
+ },
+ {
+ "name": "volume3",
+ "secret": {}
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsDelete.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsDelete.json
new file mode 100644
index 000000000000..55a59cef7b82
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsDelete.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2021-09-01",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "zones": [
+ "1"
+ ],
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "mountPath": "/mnt/volume1",
+ "name": "volume1",
+ "readOnly": false
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [
+ {
+ "server": "azcloudconsoleregistry.azurecr.io",
+ "username": "azcloudconsoleregistry"
+ }
+ ],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "azureFile": {
+ "readOnly": false,
+ "shareName": "share1",
+ "storageAccountName": "storage1"
+ },
+ "name": "volume1"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ },
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsGet_Failed.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsGet_Failed.json
new file mode 100644
index 000000000000..15efada5ea38
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsGet_Failed.json
@@ -0,0 +1,115 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1",
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "instanceView": {
+ "restartCount": 0,
+ "currentState": {
+ "state": "Waiting",
+ "startTime": "2017-08-08T00:09:10Z",
+ "detailStatus": ""
+ },
+ "events": [
+ {
+ "count": 1,
+ "firstTimestamp": "2017-08-08T00:09:01Z",
+ "lastTimestamp": "2017-08-08T00:09:01Z",
+ "message": "pulling image \"nginx\"",
+ "name": "Pulling",
+ "type": "Normal"
+ },
+ {
+ "count": 1,
+ "firstTimestamp": "2017-08-08T00:09:10Z",
+ "lastTimestamp": "2017-08-08T00:09:10Z",
+ "message": "Successfully pulled image \"nginx\"",
+ "name": "Pulled",
+ "type": "Normal"
+ }
+ ]
+ },
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "mountPath": "/mnt/volume1",
+ "name": "volume1",
+ "readOnly": false
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [
+ {
+ "server": "azcloudconsoleregistry.azurecr.io",
+ "username": "azcloudconsoleregistry"
+ }
+ ],
+ "instanceView": {
+ "events": [
+ {
+ "count": 1,
+ "firstTimestamp": "2017-10-08T00:19:10Z",
+ "lastTimestamp": "2017-10-08T00:19:10Z",
+ "message": "Output: mount error(2): Permission denied",
+ "name": "FailedMount",
+ "type": "Normal"
+ }
+ ],
+ "state": "Pending"
+ },
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Failed",
+ "volumes": [
+ {
+ "azureFile": {
+ "readOnly": false,
+ "shareName": "share1",
+ "storageAccountName": "storage1"
+ },
+ "name": "volume1"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsGet_Succeeded.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsGet_Succeeded.json
new file mode 100644
index 000000000000..64a1f77fd51c
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsGet_Succeeded.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1",
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "zones": [
+ "1"
+ ],
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "mountPath": "/mnt/volume1",
+ "name": "volume1",
+ "readOnly": false
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [
+ {
+ "server": "azcloudconsoleregistry.azurecr.io",
+ "username": "azcloudconsoleregistry"
+ }
+ ],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "azureFile": {
+ "readOnly": false,
+ "shareName": "share1",
+ "storageAccountName": "storage1"
+ },
+ "name": "volume1"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsList.json
new file mode 100644
index 000000000000..be969adf407a
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsList.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "zones": [
+ "1"
+ ],
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "instanceView": {
+ "restartCount": 0,
+ "currentState": {
+ "state": "Running",
+ "startTime": "2017-10-17T17:27:21Z",
+ "detailStatus": ""
+ },
+ "events": []
+ },
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "mountPath": "/mnt/volume1",
+ "name": "volume1",
+ "readOnly": false
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [
+ {
+ "server": "azcloudconsoleregistry.azurecr.io",
+ "username": "azcloudconsoleregistry"
+ }
+ ],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "azureFile": {
+ "readOnly": false,
+ "shareName": "share1",
+ "storageAccountName": "storage1"
+ },
+ "name": "volume1"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsListByResourceGroup.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsListByResourceGroup.json
new file mode 100644
index 000000000000..4fec6b0e9259
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsListByResourceGroup.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "demo",
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "zones": [
+ "1"
+ ],
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "mountPath": "/mnt/volume1",
+ "name": "volume1",
+ "readOnly": false
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [
+ {
+ "server": "azcloudconsoleregistry.azurecr.io",
+ "username": "azcloudconsoleregistry"
+ }
+ ],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "azureFile": {
+ "readOnly": false,
+ "shareName": "share1",
+ "storageAccountName": "storage1"
+ },
+ "name": "volume1"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsRestart.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsRestart.json
new file mode 100644
index 000000000000..aad4b84d2f3a
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsRestart.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2021-09-01",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsStart.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsStart.json
new file mode 100644
index 000000000000..c11446a08527
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsStart.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2021-09-01",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsStop.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsStop.json
new file mode 100644
index 000000000000..aad4b84d2f3a
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsStop.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2021-09-01",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsUpdate.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsUpdate.json
new file mode 100644
index 000000000000..223cf7fb079a
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerGroupsUpdate.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2021-09-01",
+ "resourceGroupName": "demoResource",
+ "containerGroupName": "demo1",
+ "Resource": {
+ "tags": {
+ "tag1key": "tag1Value",
+ "tag2key": "tag2Value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demoResource/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "type": "Microsoft.ContainerInstance/containerGroups",
+ "tags": {
+ "tag1key": "tag1Value",
+ "tag2key": "tag2Value"
+ },
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "name": "volume1",
+ "mountPath": "/mnt/volume1",
+ "readOnly": false
+ },
+ {
+ "name": "volume2",
+ "mountPath": "/mnt/volume2",
+ "readOnly": false
+ },
+ {
+ "name": "volume3",
+ "mountPath": "/mnt/volume3",
+ "readOnly": true
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public",
+ "dnsNameLabel": "dnsnamelabel1",
+ "fqdn": "dnsnamelabel1.azure-container.io"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "name": "volume1",
+ "azureFile": {
+ "shareName": "shareName",
+ "storageAccountName": "accountName"
+ }
+ },
+ {
+ "name": "volume2",
+ "emptyDir": {}
+ },
+ {
+ "name": "volume3",
+ "secret": {}
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerListLogs.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerListLogs.json
new file mode 100644
index 000000000000..29a85f495803
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/ContainerListLogs.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2021-09-01",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1",
+ "containerName": "container1",
+ "tail": 10
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "content": "log content"
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/OperationsList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/OperationsList.json
new file mode 100644
index 000000000000..c447abeedc03
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2021-09-01/examples/OperationsList.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.ContainerInstance/containerGroups/read",
+ "display": {
+ "provider": "Microsoft Container Instance",
+ "resource": "Container Group",
+ "operation": "Get Container Groups",
+ "description": "Get all container goups."
+ },
+ "origin": "User"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/readme.go.md b/specification/containerinstance/resource-manager/readme.go.md
index 0fa166528095..d3a8737b39e8 100644
--- a/specification/containerinstance/resource-manager/readme.go.md
+++ b/specification/containerinstance/resource-manager/readme.go.md
@@ -13,6 +13,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-09
- tag: package-2021-07
- tag: package-2021-03
- tag: package-2020-11
@@ -27,6 +28,15 @@ batch:
- tag: package-2017-08-preview
```
+### Tag: package-2021-09 and go
+
+These settings apply only when `--tag=package-2021-09 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-09' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-09-01/$(namespace)
+```
+
### Tag: package-2021-07 and go
These settings apply only when `--tag=package-2021-07 --go` is specified on the command line.
diff --git a/specification/containerinstance/resource-manager/readme.md b/specification/containerinstance/resource-manager/readme.md
index bf49537b315d..ba96cb341251 100644
--- a/specification/containerinstance/resource-manager/readme.md
+++ b/specification/containerinstance/resource-manager/readme.md
@@ -26,18 +26,27 @@ These are the global settings for the ContainerInstance API.
``` yaml
openapi-type: arm
-tag: package-2021-07
+tag: package-2021-09
```
+### Tag: package-2021-09
+
+These settings apply only when `--tag=package-2021-09` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-09'
+input-file:
+ - Microsoft.ContainerInstance/stable/2021-09-01/containerInstance.json
+```
### Tag: package-2021-07
These settings apply only when `--tag=package-2021-07` is specified on the command line.
-```yaml $(tag) == 'package-2021-07'
+``` yaml $(tag) == 'package-2021-07'
input-file:
- Microsoft.ContainerInstance/stable/2021-07-01/containerInstance.json
```
+
### Tag: package-2021-03
These settings apply only when `--tag=package-2021-03` is specified on the command line.
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
index 6b58097c1a77..2df5846f573f 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
@@ -3084,9 +3084,11 @@
"type": "string"
},
"details": {
- "$ref": "#/definitions/InnerErrorDescription",
"description": "an array of additional nested error response info objects, as described by this contract.",
- "type": "array"
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InnerErrorDescription"
+ }
}
}
},
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 9469787e7f06..a8ec44ee07a7 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
@@ -5737,9 +5737,11 @@
"type": "string"
},
"details": {
- "$ref": "#/definitions/InnerErrorDescription",
"description": "an array of additional nested error response info objects, as described by this contract.",
- "type": "array"
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InnerErrorDescription"
+ }
}
}
},
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/containerregistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/containerregistry.json
index fe45fa370537..d7fadba775c7 100644
--- a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/containerregistry.json
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-06-01-preview/containerregistry.json
@@ -5764,9 +5764,11 @@
"type": "string"
},
"details": {
- "$ref": "#/definitions/InnerErrorDescription",
"description": "an array of additional nested error response info objects, as described by this contract.",
- "type": "array"
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InnerErrorDescription"
+ }
}
}
},
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/containerregistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/containerregistry.json
new file mode 100644
index 000000000000..b28593632e8a
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/containerregistry.json
@@ -0,0 +1,5971 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-08-01-preview",
+ "title": "ContainerRegistryManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/connectedRegistries": {
+ "get": {
+ "tags": [
+ "ConnectedRegistries"
+ ],
+ "description": "Lists all connected registries for the specified container registry.",
+ "operationId": "ConnectedRegistries_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConnectedRegistryFilterParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConnectedRegistryListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConnectedRegistryList": {
+ "$ref": "./examples/ConnectedRegistryList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/connectedRegistries/{connectedRegistryName}": {
+ "get": {
+ "tags": [
+ "ConnectedRegistries"
+ ],
+ "description": "Gets the properties of the connected registry.",
+ "operationId": "ConnectedRegistries_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConnectedRegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConnectedRegistry"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource does not exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConnectedRegistryGet": {
+ "$ref": "./examples/ConnectedRegistryGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ConnectedRegistries"
+ ],
+ "description": "Creates a connected registry for a container registry with the specified parameters.",
+ "operationId": "ConnectedRegistries_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConnectedRegistryNameParameter"
+ },
+ {
+ "name": "connectedRegistryCreateParameters",
+ "in": "body",
+ "description": "The parameters for creating a connectedRegistry.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectedRegistry"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConnectedRegistry"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ConnectedRegistry"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConnectedRegistryCreate": {
+ "$ref": "./examples/ConnectedRegistryCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "ConnectedRegistries"
+ ],
+ "description": "Deletes a connected registry from a container registry.",
+ "operationId": "ConnectedRegistries_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConnectedRegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The webhook does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConnectedRegistryDelete": {
+ "$ref": "./examples/ConnectedRegistryDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ConnectedRegistries"
+ ],
+ "description": "Updates a connected registry with the specified parameters.",
+ "operationId": "ConnectedRegistries_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConnectedRegistryNameParameter"
+ },
+ {
+ "name": "connectedRegistryUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a connectedRegistry.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectedRegistryUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConnectedRegistry"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ConnectedRegistry"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If any of the input parameters are invalid, 400 (Bad Request) is returned. If the request cannot be processed due to a conflict in the request, 409 (Conflict) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConnectedRegistryUpdate": {
+ "$ref": "./examples/ConnectedRegistryUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/connectedRegistries/{connectedRegistryName}/deactivate": {
+ "post": {
+ "tags": [
+ "ConnectedRegistries"
+ ],
+ "description": "Deactivates the connected registry instance.",
+ "operationId": "ConnectedRegistries_Deactivate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConnectedRegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConnectedRegistryDeactivate": {
+ "$ref": "./examples/ConnectedRegistryDeactivate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/exportPipelines": {
+ "get": {
+ "tags": [
+ "ExportPipelines"
+ ],
+ "description": "Lists all export pipelines for the specified container registry.",
+ "operationId": "ExportPipelines_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ExportPipelineListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExportPipelineList": {
+ "$ref": "./examples/ExportPipelineList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/exportPipelines/{exportPipelineName}": {
+ "get": {
+ "tags": [
+ "ExportPipelines"
+ ],
+ "description": "Gets the properties of the export pipeline.",
+ "operationId": "ExportPipelines_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExportPipelineNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ExportPipeline"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExportPipelineGet": {
+ "$ref": "./examples/ExportPipelineGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ExportPipelines"
+ ],
+ "description": "Creates an export pipeline for a container registry with the specified parameters.",
+ "operationId": "ExportPipelines_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExportPipelineNameParameter"
+ },
+ {
+ "name": "exportPipelineCreateParameters",
+ "in": "body",
+ "description": "The parameters for creating an export pipeline.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExportPipeline"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the operation has completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ExportPipeline"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ExportPipeline"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExportPipelineCreate": {
+ "$ref": "./examples/ExportPipelineCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "ExportPipelines"
+ ],
+ "description": "Deletes an export pipeline from a container registry.",
+ "operationId": "ExportPipelines_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExportPipelineNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The export pipeline does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "ExportPipelineDelete": {
+ "$ref": "./examples/ExportPipelineDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importImage": {
+ "post": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Copies an image to this container registry from the specified container registry.",
+ "operationId": "Registries_ImportImage",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The parameters specifying the image to copy and the source container registry.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImportImageParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the operation has completed successfully."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "ImportImageByTag": {
+ "$ref": "./examples/ImportImageByTag.json"
+ },
+ "ImportImageByManifestDigest": {
+ "$ref": "./examples/ImportImageByManifestDigest.json"
+ },
+ "ImportImageFromPublicRegistry": {
+ "$ref": "./examples/ImportImageFromPublicRegistry.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importPipelines": {
+ "get": {
+ "tags": [
+ "ImportPipelines"
+ ],
+ "description": "Lists all import pipelines for the specified container registry.",
+ "operationId": "ImportPipelines_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ImportPipelineListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ImportPipelineList": {
+ "$ref": "./examples/ImportPipelineList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importPipelines/{importPipelineName}": {
+ "get": {
+ "tags": [
+ "ImportPipelines"
+ ],
+ "description": "Gets the properties of the import pipeline.",
+ "operationId": "ImportPipelines_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ImportPipelineNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ImportPipeline"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ImportPipelineGet": {
+ "$ref": "./examples/ImportPipelineGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ImportPipelines"
+ ],
+ "description": "Creates an import pipeline for a container registry with the specified parameters.",
+ "operationId": "ImportPipelines_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ImportPipelineNameParameter"
+ },
+ {
+ "name": "importPipelineCreateParameters",
+ "in": "body",
+ "description": "The parameters for creating an import pipeline.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImportPipeline"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the operation has completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ImportPipeline"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ImportPipeline"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ImportPipelineCreate": {
+ "$ref": "./examples/ImportPipelineCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "ImportPipelines"
+ ],
+ "description": "Deletes an import pipeline from a container registry.",
+ "operationId": "ImportPipelines_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ImportPipelineNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The import pipeline does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "ImportPipelineDelete": {
+ "$ref": "./examples/ImportPipelineDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/providers/Microsoft.ContainerRegistry/operations": {
+ "get": {
+ "tags": [
+ "Operation"
+ ],
+ "description": "Lists all of the available Azure Container Registry REST API operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OperationList": {
+ "$ref": "./examples/OperationList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Operation"
+ ],
+ "description": "Checks whether the container registry name is available for use. The name must contain only alphanumeric characters, be globally unique, and between 5 and 50 characters in length.",
+ "operationId": "Registries_CheckNameAvailability",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "registryNameCheckRequest",
+ "in": "body",
+ "description": "The object containing information for the availability request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegistryNameCheckRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/RegistryNameStatus"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryCheckNameAvailable": {
+ "$ref": "./examples/RegistryCheckNameAvailable.json"
+ },
+ "RegistryCheckNameNotAvailable": {
+ "$ref": "./examples/RegistryCheckNameNotAvailable.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/pipelineRuns": {
+ "get": {
+ "tags": [
+ "PipelineRuns"
+ ],
+ "description": "Lists all the pipeline runs for the specified container registry.",
+ "operationId": "PipelineRuns_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well - formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PipelineRunListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PipelineRunList": {
+ "$ref": "./examples/PipelineRunList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/pipelineRuns/{pipelineRunName}": {
+ "get": {
+ "tags": [
+ "PipelineRuns"
+ ],
+ "description": "Gets the detailed information for a given pipeline run.",
+ "operationId": "PipelineRuns_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PipelineRunNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well - formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PipelineRun"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PipelineRunGet": {
+ "$ref": "./examples/PipelineRunGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PipelineRuns"
+ ],
+ "description": "Creates a pipeline run for a container registry with the specified parameters",
+ "operationId": "PipelineRuns_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PipelineRunNameParameter"
+ },
+ {
+ "name": "pipelineRunCreateParameters",
+ "in": "body",
+ "description": "The parameters for creating a pipeline run.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PipelineRun"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well - formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PipelineRun"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/PipelineRun"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PipelineRunCreate_Export": {
+ "$ref": "./examples/PipelineRunCreate_Export.json"
+ },
+ "PipelineRunCreate_Import": {
+ "$ref": "./examples/PipelineRunCreate_Import.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "PipelineRuns"
+ ],
+ "description": "Deletes a pipeline run from a container registry.",
+ "operationId": "PipelineRuns_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PipelineRunNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The pipeline run does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "PipelineRunDelete": {
+ "$ref": "./examples/PipelineRunDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "List all private endpoint connections in a container registry.",
+ "operationId": "PrivateEndpointConnections_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnectionList": {
+ "$ref": "./examples/PrivateEndpointConnectionList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Get the specified private endpoint connection associated with the container registry.",
+ "operationId": "PrivateEndpointConnections_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnectionGet": {
+ "$ref": "./examples/PrivateEndpointConnectionGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Update the state of specified private endpoint connection associated with the container registry.",
+ "operationId": "PrivateEndpointConnections_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "name": "privateEndpointConnection",
+ "in": "body",
+ "description": "The parameters for creating a private endpoint connection.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnectionCreateOrUpdate": {
+ "$ref": "./examples/PrivateEndpointConnectionCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Deletes the specified private endpoint connection associated with the container registry.",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The private endpoint connection does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnectionDelete": {
+ "$ref": "./examples/PrivateEndpointConnectionDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/registries": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Lists all the container registries under the specified subscription.",
+ "operationId": "Registries_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/RegistryListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryList": {
+ "$ref": "./examples/RegistryList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Lists all the container registries under the specified resource group.",
+ "operationId": "Registries_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/RegistryListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryListByResourceGroup": {
+ "$ref": "./examples/RegistryListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Gets the properties of the specified container registry.",
+ "operationId": "Registries_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryGet": {
+ "$ref": "./examples/RegistryGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Creates a container registry with the specified parameters.",
+ "operationId": "Registries_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "name": "registry",
+ "in": "body",
+ "description": "The parameters for creating a container registry.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryCreate": {
+ "$ref": "./examples/RegistryCreate.json"
+ },
+ "RegistryCreateZoneRedundant": {
+ "$ref": "./examples/RegistryCreateZoneRedundant.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Deletes a container registry.",
+ "operationId": "Registries_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The container registry does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "RegistryDelete": {
+ "$ref": "./examples/RegistryDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Updates a container registry with the specified parameters.",
+ "operationId": "Registries_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "name": "registryUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a container registry.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegistryUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryUpdate": {
+ "$ref": "./examples/RegistryUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listUsages": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Gets the quota usages for the specified container registry.",
+ "operationId": "Registries_ListUsages",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the registry usages retrieved and returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/RegistryUsageListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryListUsages": {
+ "$ref": "./examples/RegistryListUsages.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Lists the private link resources for a container registry.",
+ "operationId": "Registries_ListPrivateLinkResources",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the private link resources were retrieved and returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryListPrivateLinkResources": {
+ "$ref": "./examples/RegistryListPrivateLinkResources.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listCredentials": {
+ "post": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Lists the login credentials for the specified container registry.",
+ "operationId": "Registries_ListCredentials",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the list of credentials retrieved and returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/RegistryListCredentialsResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryListCredentials": {
+ "$ref": "./examples/RegistryListCredentials.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredential": {
+ "post": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Regenerates one of the login credentials for the specified container registry.",
+ "operationId": "Registries_RegenerateCredential",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "name": "regenerateCredentialParameters",
+ "in": "body",
+ "description": "Specifies name of the password which should be regenerated -- password or password2.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateCredentialParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the specified credential regenerated successfully.",
+ "schema": {
+ "$ref": "#/definitions/RegistryListCredentialsResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryRegenerateCredential": {
+ "$ref": "./examples/RegistryRegenerateCredential.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications": {
+ "get": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Lists all the replications for the specified container registry.",
+ "operationId": "Replications_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ReplicationListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationList": {
+ "$ref": "./examples/ReplicationList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}": {
+ "get": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Gets the properties of the specified replication.",
+ "operationId": "Replications_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ReplicationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationGet": {
+ "$ref": "./examples/ReplicationGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Creates a replication for a container registry with the specified parameters.",
+ "operationId": "Replications_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ReplicationNameParameter"
+ },
+ {
+ "name": "replication",
+ "in": "body",
+ "description": "The parameters for creating a replication.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationCreate": {
+ "$ref": "./examples/ReplicationCreate.json"
+ },
+ "ReplicationCreateZoneRedundant": {
+ "$ref": "./examples/ReplicationCreateZoneRedundant.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Deletes a replication from a container registry.",
+ "operationId": "Replications_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ReplicationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The replication does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationDelete": {
+ "$ref": "./examples/ReplicationDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Updates a replication for a container registry with the specified parameters.",
+ "operationId": "Replications_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ReplicationNameParameter"
+ },
+ {
+ "name": "replicationUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a replication.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReplicationUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationUpdate": {
+ "$ref": "./examples/ReplicationUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scopeMaps": {
+ "get": {
+ "tags": [
+ "ScopeMaps"
+ ],
+ "description": "Lists all the scope maps for the specified container registry.",
+ "operationId": "ScopeMaps_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ScopeMapListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ScopeMapList": {
+ "$ref": "./examples/ScopeMapList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scopeMaps/{scopeMapName}": {
+ "get": {
+ "tags": [
+ "ScopeMaps"
+ ],
+ "description": "Gets the properties of the specified scope map.",
+ "operationId": "ScopeMaps_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeMapNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ScopeMap"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ScopeMapGet": {
+ "$ref": "./examples/ScopeMapGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ScopeMaps"
+ ],
+ "description": "Creates a scope map for a container registry with the specified parameters.",
+ "operationId": "ScopeMaps_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeMapNameParameter"
+ },
+ {
+ "name": "scopeMapCreateParameters",
+ "in": "body",
+ "description": "The parameters for creating a scope map.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ScopeMap"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ScopeMap"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ScopeMap"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ScopeMapCreate": {
+ "$ref": "./examples/ScopeMapCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "ScopeMaps"
+ ],
+ "description": "Deletes a scope map from a container registry.",
+ "operationId": "ScopeMaps_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeMapNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The scopemap does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "ScopeMapDelete": {
+ "$ref": "./examples/ScopeMapDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ScopeMaps"
+ ],
+ "description": "Updates a scope map with the specified parameters.",
+ "operationId": "ScopeMaps_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScopeMapNameParameter"
+ },
+ {
+ "name": "scopeMapUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a scope map.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ScopeMapUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ScopeMap"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ScopeMap"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ScopeMapUpdate": {
+ "$ref": "./examples/ScopeMapUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/tokens": {
+ "get": {
+ "tags": [
+ "Tokens"
+ ],
+ "description": "Lists all the tokens for the specified container registry.",
+ "operationId": "Tokens_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/TokenListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TokenList": {
+ "$ref": "./examples/TokenList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/tokens/{tokenName}": {
+ "get": {
+ "tags": [
+ "Tokens"
+ ],
+ "description": "Gets the properties of the specified token.",
+ "operationId": "Tokens_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TokenNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Token"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TokenGet": {
+ "$ref": "./examples/TokenGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Tokens"
+ ],
+ "description": "Creates a token for a container registry with the specified parameters.",
+ "operationId": "Tokens_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TokenNameParameter"
+ },
+ {
+ "name": "tokenCreateParameters",
+ "in": "body",
+ "description": "The parameters for creating a token.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Token"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Token"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Token"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TokenCreate": {
+ "$ref": "./examples/TokenCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Tokens"
+ ],
+ "description": "Deletes a token from a container registry.",
+ "operationId": "Tokens_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TokenNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The token does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "TokenDelete": {
+ "$ref": "./examples/TokenDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Tokens"
+ ],
+ "description": "Updates a token with the specified parameters.",
+ "operationId": "Tokens_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TokenNameParameter"
+ },
+ {
+ "name": "tokenUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a token.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TokenUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Token"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Token"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TokenUpdate": {
+ "$ref": "./examples/TokenUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/generateCredentials": {
+ "post": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Generate keys for a token of a specified container registry.",
+ "operationId": "Registries_GenerateCredentials",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "name": "generateCredentialsParameters",
+ "in": "body",
+ "description": "The parameters for generating credentials.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GenerateCredentialsParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/GenerateCredentialsResult"
+ }
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "RegistryGenerateCredentials": {
+ "$ref": "./examples/RegistryGenerateCredentials.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks": {
+ "get": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Lists all the webhooks for the specified container registry.",
+ "operationId": "Webhooks_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/WebhookListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookList": {
+ "$ref": "./examples/WebhookList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}": {
+ "get": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Gets the properties of the specified webhook.",
+ "operationId": "Webhooks_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookGet": {
+ "$ref": "./examples/WebhookGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Creates a webhook for a container registry with the specified parameters.",
+ "operationId": "Webhooks_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ },
+ {
+ "name": "webhookCreateParameters",
+ "in": "body",
+ "description": "The parameters for creating a webhook.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/WebhookCreateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookCreate": {
+ "$ref": "./examples/WebhookCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Deletes a webhook from a container registry.",
+ "operationId": "Webhooks_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The webhook does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "WebhookDelete": {
+ "$ref": "./examples/WebhookDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Updates a webhook with the specified parameters.",
+ "operationId": "Webhooks_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ },
+ {
+ "name": "webhookUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a webhook.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/WebhookUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookUpdate": {
+ "$ref": "./examples/WebhookUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/ping": {
+ "post": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Triggers a ping event to be sent to the webhook.",
+ "operationId": "Webhooks_Ping",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/EventInfo"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookPing": {
+ "$ref": "./examples/WebhookPing.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/listEvents": {
+ "post": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Lists recent events for the specified webhook.",
+ "operationId": "Webhooks_ListEvents",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/EventListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookListEvents": {
+ "$ref": "./examples/WebhookListEvents.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/getCallbackConfig": {
+ "post": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Gets the configuration of service URI and custom headers for the webhook.",
+ "operationId": "Webhooks_GetCallbackConfig",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/CallbackConfig"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookGetCallbackConfig": {
+ "$ref": "./examples/WebhookGetCallbackConfig.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ConnectedRegistryListResult": {
+ "description": "The result of a request to list connected registries for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of connected registries. Since this list may be incomplete, the nextLink field should be used to request the next list of connected registries.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectedRegistry"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of connected registries.",
+ "type": "string"
+ }
+ }
+ },
+ "ConnectedRegistry": {
+ "description": "An object that represents a connected registry for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConnectedRegistryProperties",
+ "description": "The properties of the connected registry.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "SystemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "properties": {
+ "createdBy": {
+ "description": "The identity that created the resource.",
+ "type": "string"
+ },
+ "createdByType": {
+ "description": "The type of identity that created the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "createdAt": {
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC).",
+ "type": "string"
+ },
+ "lastModifiedBy": {
+ "description": "The identity that last modified the resource.",
+ "type": "string"
+ },
+ "lastModifiedByType": {
+ "description": "The type of identity that last modified the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "lastModifiedByType",
+ "modelAsString": true
+ }
+ },
+ "lastModifiedAt": {
+ "format": "date-time",
+ "description": "The timestamp of resource modification (UTC).",
+ "type": "string"
+ }
+ },
+ "readOnly": true
+ },
+ "ConnectedRegistryProperties": {
+ "description": "The properties of a connected registry.",
+ "required": [
+ "mode",
+ "parent"
+ ],
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the resource.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "mode": {
+ "description": "The mode of the connected registry resource that indicates the permissions of the registry.",
+ "enum": [
+ "ReadWrite",
+ "ReadOnly",
+ "Registry",
+ "Mirror"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ConnectedRegistryMode",
+ "modelAsString": true
+ }
+ },
+ "version": {
+ "description": "The current version of ACR runtime on the connected registry.",
+ "type": "string",
+ "readOnly": true
+ },
+ "connectionState": {
+ "description": "The current connection state of the connected registry.",
+ "enum": [
+ "Online",
+ "Offline",
+ "Syncing",
+ "Unhealthy"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ConnectionState",
+ "modelAsString": true
+ }
+ },
+ "lastActivityTime": {
+ "format": "date-time",
+ "description": "The last activity time of the connected registry.",
+ "type": "string",
+ "readOnly": true
+ },
+ "activation": {
+ "$ref": "#/definitions/ActivationProperties",
+ "description": "The activation properties of the connected registry.",
+ "readOnly": true
+ },
+ "parent": {
+ "$ref": "#/definitions/ParentProperties",
+ "description": "The parent of the connected registry."
+ },
+ "clientTokenIds": {
+ "description": "The list of the ACR token resource IDs used to authenticate clients to the connected registry.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "loginServer": {
+ "$ref": "#/definitions/LoginServerProperties",
+ "description": "The login server properties of the connected registry."
+ },
+ "logging": {
+ "$ref": "#/definitions/LoggingProperties",
+ "description": "The logging properties of the connected registry."
+ },
+ "statusDetails": {
+ "description": "The list of current statuses of the connected registry.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StatusDetailProperties"
+ },
+ "readOnly": true
+ },
+ "notificationsList": {
+ "description": "The list of notifications subscription information for the connected registry.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ActivationProperties": {
+ "description": "The activation properties of the connected registry.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The activation status of the connected registry.",
+ "enum": [
+ "Active",
+ "Inactive"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ActivationStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ParentProperties": {
+ "description": "The properties of the connected registry parent.",
+ "required": [
+ "syncProperties"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The resource ID of the parent to which the connected registry will be associated.",
+ "type": "string"
+ },
+ "syncProperties": {
+ "$ref": "#/definitions/SyncProperties",
+ "description": "The sync properties of the connected registry with its parent."
+ }
+ }
+ },
+ "LoginServerProperties": {
+ "description": "The login server properties of the connected registry.",
+ "type": "object",
+ "properties": {
+ "host": {
+ "description": "The host of the connected registry. Can be FQDN or IP.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tls": {
+ "$ref": "#/definitions/TlsProperties",
+ "description": "The TLS properties of the connected registry login server.",
+ "readOnly": true
+ }
+ }
+ },
+ "LoggingProperties": {
+ "description": "The logging properties of the connected registry.",
+ "type": "object",
+ "properties": {
+ "logLevel": {
+ "description": "The verbosity of logs persisted on the connected registry.",
+ "default": "Information",
+ "enum": [
+ "Debug",
+ "Information",
+ "Warning",
+ "Error",
+ "None"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "LogLevel",
+ "modelAsString": true
+ }
+ },
+ "auditLogStatus": {
+ "description": "Indicates whether audit logs are enabled on the connected registry.",
+ "default": "Disabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuditLogStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "StatusDetailProperties": {
+ "description": "The status detail properties of the connected registry.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The component of the connected registry corresponding to the status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "code": {
+ "description": "The code of the status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The description of the status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "timestamp": {
+ "format": "date-time",
+ "description": "The timestamp of the status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "correlationId": {
+ "description": "The correlation ID of the status.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SyncProperties": {
+ "description": "The sync properties of the connected registry with its parent.",
+ "required": [
+ "tokenId",
+ "messageTtl"
+ ],
+ "type": "object",
+ "properties": {
+ "tokenId": {
+ "description": "The resource ID of the ACR token used to authenticate the connected registry to its parent during sync.",
+ "type": "string"
+ },
+ "schedule": {
+ "description": "The cron expression indicating the schedule that the connected registry will sync with its parent.",
+ "type": "string"
+ },
+ "syncWindow": {
+ "format": "duration",
+ "description": "The time window during which sync is enabled for each schedule occurrence. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601.",
+ "type": "string"
+ },
+ "messageTtl": {
+ "format": "duration",
+ "description": "The period of time for which a message is available to sync before it is expired. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601.",
+ "type": "string"
+ },
+ "lastSyncTime": {
+ "format": "date-time",
+ "description": "The last time a sync occurred between the connected registry and its parent.",
+ "type": "string",
+ "readOnly": true
+ },
+ "gatewayEndpoint": {
+ "description": "The gateway endpoint used by the connected registry to communicate with its parent.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "TlsProperties": {
+ "description": "The TLS properties of the connected registry login server.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Indicates whether HTTPS is enabled for the login server.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "TlsStatus",
+ "modelAsString": true
+ }
+ },
+ "certificate": {
+ "$ref": "#/definitions/TlsCertificateProperties",
+ "description": "The certificate used to configure HTTPS for the login server.",
+ "readOnly": true
+ }
+ }
+ },
+ "TlsCertificateProperties": {
+ "description": "The TLS certificate properties of the connected registry login server.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of certificate location.",
+ "enum": [
+ "LocalDirectory"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CertificateType",
+ "modelAsString": true
+ }
+ },
+ "location": {
+ "description": "Indicates the location of the certificates.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ConnectedRegistryUpdateParameters": {
+ "description": "The parameters for updating a connected registry.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConnectedRegistryUpdateProperties",
+ "description": "The properties of the connected registry update parameters.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ConnectedRegistryUpdateProperties": {
+ "description": "The parameters for updating token properties.",
+ "type": "object",
+ "properties": {
+ "syncProperties": {
+ "$ref": "#/definitions/SyncUpdateProperties",
+ "description": "The sync properties of the connected registry with its parent."
+ },
+ "logging": {
+ "$ref": "#/definitions/LoggingProperties",
+ "description": "The logging properties of the connected registry."
+ },
+ "clientTokenIds": {
+ "description": "The list of the ACR token resource IDs used to authenticate clients to the connected registry.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "notificationsList": {
+ "description": "The list of notifications subscription information for the connected registry.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "SyncUpdateProperties": {
+ "description": "The parameters for updating the sync properties of the connected registry with its parent.",
+ "type": "object",
+ "properties": {
+ "schedule": {
+ "description": "The cron expression indicating the schedule that the connected registry will sync with its parent.",
+ "type": "string"
+ },
+ "syncWindow": {
+ "format": "duration",
+ "description": "The time window during which sync is enabled for each schedule occurrence. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601.",
+ "type": "string"
+ },
+ "messageTtl": {
+ "format": "duration",
+ "description": "The period of time for which a message is available to sync before it is expired. Specify the duration using the format P[n]Y[n]M[n]DT[n]H[n]M[n]S as per ISO8601.",
+ "type": "string"
+ }
+ }
+ },
+ "ExportPipelineListResult": {
+ "description": "The result of a request to list export pipelines for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of export pipelines. Since this list may be incomplete, the nextLink field should be used to request the next list of export pipelines.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExportPipeline"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of pipeline runs.",
+ "type": "string"
+ }
+ }
+ },
+ "ExportPipeline": {
+ "description": "An object that represents an export pipeline for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "The location of the export pipeline.",
+ "type": "string"
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityProperties",
+ "description": "The identity of the export pipeline."
+ },
+ "properties": {
+ "$ref": "#/definitions/ExportPipelineProperties",
+ "description": "The properties of the export pipeline.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "IdentityProperties": {
+ "description": "Managed identity for the resource.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The principal ID of resource identity.",
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "The tenant ID of resource.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The identity type.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "description": "The list of user identities associated with the resource. The user identity \r\ndictionary key references will be ARM resource ids in the form: \r\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/\r\n providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserIdentityProperties"
+ }
+ }
+ }
+ },
+ "ExportPipelineProperties": {
+ "description": "The properties of an export pipeline.",
+ "required": [
+ "target"
+ ],
+ "type": "object",
+ "properties": {
+ "target": {
+ "$ref": "#/definitions/ExportPipelineTargetProperties",
+ "description": "The target properties of the export pipeline."
+ },
+ "options": {
+ "description": "The list of all options configured for the pipeline.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "OverwriteTags",
+ "OverwriteBlobs",
+ "DeleteSourceBlobOnSuccess",
+ "ContinueOnErrors"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PipelineOptions",
+ "modelAsString": true
+ }
+ }
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the pipeline at the time the operation was called.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "UserIdentityProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The principal id of user assigned identity.",
+ "type": "string"
+ },
+ "clientId": {
+ "description": "The client id of user assigned identity.",
+ "type": "string"
+ }
+ }
+ },
+ "Resource": {
+ "description": "An Azure resource.",
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "id": {
+ "description": "The resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "The location of the resource. This cannot be changed after the resource is created.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "The tags of the resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ExportPipelineTargetProperties": {
+ "description": "The properties of the export pipeline target.",
+ "required": [
+ "keyVaultUri"
+ ],
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of target for the export pipeline.",
+ "type": "string"
+ },
+ "uri": {
+ "description": "The target uri of the export pipeline.\r\nWhen 'AzureStorageBlob': \"https://accountName.blob.core.windows.net/containerName/blobName\"\r\nWhen 'AzureStorageBlobContainer': \"https://accountName.blob.core.windows.net/containerName\"",
+ "type": "string"
+ },
+ "keyVaultUri": {
+ "description": "They key vault secret uri to obtain the target storage SAS token.",
+ "type": "string"
+ }
+ }
+ },
+ "ProxyResource": {
+ "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags.",
+ "properties": {
+ "id": {
+ "description": "The resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ImportImageParameters": {
+ "required": [
+ "source"
+ ],
+ "type": "object",
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/ImportSource",
+ "description": "The source of the image."
+ },
+ "targetTags": {
+ "description": "List of strings of the form repo[:tag]. When tag is omitted the source will be used (or 'latest' if source tag is also omitted).",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "untaggedTargetRepositories": {
+ "description": "List of strings of repository names to do a manifest only copy. No tag will be created.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "mode": {
+ "description": "When Force, any existing target tags will be overwritten. When NoForce, any existing target tags will fail the operation before any copying begins.",
+ "default": "NoForce",
+ "enum": [
+ "NoForce",
+ "Force"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ImportMode",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ImportSource": {
+ "required": [
+ "sourceImage"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The resource identifier of the source Azure Container Registry.",
+ "type": "string"
+ },
+ "registryUri": {
+ "description": "The address of the source registry (e.g. 'mcr.microsoft.com').",
+ "type": "string"
+ },
+ "credentials": {
+ "$ref": "#/definitions/ImportSourceCredentials",
+ "description": "Credentials used when importing from a registry uri."
+ },
+ "sourceImage": {
+ "description": "Repository name of the source image.\r\nSpecify an image by repository ('hello-world'). This will use the 'latest' tag.\r\nSpecify an image by tag ('hello-world:latest').\r\nSpecify an image by sha256-based manifest digest ('hello-world@sha256:abc123').",
+ "type": "string"
+ }
+ }
+ },
+ "ImportSourceCredentials": {
+ "required": [
+ "password"
+ ],
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "The username to authenticate with the source registry.",
+ "type": "string"
+ },
+ "password": {
+ "description": "The password used to authenticate with the source registry.",
+ "type": "string"
+ }
+ }
+ },
+ "ImportPipelineListResult": {
+ "description": "The result of a request to list import pipelines for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of import pipelines. Since this list may be incomplete, the nextLink field should be used to request the next list of import pipelines.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImportPipeline"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of pipeline runs.",
+ "type": "string"
+ }
+ }
+ },
+ "ImportPipeline": {
+ "description": "An object that represents an import pipeline for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "The location of the import pipeline.",
+ "type": "string"
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityProperties",
+ "description": "The identity of the import pipeline."
+ },
+ "properties": {
+ "$ref": "#/definitions/ImportPipelineProperties",
+ "description": "The properties of the import pipeline.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ImportPipelineProperties": {
+ "description": "The properties of an import pipeline.",
+ "required": [
+ "source"
+ ],
+ "type": "object",
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/ImportPipelineSourceProperties",
+ "description": "The source properties of the import pipeline."
+ },
+ "trigger": {
+ "$ref": "#/definitions/PipelineTriggerProperties",
+ "description": "The properties that describe the trigger of the import pipeline."
+ },
+ "options": {
+ "description": "The list of all options configured for the pipeline.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "OverwriteTags",
+ "OverwriteBlobs",
+ "DeleteSourceBlobOnSuccess",
+ "ContinueOnErrors"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PipelineOptions",
+ "modelAsString": true
+ }
+ }
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the pipeline at the time the operation was called.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ImportPipelineSourceProperties": {
+ "description": "The properties of the import pipeline source.",
+ "required": [
+ "keyVaultUri"
+ ],
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of source for the import pipeline.",
+ "default": "AzureStorageBlobContainer",
+ "enum": [
+ "AzureStorageBlobContainer"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PipelineSourceType",
+ "modelAsString": true
+ }
+ },
+ "uri": {
+ "description": "The source uri of the import pipeline.\r\nWhen 'AzureStorageBlob': \"https://accountName.blob.core.windows.net/containerName/blobName\"\r\nWhen 'AzureStorageBlobContainer': \"https://accountName.blob.core.windows.net/containerName\"",
+ "type": "string"
+ },
+ "keyVaultUri": {
+ "description": "They key vault secret uri to obtain the source storage SAS token.",
+ "type": "string"
+ }
+ }
+ },
+ "PipelineTriggerProperties": {
+ "type": "object",
+ "properties": {
+ "sourceTrigger": {
+ "$ref": "#/definitions/PipelineSourceTriggerProperties",
+ "description": "The source trigger properties of the pipeline."
+ }
+ }
+ },
+ "PipelineSourceTriggerProperties": {
+ "required": [
+ "status"
+ ],
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The current status of the source trigger.",
+ "default": "Enabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TriggerStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "The result of a request to list container registry operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of container registry operations. Since this list may be incomplete, the nextLink field should be used to request the next list of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationDefinition"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of container registry operations.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDefinition": {
+ "description": "The definition of a container registry operation.",
+ "type": "object",
+ "properties": {
+ "origin": {
+ "description": "The origin information of the container registry operation.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplayDefinition",
+ "description": "The display information for the container registry operation."
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationPropertiesDefinition",
+ "description": "The properties information for the container registry operation.",
+ "x-ms-client-flatten": true
+ },
+ "isDataAction": {
+ "description": "This property indicates if the operation is an action or a data action\r\nref: https://docs.microsoft.com/en-us/azure/role-based-access-control/role-definitions#management-and-data-operations",
+ "type": "boolean"
+ }
+ }
+ },
+ "OperationDisplayDefinition": {
+ "description": "The display information for a container registry operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The resource provider name: Microsoft.ContainerRegistry.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "The resource on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The operation that users can perform.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description for the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationPropertiesDefinition": {
+ "description": "The definition of Azure Monitoring properties.",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/OperationServiceSpecificationDefinition",
+ "description": "The definition of Azure Monitoring service."
+ }
+ }
+ },
+ "OperationServiceSpecificationDefinition": {
+ "description": "The definition of Azure Monitoring list.",
+ "type": "object",
+ "properties": {
+ "metricSpecifications": {
+ "description": "A list of Azure Monitoring metrics definition.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationMetricSpecificationDefinition"
+ }
+ },
+ "logSpecifications": {
+ "description": "A list of Azure Monitoring log definitions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationLogSpecificationDefinition"
+ }
+ }
+ }
+ },
+ "OperationMetricSpecificationDefinition": {
+ "description": "The definition of Azure Monitoring metric.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Metric name.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Metric display name.",
+ "type": "string"
+ },
+ "displayDescription": {
+ "description": "Metric description.",
+ "type": "string"
+ },
+ "unit": {
+ "description": "Metric unit.",
+ "type": "string"
+ },
+ "aggregationType": {
+ "description": "Metric aggregation type.",
+ "type": "string"
+ },
+ "internalMetricName": {
+ "description": "Internal metric name.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationLogSpecificationDefinition": {
+ "description": "The definition of Azure Monitoring log.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Log name.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Log display name.",
+ "type": "string"
+ },
+ "blobDuration": {
+ "description": "Log blob duration.",
+ "type": "string"
+ }
+ }
+ },
+ "RegistryNameCheckRequest": {
+ "description": "A request to check whether a container registry name is available.",
+ "required": [
+ "name",
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the container registry.",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "type": "string"
+ },
+ "type": {
+ "description": "The resource type of the container registry. This field must be set to 'Microsoft.ContainerRegistry/registries'.",
+ "enum": [
+ "Microsoft.ContainerRegistry/registries"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerRegistryResourceType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "RegistryNameStatus": {
+ "description": "The result of a request to check the availability of a container registry name.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "The value that indicates whether the name is available.",
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "If any, the reason that the name is not available.",
+ "type": "string"
+ },
+ "message": {
+ "description": "If any, the error message that provides more detail for the reason that the name is not available.",
+ "type": "string"
+ }
+ }
+ },
+ "PipelineRunListResult": {
+ "description": "The result of a request to list pipeline runs for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of pipeline runs. Since this list may be incomplete, the nextLink field should be used to request the next list of pipeline runs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PipelineRun"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of pipeline runs.",
+ "type": "string"
+ }
+ }
+ },
+ "PipelineRun": {
+ "description": "An object that represents a pipeline run for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PipelineRunProperties",
+ "description": "The properties of a pipeline run.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PipelineRunProperties": {
+ "description": "The properties of a pipeline run.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "The provisioning state of a pipeline run.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "request": {
+ "$ref": "#/definitions/PipelineRunRequest",
+ "description": "The request parameters for a pipeline run."
+ },
+ "response": {
+ "$ref": "#/definitions/PipelineRunResponse",
+ "description": "The response of a pipeline run.",
+ "readOnly": true
+ },
+ "forceUpdateTag": {
+ "description": "How the pipeline run should be forced to recreate even if the pipeline run configuration has not changed.",
+ "type": "string"
+ }
+ }
+ },
+ "PipelineRunRequest": {
+ "description": "The request properties provided for a pipeline run.",
+ "type": "object",
+ "properties": {
+ "pipelineResourceId": {
+ "description": "The resource ID of the pipeline to run.",
+ "type": "string"
+ },
+ "artifacts": {
+ "description": "List of source artifacts to be transferred by the pipeline. \r\nSpecify an image by repository ('hello-world'). This will use the 'latest' tag.\r\nSpecify an image by tag ('hello-world:latest').\r\nSpecify an image by sha256-based manifest digest ('hello-world@sha256:abc123').",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "source": {
+ "$ref": "#/definitions/PipelineRunSourceProperties",
+ "description": "The source properties of the pipeline run."
+ },
+ "target": {
+ "$ref": "#/definitions/PipelineRunTargetProperties",
+ "description": "The target properties of the pipeline run."
+ },
+ "catalogDigest": {
+ "description": "The digest of the tar used to transfer the artifacts.",
+ "type": "string"
+ }
+ }
+ },
+ "PipelineRunResponse": {
+ "description": "The response properties returned for a pipeline run.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The current status of the pipeline run.",
+ "type": "string"
+ },
+ "importedArtifacts": {
+ "description": "The artifacts imported in the pipeline run.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "progress": {
+ "$ref": "#/definitions/ProgressProperties",
+ "description": "The current progress of the copy operation."
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The time the pipeline run started.",
+ "type": "string"
+ },
+ "finishTime": {
+ "format": "date-time",
+ "description": "The time the pipeline run finished.",
+ "type": "string"
+ },
+ "source": {
+ "$ref": "#/definitions/ImportPipelineSourceProperties",
+ "description": "The source of the pipeline run."
+ },
+ "target": {
+ "$ref": "#/definitions/ExportPipelineTargetProperties",
+ "description": "The target of the pipeline run."
+ },
+ "catalogDigest": {
+ "description": "The digest of the tar used to transfer the artifacts.",
+ "type": "string"
+ },
+ "trigger": {
+ "$ref": "#/definitions/PipelineTriggerDescriptor",
+ "description": "The trigger that caused the pipeline run."
+ },
+ "pipelineRunErrorMessage": {
+ "description": "The detailed error message for the pipeline run in the case of failure.",
+ "type": "string"
+ }
+ }
+ },
+ "PipelineRunSourceProperties": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the source.",
+ "default": "AzureStorageBlob",
+ "enum": [
+ "AzureStorageBlob"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PipelineRunSourceType",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "The name of the source.",
+ "type": "string"
+ }
+ }
+ },
+ "PipelineRunTargetProperties": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the target.",
+ "default": "AzureStorageBlob",
+ "enum": [
+ "AzureStorageBlob"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PipelineRunTargetType",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "The name of the target.",
+ "type": "string"
+ }
+ }
+ },
+ "ProgressProperties": {
+ "type": "object",
+ "properties": {
+ "percentage": {
+ "description": "The percentage complete of the copy operation.",
+ "type": "string"
+ }
+ }
+ },
+ "PipelineTriggerDescriptor": {
+ "type": "object",
+ "properties": {
+ "sourceTrigger": {
+ "$ref": "#/definitions/PipelineSourceTriggerDescriptor",
+ "description": "The source trigger that caused the pipeline run."
+ }
+ }
+ },
+ "PipelineSourceTriggerDescriptor": {
+ "type": "object",
+ "properties": {
+ "timestamp": {
+ "format": "date-time",
+ "description": "The timestamp when the source update happened.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateEndpointConnectionListResult": {
+ "description": "The result of a request to list private endpoint connections for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of private endpoint connections. Since this list may be incomplete, the nextLink field should be used to request the next list of private endpoint connections.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of private endpoint connections.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "An object that represents a private endpoint connection for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "The properties of a private endpoint connection.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "The properties of a private endpoint connection.",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The resource of private endpoint."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ },
+ "provisioningState": {
+ "description": "The provisioning state of private endpoint connection resource.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PrivateEndpoint": {
+ "description": "The Private Endpoint resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "This is private endpoint resource created with Microsoft.Network resource provider.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The state of a private link service connection.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The private link service connection status.",
+ "enum": [
+ "Approved",
+ "Pending",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "description": "The description for connection status. For example if connection is rejected it can indicate reason for rejection.",
+ "type": "string"
+ },
+ "actionsRequired": {
+ "description": "A message indicating if changes on the service provider require any updates on the consumer.",
+ "enum": [
+ "None",
+ "Recreate"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ActionsRequired",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RegistryListResult": {
+ "description": "The result of a request to list container registries.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of container registries. Since this list may be incomplete, the nextLink field should be used to request the next list of container registries.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Registry"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of container registries.",
+ "type": "string"
+ }
+ }
+ },
+ "Registry": {
+ "description": "An object that represents a container registry.",
+ "required": [
+ "sku"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU of the container registry."
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityProperties",
+ "description": "The identity of the container registry."
+ },
+ "properties": {
+ "$ref": "#/definitions/RegistryProperties",
+ "description": "The properties of the container registry.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "Sku": {
+ "description": "The SKU of a container registry.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The SKU name of the container registry. Required for registry creation.",
+ "enum": [
+ "Classic",
+ "Basic",
+ "Standard",
+ "Premium"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "description": "The SKU tier based on the SKU name.",
+ "enum": [
+ "Classic",
+ "Basic",
+ "Standard",
+ "Premium"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RegistryProperties": {
+ "description": "The properties of a container registry.",
+ "type": "object",
+ "properties": {
+ "loginServer": {
+ "description": "The URL that can be used to log into the container registry.",
+ "type": "string",
+ "readOnly": true
+ },
+ "creationDate": {
+ "format": "date-time",
+ "description": "The creation date of the container registry in ISO8601 format.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the container registry at the time the operation was called.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "$ref": "#/definitions/Status",
+ "description": "The status of the container registry at the time the operation was called.",
+ "readOnly": true
+ },
+ "adminUserEnabled": {
+ "description": "The value that indicates whether the admin user is enabled.",
+ "default": false,
+ "type": "boolean"
+ },
+ "networkRuleSet": {
+ "$ref": "#/definitions/NetworkRuleSet",
+ "description": "The network rule set for a container registry."
+ },
+ "policies": {
+ "$ref": "#/definitions/Policies",
+ "description": "The policies for a container registry."
+ },
+ "encryption": {
+ "$ref": "#/definitions/EncryptionProperty",
+ "description": "The encryption settings of container registry."
+ },
+ "dataEndpointEnabled": {
+ "description": "Enable a single data endpoint per region for serving data.",
+ "type": "boolean"
+ },
+ "dataEndpointHostNames": {
+ "description": "List of host names that will serve data when dataEndpointEnabled is true.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "privateEndpointConnections": {
+ "description": "List of private endpoint connections for a container registry.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "readOnly": true
+ },
+ "publicNetworkAccess": {
+ "description": "Whether or not public network access is allowed for the container registry.",
+ "default": "Enabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ }
+ },
+ "networkRuleBypassOptions": {
+ "description": "Whether to allow trusted Azure services to access a network restricted registry.",
+ "default": "AzureServices",
+ "enum": [
+ "AzureServices",
+ "None"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NetworkRuleBypassOptions",
+ "modelAsString": true
+ }
+ },
+ "zoneRedundancy": {
+ "description": "Whether or not zone redundancy is enabled for this container registry",
+ "default": "Disabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ZoneRedundancy",
+ "modelAsString": true
+ }
+ },
+ "anonymousPullEnabled": {
+ "description": "Enables registry-wide pull from unauthenticated clients.",
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ },
+ "Status": {
+ "description": "The status of an Azure resource at the time the operation was called.",
+ "type": "object",
+ "properties": {
+ "displayStatus": {
+ "description": "The short label for the status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The detailed message for the status, including alerts and error messages.",
+ "type": "string",
+ "readOnly": true
+ },
+ "timestamp": {
+ "format": "date-time",
+ "description": "The timestamp when the status was changed to the current value.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "NetworkRuleSet": {
+ "description": "The network rule set for a container registry.",
+ "required": [
+ "defaultAction"
+ ],
+ "type": "object",
+ "properties": {
+ "defaultAction": {
+ "description": "The default action of allow or deny when no other rules match.",
+ "default": "Allow",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DefaultAction",
+ "modelAsString": true
+ }
+ },
+ "virtualNetworkRules": {
+ "description": "The virtual network rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualNetworkRule"
+ }
+ },
+ "ipRules": {
+ "description": "The IP ACL rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPRule"
+ }
+ }
+ }
+ },
+ "Policies": {
+ "description": "The policies for a container registry.",
+ "type": "object",
+ "properties": {
+ "quarantinePolicy": {
+ "$ref": "#/definitions/QuarantinePolicy",
+ "description": "The quarantine policy for a container registry."
+ },
+ "trustPolicy": {
+ "$ref": "#/definitions/TrustPolicy",
+ "description": "The content trust policy for a container registry."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "The retention policy for a container registry."
+ },
+ "exportPolicy": {
+ "$ref": "#/definitions/ExportPolicy",
+ "description": "The export policy for a container registry."
+ }
+ }
+ },
+ "EncryptionProperty": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Indicates whether or not the encryption is enabled for container registry.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EncryptionStatus",
+ "modelAsString": true
+ }
+ },
+ "keyVaultProperties": {
+ "$ref": "#/definitions/KeyVaultProperties",
+ "description": "Key vault properties."
+ }
+ }
+ },
+ "VirtualNetworkRule": {
+ "description": "Virtual network rule.",
+ "required": [
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "action": {
+ "description": "The action of virtual network rule.",
+ "default": "Allow",
+ "enum": [
+ "Allow"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Action",
+ "modelAsString": true
+ }
+ },
+ "id": {
+ "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}.",
+ "type": "string",
+ "x-ms-client-name": "VirtualNetworkResourceId"
+ }
+ }
+ },
+ "IPRule": {
+ "description": "IP rule with specific IP or IP range in CIDR format.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "action": {
+ "description": "The action of IP ACL rule.",
+ "default": "Allow",
+ "enum": [
+ "Allow"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Action",
+ "modelAsString": true
+ }
+ },
+ "value": {
+ "description": "Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.",
+ "type": "string",
+ "x-ms-client-name": "IPAddressOrRange"
+ }
+ }
+ },
+ "QuarantinePolicy": {
+ "description": "The quarantine policy for a container registry.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The value that indicates whether the policy is enabled or not.",
+ "default": "disabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PolicyStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "TrustPolicy": {
+ "description": "The content trust policy for a container registry.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of trust policy.",
+ "default": "Notary",
+ "enum": [
+ "Notary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TrustPolicyType",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "The value that indicates whether the policy is enabled or not.",
+ "default": "disabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PolicyStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RetentionPolicy": {
+ "description": "The retention policy for a container registry.",
+ "type": "object",
+ "properties": {
+ "days": {
+ "format": "int32",
+ "description": "The number of days to retain an untagged manifest after which it gets purged.",
+ "default": 7,
+ "type": "integer"
+ },
+ "lastUpdatedTime": {
+ "format": "date-time",
+ "description": "The timestamp when the policy was last updated.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The value that indicates whether the policy is enabled or not.",
+ "default": "disabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PolicyStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ExportPolicy": {
+ "description": "The export policy for a container registry.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The value that indicates whether the policy is enabled or not.",
+ "default": "enabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ExportPolicyStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "KeyVaultProperties": {
+ "type": "object",
+ "properties": {
+ "keyIdentifier": {
+ "description": "Key vault uri to access the encryption key.",
+ "type": "string"
+ },
+ "versionedKeyIdentifier": {
+ "description": "The fully qualified key identifier that includes the version of the key that is actually used for encryption.",
+ "type": "string",
+ "readOnly": true
+ },
+ "identity": {
+ "description": "The client id of the identity which will be used to access key vault.",
+ "type": "string"
+ },
+ "keyRotationEnabled": {
+ "description": "Auto key rotation status for a CMK enabled registry.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "lastKeyRotationTimestamp": {
+ "format": "date-time",
+ "description": "Timestamp of the last successful key rotation.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "RegistryUpdateParameters": {
+ "description": "The parameters for updating a container registry.",
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/IdentityProperties",
+ "description": "The identity of the container registry."
+ },
+ "tags": {
+ "description": "The tags for the container registry.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU of the container registry."
+ },
+ "properties": {
+ "$ref": "#/definitions/RegistryPropertiesUpdateParameters",
+ "description": "The properties that the container registry will be updated with.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "RegistryPropertiesUpdateParameters": {
+ "description": "The parameters for updating the properties of a container registry.",
+ "type": "object",
+ "properties": {
+ "adminUserEnabled": {
+ "description": "The value that indicates whether the admin user is enabled.",
+ "type": "boolean"
+ },
+ "networkRuleSet": {
+ "$ref": "#/definitions/NetworkRuleSet",
+ "description": "The network rule set for a container registry."
+ },
+ "policies": {
+ "$ref": "#/definitions/Policies",
+ "description": "The policies for a container registry."
+ },
+ "encryption": {
+ "$ref": "#/definitions/EncryptionProperty",
+ "description": "The encryption settings of container registry."
+ },
+ "dataEndpointEnabled": {
+ "description": "Enable a single data endpoint per region for serving data.",
+ "type": "boolean"
+ },
+ "publicNetworkAccess": {
+ "description": "Whether or not public network access is allowed for the container registry.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ }
+ },
+ "networkRuleBypassOptions": {
+ "description": "Whether to allow trusted Azure services to access a network restricted registry.",
+ "default": "AzureServices",
+ "enum": [
+ "AzureServices",
+ "None"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NetworkRuleBypassOptions",
+ "modelAsString": true
+ }
+ },
+ "anonymousPullEnabled": {
+ "description": "Enables registry-wide pull from unauthenticated clients.",
+ "type": "boolean"
+ }
+ }
+ },
+ "RegistryUsageListResult": {
+ "description": "The result of a request to get container registry quota usages.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of container registry quota usages.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegistryUsage"
+ }
+ }
+ }
+ },
+ "RegistryUsage": {
+ "description": "The quota usage for a container registry.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the usage.",
+ "type": "string"
+ },
+ "limit": {
+ "format": "int64",
+ "description": "The limit of the usage.",
+ "type": "integer"
+ },
+ "currentValue": {
+ "format": "int64",
+ "description": "The current value of the usage.",
+ "type": "integer"
+ },
+ "unit": {
+ "description": "The unit of measurement.",
+ "enum": [
+ "Count",
+ "Bytes"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RegistryUsageUnit",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PrivateLinkResourceListResult": {
+ "description": "The result of a request to list private link resources for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of private link resources. Since this list may be incomplete, the nextLink field should be used to request the next list of private link resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of private link resources.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "A resource that supports private link capabilities.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The resource type is private link resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "The resource ID.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "A resource that supports private link capabilities.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PrivateLinkResourceProperties": {
+ "description": "The properties of a private link resource.",
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string"
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "requiredZoneNames": {
+ "description": "The private link resource Private link DNS zone name.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "RegistryListCredentialsResult": {
+ "description": "The response from the ListCredentials operation.",
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "The username for a container registry.",
+ "type": "string"
+ },
+ "passwords": {
+ "description": "The list of passwords for a container registry.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegistryPassword"
+ }
+ }
+ }
+ },
+ "RegistryPassword": {
+ "description": "The login password for the container registry.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The password name.",
+ "enum": [
+ "password",
+ "password2"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PasswordName",
+ "modelAsString": false
+ }
+ },
+ "value": {
+ "description": "The password value.",
+ "type": "string"
+ }
+ }
+ },
+ "RegenerateCredentialParameters": {
+ "description": "The parameters used to regenerate the login credential.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Specifies name of the password which should be regenerated -- password or password2.",
+ "enum": [
+ "password",
+ "password2"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PasswordName",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "ReplicationListResult": {
+ "description": "The result of a request to list replications for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of replications. Since this list may be incomplete, the nextLink field should be used to request the next list of replications.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Replication"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of replications.",
+ "type": "string"
+ }
+ }
+ },
+ "Replication": {
+ "description": "An object that represents a replication for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ReplicationProperties",
+ "description": "The properties of the replication.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ReplicationProperties": {
+ "description": "The properties of a replication.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "The provisioning state of the replication at the time the operation was called.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "$ref": "#/definitions/Status",
+ "description": "The status of the replication at the time the operation was called.",
+ "readOnly": true
+ },
+ "regionEndpointEnabled": {
+ "description": "Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications.",
+ "default": true,
+ "type": "boolean"
+ },
+ "zoneRedundancy": {
+ "description": "Whether or not zone redundancy is enabled for this container registry replication",
+ "default": "Disabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ZoneRedundancy",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ReplicationUpdateParameters": {
+ "description": "The parameters for updating a replication.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags for the replication.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "$ref": "#/definitions/ReplicationUpdateParametersProperties",
+ "description": "The parameters for updating a replication's properties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ReplicationUpdateParametersProperties": {
+ "type": "object",
+ "properties": {
+ "regionEndpointEnabled": {
+ "description": "Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications.",
+ "type": "boolean"
+ }
+ }
+ },
+ "ScopeMapListResult": {
+ "description": "The result of a request to list scope maps for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of scope maps. Since this list may be incomplete, the nextLink field should be used to request the next list of scope maps.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ScopeMap"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of scope maps.",
+ "type": "string"
+ }
+ }
+ },
+ "ScopeMap": {
+ "description": "An object that represents a scope map for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ScopeMapProperties",
+ "description": "The properties of the scope map.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ScopeMapProperties": {
+ "description": "The properties of a scope map.",
+ "required": [
+ "actions"
+ ],
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "The user friendly description of the scope map.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of the scope map. E.g. BuildIn scope map.",
+ "type": "string",
+ "readOnly": true
+ },
+ "creationDate": {
+ "format": "date-time",
+ "description": "The creation date of scope map.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the resource.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "actions": {
+ "description": "The list of scoped permissions for registry artifacts.\r\nE.g. repositories/repository-name/content/read,\r\nrepositories/repository-name/metadata/write",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ScopeMapUpdateParameters": {
+ "description": "The properties for updating the scope map.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ScopeMapPropertiesUpdateParameters",
+ "description": "The update parameters for scope map properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ScopeMapPropertiesUpdateParameters": {
+ "description": "The update parameters for scope map properties.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "The user friendly description of the scope map.",
+ "type": "string"
+ },
+ "actions": {
+ "description": "The list of scope permissions for registry artifacts.\r\nE.g. repositories/repository-name/pull, \r\nrepositories/repository-name/delete",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TokenListResult": {
+ "description": "The result of a request to list tokens for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of tokens. Since this list may be incomplete, the nextLink field should be used to request the next list of tokens.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Token"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of tokens.",
+ "type": "string"
+ }
+ }
+ },
+ "Token": {
+ "description": "An object that represents a token for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TokenProperties",
+ "description": "The properties of the token.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "TokenProperties": {
+ "description": "The properties of a token.",
+ "type": "object",
+ "properties": {
+ "creationDate": {
+ "format": "date-time",
+ "description": "The creation date of scope map.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the resource.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "scopeMapId": {
+ "description": "The resource ID of the scope map to which the token will be associated with.",
+ "type": "string"
+ },
+ "credentials": {
+ "$ref": "#/definitions/TokenCredentialsProperties",
+ "description": "The credentials that can be used for authenticating the token."
+ },
+ "status": {
+ "description": "The status of the token example enabled or disabled.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TokenStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "TokenCredentialsProperties": {
+ "description": "The properties of the credentials that can be used for authenticating the token.",
+ "type": "object",
+ "properties": {
+ "certificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TokenCertificate"
+ }
+ },
+ "passwords": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TokenPassword"
+ }
+ }
+ }
+ },
+ "ActiveDirectoryObject": {
+ "description": "The Active Directory Object that will be used for authenticating the token of a container registry.",
+ "type": "object",
+ "properties": {
+ "objectId": {
+ "description": "The user/group/application object ID for Active Directory Object that will be used for authenticating the token of a container registry.",
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "The tenant ID of user/group/application object Active Directory Object that will be used for authenticating the token of a container registry.",
+ "type": "string"
+ }
+ }
+ },
+ "TokenCertificate": {
+ "description": "The properties of a certificate used for authenticating a token.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "enum": [
+ "certificate1",
+ "certificate2"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TokenCertificateName",
+ "modelAsString": true
+ }
+ },
+ "expiry": {
+ "format": "date-time",
+ "description": "The expiry datetime of the certificate.",
+ "type": "string"
+ },
+ "thumbprint": {
+ "description": "The thumbprint of the certificate.",
+ "type": "string"
+ },
+ "encodedPemCertificate": {
+ "description": "Base 64 encoded string of the public certificate1 in PEM format that will be used for authenticating the token.",
+ "type": "string"
+ }
+ }
+ },
+ "TokenPassword": {
+ "description": "The password that will be used for authenticating the token of a container registry.",
+ "type": "object",
+ "properties": {
+ "creationTime": {
+ "format": "date-time",
+ "description": "The creation datetime of the password.",
+ "type": "string"
+ },
+ "expiry": {
+ "format": "date-time",
+ "description": "The expiry datetime of the password.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The password name \"password1\" or \"password2\"",
+ "enum": [
+ "password1",
+ "password2"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TokenPasswordName",
+ "modelAsString": true
+ }
+ },
+ "value": {
+ "description": "The password value.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "TokenUpdateParameters": {
+ "description": "The parameters for updating a token.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TokenUpdateProperties",
+ "description": "The properties of the token update parameters.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "TokenUpdateProperties": {
+ "description": "The parameters for updating token properties.",
+ "type": "object",
+ "properties": {
+ "scopeMapId": {
+ "description": "The resource ID of the scope map to which the token will be associated with.",
+ "type": "string"
+ },
+ "status": {
+ "description": "The status of the token example enabled or disabled.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TokenStatus",
+ "modelAsString": true
+ }
+ },
+ "credentials": {
+ "$ref": "#/definitions/TokenCredentialsProperties",
+ "description": "The credentials that can be used for authenticating the token."
+ }
+ }
+ },
+ "GenerateCredentialsParameters": {
+ "description": "The parameters used to generate credentials for a specified token or user of a container registry.",
+ "type": "object",
+ "properties": {
+ "tokenId": {
+ "description": "The resource ID of the token for which credentials have to be generated.",
+ "type": "string"
+ },
+ "expiry": {
+ "format": "date-time",
+ "description": "The expiry date of the generated credentials after which the credentials become invalid.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Specifies name of the password which should be regenerated if any -- password1 or password2.",
+ "enum": [
+ "password1",
+ "password2"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TokenPasswordName",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "GenerateCredentialsResult": {
+ "description": "The response from the GenerateCredentials operation.",
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "The username for a container registry.",
+ "type": "string"
+ },
+ "passwords": {
+ "description": "The list of passwords for a container registry.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TokenPassword"
+ }
+ }
+ }
+ },
+ "WebhookListResult": {
+ "description": "The result of a request to list webhooks for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of webhooks. Since this list may be incomplete, the nextLink field should be used to request the next list of webhooks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Webhook"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of webhooks.",
+ "type": "string"
+ }
+ }
+ },
+ "Webhook": {
+ "description": "An object that represents a webhook for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/WebhookProperties",
+ "description": "The properties of the webhook.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "WebhookProperties": {
+ "description": "The properties of a webhook.",
+ "required": [
+ "actions"
+ ],
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The status of the webhook at the time the operation was called.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookStatus",
+ "modelAsString": true
+ }
+ },
+ "scope": {
+ "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.",
+ "type": "string"
+ },
+ "actions": {
+ "description": "The list of actions that trigger the webhook to post notifications.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "push",
+ "delete",
+ "quarantine",
+ "chart_push",
+ "chart_delete"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookAction",
+ "modelAsString": true
+ }
+ }
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the webhook at the time the operation was called.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "WebhookCreateParameters": {
+ "description": "The parameters for creating a webhook.",
+ "required": [
+ "location"
+ ],
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags for the webhook.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "location": {
+ "description": "The location of the webhook. This cannot be changed after the resource is created.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/WebhookPropertiesCreateParameters",
+ "description": "The properties that the webhook will be created with.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "WebhookPropertiesCreateParameters": {
+ "description": "The parameters for creating the properties of a webhook.",
+ "required": [
+ "serviceUri",
+ "actions"
+ ],
+ "type": "object",
+ "properties": {
+ "serviceUri": {
+ "description": "The service URI for the webhook to post notifications.",
+ "type": "string",
+ "x-ms-secret": true
+ },
+ "customHeaders": {
+ "description": "Custom headers that will be added to the webhook notifications.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-secret": true
+ },
+ "status": {
+ "description": "The status of the webhook at the time the operation was called.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookStatus",
+ "modelAsString": true
+ }
+ },
+ "scope": {
+ "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.",
+ "type": "string"
+ },
+ "actions": {
+ "description": "The list of actions that trigger the webhook to post notifications.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "push",
+ "delete",
+ "quarantine",
+ "chart_push",
+ "chart_delete"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookAction",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "WebhookUpdateParameters": {
+ "description": "The parameters for updating a webhook.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags for the webhook.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "$ref": "#/definitions/WebhookPropertiesUpdateParameters",
+ "description": "The properties that the webhook will be updated with.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "WebhookPropertiesUpdateParameters": {
+ "description": "The parameters for updating the properties of a webhook.",
+ "type": "object",
+ "properties": {
+ "serviceUri": {
+ "description": "The service URI for the webhook to post notifications.",
+ "type": "string",
+ "x-ms-secret": true
+ },
+ "customHeaders": {
+ "description": "Custom headers that will be added to the webhook notifications.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-secret": true
+ },
+ "status": {
+ "description": "The status of the webhook at the time the operation was called.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookStatus",
+ "modelAsString": true
+ }
+ },
+ "scope": {
+ "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.",
+ "type": "string"
+ },
+ "actions": {
+ "description": "The list of actions that trigger the webhook to post notifications.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "push",
+ "delete",
+ "quarantine",
+ "chart_push",
+ "chart_delete"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookAction",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "EventInfo": {
+ "description": "The basic information of an event.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The event ID.",
+ "type": "string"
+ }
+ }
+ },
+ "EventListResult": {
+ "description": "The result of a request to list events for a webhook.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of events. Since this list may be incomplete, the nextLink field should be used to request the next list of events.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Event"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of events.",
+ "type": "string"
+ }
+ }
+ },
+ "Event": {
+ "description": "The event for a webhook.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventInfo"
+ }
+ ],
+ "properties": {
+ "eventRequestMessage": {
+ "$ref": "#/definitions/EventRequestMessage",
+ "description": "The event request message sent to the service URI."
+ },
+ "eventResponseMessage": {
+ "$ref": "#/definitions/EventResponseMessage",
+ "description": "The event response message received from the service URI."
+ }
+ }
+ },
+ "EventRequestMessage": {
+ "description": "The event request message sent to the service URI.",
+ "type": "object",
+ "properties": {
+ "content": {
+ "$ref": "#/definitions/EventContent",
+ "description": "The content of the event request message."
+ },
+ "headers": {
+ "description": "The headers of the event request message.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "method": {
+ "description": "The HTTP method used to send the event request message.",
+ "type": "string"
+ },
+ "requestUri": {
+ "description": "The URI used to send the event request message.",
+ "type": "string"
+ },
+ "version": {
+ "description": "The HTTP message version.",
+ "type": "string"
+ }
+ }
+ },
+ "EventResponseMessage": {
+ "description": "The event response message received from the service URI.",
+ "type": "object",
+ "properties": {
+ "content": {
+ "description": "The content of the event response message.",
+ "type": "string"
+ },
+ "headers": {
+ "description": "The headers of the event response message.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "reasonPhrase": {
+ "description": "The reason phrase of the event response message.",
+ "type": "string"
+ },
+ "statusCode": {
+ "description": "The status code of the event response message.",
+ "type": "string"
+ },
+ "version": {
+ "description": "The HTTP message version.",
+ "type": "string"
+ }
+ }
+ },
+ "EventContent": {
+ "description": "The content of the event request message.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The event ID.",
+ "type": "string"
+ },
+ "timestamp": {
+ "format": "date-time",
+ "description": "The time at which the event occurred.",
+ "type": "string"
+ },
+ "action": {
+ "description": "The action that encompasses the provided event.",
+ "type": "string"
+ },
+ "target": {
+ "$ref": "#/definitions/Target",
+ "description": "The target of the event."
+ },
+ "request": {
+ "$ref": "#/definitions/Request",
+ "description": "The request that generated the event."
+ },
+ "actor": {
+ "$ref": "#/definitions/Actor",
+ "description": "The agent that initiated the event. For most situations, this could be from the authorization context of the request."
+ },
+ "source": {
+ "$ref": "#/definitions/Source",
+ "description": "The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it."
+ }
+ }
+ },
+ "Target": {
+ "description": "The target of the event.",
+ "type": "object",
+ "properties": {
+ "mediaType": {
+ "description": "The MIME type of the referenced object.",
+ "type": "string"
+ },
+ "size": {
+ "format": "int64",
+ "description": "The number of bytes of the content. Same as Length field.",
+ "type": "integer"
+ },
+ "digest": {
+ "description": "The digest of the content, as defined by the Registry V2 HTTP API Specification.",
+ "type": "string"
+ },
+ "length": {
+ "format": "int64",
+ "description": "The number of bytes of the content. Same as Size field.",
+ "type": "integer"
+ },
+ "repository": {
+ "description": "The repository name.",
+ "type": "string"
+ },
+ "url": {
+ "description": "The direct URL to the content.",
+ "type": "string"
+ },
+ "tag": {
+ "description": "The tag name.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the artifact.",
+ "type": "string"
+ },
+ "version": {
+ "description": "The version of the artifact.",
+ "type": "string"
+ }
+ }
+ },
+ "Request": {
+ "description": "The request that generated the event.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ID of the request that initiated the event.",
+ "type": "string"
+ },
+ "addr": {
+ "description": "The IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request.",
+ "type": "string"
+ },
+ "host": {
+ "description": "The externally accessible hostname of the registry instance, as specified by the http host header on incoming requests.",
+ "type": "string"
+ },
+ "method": {
+ "description": "The request method that generated the event.",
+ "type": "string"
+ },
+ "useragent": {
+ "description": "The user agent header of the request.",
+ "type": "string"
+ }
+ }
+ },
+ "Actor": {
+ "description": "The agent that initiated the event. For most situations, this could be from the authorization context of the request.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The subject or username associated with the request context that generated the event.",
+ "type": "string"
+ }
+ }
+ },
+ "Source": {
+ "description": "The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it.",
+ "type": "object",
+ "properties": {
+ "addr": {
+ "description": "The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port.",
+ "type": "string"
+ },
+ "instanceID": {
+ "description": "The running instance of an application. Changes after each restart.",
+ "type": "string"
+ }
+ }
+ },
+ "CallbackConfig": {
+ "description": "The configuration of service URI and custom headers for the webhook.",
+ "required": [
+ "serviceUri"
+ ],
+ "type": "object",
+ "properties": {
+ "serviceUri": {
+ "description": "The service URI for the webhook to post notifications.",
+ "type": "string"
+ },
+ "customHeaders": {
+ "description": "Custom headers that will be added to the webhook notifications.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "An error response from the Azure Container Registry service.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorResponseBody",
+ "description": "Azure container registry build API error body."
+ }
+ }
+ },
+ "ErrorResponseBody": {
+ "description": "An error response from the Azure Container Registry service.",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "description": "error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "target of the particular error.",
+ "type": "string"
+ },
+ "details": {
+ "description": "an array of additional nested error response info objects, as described by this contract.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InnerErrorDescription"
+ }
+ }
+ }
+ },
+ "InnerErrorDescription": {
+ "description": "inner error.",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "description": "error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "target of the particular error.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Microsoft Azure subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The client API version.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group to which the container registry belongs.",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "x-ms-parameter-location": "method"
+ },
+ "RegistryNameParameter": {
+ "name": "registryName",
+ "in": "path",
+ "description": "The name of the container registry.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "WebhookNameParameter": {
+ "name": "webhookName",
+ "in": "path",
+ "description": "The name of the webhook.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "ReplicationNameParameter": {
+ "name": "replicationName",
+ "in": "path",
+ "description": "The name of the replication.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "ScopeMapNameParameter": {
+ "name": "scopeMapName",
+ "in": "path",
+ "description": "The name of the scope map.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9-_]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "TokenNameParameter": {
+ "name": "tokenName",
+ "in": "path",
+ "description": "The name of the token.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9-]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "PrivateEndpointConnectionNameParameter": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ExportPipelineNameParameter": {
+ "name": "exportPipelineName",
+ "in": "path",
+ "description": "The name of the export pipeline.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "ImportPipelineNameParameter": {
+ "name": "importPipelineName",
+ "in": "path",
+ "description": "The name of the import pipeline.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "PipelineRunNameParameter": {
+ "name": "pipelineRunName",
+ "in": "path",
+ "description": "The name of the pipeline run.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "ConnectedRegistryNameParameter": {
+ "name": "connectedRegistryName",
+ "in": "path",
+ "description": "The name of the connected registry.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "ConnectedRegistryFilterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "description": "An OData filter expression that describes a subset of connectedRegistries to return. The parameters that can be filtered are parent.id (the resource id of the connectedRegistry parent), mode, and connectionState. The supported operator is eq.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryCreate.json
new file mode 100644
index 000000000000..0f681fa833a7
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryCreate.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "connectedRegistryName": "myConnectedRegistry",
+ "connectedRegistryCreateParameters": {
+ "properties": {
+ "mode": "ReadWrite",
+ "parent": {
+ "syncProperties": {
+ "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken",
+ "schedule": "0 9 * * *",
+ "messageTtl": "P2D",
+ "syncWindow": "PT3H"
+ }
+ },
+ "clientTokenIds": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token"
+ ],
+ "notificationsList": [
+ "hello-world:*:*",
+ "sample/repo/*:1.0:*"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry",
+ "name": "myConnectedRegistry",
+ "type": "Microsoft.ContainerRegistry/registries/connectedRegistries",
+ "properties": {
+ "mode": "ReadWrite",
+ "activation": {
+ "status": "Inactive"
+ },
+ "parent": {
+ "syncProperties": {
+ "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken",
+ "schedule": "0 9 * * *",
+ "messageTtl": "P2D",
+ "syncWindow": "PT3H"
+ }
+ },
+ "clientTokenIds": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token"
+ ],
+ "logging": {
+ "logLevel": "Information",
+ "auditLogStatus": "Disabled"
+ },
+ "notificationsList": [
+ "hello-world:*:*",
+ "sample/repo/*:1.0:*"
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry",
+ "name": "myConnectedRegistry",
+ "type": "Microsoft.ContainerRegistry/registries/connectedRegistries",
+ "properties": {
+ "mode": "ReadWrite",
+ "activation": {
+ "status": "Inactive"
+ },
+ "parent": {
+ "syncProperties": {
+ "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken",
+ "schedule": "0 9 * * *",
+ "messageTtl": "P2D",
+ "syncWindow": "PT3H"
+ }
+ },
+ "clientTokenIds": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token"
+ ],
+ "logging": {
+ "logLevel": "Information",
+ "auditLogStatus": "Disabled"
+ },
+ "notificationsList": [
+ "hello-world:*:*",
+ "sample/repo/*:1.0:*"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryDeactivate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryDeactivate.json
new file mode 100644
index 000000000000..fa2fab7de689
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryDeactivate.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "connectedRegistryName": "myConnectedRegistry"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryDelete.json
new file mode 100644
index 000000000000..964be4af3596
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "connectedRegistryName": "myConnectedRegistry"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryGet.json
new file mode 100644
index 000000000000..dc1bf212968b
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryGet.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "connectedRegistryName": "myConnectedRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry",
+ "name": "myConnectedRegistry",
+ "type": "Microsoft.ContainerRegistry/registries/connectedRegistries",
+ "properties": {
+ "mode": "ReadWrite",
+ "activation": {
+ "status": "Inactive"
+ },
+ "parent": {
+ "syncProperties": {
+ "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken",
+ "schedule": "0 9 * * *",
+ "messageTtl": "P2D",
+ "syncWindow": "PT3H"
+ }
+ },
+ "clientTokenIds": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token"
+ ],
+ "logging": {
+ "logLevel": "Information",
+ "auditLogStatus": "Disabled"
+ },
+ "notificationsList": [
+ "hello-world:*:*",
+ "sample/repo/*:1.0:*"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryList.json
new file mode 100644
index 000000000000..ff8240be5e7e
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry",
+ "name": "myConnectedRegistry",
+ "type": "Microsoft.ContainerRegistry/registries/connectedRegistries",
+ "properties": {
+ "mode": "ReadWrite",
+ "activation": {
+ "status": "Inactive"
+ },
+ "parent": {
+ "syncProperties": {
+ "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken",
+ "schedule": "0 9 * * *",
+ "messageTtl": "P2D",
+ "syncWindow": "PT3H"
+ }
+ },
+ "clientTokenIds": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token"
+ ],
+ "logging": {
+ "logLevel": "Information",
+ "auditLogStatus": "Disabled"
+ },
+ "notificationsList": [
+ "hello-world:*:*",
+ "sample/repo/*:1.0:*"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryUpdate.json
new file mode 100644
index 000000000000..6a8e9e2d5c36
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ConnectedRegistryUpdate.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "connectedRegistryName": "myScopeMap",
+ "connectedRegistryUpdateParameters": {
+ "properties": {
+ "syncProperties": {
+ "schedule": "0 0 */10 * *",
+ "messageTtl": "P30D",
+ "syncWindow": "P2D"
+ },
+ "logging": {
+ "logLevel": "Debug",
+ "auditLogStatus": "Enabled"
+ },
+ "clientTokenIds": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client2Token"
+ ],
+ "notificationsList": [
+ "hello-world:*:*",
+ "sample/repo/*:1.0:*"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry",
+ "name": "myConnectedRegistry",
+ "type": "Microsoft.ContainerRegistry/registries/connectedRegistries",
+ "properties": {
+ "mode": "ReadWrite",
+ "parent": {
+ "syncProperties": {
+ "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken",
+ "schedule": "0 0 */10 * *",
+ "messageTtl": "P30D",
+ "syncWindow": "P2D"
+ }
+ },
+ "clientTokenIds": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client2Token"
+ ],
+ "logging": {
+ "logLevel": "Debug",
+ "auditLogStatus": "Enabled"
+ },
+ "notificationsList": [
+ "hello-world:*:*",
+ "sample/repo/*:1.0:*"
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/connectedRegistries/myConnectedRegistry",
+ "name": "myConnectedRegistry",
+ "type": "Microsoft.ContainerRegistry/registries/connectedRegistries",
+ "properties": {
+ "mode": "ReadWrite",
+ "parent": {
+ "syncProperties": {
+ "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/syncToken",
+ "schedule": "0 0 */10 * *",
+ "messageTtl": "P30D",
+ "syncWindow": "P2D"
+ }
+ },
+ "clientTokenIds": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client1Token",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/client2Token"
+ ],
+ "logging": {
+ "logLevel": "Debug",
+ "auditLogStatus": "Enabled"
+ },
+ "notificationsList": [
+ "hello-world:*:*",
+ "sample/repo/*:1.0:*"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineCreate.json
new file mode 100644
index 000000000000..85b06cb4824d
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineCreate.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "exportPipelineName": "myExportPipeline",
+ "exportPipelineCreateParameters": {
+ "location": "westus",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "target": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas"
+ },
+ "options": [
+ "OverwriteBlobs"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline",
+ "name": "myExportPipeline",
+ "type": "Microsoft.ContainerRegistry/registries/exportPipelines",
+ "properties": {
+ "target": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas"
+ },
+ "options": [
+ "OverwriteBlobs"
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "location": "westus",
+ "identity": {
+ "principalId": "fa153151-b9fd-46f4-9088-5e6600f2689v",
+ "tenantId": "f686d426-8d16-42db-81b7-abu4gm510ccd",
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline",
+ "name": "myExportPipeline",
+ "type": "Microsoft.ContainerRegistry/registries/exportPipelines",
+ "properties": {
+ "target": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas"
+ },
+ "options": [
+ "OverwriteBlobs"
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "location": "westus",
+ "identity": {
+ "principalId": "fa153151-b9fd-46f4-9088-5e6600f2689v",
+ "tenantId": "f686d426-8d16-42db-81b7-abu4gm510ccd",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineDelete.json
new file mode 100644
index 000000000000..cad5f9c3e814
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "exportPipelineName": "myExportPipeline"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineGet.json
new file mode 100644
index 000000000000..c7c80f60f6c6
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "exportPipelineName": "myExportPipeline"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline",
+ "name": "myExportPipeline",
+ "type": "Microsoft.ContainerRegistry/registries/exportPipelines",
+ "properties": {
+ "target": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas"
+ },
+ "options": [
+ "OverwriteBlobs"
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "location": "westus",
+ "identity": {
+ "principalId": "fa153151-b9fd-46f4-9088-5e6600f2689v",
+ "tenantId": "f686d426-8d16-42db-81b7-abu4gm510ccd",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineList.json
new file mode 100644
index 000000000000..d2910daff056
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ExportPipelineList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline",
+ "name": "myExportPipeline",
+ "type": "Microsoft.ContainerRegistry/registries/exportPipelines",
+ "properties": {
+ "target": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas"
+ },
+ "options": [
+ "OverwriteBlobs"
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "location": "westus",
+ "identity": {
+ "principalId": "fa153151-b9fd-46f4-9088-5e6600f2689v",
+ "tenantId": "f686d426-8d16-42db-81b7-abu4gm510ccd",
+ "type": "SystemAssigned"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportImageByManifestDigest.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportImageByManifestDigest.json
new file mode 100644
index 000000000000..e51877a195b3
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportImageByManifestDigest.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "parameters": {
+ "source": {
+ "resourceId": "/subscriptions/10000000-0000-0000-0000-000000000000/resourceGroups/sourceResourceGroup/providers/Microsoft.ContainerRegistry/registries/sourceRegistry",
+ "sourceImage": "sourceRepository@sha256:0000000000000000000000000000000000000000000000000000000000000000"
+ },
+ "targetTags": [
+ "targetRepository:targetTag"
+ ],
+ "untaggedTargetRepositories": [
+ "targetRepository1"
+ ],
+ "mode": "Force"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportImageByTag.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportImageByTag.json
new file mode 100644
index 000000000000..d22eb3a0e9c3
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportImageByTag.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "parameters": {
+ "source": {
+ "resourceId": "/subscriptions/10000000-0000-0000-0000-000000000000/resourceGroups/sourceResourceGroup/providers/Microsoft.ContainerRegistry/registries/sourceRegistry",
+ "sourceImage": "sourceRepository:sourceTag"
+ },
+ "targetTags": [
+ "targetRepository:targetTag"
+ ],
+ "untaggedTargetRepositories": [
+ "targetRepository1"
+ ],
+ "mode": "Force"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportImageFromPublicRegistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportImageFromPublicRegistry.json
new file mode 100644
index 000000000000..6d2f8408f265
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportImageFromPublicRegistry.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "parameters": {
+ "source": {
+ "registryUri": "registry.hub.docker.com",
+ "sourceImage": "library/hello-world"
+ },
+ "targetTags": [
+ "targetRepository:targetTag"
+ ],
+ "untaggedTargetRepositories": [
+ "targetRepository1"
+ ],
+ "mode": "Force"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineCreate.json
new file mode 100644
index 000000000000..751d2ede52ed
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineCreate.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "importPipelineName": "myImportPipeline",
+ "importPipelineCreateParameters": {
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {}
+ }
+ },
+ "properties": {
+ "source": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas"
+ },
+ "options": [
+ "OverwriteTags",
+ "DeleteSourceBlobOnSuccess",
+ "ContinueOnErrors"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline",
+ "name": "myImportPipeline",
+ "type": "Microsoft.ContainerRegistry/registries/importPipelines",
+ "properties": {
+ "source": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas"
+ },
+ "trigger": {
+ "sourceTrigger": {
+ "status": "Enabled"
+ }
+ },
+ "options": [
+ "OverwriteTags",
+ "DeleteSourceBlobOnSuccess",
+ "ContinueOnErrors"
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "d3ce1bc2-f7d7-4a5b-9979-950f4e57680e",
+ "principalId": "b6p9f58b-6fbf-4efd-a7e0-fvd46911a466"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline",
+ "name": "myImportPipeline",
+ "type": "Microsoft.ContainerRegistry/registries/importPipelines",
+ "properties": {
+ "source": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas"
+ },
+ "trigger": {
+ "sourceTrigger": {
+ "status": "Enabled"
+ }
+ },
+ "options": [
+ "OverwriteTags",
+ "DeleteSourceBlobOnSuccess",
+ "ContinueOnErrors"
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "d3ce1bc2-f7d7-4a5b-9979-950f4e57680e",
+ "principalId": "b6p9f58b-6fbf-4efd-a7e0-fvd46911a466"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineDelete.json
new file mode 100644
index 000000000000..b959b76debfc
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "importPipelineName": "myImportPipeline"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineGet.json
new file mode 100644
index 000000000000..ecf2dc25506d
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineGet.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "importPipelineName": "myImportPipeline"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline",
+ "name": "myImportPipeline",
+ "type": "Microsoft.ContainerRegistry/registries/importPipelines",
+ "properties": {
+ "source": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas"
+ },
+ "trigger": {
+ "sourceTrigger": {
+ "status": "Enabled"
+ }
+ },
+ "options": [
+ "OverwriteTags",
+ "DeleteSourceBlobOnSuccess",
+ "ContinueOnErrors"
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "d3ce1bc2-f7d7-4a5b-9979-950f4e57680e",
+ "principalId": "b6p9f58b-6fbf-4efd-a7e0-fvd46911a466"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineList.json
new file mode 100644
index 000000000000..a1e62501d917
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ImportPipelineList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline",
+ "name": "myImportPipeline",
+ "type": "Microsoft.ContainerRegistry/registries/importPipelines",
+ "properties": {
+ "source": {
+ "type": "AzureStorageBlobContainer",
+ "uri": "https://accountname.blob.core.windows.net/containername",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas"
+ },
+ "trigger": {
+ "sourceTrigger": {
+ "status": "Enabled"
+ }
+ },
+ "options": [
+ "OverwriteTags",
+ "DeleteSourceBlobOnSuccess",
+ "ContinueOnErrors"
+ ],
+ "provisioningState": "Succeeded"
+ },
+ "location": "westus",
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/f9d7ebed-adbd-4cb4-b973-aaf82c136138/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "d3ce1bc2-f7d7-4a5b-9979-950f4e57680e",
+ "principalId": "b6p9f58b-6fbf-4efd-a7e0-fvd46911a466"
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/OperationList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/OperationList.json
new file mode 100644
index 000000000000..68c2a9ce413b
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/OperationList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.ContainerRegistry/locations/deleteVirtualNetworkOrSubnets/action",
+ "display": {
+ "provider": "Microsoft ContainerRegistry",
+ "resource": "",
+ "operation": "Delete virtual network or subnets notifications",
+ "description": "Notifies Microsoft.ContainerRegistry that virtual network or subnet is being deleted"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunCreate_Export.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunCreate_Export.json
new file mode 100644
index 000000000000..8726a81ce91e
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunCreate_Export.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "pipelineRunName": "myPipelineRun",
+ "pipelineRunCreateParameters": {
+ "properties": {
+ "request": {
+ "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline",
+ "target": {
+ "type": "AzureStorageBlob",
+ "name": "myblob.tar.gz"
+ },
+ "artifacts": [
+ "sourceRepository/hello-world",
+ "sourceRepository2@sha256:00000000000000000000000000000000000"
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun",
+ "name": "myPipelineRun",
+ "type": "Microsoft.ContainerRegistry/registries/pipelineRuns",
+ "properties": {
+ "request": {
+ "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline",
+ "artifacts": [
+ "sourceRepository/hello-world",
+ "sourceRepository2@sha256:00000000000000000000000000000000000"
+ ]
+ },
+ "response": {
+ "status": "Running",
+ "catalogDigest": "sha256@",
+ "progress": {
+ "percentage": "20"
+ },
+ "startTime": "2020-03-04T17:23:21.9261521+00:00",
+ "target": {
+ "type": "AzureStorageBlob",
+ "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun",
+ "name": "myPipelineRun",
+ "type": "Microsoft.ContainerRegistry/registries/pipelineRuns",
+ "properties": {
+ "request": {
+ "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline",
+ "artifacts": [
+ "sourceRepository/hello-world",
+ "sourceRepository2@sha256:00000000000000000000000000000000000"
+ ]
+ },
+ "response": {
+ "status": "Running",
+ "catalogDigest": "sha256@",
+ "progress": {
+ "percentage": "20"
+ },
+ "startTime": "2020-03-04T17:23:21.9261521+00:00",
+ "target": {
+ "type": "AzureStorageBlob",
+ "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunCreate_Import.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunCreate_Import.json
new file mode 100644
index 000000000000..d42f383477c6
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunCreate_Import.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "pipelineRunName": "myPipelineRun",
+ "pipelineRunCreateParameters": {
+ "properties": {
+ "request": {
+ "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline",
+ "source": {
+ "type": "AzureStorageBlob",
+ "name": "myblob.tar.gz"
+ },
+ "catalogDigest": "sha256@"
+ },
+ "forceUpdateTag": "2020-03-04T17:23:21.9261521+00:00"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun",
+ "name": "myPipelineRun",
+ "type": "Microsoft.ContainerRegistry/registries/pipelineRuns",
+ "properties": {
+ "request": {
+ "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline"
+ },
+ "response": {
+ "status": "Succeeded",
+ "progress": {
+ "percentage": "100"
+ },
+ "startTime": "2020-03-04T17:23:21.9261521+00:00",
+ "importedArtifacts": [
+ "sourceRepository/hello-world",
+ "sourceRepository2@sha256:00000000000000000000000000000000000"
+ ],
+ "source": {
+ "type": "AzureStorageBlob",
+ "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas"
+ },
+ "catalogDigest": "sha256@"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun",
+ "name": "myPipelineRun",
+ "type": "Microsoft.ContainerRegistry/registries/pipelineRuns",
+ "properties": {
+ "request": {
+ "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline"
+ },
+ "response": {
+ "status": "Succeeded",
+ "progress": {
+ "percentage": "100"
+ },
+ "startTime": "2020-03-04T17:23:21.9261521+00:00",
+ "finishTime": "2020-03-04T17:25:21.9261521+00:00",
+ "importedArtifacts": [
+ "sourceRepository/hello-world",
+ "sourceRepository2@sha256:00000000000000000000000000000000000"
+ ],
+ "source": {
+ "type": "AzureStorageBlob",
+ "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas"
+ },
+ "catalogDigest": "sha256@"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunDelete.json
new file mode 100644
index 000000000000..86ccbc09c97d
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "pipelineRunName": "myPipelineRun"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunGet.json
new file mode 100644
index 000000000000..9f327aacad98
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunGet.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "pipelineRunName": "myPipelineRun"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun",
+ "name": "myPipelineRun",
+ "type": "Microsoft.ContainerRegistry/registries/pipelineRuns",
+ "properties": {
+ "request": {
+ "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline",
+ "artifacts": [
+ "sourceRepository/hello-world",
+ "sourceRepository2@sha256:00000000000000000000000000000000000"
+ ]
+ },
+ "response": {
+ "status": "Running",
+ "catalogDigest": "sha256@",
+ "progress": {
+ "percentage": "20"
+ },
+ "startTime": "2020-03-04T17:23:21.9261521+00:00",
+ "target": {
+ "type": "AzureStorageBlob",
+ "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunList.json
new file mode 100644
index 000000000000..8f5561d7e99b
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PipelineRunList.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun",
+ "name": "myPipelineRun",
+ "type": "Microsoft.ContainerRegistry/registries/pipelineRuns",
+ "properties": {
+ "request": {
+ "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/exportPipelines/myExportPipeline",
+ "artifacts": [
+ "sourceRepository/hello-world",
+ "sourceRepository2@sha256:00000000000000000000000000000000000"
+ ]
+ },
+ "response": {
+ "status": "Running",
+ "catalogDigest": "sha256@",
+ "progress": {
+ "percentage": "20"
+ },
+ "startTime": "2020-03-04T17:23:21.9261521+00:00",
+ "target": {
+ "type": "AzureStorageBlob",
+ "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrexportsas"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/pipelineRuns/myPipelineRun",
+ "name": "myPipelineRun",
+ "type": "Microsoft.ContainerRegistry/registries/pipelineRuns",
+ "properties": {
+ "request": {
+ "pipelineResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/importPipelines/myImportPipeline"
+ },
+ "response": {
+ "status": "Succeeded",
+ "progress": {
+ "percentage": "100"
+ },
+ "startTime": "2020-03-03T17:23:21.9261521+00:00",
+ "importedArtifacts": [
+ "sourceRepository/hello-world",
+ "sourceRepository2@sha256:00000000000000000000000000000000000"
+ ],
+ "source": {
+ "type": "AzureStorageBlob",
+ "uri": "https://accountname.blob.core.windows.net/containername/myblob.tar.gz",
+ "keyVaultUri": "https://myvault.vault.azure.net/secrets/acrimportsas"
+ },
+ "catalogDigest": "sha256@"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionCreateOrUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionCreateOrUpdate.json
new file mode 100644
index 000000000000..650d0aeec57c
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionCreateOrUpdate.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "privateEndpointConnectionName": "myConnection",
+ "privateEndpointConnection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionDelete.json
new file mode 100644
index 000000000000..6a58a074896d
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "privateEndpointConnectionName": "myConnection"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionGet.json
new file mode 100644
index 000000000000..f26c36b61209
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "privateEndpointConnectionName": "myConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionList.json
new file mode 100644
index 000000000000..a4cfe27cfb61
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/PrivateEndpointConnectionList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCheckNameAvailable.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCheckNameAvailable.json
new file mode 100644
index 000000000000..5d787272df06
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCheckNameAvailable.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "registryNameCheckRequest": {
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCheckNameNotAvailable.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCheckNameNotAvailable.json
new file mode 100644
index 000000000000..01ec82aed58a
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCheckNameNotAvailable.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "registryNameCheckRequest": {
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "The registry myRegistry is already in use."
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCreate.json
new file mode 100644
index 000000000000..29baa6f3ecf0
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCreate.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "registry": {
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "adminUserEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Succeeded",
+ "adminUserEnabled": true,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "virtualNetworkRules": [],
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled",
+ "anonymousPullEnabled": false
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Creating",
+ "adminUserEnabled": true,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "virtualNetworkRules": [],
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled",
+ "anonymousPullEnabled": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCreateZoneRedundant.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCreateZoneRedundant.json
new file mode 100644
index 000000000000..fec37db0d723
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryCreateZoneRedundant.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "registry": {
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "zoneRedundancy": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Succeeded",
+ "adminUserEnabled": false,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "virtualNetworkRules": [],
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Enabled",
+ "anonymousPullEnabled": false
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Creating",
+ "adminUserEnabled": false,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "virtualNetworkRules": [],
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Enabled",
+ "anonymousPullEnabled": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryDelete.json
new file mode 100644
index 000000000000..e02c15c22a6a
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryGenerateCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryGenerateCredentials.json
new file mode 100644
index 000000000000..d651dd76fcf4
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryGenerateCredentials.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "generateCredentialsParameters": {
+ "tokenId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken",
+ "expiry": "2020-12-31T15:59:59.0707808Z"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "username": "myToken",
+ "passwords": [
+ {
+ "expiry": "2020-12-31T15:59:59.0707808Z",
+ "name": "password1",
+ "value": "00000000000000000000000000000000"
+ },
+ {
+ "expiry": "2020-12-31T15:59:59.0707808Z",
+ "name": "password2",
+ "value": "00000000000000000000000000000000"
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryGet.json
new file mode 100644
index 000000000000..5d6ec9d1f8f5
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryGet.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Succeeded",
+ "adminUserEnabled": false,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "virtualNetworkRules": [],
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled",
+ "anonymousPullEnabled": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryList.json
new file mode 100644
index 000000000000..118d31d451eb
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryList.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Succeeded",
+ "adminUserEnabled": false,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "virtualNetworkRules": [],
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled",
+ "anonymousPullEnabled": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListByResourceGroup.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListByResourceGroup.json
new file mode 100644
index 000000000000..7984f770e32b
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListByResourceGroup.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Succeeded",
+ "adminUserEnabled": false,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "virtualNetworkRules": [],
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled",
+ "anonymousPullEnabled": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListCredentials.json
new file mode 100644
index 000000000000..3a2ff9f968bb
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListCredentials.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "username": "myRegistry",
+ "passwords": [
+ {
+ "name": "password",
+ "value": "00000000000000000000000000000000"
+ },
+ {
+ "name": "password2",
+ "value": "00000000000000000000000000000000"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListPrivateLinkResources.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListPrivateLinkResources.json
new file mode 100644
index 000000000000..d6152b80e64b
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListPrivateLinkResources.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateLinkResources/registry",
+ "name": "registry",
+ "type": "Microsoft.ContainerRegistry/registries/privateLinkResources",
+ "properties": {
+ "groupId": "registry",
+ "requiredMembers": [
+ "registry",
+ "registry_data_myregion"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azurecr.io"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListUsages.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListUsages.json
new file mode 100644
index 000000000000..94de93a06943
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryListUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Size",
+ "limit": 107374182400,
+ "currentValue": 12345678,
+ "unit": "Bytes"
+ },
+ {
+ "name": "Webhooks",
+ "limit": 10,
+ "currentValue": 2,
+ "unit": "Count"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryRegenerateCredential.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryRegenerateCredential.json
new file mode 100644
index 000000000000..536ce666736e
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryRegenerateCredential.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "regenerateCredentialParameters": {
+ "name": "password"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "username": "myRegistry",
+ "passwords": [
+ {
+ "name": "password",
+ "value": "00000000000000000000000000000000"
+ },
+ {
+ "name": "password2",
+ "value": "00000000000000000000000000000000"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryUpdate.json
new file mode 100644
index 000000000000..bf9807db04e5
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/RegistryUpdate.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "registryUpdateParameters": {
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "adminUserEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Succeeded",
+ "adminUserEnabled": true,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "virtualNetworkRules": [],
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled",
+ "anonymousPullEnabled": false
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Updating",
+ "adminUserEnabled": true,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "virtualNetworkRules": [],
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled",
+ "anonymousPullEnabled": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationCreate.json
new file mode 100644
index 000000000000..aedbcc2bdd62
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationCreate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "replicationName": "myReplication",
+ "replication": {
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The replication is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Creating",
+ "status": {
+ "displayStatus": "Provisioning",
+ "message": "The replication is provisioning.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationCreateZoneRedundant.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationCreateZoneRedundant.json
new file mode 100644
index 000000000000..2dedf365ffd4
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationCreateZoneRedundant.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "replicationName": "myReplication",
+ "replication": {
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The replication is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Enabled"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Creating",
+ "status": {
+ "displayStatus": "Provisioning",
+ "message": "The replication is provisioning.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationDelete.json
new file mode 100644
index 000000000000..c2fa3d6ac9bd
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "replicationName": "myReplication"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationGet.json
new file mode 100644
index 000000000000..da32f81bebc7
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "replicationName": "myReplication"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The replication is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationList.json
new file mode 100644
index 000000000000..fccb44061185
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The replication is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationUpdate.json
new file mode 100644
index 000000000000..fc0fdcdb701b
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ReplicationUpdate.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "replicationName": "myReplication",
+ "replicationUpdateParameters": {
+ "tags": {
+ "key": "value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The replication is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Updating",
+ "status": {
+ "displayStatus": "Provisioning",
+ "message": "The replication is provisioning.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapCreate.json
new file mode 100644
index 000000000000..16aff0dff189
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapCreate.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "scopeMapName": "myScopeMap",
+ "scopeMapCreateParameters": {
+ "properties": {
+ "description": "Developer Scopes",
+ "actions": [
+ "repositories/myrepository/contentWrite",
+ "repositories/myrepository/delete"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "name": "myScopeMap",
+ "type": "Microsoft.ContainerRegistry/registries/scopeMaps",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "type": "IsUserDefined",
+ "actions": [
+ "repositories/myrepository/contentWrite",
+ "repositories/myrepository/delete"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "name": "myScopeMap",
+ "type": "Microsoft.ContainerRegistry/registries/scopeMaps",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "type": "IsUserDefined",
+ "actions": [
+ "repositories/myrepository/contentWrite",
+ "repositories/myrepository/delete"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapDelete.json
new file mode 100644
index 000000000000..ef60c87d91af
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "scopeMapName": "myScopeMap"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapGet.json
new file mode 100644
index 000000000000..e50382ac5cc0
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "scopeMapName": "myScopeMap"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "name": "myScopeMap",
+ "type": "Microsoft.ContainerRegistry/registries/scopeMaps",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "type": "IsUserDefined",
+ "actions": [
+ "repositories/myrepository/contentWrite",
+ "repositories/myrepository/delete"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapList.json
new file mode 100644
index 000000000000..42bec69b1059
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapList.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "name": "myScopeMap",
+ "type": "Microsoft.ContainerRegistry/registries/scopeMaps",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "type": "IsUserDefined",
+ "actions": [
+ "repositories/myrepository/contentWrite",
+ "repositories/myrepository/delete"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapUpdate.json
new file mode 100644
index 000000000000..9b10818ec07a
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/ScopeMapUpdate.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "scopeMapName": "myScopeMap",
+ "scopeMapUpdateParameters": {
+ "properties": {
+ "description": "Developer Scopes",
+ "actions": [
+ "repositories/myrepository/contentWrite",
+ "repositories/myrepository/contentRead"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "name": "myScopeMap",
+ "type": "Microsoft.ContainerRegistry/registries/scopeMaps",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "type": "IsUserDefined",
+ "actions": [
+ "repositories/myrepository/contentWrite",
+ "repositories/myrepository/contentRead"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "name": "myScopeMap",
+ "type": "Microsoft.ContainerRegistry/registries/scopeMaps",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "type": "IsUserDefined",
+ "actions": [
+ "repositories/myrepository/contentWrite",
+ "repositories/myrepository/contentRead"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenCreate.json
new file mode 100644
index 000000000000..6a078704bd70
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenCreate.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "tokenName": "myToken",
+ "tokenCreateParameters": {
+ "properties": {
+ "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "status": "disabled",
+ "credentials": {
+ "certificates": [
+ {
+ "name": "certificate1",
+ "encodedPemCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUc3akNDQk5hZ0F3SUJBZ0lURmdBQlR3UVpyZGdmdmhxdzBnQUFBQUZQQkRBTkJna3Foa2lHOXcwQkFRc0YKQURDQml6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVApCMUpsWkcxdmJtUXhIakFjQmdOVkJBb1RGVTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2YmpFVk1CTUdBMVVFCkN4TU1UV2xqY205emIyWjBJRWxVTVI0d0hBWURWUVFERXhWTmFXTnliM052Wm5RZ1NWUWdWRXhUSUVOQklEUXcKSGhjTk1UZ3dOREV5TWpJek1qUTRXaGNOTWpBd05ERXlNakl6TWpRNFdqQTVNVGN3TlFZRFZRUURFeTV6WlhKMgphV05sWTJ4cFpXNTBZMlZ5ZEMxd1lYSjBibVZ5TG0xaGJtRm5aVzFsYm5RdVlYcDFjbVV1WTI5dE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSYjdJcHpxMmR4emhhbVpyS1ZDakMzeTQyYlYKUnNIY2pCUTFuSDBHZ1puUDhXeDZDSE1mWThybkVJQzRLeVRRYkJXVzhnNXlmc3NSQ0ZXbFpxYjR6SkRXS0pmTgpGSmNMUm9LNnhwTktZYVZVTkVlT25IdUxHYTM0ZlA0VjBFRjZybzdvbkRLME5zanhjY1dZVzRNVXVzc0xrQS94CkUrM2RwU1REdk1KcjJoWUpsVnFDcVR6blQvbmZaVUZzQUVEQnp5MUpOOHZiZDlIR2czc2Myd0x4dk95cFJOc0gKT1V3V2pmN2xzWWZleEVlcWkzY29EeHc2alpLVWEyVkdsUnBpTkowMjhBQitYSi9TU1FVNVBsd0JBbU9TT3ovRApGY0NKdGpPZlBqU1NKckFIQVV3SHU3RzlSV05JTFBwYU9zQ1J5eitETE5zNGpvNlEvUUg4d1lManJRSURBUUFCCm80SUNtakNDQXBZd0N3WURWUjBQQkFRREFnU3dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUYKQlFjREFUQWRCZ05WSFE0RUZnUVVlbEdkVVJrZzJoSFFOWEQ4WUc4L3drdjJVT0F3SHdZRFZSMGpCQmd3Rm9BVQplbnVNd2Mvbm9Nb2MxR3Y2KytFend3OGFvcDB3Z2F3R0ExVWRId1NCcERDQm9UQ0JucUNCbTZDQm1JWkxhSFIwCmNEb3ZMMjF6WTNKc0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjAKSlRJd1NWUWxNakJVVEZNbE1qQkRRU1V5TURRdVkzSnNoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1agpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjBKVEl3U1ZRbE1qQlVURk1sTWpCRFFTVXlNRFF1ClkzSnNNSUdGQmdnckJnRUZCUWNCQVFSNU1IY3dVUVlJS3dZQkJRVUhNQUtHUldoMGRIQTZMeTkzZDNjdWJXbGoKY205emIyWjBMbU52YlM5d2Eya3ZiWE5qYjNKd0wwMXBZM0p2YzI5bWRDVXlNRWxVSlRJd1ZFeFRKVEl3UTBFbApNakEwTG1OeWREQWlCZ2dyQmdFRkJRY3dBWVlXYUhSMGNEb3ZMMjlqYzNBdWJYTnZZM053TG1OdmJUQStCZ2tyCkJnRUVBWUkzRlFjRU1UQXZCaWNyQmdFRUFZSTNGUWlIMm9aMWcrN1pBWUxKaFJ1QnRaNWhoZlRyWUlGZGhOTGYKUW9Mbmszb0NBV1FDQVIwd1RRWURWUjBnQkVZd1JEQkNCZ2tyQmdFRUFZSTNLZ0V3TlRBekJnZ3JCZ0VGQlFjQwpBUlluYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVM5dGMyTnZjbkF2WTNCek1DY0dDU3NHCkFRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd09RWURWUjBSQkRJd01JSXUKYzJWeWRtbGpaV05zYVdWdWRHTmxjblF0Y0dGeWRHNWxjaTV0WVc1aFoyVnRaVzUwTG1GNmRYSmxMbU52YlRBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFIVXIzbk1vdUI5WWdDUlRWYndUTllIS2RkWGJkSW1GUXNDYys4T1g1CjE5c0N6dFFSR05iSXEwVW1Ba01MbFVvWTIxckh4ZXdxU2hWczFhL2RwaFh5Tk1pcUdaU2QzU1BtYzZscitqUFQKNXVEREs0MUlWeXN0K2VUNlpyazFvcCtMVmdkeS9EU2lyNzVqcWZFY016bS82bU8rNnFNeWRLTWtVYmM5K3JHVwphUkpUcjRWUUdIRmEwNEIwZVZpNUd4MG9pL2RpZDNSaXg2aXJMMjFJSGEwYjN6c1hzZHpHU0R2K3hqL2Q2S0l4Ckdrd2FhYmZvU1NoQnFqaFNlQ0VyZXFlb1RpYjljdGw0MGRVdUp3THl4bjhHS2N6K3AvMEJUOEIxU3lYK01OQ2wKY0pkMjVtMjhLajY2TGUxOEVyeFlJYXZJVGVGa3Y2eGZjdkEvcHladDdPaU41QTlGQk1IUmpQK1kyZ2tvdjMrcQpISFRUZG4xNnlRajduNit3YlFHNGVleXc0YisyQkRLcUxNVFU2ZmlSQ3ZPM2FPZVBLSFVNN3R4b1FidWl6Z3NzCkNiMzl3QnJOTEZsMkJLQ1RkSCtkSU9oZVJiSkZvbmlwOGRPOUVFZWdSSG9lQW54ZUlYTFBrdXMzTzEvZjRhNkIKWHQ3RG5BUm8xSzJmeEp3VXRaU2MvR3dFSjU5NzlnRXlEa3pDZEVsLzdpWE9QZXVjTXhlM2xVM2pweUtsNERUaApjSkJqQytqNGpLWTFrK1U4b040aGdqYnJISUx6Vnd2eU15OU5KS290U3BMSjQxeHdPOHlGangxalFTT3Bxc0N1ClFhUFUvTjhSZ0hxWjBGTkFzS3dNUmZ6WmdXanRCNzRzYUVEdk5jVmNuNFhCQnFNSG0ydHo2Uzk3d3kxZGt0cTgKSE5BPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken",
+ "name": "myToken",
+ "type": "Microsoft.ContainerRegistry/registries/tokens",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "provisioningState": "Succeeded",
+ "status": "disabled",
+ "credentials": {
+ "certificates": [
+ {
+ "name": "certificate1",
+ "thumbprint": "feeb79a888bf1415f8e17c4965a2a5bb5c8a2ff7",
+ "expiry": "2020-12-04T15:32:48.0707808Z"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken",
+ "name": "myToken",
+ "type": "Microsoft.ContainerRegistry/registries/tokens",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "provisioningState": "Succeeded",
+ "status": "disabled",
+ "credentials": {
+ "certificates": [
+ {
+ "name": "certificate1",
+ "thumbprint": "feeb79a888bf1415f8e17c4965a2a5bb5c8a2ff7",
+ "expiry": "2020-12-04T15:32:48.0707808Z"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenDelete.json
new file mode 100644
index 000000000000..eb3700d433ed
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "tokenName": "myToken"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenGet.json
new file mode 100644
index 000000000000..6edbec08f658
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "tokenName": "myToken"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken",
+ "name": "myToken",
+ "type": "Microsoft.ContainerRegistry/registries/tokens",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "provisioningState": "Succeeded",
+ "status": "enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenList.json
new file mode 100644
index 000000000000..7ab2bccbdbc4
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken",
+ "name": "myToken",
+ "type": "Microsoft.ContainerRegistry/registries/tokens",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myScopeMap",
+ "provisioningState": "Succeeded",
+ "status": "enabled"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenUpdate.json
new file mode 100644
index 000000000000..0756a632b824
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/TokenUpdate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "tokenName": "myToken",
+ "tokenUpdateParameters": {
+ "properties": {
+ "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myNewScopeMap",
+ "credentials": {
+ "certificates": [
+ {
+ "name": "certificate1",
+ "encodedPemCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUc3akNDQk5hZ0F3SUJBZ0lURmdBQlR3UVpyZGdmdmhxdzBnQUFBQUZQQkRBTkJna3Foa2lHOXcwQkFRc0YKQURDQml6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVApCMUpsWkcxdmJtUXhIakFjQmdOVkJBb1RGVTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2YmpFVk1CTUdBMVVFCkN4TU1UV2xqY205emIyWjBJRWxVTVI0d0hBWURWUVFERXhWTmFXTnliM052Wm5RZ1NWUWdWRXhUSUVOQklEUXcKSGhjTk1UZ3dOREV5TWpJek1qUTRXaGNOTWpBd05ERXlNakl6TWpRNFdqQTVNVGN3TlFZRFZRUURFeTV6WlhKMgphV05sWTJ4cFpXNTBZMlZ5ZEMxd1lYSjBibVZ5TG0xaGJtRm5aVzFsYm5RdVlYcDFjbVV1WTI5dE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSYjdJcHpxMmR4emhhbVpyS1ZDakMzeTQyYlYKUnNIY2pCUTFuSDBHZ1puUDhXeDZDSE1mWThybkVJQzRLeVRRYkJXVzhnNXlmc3NSQ0ZXbFpxYjR6SkRXS0pmTgpGSmNMUm9LNnhwTktZYVZVTkVlT25IdUxHYTM0ZlA0VjBFRjZybzdvbkRLME5zanhjY1dZVzRNVXVzc0xrQS94CkUrM2RwU1REdk1KcjJoWUpsVnFDcVR6blQvbmZaVUZzQUVEQnp5MUpOOHZiZDlIR2czc2Myd0x4dk95cFJOc0gKT1V3V2pmN2xzWWZleEVlcWkzY29EeHc2alpLVWEyVkdsUnBpTkowMjhBQitYSi9TU1FVNVBsd0JBbU9TT3ovRApGY0NKdGpPZlBqU1NKckFIQVV3SHU3RzlSV05JTFBwYU9zQ1J5eitETE5zNGpvNlEvUUg4d1lManJRSURBUUFCCm80SUNtakNDQXBZd0N3WURWUjBQQkFRREFnU3dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUYKQlFjREFUQWRCZ05WSFE0RUZnUVVlbEdkVVJrZzJoSFFOWEQ4WUc4L3drdjJVT0F3SHdZRFZSMGpCQmd3Rm9BVQplbnVNd2Mvbm9Nb2MxR3Y2KytFend3OGFvcDB3Z2F3R0ExVWRId1NCcERDQm9UQ0JucUNCbTZDQm1JWkxhSFIwCmNEb3ZMMjF6WTNKc0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjAKSlRJd1NWUWxNakJVVEZNbE1qQkRRU1V5TURRdVkzSnNoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1agpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjBKVEl3U1ZRbE1qQlVURk1sTWpCRFFTVXlNRFF1ClkzSnNNSUdGQmdnckJnRUZCUWNCQVFSNU1IY3dVUVlJS3dZQkJRVUhNQUtHUldoMGRIQTZMeTkzZDNjdWJXbGoKY205emIyWjBMbU52YlM5d2Eya3ZiWE5qYjNKd0wwMXBZM0p2YzI5bWRDVXlNRWxVSlRJd1ZFeFRKVEl3UTBFbApNakEwTG1OeWREQWlCZ2dyQmdFRkJRY3dBWVlXYUhSMGNEb3ZMMjlqYzNBdWJYTnZZM053TG1OdmJUQStCZ2tyCkJnRUVBWUkzRlFjRU1UQXZCaWNyQmdFRUFZSTNGUWlIMm9aMWcrN1pBWUxKaFJ1QnRaNWhoZlRyWUlGZGhOTGYKUW9Mbmszb0NBV1FDQVIwd1RRWURWUjBnQkVZd1JEQkNCZ2tyQmdFRUFZSTNLZ0V3TlRBekJnZ3JCZ0VGQlFjQwpBUlluYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVM5dGMyTnZjbkF2WTNCek1DY0dDU3NHCkFRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd09RWURWUjBSQkRJd01JSXUKYzJWeWRtbGpaV05zYVdWdWRHTmxjblF0Y0dGeWRHNWxjaTV0WVc1aFoyVnRaVzUwTG1GNmRYSmxMbU52YlRBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFIVXIzbk1vdUI5WWdDUlRWYndUTllIS2RkWGJkSW1GUXNDYys4T1g1CjE5c0N6dFFSR05iSXEwVW1Ba01MbFVvWTIxckh4ZXdxU2hWczFhL2RwaFh5Tk1pcUdaU2QzU1BtYzZscitqUFQKNXVEREs0MUlWeXN0K2VUNlpyazFvcCtMVmdkeS9EU2lyNzVqcWZFY016bS82bU8rNnFNeWRLTWtVYmM5K3JHVwphUkpUcjRWUUdIRmEwNEIwZVZpNUd4MG9pL2RpZDNSaXg2aXJMMjFJSGEwYjN6c1hzZHpHU0R2K3hqL2Q2S0l4Ckdrd2FhYmZvU1NoQnFqaFNlQ0VyZXFlb1RpYjljdGw0MGRVdUp3THl4bjhHS2N6K3AvMEJUOEIxU3lYK01OQ2wKY0pkMjVtMjhLajY2TGUxOEVyeFlJYXZJVGVGa3Y2eGZjdkEvcHladDdPaU41QTlGQk1IUmpQK1kyZ2tvdjMrcQpISFRUZG4xNnlRajduNit3YlFHNGVleXc0YisyQkRLcUxNVFU2ZmlSQ3ZPM2FPZVBLSFVNN3R4b1FidWl6Z3NzCkNiMzl3QnJOTEZsMkJLQ1RkSCtkSU9oZVJiSkZvbmlwOGRPOUVFZWdSSG9lQW54ZUlYTFBrdXMzTzEvZjRhNkIKWHQ3RG5BUm8xSzJmeEp3VXRaU2MvR3dFSjU5NzlnRXlEa3pDZEVsLzdpWE9QZXVjTXhlM2xVM2pweUtsNERUaApjSkJqQytqNGpLWTFrK1U4b040aGdqYnJISUx6Vnd2eU15OU5KS290U3BMSjQxeHdPOHlGangxalFTT3Bxc0N1ClFhUFUvTjhSZ0hxWjBGTkFzS3dNUmZ6WmdXanRCNzRzYUVEdk5jVmNuNFhCQnFNSG0ydHo2Uzk3d3kxZGt0cTgKSE5BPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken",
+ "name": "myToken",
+ "type": "Microsoft.ContainerRegistry/registries/tokens",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myNewScopeMap",
+ "provisioningState": "Succeeded",
+ "status": "enabled",
+ "credentials": {
+ "certificates": [
+ {
+ "name": "certificate1",
+ "encodedPemCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUc3akNDQk5hZ0F3SUJBZ0lURmdBQlR3UVpyZGdmdmhxdzBnQUFBQUZQQkRBTkJna3Foa2lHOXcwQkFRc0YKQURDQml6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVApCMUpsWkcxdmJtUXhIakFjQmdOVkJBb1RGVTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2YmpFVk1CTUdBMVVFCkN4TU1UV2xqY205emIyWjBJRWxVTVI0d0hBWURWUVFERXhWTmFXTnliM052Wm5RZ1NWUWdWRXhUSUVOQklEUXcKSGhjTk1UZ3dOREV5TWpJek1qUTRXaGNOTWpBd05ERXlNakl6TWpRNFdqQTVNVGN3TlFZRFZRUURFeTV6WlhKMgphV05sWTJ4cFpXNTBZMlZ5ZEMxd1lYSjBibVZ5TG0xaGJtRm5aVzFsYm5RdVlYcDFjbVV1WTI5dE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSYjdJcHpxMmR4emhhbVpyS1ZDakMzeTQyYlYKUnNIY2pCUTFuSDBHZ1puUDhXeDZDSE1mWThybkVJQzRLeVRRYkJXVzhnNXlmc3NSQ0ZXbFpxYjR6SkRXS0pmTgpGSmNMUm9LNnhwTktZYVZVTkVlT25IdUxHYTM0ZlA0VjBFRjZybzdvbkRLME5zanhjY1dZVzRNVXVzc0xrQS94CkUrM2RwU1REdk1KcjJoWUpsVnFDcVR6blQvbmZaVUZzQUVEQnp5MUpOOHZiZDlIR2czc2Myd0x4dk95cFJOc0gKT1V3V2pmN2xzWWZleEVlcWkzY29EeHc2alpLVWEyVkdsUnBpTkowMjhBQitYSi9TU1FVNVBsd0JBbU9TT3ovRApGY0NKdGpPZlBqU1NKckFIQVV3SHU3RzlSV05JTFBwYU9zQ1J5eitETE5zNGpvNlEvUUg4d1lManJRSURBUUFCCm80SUNtakNDQXBZd0N3WURWUjBQQkFRREFnU3dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUYKQlFjREFUQWRCZ05WSFE0RUZnUVVlbEdkVVJrZzJoSFFOWEQ4WUc4L3drdjJVT0F3SHdZRFZSMGpCQmd3Rm9BVQplbnVNd2Mvbm9Nb2MxR3Y2KytFend3OGFvcDB3Z2F3R0ExVWRId1NCcERDQm9UQ0JucUNCbTZDQm1JWkxhSFIwCmNEb3ZMMjF6WTNKc0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjAKSlRJd1NWUWxNakJVVEZNbE1qQkRRU1V5TURRdVkzSnNoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1agpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjBKVEl3U1ZRbE1qQlVURk1sTWpCRFFTVXlNRFF1ClkzSnNNSUdGQmdnckJnRUZCUWNCQVFSNU1IY3dVUVlJS3dZQkJRVUhNQUtHUldoMGRIQTZMeTkzZDNjdWJXbGoKY205emIyWjBMbU52YlM5d2Eya3ZiWE5qYjNKd0wwMXBZM0p2YzI5bWRDVXlNRWxVSlRJd1ZFeFRKVEl3UTBFbApNakEwTG1OeWREQWlCZ2dyQmdFRkJRY3dBWVlXYUhSMGNEb3ZMMjlqYzNBdWJYTnZZM053TG1OdmJUQStCZ2tyCkJnRUVBWUkzRlFjRU1UQXZCaWNyQmdFRUFZSTNGUWlIMm9aMWcrN1pBWUxKaFJ1QnRaNWhoZlRyWUlGZGhOTGYKUW9Mbmszb0NBV1FDQVIwd1RRWURWUjBnQkVZd1JEQkNCZ2tyQmdFRUFZSTNLZ0V3TlRBekJnZ3JCZ0VGQlFjQwpBUlluYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVM5dGMyTnZjbkF2WTNCek1DY0dDU3NHCkFRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd09RWURWUjBSQkRJd01JSXUKYzJWeWRtbGpaV05zYVdWdWRHTmxjblF0Y0dGeWRHNWxjaTV0WVc1aFoyVnRaVzUwTG1GNmRYSmxMbU52YlRBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFIVXIzbk1vdUI5WWdDUlRWYndUTllIS2RkWGJkSW1GUXNDYys4T1g1CjE5c0N6dFFSR05iSXEwVW1Ba01MbFVvWTIxckh4ZXdxU2hWczFhL2RwaFh5Tk1pcUdaU2QzU1BtYzZscitqUFQKNXVEREs0MUlWeXN0K2VUNlpyazFvcCtMVmdkeS9EU2lyNzVqcWZFY016bS82bU8rNnFNeWRLTWtVYmM5K3JHVwphUkpUcjRWUUdIRmEwNEIwZVZpNUd4MG9pL2RpZDNSaXg2aXJMMjFJSGEwYjN6c1hzZHpHU0R2K3hqL2Q2S0l4Ckdrd2FhYmZvU1NoQnFqaFNlQ0VyZXFlb1RpYjljdGw0MGRVdUp3THl4bjhHS2N6K3AvMEJUOEIxU3lYK01OQ2wKY0pkMjVtMjhLajY2TGUxOEVyeFlJYXZJVGVGa3Y2eGZjdkEvcHladDdPaU41QTlGQk1IUmpQK1kyZ2tvdjMrcQpISFRUZG4xNnlRajduNit3YlFHNGVleXc0YisyQkRLcUxNVFU2ZmlSQ3ZPM2FPZVBLSFVNN3R4b1FidWl6Z3NzCkNiMzl3QnJOTEZsMkJLQ1RkSCtkSU9oZVJiSkZvbmlwOGRPOUVFZWdSSG9lQW54ZUlYTFBrdXMzTzEvZjRhNkIKWHQ3RG5BUm8xSzJmeEp3VXRaU2MvR3dFSjU5NzlnRXlEa3pDZEVsLzdpWE9QZXVjTXhlM2xVM2pweUtsNERUaApjSkJqQytqNGpLWTFrK1U4b040aGdqYnJISUx6Vnd2eU15OU5KS290U3BMSjQxeHdPOHlGangxalFTT3Bxc0N1ClFhUFUvTjhSZ0hxWjBGTkFzS3dNUmZ6WmdXanRCNzRzYUVEdk5jVmNuNFhCQnFNSG0ydHo2Uzk3d3kxZGt0cTgKSE5BPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
+ }
+ ]
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/tokens/myToken",
+ "name": "myToken",
+ "type": "Microsoft.ContainerRegistry/registries/tokens",
+ "properties": {
+ "creationDate": "2017-03-01T23:14:37.0707808Z",
+ "scopeMapId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/scopeMaps/myNewScopeMap",
+ "provisioningState": "Succeeded",
+ "status": "enabled",
+ "credentials": {
+ "certificates": [
+ {
+ "name": "certificate1",
+ "encodedPemCertificate": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUc3akNDQk5hZ0F3SUJBZ0lURmdBQlR3UVpyZGdmdmhxdzBnQUFBQUZQQkRBTkJna3Foa2lHOXcwQkFRc0YKQURDQml6RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2xkaGMyaHBibWQwYjI0eEVEQU9CZ05WQkFjVApCMUpsWkcxdmJtUXhIakFjQmdOVkJBb1RGVTFwWTNKdmMyOW1kQ0JEYjNKd2IzSmhkR2x2YmpFVk1CTUdBMVVFCkN4TU1UV2xqY205emIyWjBJRWxVTVI0d0hBWURWUVFERXhWTmFXTnliM052Wm5RZ1NWUWdWRXhUSUVOQklEUXcKSGhjTk1UZ3dOREV5TWpJek1qUTRXaGNOTWpBd05ERXlNakl6TWpRNFdqQTVNVGN3TlFZRFZRUURFeTV6WlhKMgphV05sWTJ4cFpXNTBZMlZ5ZEMxd1lYSjBibVZ5TG0xaGJtRm5aVzFsYm5RdVlYcDFjbVV1WTI5dE1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSYjdJcHpxMmR4emhhbVpyS1ZDakMzeTQyYlYKUnNIY2pCUTFuSDBHZ1puUDhXeDZDSE1mWThybkVJQzRLeVRRYkJXVzhnNXlmc3NSQ0ZXbFpxYjR6SkRXS0pmTgpGSmNMUm9LNnhwTktZYVZVTkVlT25IdUxHYTM0ZlA0VjBFRjZybzdvbkRLME5zanhjY1dZVzRNVXVzc0xrQS94CkUrM2RwU1REdk1KcjJoWUpsVnFDcVR6blQvbmZaVUZzQUVEQnp5MUpOOHZiZDlIR2czc2Myd0x4dk95cFJOc0gKT1V3V2pmN2xzWWZleEVlcWkzY29EeHc2alpLVWEyVkdsUnBpTkowMjhBQitYSi9TU1FVNVBsd0JBbU9TT3ovRApGY0NKdGpPZlBqU1NKckFIQVV3SHU3RzlSV05JTFBwYU9zQ1J5eitETE5zNGpvNlEvUUg4d1lManJRSURBUUFCCm80SUNtakNDQXBZd0N3WURWUjBQQkFRREFnU3dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01DQmdnckJnRUYKQlFjREFUQWRCZ05WSFE0RUZnUVVlbEdkVVJrZzJoSFFOWEQ4WUc4L3drdjJVT0F3SHdZRFZSMGpCQmd3Rm9BVQplbnVNd2Mvbm9Nb2MxR3Y2KytFend3OGFvcDB3Z2F3R0ExVWRId1NCcERDQm9UQ0JucUNCbTZDQm1JWkxhSFIwCmNEb3ZMMjF6WTNKc0xtMXBZM0p2YzI5bWRDNWpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjAKSlRJd1NWUWxNakJVVEZNbE1qQkRRU1V5TURRdVkzSnNoa2xvZEhSd09pOHZZM0pzTG0xcFkzSnZjMjltZEM1agpiMjB2Y0d0cEwyMXpZMjl5Y0M5amNtd3ZUV2xqY205emIyWjBKVEl3U1ZRbE1qQlVURk1sTWpCRFFTVXlNRFF1ClkzSnNNSUdGQmdnckJnRUZCUWNCQVFSNU1IY3dVUVlJS3dZQkJRVUhNQUtHUldoMGRIQTZMeTkzZDNjdWJXbGoKY205emIyWjBMbU52YlM5d2Eya3ZiWE5qYjNKd0wwMXBZM0p2YzI5bWRDVXlNRWxVSlRJd1ZFeFRKVEl3UTBFbApNakEwTG1OeWREQWlCZ2dyQmdFRkJRY3dBWVlXYUhSMGNEb3ZMMjlqYzNBdWJYTnZZM053TG1OdmJUQStCZ2tyCkJnRUVBWUkzRlFjRU1UQXZCaWNyQmdFRUFZSTNGUWlIMm9aMWcrN1pBWUxKaFJ1QnRaNWhoZlRyWUlGZGhOTGYKUW9Mbmszb0NBV1FDQVIwd1RRWURWUjBnQkVZd1JEQkNCZ2tyQmdFRUFZSTNLZ0V3TlRBekJnZ3JCZ0VGQlFjQwpBUlluYUhSMGNEb3ZMM2QzZHk1dGFXTnliM052Wm5RdVkyOXRMM0JyYVM5dGMyTnZjbkF2WTNCek1DY0dDU3NHCkFRUUJnamNWQ2dRYU1CZ3dDZ1lJS3dZQkJRVUhBd0l3Q2dZSUt3WUJCUVVIQXdFd09RWURWUjBSQkRJd01JSXUKYzJWeWRtbGpaV05zYVdWdWRHTmxjblF0Y0dGeWRHNWxjaTV0WVc1aFoyVnRaVzUwTG1GNmRYSmxMbU52YlRBTgpCZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFIVXIzbk1vdUI5WWdDUlRWYndUTllIS2RkWGJkSW1GUXNDYys4T1g1CjE5c0N6dFFSR05iSXEwVW1Ba01MbFVvWTIxckh4ZXdxU2hWczFhL2RwaFh5Tk1pcUdaU2QzU1BtYzZscitqUFQKNXVEREs0MUlWeXN0K2VUNlpyazFvcCtMVmdkeS9EU2lyNzVqcWZFY016bS82bU8rNnFNeWRLTWtVYmM5K3JHVwphUkpUcjRWUUdIRmEwNEIwZVZpNUd4MG9pL2RpZDNSaXg2aXJMMjFJSGEwYjN6c1hzZHpHU0R2K3hqL2Q2S0l4Ckdrd2FhYmZvU1NoQnFqaFNlQ0VyZXFlb1RpYjljdGw0MGRVdUp3THl4bjhHS2N6K3AvMEJUOEIxU3lYK01OQ2wKY0pkMjVtMjhLajY2TGUxOEVyeFlJYXZJVGVGa3Y2eGZjdkEvcHladDdPaU41QTlGQk1IUmpQK1kyZ2tvdjMrcQpISFRUZG4xNnlRajduNit3YlFHNGVleXc0YisyQkRLcUxNVFU2ZmlSQ3ZPM2FPZVBLSFVNN3R4b1FidWl6Z3NzCkNiMzl3QnJOTEZsMkJLQ1RkSCtkSU9oZVJiSkZvbmlwOGRPOUVFZWdSSG9lQW54ZUlYTFBrdXMzTzEvZjRhNkIKWHQ3RG5BUm8xSzJmeEp3VXRaU2MvR3dFSjU5NzlnRXlEa3pDZEVsLzdpWE9QZXVjTXhlM2xVM2pweUtsNERUaApjSkJqQytqNGpLWTFrK1U4b040aGdqYnJISUx6Vnd2eU15OU5KS290U3BMSjQxeHdPOHlGangxalFTT3Bxc0N1ClFhUFUvTjhSZ0hxWjBGTkFzS3dNUmZ6WmdXanRCNzRzYUVEdk5jVmNuNFhCQnFNSG0ydHo2Uzk3d3kxZGt0cTgKSE5BPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg=="
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookCreate.json
new file mode 100644
index 000000000000..bac16e0db045
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookCreate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook",
+ "webhookCreateParameters": {
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "serviceUri": "http://myservice.com",
+ "customHeaders": {
+ "Authorization": "Basic 000000000000000000000000000000000000000000000000000"
+ },
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookDelete.json
new file mode 100644
index 000000000000..2d7fdca93398
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookGet.json
new file mode 100644
index 000000000000..8d69c52bb7b2
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookGetCallbackConfig.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookGetCallbackConfig.json
new file mode 100644
index 000000000000..a7a034e61b70
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookGetCallbackConfig.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "serviceUri": "http://myservice.com",
+ "customHeaders": {
+ "Authorization": "Basic 000000000000000000000000000000000000000000000000000"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookList.json
new file mode 100644
index 000000000000..d4a1027aa835
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookListEvents.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookListEvents.json
new file mode 100644
index 000000000000..29f969a2e157
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookListEvents.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "eventRequestMessage": {
+ "content": {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "timestamp": "2017-03-01T23:14:37.0707808Z",
+ "action": "push",
+ "target": {
+ "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
+ "size": 708,
+ "digest": "sha256:fea8895f450959fa676bcc1df0611ea93823a735a01205fd8622846041d0c7cf",
+ "length": 708,
+ "repository": "hello-world",
+ "url": "http://192.168.100.227:5000/v2/hello-world/manifests/sha256:fea8895f450959fa676bcc1df0611ea93823a735a01205fd8622846041d0c7cf",
+ "tag": "latest"
+ },
+ "request": {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "addr": "192.168.64.11:42961",
+ "host": "192.168.100.227:5000",
+ "method": "GET",
+ "useragent": "curl/7.38.0"
+ },
+ "actor": {},
+ "source": {
+ "addr": "xtal.local:5000",
+ "instanceID": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ "headers": {
+ "Content-Type": "application/json",
+ "Content-Length": "719",
+ "Authorization": "******"
+ },
+ "method": "POST",
+ "requestUri": "http://myservice.com",
+ "version": "1.1"
+ },
+ "eventResponseMessage": {
+ "headers": {
+ "Content-Length": "0"
+ },
+ "statusCode": "200",
+ "version": "1.1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookPing.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookPing.json
new file mode 100644
index 000000000000..4cce1545859f
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookPing.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookUpdate.json
new file mode 100644
index 000000000000..6962181c8516
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/2021-08-01-preview/examples/WebhookUpdate.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2021-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook",
+ "webhookUpdateParameters": {
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "serviceUri": "http://myservice.com",
+ "customHeaders": {
+ "Authorization": "Basic 000000000000000000000000000000000000000000000000000"
+ },
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Updating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json
new file mode 100644
index 000000000000..a7f4cdb10df3
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json
@@ -0,0 +1,3365 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-09-01",
+ "title": "ContainerRegistryManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/importImage": {
+ "post": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Copies an image to this container registry from the specified container registry.",
+ "operationId": "Registries_ImportImage",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The parameters specifying the image to copy and the source container registry.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImportImageParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the operation has completed successfully."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "ImportImageByTag": {
+ "$ref": "./examples/ImportImageByTag.json"
+ },
+ "ImportImageByManifestDigest": {
+ "$ref": "./examples/ImportImageByManifestDigest.json"
+ },
+ "ImportImageFromPublicRegistry": {
+ "$ref": "./examples/ImportImageFromPublicRegistry.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/providers/Microsoft.ContainerRegistry/operations": {
+ "get": {
+ "tags": [
+ "Operation"
+ ],
+ "description": "Lists all of the available Azure Container Registry REST API operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OperationList": {
+ "$ref": "./examples/OperationList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Operation"
+ ],
+ "description": "Checks whether the container registry name is available for use. The name must contain only alphanumeric characters, be globally unique, and between 5 and 50 characters in length.",
+ "operationId": "Registries_CheckNameAvailability",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "registryNameCheckRequest",
+ "in": "body",
+ "description": "The object containing information for the availability request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegistryNameCheckRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/RegistryNameStatus"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryCheckNameAvailable": {
+ "$ref": "./examples/RegistryCheckNameAvailable.json"
+ },
+ "RegistryCheckNameNotAvailable": {
+ "$ref": "./examples/RegistryCheckNameNotAvailable.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "List all private endpoint connections in a container registry.",
+ "operationId": "PrivateEndpointConnections_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnectionList": {
+ "$ref": "./examples/PrivateEndpointConnectionList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Get the specified private endpoint connection associated with the container registry.",
+ "operationId": "PrivateEndpointConnections_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnectionGet": {
+ "$ref": "./examples/PrivateEndpointConnectionGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Update the state of specified private endpoint connection associated with the container registry.",
+ "operationId": "PrivateEndpointConnections_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "name": "privateEndpointConnection",
+ "in": "body",
+ "description": "The parameters for creating a private endpoint connection.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnectionCreateOrUpdate": {
+ "$ref": "./examples/PrivateEndpointConnectionCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Deletes the specified private endpoint connection associated with the container registry.",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The private endpoint connection does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnectionDelete": {
+ "$ref": "./examples/PrivateEndpointConnectionDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/registries": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Lists all the container registries under the specified subscription.",
+ "operationId": "Registries_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/RegistryListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryList": {
+ "$ref": "./examples/RegistryList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Lists all the container registries under the specified resource group.",
+ "operationId": "Registries_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/RegistryListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryListByResourceGroup": {
+ "$ref": "./examples/RegistryListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Gets the properties of the specified container registry.",
+ "operationId": "Registries_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryGet": {
+ "$ref": "./examples/RegistryGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Creates a container registry with the specified parameters.",
+ "operationId": "Registries_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "name": "registry",
+ "in": "body",
+ "description": "The parameters for creating a container registry.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryCreate": {
+ "$ref": "./examples/RegistryCreate.json"
+ },
+ "RegistryCreateZoneRedundant": {
+ "$ref": "./examples/RegistryCreateZoneRedundant.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Deletes a container registry.",
+ "operationId": "Registries_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The container registry does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "RegistryDelete": {
+ "$ref": "./examples/RegistryDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Updates a container registry with the specified parameters.",
+ "operationId": "Registries_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "name": "registryUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a container registry.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegistryUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Registry"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryUpdate": {
+ "$ref": "./examples/RegistryUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listUsages": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Gets the quota usages for the specified container registry.",
+ "operationId": "Registries_ListUsages",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the registry usages retrieved and returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/RegistryUsageListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryListUsages": {
+ "$ref": "./examples/RegistryListUsages.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Lists the private link resources for a container registry.",
+ "operationId": "Registries_ListPrivateLinkResources",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the private link resources were retrieved and returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryListPrivateLinkResources": {
+ "$ref": "./examples/RegistryListPrivateLinkResources.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/privateLinkResources/{groupName}": {
+ "get": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Gets a private link resource by a specified group name for a container registry.",
+ "operationId": "Registries_GetPrivateLinkResource",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/GroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the private link resource was retrieved and returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource does not exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryGetPrivateLinkResource": {
+ "$ref": "./examples/RegistryGetPrivateLinkResource.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/listCredentials": {
+ "post": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Lists the login credentials for the specified container registry.",
+ "operationId": "Registries_ListCredentials",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the list of credentials retrieved and returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/RegistryListCredentialsResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryListCredentials": {
+ "$ref": "./examples/RegistryListCredentials.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/regenerateCredential": {
+ "post": {
+ "tags": [
+ "Registries"
+ ],
+ "description": "Regenerates one of the login credentials for the specified container registry.",
+ "operationId": "Registries_RegenerateCredential",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "name": "regenerateCredentialParameters",
+ "in": "body",
+ "description": "Specifies name of the password which should be regenerated -- password or password2.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateCredentialParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the specified credential regenerated successfully.",
+ "schema": {
+ "$ref": "#/definitions/RegistryListCredentialsResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RegistryRegenerateCredential": {
+ "$ref": "./examples/RegistryRegenerateCredential.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications": {
+ "get": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Lists all the replications for the specified container registry.",
+ "operationId": "Replications_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ReplicationListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationList": {
+ "$ref": "./examples/ReplicationList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/replications/{replicationName}": {
+ "get": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Gets the properties of the specified replication.",
+ "operationId": "Replications_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ReplicationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationGet": {
+ "$ref": "./examples/ReplicationGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Creates a replication for a container registry with the specified parameters.",
+ "operationId": "Replications_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ReplicationNameParameter"
+ },
+ {
+ "name": "replication",
+ "in": "body",
+ "description": "The parameters for creating a replication.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationCreate": {
+ "$ref": "./examples/ReplicationCreate.json"
+ },
+ "ReplicationCreateZoneRedundant": {
+ "$ref": "./examples/ReplicationCreateZoneRedundant.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Deletes a replication from a container registry.",
+ "operationId": "Replications_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ReplicationNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The replication does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationDelete": {
+ "$ref": "./examples/ReplicationDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Replications"
+ ],
+ "description": "Updates a replication for a container registry with the specified parameters.",
+ "operationId": "Replications_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ReplicationNameParameter"
+ },
+ {
+ "name": "replicationUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a replication.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReplicationUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Replication"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ReplicationUpdate": {
+ "$ref": "./examples/ReplicationUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks": {
+ "get": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Lists all the webhooks for the specified container registry.",
+ "operationId": "Webhooks_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/WebhookListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookList": {
+ "$ref": "./examples/WebhookList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}": {
+ "get": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Gets the properties of the specified webhook.",
+ "operationId": "Webhooks_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookGet": {
+ "$ref": "./examples/WebhookGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Creates a webhook for a container registry with the specified parameters.",
+ "operationId": "Webhooks_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ },
+ {
+ "name": "webhookCreateParameters",
+ "in": "body",
+ "description": "The parameters for creating a webhook.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/WebhookCreateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookCreate": {
+ "$ref": "./examples/WebhookCreate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Deletes a webhook from a container registry.",
+ "operationId": "Webhooks_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The webhook does not exist in the subscription."
+ }
+ },
+ "x-ms-examples": {
+ "WebhookDelete": {
+ "$ref": "./examples/WebhookDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Updates a webhook with the specified parameters.",
+ "operationId": "Webhooks_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ },
+ {
+ "name": "webhookUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a webhook.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/WebhookUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ },
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Webhook"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookUpdate": {
+ "$ref": "./examples/WebhookUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/ping": {
+ "post": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Triggers a ping event to be sent to the webhook.",
+ "operationId": "Webhooks_Ping",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/EventInfo"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookPing": {
+ "$ref": "./examples/WebhookPing.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/listEvents": {
+ "post": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Lists recent events for the specified webhook.",
+ "operationId": "Webhooks_ListEvents",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/EventListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookListEvents": {
+ "$ref": "./examples/WebhookListEvents.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/webhooks/{webhookName}/getCallbackConfig": {
+ "post": {
+ "tags": [
+ "Webhooks"
+ ],
+ "description": "Gets the configuration of service URI and custom headers for the webhook.",
+ "operationId": "Webhooks_GetCallbackConfig",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/RegistryNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WebhookNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/CallbackConfig"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WebhookGetCallbackConfig": {
+ "$ref": "./examples/WebhookGetCallbackConfig.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ImportImageParameters": {
+ "required": [
+ "source"
+ ],
+ "type": "object",
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/ImportSource",
+ "description": "The source of the image."
+ },
+ "targetTags": {
+ "description": "List of strings of the form repo[:tag]. When tag is omitted the source will be used (or 'latest' if source tag is also omitted).",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "untaggedTargetRepositories": {
+ "description": "List of strings of repository names to do a manifest only copy. No tag will be created.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "mode": {
+ "description": "When Force, any existing target tags will be overwritten. When NoForce, any existing target tags will fail the operation before any copying begins.",
+ "default": "NoForce",
+ "enum": [
+ "NoForce",
+ "Force"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ImportMode",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ImportSource": {
+ "required": [
+ "sourceImage"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The resource identifier of the source Azure Container Registry.",
+ "type": "string"
+ },
+ "registryUri": {
+ "description": "The address of the source registry (e.g. 'mcr.microsoft.com').",
+ "type": "string"
+ },
+ "credentials": {
+ "$ref": "#/definitions/ImportSourceCredentials",
+ "description": "Credentials used when importing from a registry uri."
+ },
+ "sourceImage": {
+ "description": "Repository name of the source image.\r\nSpecify an image by repository ('hello-world'). This will use the 'latest' tag.\r\nSpecify an image by tag ('hello-world:latest').\r\nSpecify an image by sha256-based manifest digest ('hello-world@sha256:abc123').",
+ "type": "string"
+ }
+ }
+ },
+ "ImportSourceCredentials": {
+ "required": [
+ "password"
+ ],
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "The username to authenticate with the source registry.",
+ "type": "string"
+ },
+ "password": {
+ "description": "The password used to authenticate with the source registry.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "The result of a request to list container registry operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of container registry operations. Since this list may be incomplete, the nextLink field should be used to request the next list of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationDefinition"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of container registry operations.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDefinition": {
+ "description": "The definition of a container registry operation.",
+ "type": "object",
+ "properties": {
+ "origin": {
+ "description": "The origin information of the container registry operation.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplayDefinition",
+ "description": "The display information for the container registry operation."
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationPropertiesDefinition",
+ "description": "The properties information for the container registry operation.",
+ "x-ms-client-flatten": true
+ },
+ "isDataAction": {
+ "description": "This property indicates if the operation is an action or a data action\r\nref: https://docs.microsoft.com/en-us/azure/role-based-access-control/role-definitions#management-and-data-operations",
+ "type": "boolean"
+ }
+ }
+ },
+ "OperationDisplayDefinition": {
+ "description": "The display information for a container registry operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The resource provider name: Microsoft.ContainerRegistry.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "The resource on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The operation that users can perform.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description for the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationPropertiesDefinition": {
+ "description": "The definition of Azure Monitoring properties.",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/OperationServiceSpecificationDefinition",
+ "description": "The definition of Azure Monitoring service."
+ }
+ }
+ },
+ "OperationServiceSpecificationDefinition": {
+ "description": "The definition of Azure Monitoring list.",
+ "type": "object",
+ "properties": {
+ "metricSpecifications": {
+ "description": "A list of Azure Monitoring metrics definition.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationMetricSpecificationDefinition"
+ }
+ },
+ "logSpecifications": {
+ "description": "A list of Azure Monitoring log definitions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationLogSpecificationDefinition"
+ }
+ }
+ }
+ },
+ "OperationMetricSpecificationDefinition": {
+ "description": "The definition of Azure Monitoring metric.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Metric name.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Metric display name.",
+ "type": "string"
+ },
+ "displayDescription": {
+ "description": "Metric description.",
+ "type": "string"
+ },
+ "unit": {
+ "description": "Metric unit.",
+ "type": "string"
+ },
+ "aggregationType": {
+ "description": "Metric aggregation type.",
+ "type": "string"
+ },
+ "internalMetricName": {
+ "description": "Internal metric name.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationLogSpecificationDefinition": {
+ "description": "The definition of Azure Monitoring log.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Log name.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Log display name.",
+ "type": "string"
+ },
+ "blobDuration": {
+ "description": "Log blob duration.",
+ "type": "string"
+ }
+ }
+ },
+ "RegistryNameCheckRequest": {
+ "description": "A request to check whether a container registry name is available.",
+ "required": [
+ "name",
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the container registry.",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "type": "string"
+ },
+ "type": {
+ "description": "The resource type of the container registry. This field must be set to 'Microsoft.ContainerRegistry/registries'.",
+ "enum": [
+ "Microsoft.ContainerRegistry/registries"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerRegistryResourceType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "RegistryNameStatus": {
+ "description": "The result of a request to check the availability of a container registry name.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "The value that indicates whether the name is available.",
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "If any, the reason that the name is not available.",
+ "type": "string"
+ },
+ "message": {
+ "description": "If any, the error message that provides more detail for the reason that the name is not available.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateEndpointConnectionListResult": {
+ "description": "The result of a request to list private endpoint connections for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of private endpoint connections. Since this list may be incomplete, the nextLink field should be used to request the next list of private endpoint connections.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of private endpoint connections.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "An object that represents a private endpoint connection for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "The properties of a private endpoint connection.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "SystemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "properties": {
+ "createdBy": {
+ "description": "The identity that created the resource.",
+ "type": "string"
+ },
+ "createdByType": {
+ "description": "The type of identity that created the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "createdAt": {
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC).",
+ "type": "string"
+ },
+ "lastModifiedBy": {
+ "description": "The identity that last modified the resource.",
+ "type": "string"
+ },
+ "lastModifiedByType": {
+ "description": "The type of identity that last modified the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "lastModifiedByType",
+ "modelAsString": true
+ }
+ },
+ "lastModifiedAt": {
+ "format": "date-time",
+ "description": "The timestamp of resource modification (UTC).",
+ "type": "string"
+ }
+ },
+ "readOnly": true
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "The properties of a private endpoint connection.",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The resource of private endpoint."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ },
+ "provisioningState": {
+ "description": "The provisioning state of private endpoint connection resource.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PrivateEndpoint": {
+ "description": "The Private Endpoint resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "This is private endpoint resource created with Microsoft.Network resource provider.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The state of a private link service connection.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The private link service connection status.",
+ "enum": [
+ "Approved",
+ "Pending",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "description": "The description for connection status. For example if connection is rejected it can indicate reason for rejection.",
+ "type": "string"
+ },
+ "actionsRequired": {
+ "description": "A message indicating if changes on the service provider require any updates on the consumer.",
+ "enum": [
+ "None",
+ "Recreate"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ActionsRequired",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RegistryListResult": {
+ "description": "The result of a request to list container registries.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of container registries. Since this list may be incomplete, the nextLink field should be used to request the next list of container registries.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Registry"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of container registries.",
+ "type": "string"
+ }
+ }
+ },
+ "Registry": {
+ "description": "An object that represents a container registry.",
+ "required": [
+ "sku"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU of the container registry."
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityProperties",
+ "description": "The identity of the container registry."
+ },
+ "properties": {
+ "$ref": "#/definitions/RegistryProperties",
+ "description": "The properties of the container registry.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "Sku": {
+ "description": "The SKU of a container registry.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The SKU name of the container registry. Required for registry creation.",
+ "enum": [
+ "Classic",
+ "Basic",
+ "Standard",
+ "Premium"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "description": "The SKU tier based on the SKU name.",
+ "enum": [
+ "Classic",
+ "Basic",
+ "Standard",
+ "Premium"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "IdentityProperties": {
+ "description": "Managed identity for the resource.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The principal ID of resource identity.",
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "The tenant ID of resource.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The identity type.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "description": "The list of user identities associated with the resource. The user identity \r\ndictionary key references will be ARM resource ids in the form: \r\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/\r\n providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserIdentityProperties"
+ }
+ }
+ }
+ },
+ "RegistryProperties": {
+ "description": "The properties of a container registry.",
+ "type": "object",
+ "properties": {
+ "loginServer": {
+ "description": "The URL that can be used to log into the container registry.",
+ "type": "string",
+ "readOnly": true
+ },
+ "creationDate": {
+ "format": "date-time",
+ "description": "The creation date of the container registry in ISO8601 format.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the container registry at the time the operation was called.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "$ref": "#/definitions/Status",
+ "description": "The status of the container registry at the time the operation was called.",
+ "readOnly": true
+ },
+ "adminUserEnabled": {
+ "description": "The value that indicates whether the admin user is enabled.",
+ "default": false,
+ "type": "boolean"
+ },
+ "networkRuleSet": {
+ "$ref": "#/definitions/NetworkRuleSet",
+ "description": "The network rule set for a container registry."
+ },
+ "policies": {
+ "$ref": "#/definitions/Policies",
+ "description": "The policies for a container registry."
+ },
+ "encryption": {
+ "$ref": "#/definitions/EncryptionProperty",
+ "description": "The encryption settings of container registry."
+ },
+ "dataEndpointEnabled": {
+ "description": "Enable a single data endpoint per region for serving data.",
+ "type": "boolean"
+ },
+ "dataEndpointHostNames": {
+ "description": "List of host names that will serve data when dataEndpointEnabled is true.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "privateEndpointConnections": {
+ "description": "List of private endpoint connections for a container registry.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "readOnly": true
+ },
+ "publicNetworkAccess": {
+ "description": "Whether or not public network access is allowed for the container registry.",
+ "default": "Enabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ }
+ },
+ "networkRuleBypassOptions": {
+ "description": "Whether to allow trusted Azure services to access a network restricted registry.",
+ "default": "AzureServices",
+ "enum": [
+ "AzureServices",
+ "None"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NetworkRuleBypassOptions",
+ "modelAsString": true
+ }
+ },
+ "zoneRedundancy": {
+ "description": "Whether or not zone redundancy is enabled for this container registry",
+ "default": "Disabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ZoneRedundancy",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "UserIdentityProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The principal id of user assigned identity.",
+ "type": "string"
+ },
+ "clientId": {
+ "description": "The client id of user assigned identity.",
+ "type": "string"
+ }
+ }
+ },
+ "Resource": {
+ "description": "An Azure resource.",
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "id": {
+ "description": "The resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "The location of the resource. This cannot be changed after the resource is created.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "The tags of the resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "Status": {
+ "description": "The status of an Azure resource at the time the operation was called.",
+ "type": "object",
+ "properties": {
+ "displayStatus": {
+ "description": "The short label for the status.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The detailed message for the status, including alerts and error messages.",
+ "type": "string",
+ "readOnly": true
+ },
+ "timestamp": {
+ "format": "date-time",
+ "description": "The timestamp when the status was changed to the current value.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccountProperties": {
+ "description": "The properties of a storage account for a container registry. Only applicable to Classic SKU.",
+ "required": [
+ "id"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The resource ID of the storage account.",
+ "type": "string"
+ }
+ }
+ },
+ "NetworkRuleSet": {
+ "description": "The network rule set for a container registry.",
+ "required": [
+ "defaultAction"
+ ],
+ "type": "object",
+ "properties": {
+ "defaultAction": {
+ "description": "The default action of allow or deny when no other rules match.",
+ "default": "Allow",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DefaultAction",
+ "modelAsString": true
+ }
+ },
+ "ipRules": {
+ "description": "The IP ACL rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IPRule"
+ }
+ }
+ }
+ },
+ "Policies": {
+ "description": "The policies for a container registry.",
+ "type": "object",
+ "properties": {
+ "quarantinePolicy": {
+ "$ref": "#/definitions/QuarantinePolicy",
+ "description": "The quarantine policy for a container registry."
+ },
+ "trustPolicy": {
+ "$ref": "#/definitions/TrustPolicy",
+ "description": "The content trust policy for a container registry."
+ },
+ "retentionPolicy": {
+ "$ref": "#/definitions/RetentionPolicy",
+ "description": "The retention policy for a container registry."
+ },
+ "exportPolicy": {
+ "$ref": "#/definitions/ExportPolicy",
+ "description": "The export policy for a container registry."
+ }
+ }
+ },
+ "EncryptionProperty": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Indicates whether or not the encryption is enabled for container registry.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EncryptionStatus",
+ "modelAsString": true
+ }
+ },
+ "keyVaultProperties": {
+ "$ref": "#/definitions/KeyVaultProperties",
+ "description": "Key vault properties."
+ }
+ }
+ },
+ "PackageType": {
+ "description": "The properties of a package type.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the package type.",
+ "type": "string"
+ },
+ "endpoint": {
+ "description": "The endpoint of the package type.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ProxyResource": {
+ "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags.",
+ "properties": {
+ "id": {
+ "description": "The resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "IPRule": {
+ "description": "IP rule with specific IP or IP range in CIDR format.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "action": {
+ "description": "The action of IP ACL rule.",
+ "default": "Allow",
+ "enum": [
+ "Allow"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Action",
+ "modelAsString": true
+ }
+ },
+ "value": {
+ "description": "Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed.",
+ "type": "string",
+ "x-ms-client-name": "IPAddressOrRange"
+ }
+ }
+ },
+ "QuarantinePolicy": {
+ "description": "The quarantine policy for a container registry.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The value that indicates whether the policy is enabled or not.",
+ "default": "disabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PolicyStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "TrustPolicy": {
+ "description": "The content trust policy for a container registry.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of trust policy.",
+ "default": "Notary",
+ "enum": [
+ "Notary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TrustPolicyType",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "The value that indicates whether the policy is enabled or not.",
+ "default": "disabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PolicyStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RetentionPolicy": {
+ "description": "The retention policy for a container registry.",
+ "type": "object",
+ "properties": {
+ "days": {
+ "format": "int32",
+ "description": "The number of days to retain an untagged manifest after which it gets purged.",
+ "default": 7,
+ "type": "integer"
+ },
+ "lastUpdatedTime": {
+ "format": "date-time",
+ "description": "The timestamp when the policy was last updated.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The value that indicates whether the policy is enabled or not.",
+ "default": "disabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PolicyStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ExportPolicy": {
+ "description": "The export policy for a container registry.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The value that indicates whether the policy is enabled or not.",
+ "default": "enabled",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ExportPolicyStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "KeyVaultProperties": {
+ "type": "object",
+ "properties": {
+ "keyIdentifier": {
+ "description": "Key vault uri to access the encryption key.",
+ "type": "string"
+ },
+ "versionedKeyIdentifier": {
+ "description": "The fully qualified key identifier that includes the version of the key that is actually used for encryption.",
+ "type": "string",
+ "readOnly": true
+ },
+ "identity": {
+ "description": "The client id of the identity which will be used to access key vault.",
+ "type": "string"
+ },
+ "keyRotationEnabled": {
+ "description": "Auto key rotation status for a CMK enabled registry.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "lastKeyRotationTimestamp": {
+ "format": "date-time",
+ "description": "Timestamp of the last successful key rotation.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "RegistryUpdateParameters": {
+ "description": "The parameters for updating a container registry.",
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/IdentityProperties",
+ "description": "The identity of the container registry."
+ },
+ "tags": {
+ "description": "The tags for the container registry.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU of the container registry."
+ },
+ "properties": {
+ "$ref": "#/definitions/RegistryPropertiesUpdateParameters",
+ "description": "The properties that the container registry will be updated with.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "RegistryPropertiesUpdateParameters": {
+ "description": "The parameters for updating the properties of a container registry.",
+ "type": "object",
+ "properties": {
+ "adminUserEnabled": {
+ "description": "The value that indicates whether the admin user is enabled.",
+ "type": "boolean"
+ },
+ "networkRuleSet": {
+ "$ref": "#/definitions/NetworkRuleSet",
+ "description": "The network rule set for a container registry."
+ },
+ "policies": {
+ "$ref": "#/definitions/Policies",
+ "description": "The policies for a container registry."
+ },
+ "encryption": {
+ "$ref": "#/definitions/EncryptionProperty",
+ "description": "The encryption settings of container registry."
+ },
+ "dataEndpointEnabled": {
+ "description": "Enable a single data endpoint per region for serving data.",
+ "type": "boolean"
+ },
+ "publicNetworkAccess": {
+ "description": "Whether or not public network access is allowed for the container registry.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ }
+ },
+ "networkRuleBypassOptions": {
+ "description": "Whether to allow trusted Azure services to access a network restricted registry.",
+ "default": "AzureServices",
+ "enum": [
+ "AzureServices",
+ "None"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NetworkRuleBypassOptions",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RegistryUsageListResult": {
+ "description": "The result of a request to get container registry quota usages.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of container registry quota usages.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegistryUsage"
+ }
+ }
+ }
+ },
+ "RegistryUsage": {
+ "description": "The quota usage for a container registry.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the usage.",
+ "type": "string"
+ },
+ "limit": {
+ "format": "int64",
+ "description": "The limit of the usage.",
+ "type": "integer"
+ },
+ "currentValue": {
+ "format": "int64",
+ "description": "The current value of the usage.",
+ "type": "integer"
+ },
+ "unit": {
+ "description": "The unit of measurement.",
+ "enum": [
+ "Count",
+ "Bytes"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RegistryUsageUnit",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PrivateLinkResourceListResult": {
+ "description": "The result of a request to list private link resources for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of private link resources. Since this list may be incomplete, the nextLink field should be used to request the next list of private link resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of private link resources.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "A resource that supports private link capabilities.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The resource type is private link resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "The resource ID.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "A resource that supports private link capabilities.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PrivateLinkResourceProperties": {
+ "description": "The properties of a private link resource.",
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string"
+ },
+ "requiredMembers": {
+ "description": "The private link resource required member names.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "requiredZoneNames": {
+ "description": "The private link resource Private link DNS zone name.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "RegistryListCredentialsResult": {
+ "description": "The response from the ListCredentials operation.",
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "The username for a container registry.",
+ "type": "string"
+ },
+ "passwords": {
+ "description": "The list of passwords for a container registry.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RegistryPassword"
+ }
+ }
+ }
+ },
+ "RegistryPassword": {
+ "description": "The login password for the container registry.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The password name.",
+ "enum": [
+ "password",
+ "password2"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PasswordName",
+ "modelAsString": false
+ }
+ },
+ "value": {
+ "description": "The password value.",
+ "type": "string"
+ }
+ }
+ },
+ "RegenerateCredentialParameters": {
+ "description": "The parameters used to regenerate the login credential.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Specifies name of the password which should be regenerated -- password or password2.",
+ "enum": [
+ "password",
+ "password2"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PasswordName",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "ReplicationListResult": {
+ "description": "The result of a request to list replications for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of replications. Since this list may be incomplete, the nextLink field should be used to request the next list of replications.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Replication"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of replications.",
+ "type": "string"
+ }
+ }
+ },
+ "Replication": {
+ "description": "An object that represents a replication for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ReplicationProperties",
+ "description": "The properties of the replication.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ReplicationProperties": {
+ "description": "The properties of a replication.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "The provisioning state of the replication at the time the operation was called.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "$ref": "#/definitions/Status",
+ "description": "The status of the replication at the time the operation was called.",
+ "readOnly": true
+ },
+ "regionEndpointEnabled": {
+ "description": "Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications.",
+ "default": true,
+ "type": "boolean"
+ },
+ "zoneRedundancy": {
+ "description": "Whether or not zone redundancy is enabled for this container registry replication",
+ "default": "Disabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ZoneRedundancy",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ReplicationUpdateParameters": {
+ "description": "The parameters for updating a replication.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags for the replication.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "$ref": "#/definitions/ReplicationUpdateParametersProperties",
+ "description": "The parameters for updating a replication's properties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ReplicationUpdateParametersProperties": {
+ "type": "object",
+ "properties": {
+ "regionEndpointEnabled": {
+ "description": "Specifies whether the replication's regional endpoint is enabled. Requests will not be routed to a replication whose regional endpoint is disabled, however its data will continue to be synced with other replications.",
+ "type": "boolean"
+ }
+ }
+ },
+ "WebhookListResult": {
+ "description": "The result of a request to list webhooks for a container registry.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of webhooks. Since this list may be incomplete, the nextLink field should be used to request the next list of webhooks.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Webhook"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of webhooks.",
+ "type": "string"
+ }
+ }
+ },
+ "Webhook": {
+ "description": "An object that represents a webhook for a container registry.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/WebhookProperties",
+ "description": "The properties of the webhook.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "WebhookProperties": {
+ "description": "The properties of a webhook.",
+ "required": [
+ "actions"
+ ],
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The status of the webhook at the time the operation was called.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookStatus",
+ "modelAsString": true
+ }
+ },
+ "scope": {
+ "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.",
+ "type": "string"
+ },
+ "actions": {
+ "description": "The list of actions that trigger the webhook to post notifications.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "push",
+ "delete",
+ "quarantine",
+ "chart_push",
+ "chart_delete"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookAction",
+ "modelAsString": true
+ }
+ }
+ },
+ "provisioningState": {
+ "description": "The provisioning state of the webhook at the time the operation was called.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "WebhookCreateParameters": {
+ "description": "The parameters for creating a webhook.",
+ "required": [
+ "location"
+ ],
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags for the webhook.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "location": {
+ "description": "The location of the webhook. This cannot be changed after the resource is created.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/WebhookPropertiesCreateParameters",
+ "description": "The properties that the webhook will be created with.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "WebhookPropertiesCreateParameters": {
+ "description": "The parameters for creating the properties of a webhook.",
+ "required": [
+ "serviceUri",
+ "actions"
+ ],
+ "type": "object",
+ "properties": {
+ "serviceUri": {
+ "description": "The service URI for the webhook to post notifications.",
+ "type": "string",
+ "x-ms-secret": true
+ },
+ "customHeaders": {
+ "description": "Custom headers that will be added to the webhook notifications.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-secret": true
+ },
+ "status": {
+ "description": "The status of the webhook at the time the operation was called.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookStatus",
+ "modelAsString": true
+ }
+ },
+ "scope": {
+ "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.",
+ "type": "string"
+ },
+ "actions": {
+ "description": "The list of actions that trigger the webhook to post notifications.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "push",
+ "delete",
+ "quarantine",
+ "chart_push",
+ "chart_delete"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookAction",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "WebhookUpdateParameters": {
+ "description": "The parameters for updating a webhook.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags for the webhook.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "$ref": "#/definitions/WebhookPropertiesUpdateParameters",
+ "description": "The properties that the webhook will be updated with.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "WebhookPropertiesUpdateParameters": {
+ "description": "The parameters for updating the properties of a webhook.",
+ "type": "object",
+ "properties": {
+ "serviceUri": {
+ "description": "The service URI for the webhook to post notifications.",
+ "type": "string",
+ "x-ms-secret": true
+ },
+ "customHeaders": {
+ "description": "Custom headers that will be added to the webhook notifications.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-secret": true
+ },
+ "status": {
+ "description": "The status of the webhook at the time the operation was called.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookStatus",
+ "modelAsString": true
+ }
+ },
+ "scope": {
+ "description": "The scope of repositories where the event can be triggered. For example, 'foo:*' means events for all tags under repository 'foo'. 'foo:bar' means events for 'foo:bar' only. 'foo' is equivalent to 'foo:latest'. Empty means all events.",
+ "type": "string"
+ },
+ "actions": {
+ "description": "The list of actions that trigger the webhook to post notifications.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "push",
+ "delete",
+ "quarantine",
+ "chart_push",
+ "chart_delete"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "WebhookAction",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "EventInfo": {
+ "description": "The basic information of an event.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The event ID.",
+ "type": "string"
+ }
+ }
+ },
+ "EventListResult": {
+ "description": "The result of a request to list events for a webhook.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of events. Since this list may be incomplete, the nextLink field should be used to request the next list of events.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Event"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of events.",
+ "type": "string"
+ }
+ }
+ },
+ "Event": {
+ "description": "The event for a webhook.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventInfo"
+ }
+ ],
+ "properties": {
+ "eventRequestMessage": {
+ "$ref": "#/definitions/EventRequestMessage",
+ "description": "The event request message sent to the service URI."
+ },
+ "eventResponseMessage": {
+ "$ref": "#/definitions/EventResponseMessage",
+ "description": "The event response message received from the service URI."
+ }
+ }
+ },
+ "EventRequestMessage": {
+ "description": "The event request message sent to the service URI.",
+ "type": "object",
+ "properties": {
+ "content": {
+ "$ref": "#/definitions/EventContent",
+ "description": "The content of the event request message."
+ },
+ "headers": {
+ "description": "The headers of the event request message.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "method": {
+ "description": "The HTTP method used to send the event request message.",
+ "type": "string"
+ },
+ "requestUri": {
+ "description": "The URI used to send the event request message.",
+ "type": "string"
+ },
+ "version": {
+ "description": "The HTTP message version.",
+ "type": "string"
+ }
+ }
+ },
+ "EventResponseMessage": {
+ "description": "The event response message received from the service URI.",
+ "type": "object",
+ "properties": {
+ "content": {
+ "description": "The content of the event response message.",
+ "type": "string"
+ },
+ "headers": {
+ "description": "The headers of the event response message.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "reasonPhrase": {
+ "description": "The reason phrase of the event response message.",
+ "type": "string"
+ },
+ "statusCode": {
+ "description": "The status code of the event response message.",
+ "type": "string"
+ },
+ "version": {
+ "description": "The HTTP message version.",
+ "type": "string"
+ }
+ }
+ },
+ "EventContent": {
+ "description": "The content of the event request message.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The event ID.",
+ "type": "string"
+ },
+ "timestamp": {
+ "format": "date-time",
+ "description": "The time at which the event occurred.",
+ "type": "string"
+ },
+ "action": {
+ "description": "The action that encompasses the provided event.",
+ "type": "string"
+ },
+ "target": {
+ "$ref": "#/definitions/Target",
+ "description": "The target of the event."
+ },
+ "request": {
+ "$ref": "#/definitions/Request",
+ "description": "The request that generated the event."
+ },
+ "actor": {
+ "$ref": "#/definitions/Actor",
+ "description": "The agent that initiated the event. For most situations, this could be from the authorization context of the request."
+ },
+ "source": {
+ "$ref": "#/definitions/Source",
+ "description": "The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it."
+ }
+ }
+ },
+ "Target": {
+ "description": "The target of the event.",
+ "type": "object",
+ "properties": {
+ "mediaType": {
+ "description": "The MIME type of the referenced object.",
+ "type": "string"
+ },
+ "size": {
+ "format": "int64",
+ "description": "The number of bytes of the content. Same as Length field.",
+ "type": "integer"
+ },
+ "digest": {
+ "description": "The digest of the content, as defined by the Registry V2 HTTP API Specification.",
+ "type": "string"
+ },
+ "length": {
+ "format": "int64",
+ "description": "The number of bytes of the content. Same as Size field.",
+ "type": "integer"
+ },
+ "repository": {
+ "description": "The repository name.",
+ "type": "string"
+ },
+ "url": {
+ "description": "The direct URL to the content.",
+ "type": "string"
+ },
+ "tag": {
+ "description": "The tag name.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The name of the artifact.",
+ "type": "string"
+ },
+ "version": {
+ "description": "The version of the artifact.",
+ "type": "string"
+ }
+ }
+ },
+ "Request": {
+ "description": "The request that generated the event.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ID of the request that initiated the event.",
+ "type": "string"
+ },
+ "addr": {
+ "description": "The IP or hostname and possibly port of the client connection that initiated the event. This is the RemoteAddr from the standard http request.",
+ "type": "string"
+ },
+ "host": {
+ "description": "The externally accessible hostname of the registry instance, as specified by the http host header on incoming requests.",
+ "type": "string"
+ },
+ "method": {
+ "description": "The request method that generated the event.",
+ "type": "string"
+ },
+ "useragent": {
+ "description": "The user agent header of the request.",
+ "type": "string"
+ }
+ }
+ },
+ "Actor": {
+ "description": "The agent that initiated the event. For most situations, this could be from the authorization context of the request.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The subject or username associated with the request context that generated the event.",
+ "type": "string"
+ }
+ }
+ },
+ "Source": {
+ "description": "The registry node that generated the event. Put differently, while the actor initiates the event, the source generates it.",
+ "type": "object",
+ "properties": {
+ "addr": {
+ "description": "The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port.",
+ "type": "string"
+ },
+ "instanceID": {
+ "description": "The running instance of an application. Changes after each restart.",
+ "type": "string"
+ }
+ }
+ },
+ "CallbackConfig": {
+ "description": "The configuration of service URI and custom headers for the webhook.",
+ "required": [
+ "serviceUri"
+ ],
+ "type": "object",
+ "properties": {
+ "serviceUri": {
+ "description": "The service URI for the webhook to post notifications.",
+ "type": "string"
+ },
+ "customHeaders": {
+ "description": "Custom headers that will be added to the webhook notifications.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "An error response from the Azure Container Registry service.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorResponseBody",
+ "description": "Azure container registry build API error body."
+ }
+ }
+ },
+ "ErrorResponseBody": {
+ "description": "An error response from the Azure Container Registry service.",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "description": "error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "target of the particular error.",
+ "type": "string"
+ },
+ "details": {
+ "description": "an array of additional nested error response info objects, as described by this contract.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InnerErrorDescription"
+ }
+ }
+ }
+ },
+ "InnerErrorDescription": {
+ "description": "inner error.",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "description": "error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "target of the particular error.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Microsoft Azure subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The client API version.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group to which the container registry belongs.",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "x-ms-parameter-location": "method"
+ },
+ "RegistryNameParameter": {
+ "name": "registryName",
+ "in": "path",
+ "description": "The name of the container registry.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "WebhookNameParameter": {
+ "name": "webhookName",
+ "in": "path",
+ "description": "The name of the webhook.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "ReplicationNameParameter": {
+ "name": "replicationName",
+ "in": "path",
+ "description": "The name of the replication.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "PrivateEndpointConnectionNameParameter": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "GroupNameParameter": {
+ "name": "groupName",
+ "in": "path",
+ "description": "The name of the private link resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ImportImageByManifestDigest.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ImportImageByManifestDigest.json
new file mode 100644
index 000000000000..3bc61132b1b8
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ImportImageByManifestDigest.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "parameters": {
+ "source": {
+ "resourceId": "/subscriptions/10000000-0000-0000-0000-000000000000/resourceGroups/sourceResourceGroup/providers/Microsoft.ContainerRegistry/registries/sourceRegistry",
+ "sourceImage": "sourceRepository@sha256:0000000000000000000000000000000000000000000000000000000000000000"
+ },
+ "targetTags": [
+ "targetRepository:targetTag"
+ ],
+ "untaggedTargetRepositories": [
+ "targetRepository1"
+ ],
+ "mode": "Force"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ImportImageByTag.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ImportImageByTag.json
new file mode 100644
index 000000000000..0b148d11f839
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ImportImageByTag.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "parameters": {
+ "source": {
+ "resourceId": "/subscriptions/10000000-0000-0000-0000-000000000000/resourceGroups/sourceResourceGroup/providers/Microsoft.ContainerRegistry/registries/sourceRegistry",
+ "sourceImage": "sourceRepository:sourceTag"
+ },
+ "targetTags": [
+ "targetRepository:targetTag"
+ ],
+ "untaggedTargetRepositories": [
+ "targetRepository1"
+ ],
+ "mode": "Force"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ImportImageFromPublicRegistry.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ImportImageFromPublicRegistry.json
new file mode 100644
index 000000000000..46e1a3644319
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ImportImageFromPublicRegistry.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "parameters": {
+ "source": {
+ "registryUri": "registry.hub.docker.com",
+ "sourceImage": "library/hello-world"
+ },
+ "targetTags": [
+ "targetRepository:targetTag"
+ ],
+ "untaggedTargetRepositories": [
+ "targetRepository1"
+ ],
+ "mode": "Force"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/OperationList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/OperationList.json
new file mode 100644
index 000000000000..142097b7fd09
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/OperationList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.ContainerRegistry/locations/deleteVirtualNetworkOrSubnets/action",
+ "display": {
+ "provider": "Microsoft ContainerRegistry",
+ "resource": "",
+ "operation": "Delete virtual network or subnets notifications",
+ "description": "Notifies Microsoft.ContainerRegistry that virtual network or subnet is being deleted"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionCreateOrUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionCreateOrUpdate.json
new file mode 100644
index 000000000000..a48d42747383
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionCreateOrUpdate.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "privateEndpointConnectionName": "myConnection",
+ "privateEndpointConnection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionDelete.json
new file mode 100644
index 000000000000..dcddd0d24026
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "privateEndpointConnectionName": "myConnection"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionGet.json
new file mode 100644
index 000000000000..e99ce9fa3a41
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "privateEndpointConnectionName": "myConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionList.json
new file mode 100644
index 000000000000..14d970261933
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/PrivateEndpointConnectionList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.ContainerRegistry/registries/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/peexample01"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCheckNameAvailable.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCheckNameAvailable.json
new file mode 100644
index 000000000000..5a457f6549b4
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCheckNameAvailable.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "registryNameCheckRequest": {
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCheckNameNotAvailable.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCheckNameNotAvailable.json
new file mode 100644
index 000000000000..be65cc0b246f
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCheckNameNotAvailable.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "registryNameCheckRequest": {
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "The registry myRegistry is already in use."
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCreate.json
new file mode 100644
index 000000000000..62a44b115d54
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCreate.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "registry": {
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "adminUserEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Succeeded",
+ "adminUserEnabled": true,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Creating",
+ "adminUserEnabled": true,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCreateZoneRedundant.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCreateZoneRedundant.json
new file mode 100644
index 000000000000..e8b999a56bf6
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryCreateZoneRedundant.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "registry": {
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "zoneRedundancy": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Succeeded",
+ "adminUserEnabled": false,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Enabled"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Creating",
+ "adminUserEnabled": false,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryDelete.json
new file mode 100644
index 000000000000..779ebebded1e
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryGet.json
new file mode 100644
index 000000000000..71e20708b792
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryGet.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Succeeded",
+ "adminUserEnabled": false,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryGetPrivateLinkResource.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryGetPrivateLinkResource.json
new file mode 100644
index 000000000000..dfb4e2ae59df
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryGetPrivateLinkResource.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "groupName": "registry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateLinkResources/registry",
+ "name": "registry",
+ "type": "Microsoft.ContainerRegistry/registries/privateLinkResources",
+ "properties": {
+ "groupId": "registry",
+ "requiredMembers": [
+ "registry",
+ "registry_data_myregion"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azurecr.io"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryList.json
new file mode 100644
index 000000000000..ec55e9623696
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryList.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Succeeded",
+ "adminUserEnabled": false,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListByResourceGroup.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListByResourceGroup.json
new file mode 100644
index 000000000000..7139f675a8eb
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListByResourceGroup.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Succeeded",
+ "adminUserEnabled": false,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListCredentials.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListCredentials.json
new file mode 100644
index 000000000000..47846b59210e
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListCredentials.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "username": "myRegistry",
+ "passwords": [
+ {
+ "name": "password",
+ "value": "00000000000000000000000000000000"
+ },
+ {
+ "name": "password2",
+ "value": "00000000000000000000000000000000"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListPrivateLinkResources.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListPrivateLinkResources.json
new file mode 100644
index 000000000000..a8007221c289
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListPrivateLinkResources.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/privateLinkResources/registry",
+ "name": "registry",
+ "type": "Microsoft.ContainerRegistry/registries/privateLinkResources",
+ "properties": {
+ "groupId": "registry",
+ "requiredMembers": [
+ "registry",
+ "registry_data_myregion"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azurecr.io"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListUsages.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListUsages.json
new file mode 100644
index 000000000000..ef8395417571
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryListUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Size",
+ "limit": 107374182400,
+ "currentValue": 12345678,
+ "unit": "Bytes"
+ },
+ {
+ "name": "Webhooks",
+ "limit": 10,
+ "currentValue": 2,
+ "unit": "Count"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryRegenerateCredential.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryRegenerateCredential.json
new file mode 100644
index 000000000000..3079aecfdc1b
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryRegenerateCredential.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "regenerateCredentialParameters": {
+ "name": "password"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "username": "myRegistry",
+ "passwords": [
+ {
+ "name": "password",
+ "value": "00000000000000000000000000000000"
+ },
+ {
+ "name": "password2",
+ "value": "00000000000000000000000000000000"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryUpdate.json
new file mode 100644
index 000000000000..095d5d8e4c18
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/RegistryUpdate.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "registryUpdateParameters": {
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "properties": {
+ "adminUserEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Succeeded",
+ "adminUserEnabled": true,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry",
+ "name": "myRegistry",
+ "type": "Microsoft.ContainerRegistry/registries",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard"
+ },
+ "properties": {
+ "loginServer": "myRegistry.azurecr-test.io",
+ "creationDate": "2021-06-15T21:38:26.1537861Z",
+ "provisioningState": "Updating",
+ "adminUserEnabled": true,
+ "networkRuleSet": {
+ "defaultAction": "Allow",
+ "ipRules": []
+ },
+ "policies": {
+ "quarantinePolicy": {
+ "status": "disabled"
+ },
+ "trustPolicy": {
+ "type": "Notary",
+ "status": "disabled"
+ },
+ "retentionPolicy": {
+ "days": 7,
+ "lastUpdatedTime": "2021-06-15T21:40:12.8506835+00:00",
+ "status": "disabled"
+ },
+ "exportPolicy": {
+ "status": "enabled"
+ }
+ },
+ "encryption": {
+ "status": "disabled"
+ },
+ "status": null,
+ "dataEndpointEnabled": false,
+ "dataEndpointHostNames": [],
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Enabled",
+ "networkRuleBypassOptions": "AzureServices",
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationCreate.json
new file mode 100644
index 000000000000..1e3ed4cd1040
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationCreate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "replicationName": "myReplication",
+ "replication": {
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The replication is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Creating",
+ "status": {
+ "displayStatus": "Provisioning",
+ "message": "The replication is provisioning.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationCreateZoneRedundant.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationCreateZoneRedundant.json
new file mode 100644
index 000000000000..95edc9bbc99f
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationCreateZoneRedundant.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "replicationName": "myReplication",
+ "replication": {
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The replication is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Enabled"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Creating",
+ "status": {
+ "displayStatus": "Provisioning",
+ "message": "The replication is provisioning.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationDelete.json
new file mode 100644
index 000000000000..6270eeeb2ee9
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "replicationName": "myReplication"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationGet.json
new file mode 100644
index 000000000000..85532b9675a5
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "replicationName": "myReplication"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The replication is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationList.json
new file mode 100644
index 000000000000..72aacbe1e3de
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The replication is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationUpdate.json
new file mode 100644
index 000000000000..e0344d73ec51
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/ReplicationUpdate.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "replicationName": "myReplication",
+ "replicationUpdateParameters": {
+ "tags": {
+ "key": "value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": {
+ "displayStatus": "Ready",
+ "message": "The replication is ready.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/replications/myReplication",
+ "name": "myReplication",
+ "type": "Microsoft.ContainerRegistry/registries/replications",
+ "location": "eastus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "provisioningState": "Updating",
+ "status": {
+ "displayStatus": "Provisioning",
+ "message": "The replication is provisioning.",
+ "timestamp": "2017-03-01T23:15:37.0707808Z"
+ },
+ "regionEndpointEnabled": true,
+ "zoneRedundancy": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookCreate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookCreate.json
new file mode 100644
index 000000000000..cdb9c1889e7e
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookCreate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook",
+ "webhookCreateParameters": {
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "serviceUri": "http://myservice.com",
+ "customHeaders": {
+ "Authorization": "Basic 000000000000000000000000000000000000000000000000000"
+ },
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookDelete.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookDelete.json
new file mode 100644
index 000000000000..0f87fb335fa3
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookGet.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookGet.json
new file mode 100644
index 000000000000..0100e6c1f0cb
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookGetCallbackConfig.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookGetCallbackConfig.json
new file mode 100644
index 000000000000..0b33915cfd73
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookGetCallbackConfig.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "serviceUri": "http://myservice.com",
+ "customHeaders": {
+ "Authorization": "Basic 000000000000000000000000000000000000000000000000000"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookList.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookList.json
new file mode 100644
index 000000000000..daf33c5fdeed
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookListEvents.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookListEvents.json
new file mode 100644
index 000000000000..dbf90b973a4b
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookListEvents.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "eventRequestMessage": {
+ "content": {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "timestamp": "2017-03-01T23:14:37.0707808Z",
+ "action": "push",
+ "target": {
+ "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
+ "size": 708,
+ "digest": "sha256:fea8895f450959fa676bcc1df0611ea93823a735a01205fd8622846041d0c7cf",
+ "length": 708,
+ "repository": "hello-world",
+ "url": "http://192.168.100.227:5000/v2/hello-world/manifests/sha256:fea8895f450959fa676bcc1df0611ea93823a735a01205fd8622846041d0c7cf",
+ "tag": "latest"
+ },
+ "request": {
+ "id": "00000000-0000-0000-0000-000000000000",
+ "addr": "192.168.64.11:42961",
+ "host": "192.168.100.227:5000",
+ "method": "GET",
+ "useragent": "curl/7.38.0"
+ },
+ "actor": {},
+ "source": {
+ "addr": "xtal.local:5000",
+ "instanceID": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ "headers": {
+ "Content-Type": "application/json",
+ "Content-Length": "719",
+ "Authorization": "******"
+ },
+ "method": "POST",
+ "requestUri": "http://myservice.com",
+ "version": "1.1"
+ },
+ "eventResponseMessage": {
+ "headers": {
+ "Content-Length": "0"
+ },
+ "statusCode": "200",
+ "version": "1.1"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookPing.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookPing.json
new file mode 100644
index 000000000000..c96fc6fb837d
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookPing.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "00000000-0000-0000-0000-000000000000"
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookUpdate.json b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookUpdate.json
new file mode 100644
index 000000000000..924d937700f5
--- /dev/null
+++ b/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/stable/2021-09-01/examples/WebhookUpdate.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2021-09-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "registryName": "myRegistry",
+ "webhookName": "myWebhook",
+ "webhookUpdateParameters": {
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "serviceUri": "http://myservice.com",
+ "customHeaders": {
+ "Authorization": "Basic 000000000000000000000000000000000000000000000000000"
+ },
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myRegistry/webhooks/myWebhook",
+ "name": "myWebhook",
+ "type": "Microsoft.ContainerRegistry/registries/webhooks",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "status": "enabled",
+ "scope": "myRepository",
+ "actions": [
+ "push"
+ ],
+ "provisioningState": "Updating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerregistry/resource-manager/readme.go.md b/specification/containerregistry/resource-manager/readme.go.md
index 91738b70e38a..da6127630d04 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) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/containerregistry/armcontainerregistry
+module-name: sdk/resourcemanager/containerregistry/armcontainerregistry
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
@@ -21,6 +21,8 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-09
+ - tag: package-2021-08-preview
- tag: package-2021-06-preview
- tag: package-2020-11-preview
- tag: package-2019-12-preview
@@ -35,6 +37,24 @@ batch:
- tag: package-2016-06-preview
```
+### Tag: package-2021-09 and go
+
+These settings apply only when `--tag=package-2021-09 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-09' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-09-01/$(namespace)
+```
+
+### Tag: package-2021-08-preview and go
+
+These settings apply only when `--tag=package-2021-08-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-08-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-08-01-preview/$(namespace)
+```
+
### Tag: package-2021-06-preview and go
These settings apply only when `--tag=package-2021-06-preview --go` is specified on the command line.
diff --git a/specification/containerregistry/resource-manager/readme.java.md b/specification/containerregistry/resource-manager/readme.java.md
index a2e4885629fb..61605a018df1 100644
--- a/specification/containerregistry/resource-manager/readme.java.md
+++ b/specification/containerregistry/resource-manager/readme.java.md
@@ -25,6 +25,8 @@ directive:
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2021-09
+ - tag: package-2021-08-preview
- tag: package-2021-06-preview
- tag: package-2020-11-preview
- tag: package-2019-12-preview
@@ -39,6 +41,32 @@ batch:
- tag: package-2016-06-preview
```
+### Tag: package-2021-09 and java
+
+These settings apply only when `--tag=package-2021-09 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2021-09' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerregistry.v2021_09_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerregistry/mgmt-v2021_09_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2021-08-preview and java
+
+These settings apply only when `--tag=package-2021-08-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2021-08-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerregistry.v2021_08_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerregistry/mgmt-v2021_08_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2021-06-preview and java
These settings apply only when `--tag=package-2021-06-preview --java` is specified on the command line.
diff --git a/specification/containerregistry/resource-manager/readme.md b/specification/containerregistry/resource-manager/readme.md
index 85d1d178aa71..3c9f0cfbcd90 100644
--- a/specification/containerregistry/resource-manager/readme.md
+++ b/specification/containerregistry/resource-manager/readme.md
@@ -26,7 +26,45 @@ These are the global settings for the ContainerRegistry API.
``` yaml
openapi-type: arm
-tag: package-2021-06-preview
+tag: package-2021-09
+```
+
+### Tag: package-2021-09-only
+
+These settings apply only when `--tag=package-2021-09-only` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-09-only'
+input-file:
+ - Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json
+```
+
+### Tag: package-2021-09
+
+These settings apply only when `--tag=package-2021-09` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-09'
+input-file:
+ - Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json
+ - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
+```
+
+### Tag: package-2021-08-preview-only
+
+These settings apply only when `--tag=package-2021-08-preview-only` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-08-preview-only'
+input-file:
+ - Microsoft.ContainerRegistry/preview/2021-08-01-preview/containerregistry.json
+```
+
+### Tag: package-2021-08-preview
+
+These settings apply only when `--tag=package-2021-08-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-08-preview'
+input-file:
+ - Microsoft.ContainerRegistry/preview/2021-08-01-preview/containerregistry.json
+ - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
```
### Tag: package-2021-06-preview-only
@@ -253,6 +291,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-sdk-for-ruby
diff --git a/specification/containerregistry/resource-manager/readme.nodejs.md b/specification/containerregistry/resource-manager/readme.nodejs.md
index 709bcdecf903..0c676532ed86 100644
--- a/specification/containerregistry/resource-manager/readme.nodejs.md
+++ b/specification/containerregistry/resource-manager/readme.nodejs.md
@@ -12,6 +12,6 @@ nodejs:
generate-package-json: true
generate-readme-md: true
input-file:
-- Microsoft.ContainerRegistry/preview/2021-06-01-preview/containerregistry.json
+- Microsoft.ContainerRegistry/stable/2021-09-01/containerregistry.json
- Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
```
diff --git a/specification/containerregistry/resource-manager/readme.python.md b/specification/containerregistry/resource-manager/readme.python.md
index ba0c75f1f194..55289cfc18ce 100644
--- a/specification/containerregistry/resource-manager/readme.python.md
+++ b/specification/containerregistry/resource-manager/readme.python.md
@@ -19,6 +19,8 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi) && $(track2)
clear-output-folder: true
batch:
+ - tag: package-2021-09
+ - tag: package-2021-08-preview-only
- tag: package-2021-06-preview-only
- tag: package-2020-11-preview-only
- tag: package-2019-12-preview-only
@@ -39,6 +41,26 @@ clear-output-folder: false
perform-load: false
```
+### Tag: package-2021-09-only and python
+
+These settings apply only when `--tag=package-2021-09-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-09-only' && $(python)
+namespace: azure.mgmt.containerregistry.v2021_09_01
+output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2021_09_01
+```
+
+### Tag: package-2021-08-preview-only and python
+
+These settings apply only when `--tag=package-2021-08-preview-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-08-preview-only' && $(python)
+namespace: azure.mgmt.containerregistry.v2021_08_01_preview
+output-folder: $(python-sdks-folder)/containerregistry/azure-mgmt-containerregistry/azure/mgmt/containerregistry/v2021_08_01_preview
+```
+
### Tag: package-2021-06-preview-only and python
These settings apply only when `--tag=package-2021-06-preview-only --python` is specified on the command line.
diff --git a/specification/containerregistry/resource-manager/readme.ruby.md b/specification/containerregistry/resource-manager/readme.ruby.md
index 200b1c1dbf9e..1b10b02a3a9a 100644
--- a/specification/containerregistry/resource-manager/readme.ruby.md
+++ b/specification/containerregistry/resource-manager/readme.ruby.md
@@ -12,6 +12,8 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2021-09
+ - tag: package-2021-08-preview
- tag: package-2021-06-preview
- tag: package-2020-11-preview
- tag: package-2019-12-preview
@@ -20,6 +22,25 @@ batch:
- tag: package-2017-03
- tag: package-2016-06-preview
```
+### Tag: package-2021-09 and ruby
+
+These settings apply only when `--tag=package-2021-09 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-09' && $(ruby)
+namespace: "Azure::ContainerRegistry::Mgmt::V2021_09_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_container_registry/lib
+```
+
+### Tag: package-2021-08-preview and ruby
+
+These settings apply only when `--tag=package-2021-08-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-08-preview' && $(ruby)
+namespace: "Azure::ContainerRegistry::Mgmt::V2021_08_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_container_registry/lib
+```
### Tag: package-2021-06-preview and ruby
diff --git a/specification/containerregistry/resource-manager/readme.typescript.md b/specification/containerregistry/resource-manager/readme.typescript.md
index 5d15348ef436..a49847bc1acb 100644
--- a/specification/containerregistry/resource-manager/readme.typescript.md
+++ b/specification/containerregistry/resource-manager/readme.typescript.md
@@ -5,7 +5,7 @@ Please also specify `--typescript-sdks-folder=
**Restriction:** Cannot end in \".\"
**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".
**Minimum-length:** 1 character
**Max-length:** 20 characters"
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "Specifies the password of the administrator account.
**Minimum-length:** 8 characters
**Max-length:** 123 characters
**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])
**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\""
+ },
+ "licenseType": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Windows_Server"
+ ],
+ "x-ms-enum": {
+ "name": "licenseType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No additional licensing is applied."
+ },
+ {
+ "value": "Windows_Server",
+ "description": "Enables Azure Hybrid User Benefits for Windows VMs."
+ }
+ ]
+ },
+ "description": "The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details."
+ },
+ "enableCSIProxy": {
+ "type": "boolean",
+ "title": "Whether to enable CSI proxy.",
+ "description": "For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy)."
+ },
+ "gmsaProfile": {
+ "$ref": "#/definitions/WindowsGmsaProfile",
+ "description": "The Windows gMSA Profile in the Managed Cluster."
+ }
+ },
+ "required": [
+ "adminUsername"
+ ],
+ "description": "Profile for Windows VMs in the managed cluster."
+ },
+ "WindowsGmsaProfile": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "title": "Whether to enable Windows gMSA.",
+ "description": "Specifies whether to enable Windows gMSA in the managed cluster."
+ },
+ "dnsServer": {
+ "type": "string",
+ "description": "Specifies the DNS server for Windows gMSA.
Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster."
+ },
+ "rootDomainName": {
+ "type": "string",
+ "description": "Specifies the root domain name for Windows gMSA.
Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster."
+ }
+ },
+ "description": "Windows gMSA Profile in the managed cluster."
+ },
+ "ContainerServiceLinuxProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Linux VMs.",
+ "pattern": "^[A-Za-z][-A-Za-z0-9_]*$"
+ },
+ "ssh": {
+ "$ref": "#/definitions/ContainerServiceSshConfiguration",
+ "description": "The SSH configuration for Linux-based VMs running on Azure."
+ }
+ },
+ "required": [
+ "adminUsername",
+ "ssh"
+ ],
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "ContainerServiceNetworkProfile": {
+ "properties": {
+ "networkPlugin": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "kubenet"
+ ],
+ "default": "kubenet",
+ "x-ms-enum": {
+ "name": "NetworkPlugin",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "azure",
+ "description": "Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information."
+ },
+ {
+ "value": "kubenet",
+ "description": "Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information."
+ }
+ ]
+ },
+ "description": "Network plugin used for building the Kubernetes network."
+ },
+ "networkPolicy": {
+ "type": "string",
+ "enum": [
+ "calico",
+ "azure"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkPolicy",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "calico",
+ "description": "Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information."
+ },
+ {
+ "value": "azure",
+ "description": "Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information."
+ }
+ ]
+ },
+ "description": "Network policy used for building the Kubernetes network."
+ },
+ "networkMode": {
+ "type": "string",
+ "enum": [
+ "transparent",
+ "bridge"
+ ],
+ "x-ms-enum": {
+ "name": "networkMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "transparent",
+ "description": "No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information."
+ },
+ {
+ "value": "bridge",
+ "description": "This is no longer supported"
+ }
+ ]
+ },
+ "title": "The network mode Azure CNI is configured with.",
+ "description": "This cannot be specified if networkPlugin is anything other than 'azure'."
+ },
+ "podCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.244.0.0/16",
+ "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used."
+ },
+ "serviceCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.0.0.0/16",
+ "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges."
+ },
+ "dnsServiceIP": {
+ "type": "string",
+ "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
+ "default": "10.0.0.10",
+ "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr."
+ },
+ "dockerBridgeCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "172.17.0.1/16",
+ "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range."
+ },
+ "outboundType": {
+ "type": "string",
+ "enum": [
+ "loadBalancer",
+ "userDefinedRouting",
+ "managedNATGateway",
+ "userAssignedNATGateway"
+ ],
+ "x-ms-enum": {
+ "name": "outboundType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "loadBalancer",
+ "description": "The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer)."
+ },
+ {
+ "value": "userDefinedRouting",
+ "description": "Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting)."
+ },
+ {
+ "value": "managedNATGateway",
+ "description": "The AKS-managed NAT gateway is used for egress."
+ },
+ {
+ "value": "userAssignedNATGateway",
+ "description": "The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration."
+ }
+ ]
+ },
+ "default": "loadBalancer",
+ "title": "The outbound (egress) routing method.",
+ "description": "This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype)."
+ },
+ "loadBalancerSku": {
+ "type": "string",
+ "enum": [
+ "standard",
+ "basic"
+ ],
+ "x-ms-enum": {
+ "name": "loadBalancerSku",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "standard",
+ "description": "Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article."
+ },
+ {
+ "value": "basic",
+ "description": "Use a basic Load Balancer with limited functionality."
+ }
+ ]
+ },
+ "title": "The load balancer sku for the managed cluster.",
+ "description": "The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs."
+ },
+ "loadBalancerProfile": {
+ "$ref": "#/definitions/ManagedClusterLoadBalancerProfile",
+ "description": "Profile of the cluster load balancer."
+ },
+ "natGatewayProfile": {
+ "$ref": "#/definitions/ManagedClusterNATGatewayProfile",
+ "description": "Profile of the cluster NAT gateway."
+ }
+ },
+ "description": "Profile of network configuration."
+ },
+ "MaintenanceConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ },
+ "description": "The list of maintenance configurations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of maintenance configuration results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List maintenance configurations operation."
+ },
+ "SystemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "The identity that created the resource."
+ },
+ "createdByType": {
+ "type": "string",
+ "description": "The type of identity that created the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The UTC timestamp of resource creation."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "The identity that last modified the resource."
+ },
+ "lastModifiedByType": {
+ "type": "string",
+ "description": "The type of identity that last modified the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The type of identity that last modified the resource."
+ }
+ }
+ },
+ "MaintenanceConfiguration": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "readOnly": true,
+ "description": "The system metadata relating to this resource."
+ },
+ "properties": {
+ "description": "Properties of a default maintenance configuration.",
+ "$ref": "#/definitions/MaintenanceConfigurationProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "title": "Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster.",
+ "description": "See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance."
+ },
+ "MaintenanceConfigurationProperties": {
+ "properties": {
+ "timeInWeek": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeInWeek"
+ },
+ "title": "Time slots during the week when planned maintenance is allowed to proceed.",
+ "description": "If two array entries specify the same day of the week, the applied configuration is the union of times in both entries."
+ },
+ "notAllowedTime": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSpan"
+ },
+ "description": "Time slots on which upgrade is not allowed."
+ }
+ },
+ "description": "Properties used to configure planned maintenance for a Managed Cluster."
+ },
+ "TimeInWeek": {
+ "properties": {
+ "day": {
+ "$ref": "#/definitions/WeekDay",
+ "description": "The day of the week."
+ },
+ "hourSlots": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HourInDay"
+ },
+ "title": "A list of hours in the day used to identify a time range.",
+ "description": "Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range."
+ }
+ },
+ "description": "Time in a week."
+ },
+ "WeekDay": {
+ "type": "string",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "x-ms-enum": {
+ "name": "WeekDay",
+ "modelAsString": true
+ },
+ "description": "The weekday enum."
+ },
+ "HourInDay": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 23,
+ "minimum": 0,
+ "description": "Hour in a day."
+ },
+ "TimeSpan": {
+ "properties": {
+ "start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start of a time span"
+ },
+ "end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end of a time span"
+ }
+ },
+ "title": "A time range.",
+ "description": "For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z."
+ },
+ "RunCommandRequest": {
+ "properties": {
+ "command": {
+ "type": "string",
+ "description": "The command to run."
+ },
+ "context": {
+ "type": "string",
+ "description": "A base64 encoded zip file containing the files required by the command."
+ },
+ "clusterToken": {
+ "type": "string",
+ "description": "AuthToken issued for AKS AAD Server App."
+ }
+ },
+ "description": "A run command request",
+ "required": [
+ "command"
+ ]
+ },
+ "RunCommandResult": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The command id.",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Properties of command result.",
+ "$ref": "#/definitions/CommandResultProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "description": "run command result."
+ },
+ "CommandResultProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "provisioning State"
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The exit code of the command"
+ },
+ "startedAt": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The time when the command started."
+ },
+ "finishedAt": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The time when the command finished."
+ },
+ "logs": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The command output."
+ },
+ "reason": {
+ "type": "string",
+ "readOnly": true,
+ "description": "An explanation of why provisioningState is set to failed (if so)."
+ }
+ },
+ "description": "The results of a run command"
+ },
+ "ManagedClusterNATGatewayProfile": {
+ "type": "object",
+ "properties": {
+ "managedOutboundIPProfile": {
+ "$ref": "#/definitions/ManagedClusterManagedOutboundIPProfile",
+ "description": "Profile of the managed outbound IP resources of the cluster NAT gateway."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster NAT gateway."
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 120,
+ "minimum": 4,
+ "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.",
+ "default": 4
+ }
+ },
+ "description": "Profile of the managed cluster NAT gateway."
+ },
+ "ManagedClusterManagedOutboundIPProfile": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 16,
+ "minimum": 1,
+ "description": "The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. ",
+ "default": 1
+ }
+ },
+ "description": "Profile of the managed outbound IP resources of the managed cluster."
+ },
+ "ManagedClusterLoadBalancerProfile": {
+ "properties": {
+ "managedOutboundIPs": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 1,
+ "description": "The desired number of outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
+ "default": 1
+ }
+ },
+ "description": "Desired managed outbound IPs for the cluster load balancer."
+ },
+ "outboundIPPrefixes": {
+ "properties": {
+ "publicIPPrefixes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP prefix resources."
+ }
+ },
+ "description": "Desired outbound IP Prefix resources for the cluster load balancer."
+ },
+ "outboundIPs": {
+ "properties": {
+ "publicIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP resources."
+ }
+ },
+ "description": "Desired outbound IP resources for the cluster load balancer."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster load balancer."
+ },
+ "allocatedOutboundPorts": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 64000,
+ "minimum": 0,
+ "description": "The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
+ "default": 0
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 120,
+ "minimum": 4,
+ "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
+ "default": 30
+ },
+ "enableMultipleStandardLoadBalancers": {
+ "type": "boolean",
+ "description": "Enable multiple standard load balancers per AKS cluster or not."
+ }
+ },
+ "description": "Profile of the managed cluster load balancer."
+ },
+ "ResourceReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified Azure resource id."
+ }
+ },
+ "description": "A reference to an Azure resource."
+ },
+ "ContainerServiceSshConfiguration": {
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerServiceSshPublicKey"
+ },
+ "description": "The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified."
+ }
+ },
+ "description": "SSH configuration for Linux-based VMs running on Azure.",
+ "required": [
+ "publicKeys"
+ ]
+ },
+ "ContainerServiceSshPublicKey": {
+ "properties": {
+ "keyData": {
+ "type": "string",
+ "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers."
+ }
+ },
+ "required": [
+ "keyData"
+ ],
+ "description": "Contains information about SSH certificate public key data."
+ },
+ "ContainerServiceDiagnosticsProfile": {
+ "properties": {
+ "vmDiagnostics": {
+ "$ref": "#/definitions/ContainerServiceVMDiagnostics",
+ "description": "Profile for diagnostics on the container service VMs."
+ }
+ },
+ "description": "Profile for diagnostics on the container service cluster.",
+ "required": [
+ "vmDiagnostics"
+ ]
+ },
+ "ContainerServiceVMDiagnostics": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the VM diagnostic agent is provisioned on the VM."
+ },
+ "storageUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI of the storage account where diagnostics are stored."
+ }
+ },
+ "description": "Profile for diagnostics on the container service VMs.",
+ "required": [
+ "enabled"
+ ]
+ },
+ "ManagedClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "The list of managed clusters."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed cluster results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Managed Clusters operation."
+ },
+ "ManagedCluster": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ManagedClusterSKU",
+ "description": "The managed cluster SKU."
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extended location of the Virtual Machine."
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedClusterIdentity",
+ "description": "The identity of the managed cluster, if configured."
+ },
+ "properties": {
+ "description": "Properties of a managed cluster.",
+ "$ref": "#/definitions/ManagedClusterProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Managed cluster."
+ },
+ "ManagedClusterProperties": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current provisioning state."
+ },
+ "powerState": {
+ "$ref": "#/definitions/PowerState",
+ "description": "The Power State of the cluster.",
+ "readOnly": true
+ },
+ "maxAgentPools": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The max number of agent pools for the managed cluster."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "title": "The version of Kubernetes the Managed Cluster is running.",
+ "description": "When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details."
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "title": "The DNS prefix of the Managed Cluster.",
+ "description": "This cannot be updated once the Managed Cluster has been created."
+ },
+ "fqdnSubdomain": {
+ "type": "string",
+ "title": "The FQDN subdomain of the private cluster with custom private dns zone.",
+ "description": "This cannot be updated once the Managed Cluster has been created."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The FQDN of the master pool."
+ },
+ "privateFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The FQDN of private cluster."
+ },
+ "azurePortalFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "title": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients.",
+ "description": "The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfile"
+ },
+ "description": "The agent pool properties."
+ },
+ "linuxProfile": {
+ "$ref": "#/definitions/ContainerServiceLinuxProfile",
+ "description": "The profile for Linux VMs in the Managed Cluster."
+ },
+ "windowsProfile": {
+ "$ref": "#/definitions/ManagedClusterWindowsProfile",
+ "description": "The profile for Windows VMs in the Managed Cluster."
+ },
+ "servicePrincipalProfile": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile",
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs."
+ },
+ "addonProfiles": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ManagedClusterAddonProfile"
+ },
+ "description": "The profile of managed cluster add-on."
+ },
+ "podIdentityProfile": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProfile",
+ "title": "The pod identity profile of the Managed Cluster.",
+ "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration."
+ },
+ "nodeResourceGroup": {
+ "type": "string",
+ "description": "The name of the resource group containing agent pool nodes."
+ },
+ "enableRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Kubernetes Role-Based Access Control."
+ },
+ "enablePodSecurityPolicy": {
+ "type": "boolean",
+ "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/ContainerServiceNetworkProfile",
+ "description": "The network configuration profile."
+ },
+ "aadProfile": {
+ "$ref": "#/definitions/ManagedClusterAADProfile",
+ "description": "The Azure Active Directory configuration."
+ },
+ "autoUpgradeProfile": {
+ "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile",
+ "description": "The auto upgrade configuration."
+ },
+ "autoScalerProfile": {
+ "type": "object",
+ "properties": {
+ "balance-similar-node-groups": {
+ "type": "string",
+ "title": "Detects similar node pools and balances the number of nodes between them.",
+ "description": "Valid values are 'true' and 'false'"
+ },
+ "expander": {
+ "type": "string",
+ "enum": [
+ "least-waste",
+ "most-pods",
+ "priority",
+ "random"
+ ],
+ "x-ms-enum": {
+ "name": "expander",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "least-waste",
+ "description": "Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources."
+ },
+ {
+ "value": "most-pods",
+ "description": "Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once."
+ },
+ {
+ "value": "priority",
+ "description": "Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md)."
+ },
+ {
+ "value": "random",
+ "description": "Used when you don't have a particular need for the node groups to scale differently."
+ }
+ ]
+ },
+ "title": "The expander to use when scaling up",
+ "description": "If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information."
+ },
+ "max-empty-bulk-delete": {
+ "type": "string",
+ "title": "The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer.",
+ "description": "The default is 10."
+ },
+ "max-graceful-termination-sec": {
+ "type": "string",
+ "title": "The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node.",
+ "description": "The default is 600."
+ },
+ "max-node-provision-time": {
+ "type": "string",
+ "title": "The maximum time the autoscaler waits for a node to be provisioned.",
+ "description": "The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "max-total-unready-percentage": {
+ "type": "string",
+ "title": "The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations.",
+ "description": "The default is 45. The maximum is 100 and the minimum is 0."
+ },
+ "new-pod-scale-up-delay": {
+ "type": "string",
+ "title": "Ignore unscheduled pods before they're a certain age.",
+ "description": "For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc)."
+ },
+ "ok-total-unready-count": {
+ "type": "string",
+ "title": "The number of allowed unready nodes, irrespective of max-total-unready-percentage.",
+ "description": "This must be an integer. The default is 3."
+ },
+ "scan-interval": {
+ "type": "string",
+ "title": "How often cluster is reevaluated for scale up or down.",
+ "description": "The default is '10'. Values must be an integer number of seconds."
+ },
+ "scale-down-delay-after-add": {
+ "type": "string",
+ "title": "How long after scale up that scale down evaluation resumes",
+ "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-delay-after-delete": {
+ "type": "string",
+ "title": "How long after node deletion that scale down evaluation resumes.",
+ "description": "The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-delay-after-failure": {
+ "type": "string",
+ "title": "How long after scale down failure that scale down evaluation resumes.",
+ "description": "The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-unneeded-time": {
+ "type": "string",
+ "title": "How long a node should be unneeded before it is eligible for scale down.",
+ "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-unready-time": {
+ "type": "string",
+ "title": "How long an unready node should be unneeded before it is eligible for scale down",
+ "description": "The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-utilization-threshold": {
+ "type": "string",
+ "title": "Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down.",
+ "description": "The default is '0.5'."
+ },
+ "skip-nodes-with-local-storage": {
+ "type": "string",
+ "title": "If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath.",
+ "description": "The default is true."
+ },
+ "skip-nodes-with-system-pods": {
+ "type": "string",
+ "title": "If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods)",
+ "description": "The default is true."
+ }
+ },
+ "description": "Parameters to be applied to the cluster-autoscaler when enabled"
+ },
+ "apiServerAccessProfile": {
+ "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile",
+ "description": "The access profile for managed cluster API server."
+ },
+ "diskEncryptionSetID": {
+ "type": "string",
+ "title": "The Resource ID of the disk encryption set to use for enabling encryption at rest.",
+ "description": "This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'"
+ },
+ "identityProfile": {
+ "additionalProperties": {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ },
+ "description": "Identities associated with the cluster."
+ },
+ "privateLinkResources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ },
+ "description": "Private link resources associated with the cluster."
+ },
+ "disableLocalAccounts": {
+ "type": "boolean",
+ "title": "If local accounts should be disabled on the Managed Cluster.",
+ "description": "If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview)."
+ },
+ "httpProxyConfig": {
+ "$ref": "#/definitions/ManagedClusterHTTPProxyConfig",
+ "description": "Configurations for provisioning the cluster with HTTP proxy servers."
+ },
+ "securityProfile": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfile",
+ "description": "Security profile for the managed cluster."
+ },
+ "publicNetworkAccess": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ },
+ "title": "Whether the cluster can be accessed through public network or not",
+ "description": "Default value is 'Enabled' (case insensitive). Could be set to 'Disabled' to enable private cluster"
+ }
+ },
+ "description": "Properties of the managed cluster."
+ },
+ "PowerState": {
+ "description": "Describes the Power State of the cluster",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Tells whether the cluster is Running or Stopped",
+ "enum": [
+ "Running",
+ "Stopped"
+ ],
+ "x-ms-enum": {
+ "name": "code",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Running",
+ "description": "The cluster is running."
+ },
+ {
+ "value": "Stopped",
+ "description": "The cluster is stopped."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "ManagedClusterAPIServerAccessProfile": {
+ "properties": {
+ "authorizedIPRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The IP ranges authorized to access the Kubernetes API server.",
+ "description": "IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges)."
+ },
+ "enablePrivateCluster": {
+ "type": "boolean",
+ "title": "Whether to create the cluster as a private cluster or not.",
+ "description": "For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters)."
+ },
+ "privateDNSZone": {
+ "type": "string",
+ "title": "The private DNS zone mode for the cluster.",
+ "description": "The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'."
+ },
+ "enablePrivateClusterPublicFQDN": {
+ "type": "boolean",
+ "description": "Whether to create additional public FQDN for private cluster or not."
+ },
+ "disableRunCommand": {
+ "type": "boolean",
+ "description": "Whether to disable run command for the cluster or not."
+ }
+ },
+ "description": "Access profile for managed cluster API server."
+ },
+ "ManagedClusterIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity which is used by master components."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity which is used by master components."
+ },
+ "type": {
+ "type": "string",
+ "title": "The type of identity used for the managed cluster.",
+ "description": "For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity).",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "SystemAssigned",
+ "description": "Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources."
+ },
+ {
+ "value": "UserAssigned",
+ "description": "Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources."
+ },
+ {
+ "value": "None",
+ "description": "Do not use a managed identity for the Managed Cluster, service principal will be used instead."
+ }
+ ]
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "x-ms-client-name": "ManagedServiceIdentityUserAssignedIdentitiesValue",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "title": "The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed.",
+ "description": "The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "description": "Identity for the managed cluster."
+ },
+ "UserAssignedIdentity": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The resource ID of the user assigned identity."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "The client ID of the user assigned identity."
+ },
+ "objectId": {
+ "type": "string",
+ "description": "The object ID of the user assigned identity."
+ }
+ },
+ "description": "Details about a user assigned identity."
+ },
+ "ManagedClusterAccessProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "AccessProfile of a managed cluster.",
+ "$ref": "#/definitions/AccessProfile",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster Access Profile.",
+ "x-ms-azure-resource": false
+ },
+ "AccessProfile": {
+ "type": "object",
+ "properties": {
+ "kubeConfig": {
+ "type": "string",
+ "format": "byte",
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "Profile for enabling a user to access a managed cluster."
+ },
+ "ManagedClusterPoolUpgradeProfile": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "name": {
+ "type": "string",
+ "description": "The Agent Pool name."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType"
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether the Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "ManagedClusterUpgradeProfileProperties": {
+ "properties": {
+ "controlPlaneProfile": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile",
+ "description": "The list of available upgrade versions for the control plane."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile"
+ },
+ "description": "The list of available upgrade versions for agent pools."
+ }
+ },
+ "required": [
+ "controlPlaneProfile",
+ "agentPoolProfiles"
+ ],
+ "description": "Control plane and agent pool upgrade profiles."
+ },
+ "ManagedClusterAutoUpgradeProfile": {
+ "properties": {
+ "upgradeChannel": {
+ "type": "string",
+ "enum": [
+ "rapid",
+ "stable",
+ "patch",
+ "node-image",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "upgradeChannel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "rapid",
+ "description": "Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1."
+ },
+ {
+ "value": "stable",
+ "description": "Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6."
+ },
+ {
+ "value": "patch",
+ "description": "Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9."
+ },
+ {
+ "value": "node-image",
+ "description": "Automatically upgrade the node image to the latest version available. Microsoft provides patches and new images for image nodes frequently (usually weekly), but your running nodes won't get the new images unless you do a node image upgrade. Turning on the node-image channel will automatically update your node images whenever a new version is available."
+ },
+ {
+ "value": "none",
+ "description": "Disables auto-upgrades and keeps the cluster at its current version of Kubernetes."
+ }
+ ]
+ },
+ "title": "The upgrade channel for auto upgrade. The default is 'none'.",
+ "description": "For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel)."
+ }
+ },
+ "description": "Auto upgrade profile for a managed cluster."
+ },
+ "ManagedClusterAADProfile": {
+ "properties": {
+ "managed": {
+ "type": "boolean",
+ "description": "Whether to enable managed AAD."
+ },
+ "enableAzureRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Azure RBAC for Kubernetes authorization."
+ },
+ "adminGroupObjectIDs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of AAD group object IDs that will have admin role of the cluster."
+ },
+ "clientAppID": {
+ "type": "string",
+ "description": "The client AAD application ID."
+ },
+ "serverAppID": {
+ "type": "string",
+ "description": "The server AAD application ID."
+ },
+ "serverAppSecret": {
+ "type": "string",
+ "description": "The server AAD application secret."
+ },
+ "tenantID": {
+ "type": "string",
+ "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription."
+ }
+ },
+ "title": "AADProfile specifies attributes for Azure Active Directory integration.",
+ "description": "For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad)."
+ },
+ "ManagedClusterAddonProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the add-on is enabled or not."
+ },
+ "config": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs for configuring an add-on."
+ },
+ "identity": {
+ "readOnly": true,
+ "description": "Information of user assigned identity used by this add-on.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "A Kubernetes add-on profile for a managed cluster."
+ },
+ "ManagedClusterPodIdentity": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the pod identity."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "The namespace of the pod identity."
+ },
+ "bindingSelector": {
+ "type": "string",
+ "description": "The binding selector to use for the AzureIdentityBinding resource."
+ },
+ "identity": {
+ "$ref": "#/definitions/UserAssignedIdentity",
+ "description": "The user assigned identity details."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state of the pod identity.",
+ "enum": [
+ "Assigned",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterPodIdentityProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "provisioningInfo": {
+ "readOnly": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningError",
+ "description": "Pod identity assignment error (if any)."
+ }
+ }
+ }
+ },
+ "required": [
+ "name",
+ "namespace",
+ "identity"
+ ],
+ "description": "Details about the pod identity assigned to the Managed Cluster."
+ },
+ "ManagedClusterPodIdentityProvisioningError": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the pod identity provisioning."
+ },
+ "ManagedClusterPodIdentityProvisioningErrorBody": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the pod identity provisioning."
+ },
+ "ManagedClusterPodIdentityException": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the pod identity exception."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "The namespace of the pod identity exception."
+ },
+ "podLabels": {
+ "type": "object",
+ "description": "The pod labels to match.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "namespace",
+ "podLabels"
+ ],
+ "title": "A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server.",
+ "description": "See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details."
+ },
+ "ManagedClusterPodIdentityProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the pod identity addon is enabled."
+ },
+ "allowNetworkPluginKubenet": {
+ "type": "boolean",
+ "title": "Whether pod identity is allowed to run on clusters with Kubenet networking.",
+ "description": "Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information."
+ },
+ "userAssignedIdentities": {
+ "description": "The pod identities to use in the cluster.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentity"
+ }
+ },
+ "userAssignedIdentityExceptions": {
+ "description": "The pod identity exceptions to allow.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityException"
+ }
+ }
+ },
+ "title": "The pod identity profile of the Managed Cluster.",
+ "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration."
+ },
+ "ManagedClusterUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties",
+ "description": "The properties of the upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for compute pools."
+ },
+ "AgentPoolUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the agent pool upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the agent pool upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the agent pool upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfileProperties",
+ "description": "The properties of the agent pool upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for an agent pool."
+ },
+ "AgentPoolUpgradeProfileProperties": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType"
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether the Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ },
+ "latestNodeImageVersion": {
+ "type": "string",
+ "description": "The latest AKS supported node image version."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "AgentPoolAvailableVersions": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the agent pool version list."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the agent pool version list."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool version list."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolAvailableVersionsProperties",
+ "description": "Properties of agent pool available versions.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available versions for an agent pool."
+ },
+ "AgentPoolAvailableVersionsProperties": {
+ "properties": {
+ "agentPoolVersions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "default": {
+ "type": "boolean",
+ "description": "Whether this version is the default agent pool version."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of versions available for agent pool."
+ }
+ },
+ "description": "The list of available agent pool versions."
+ },
+ "OSType": {
+ "type": "string",
+ "default": "Linux",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "OSType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Linux",
+ "description": "Use Linux."
+ },
+ {
+ "value": "Windows",
+ "description": "Use Windows."
+ }
+ ]
+ },
+ "description": "The operating system type. The default is Linux."
+ },
+ "OSSKU": {
+ "type": "string",
+ "enum": [
+ "Ubuntu",
+ "CBLMariner"
+ ],
+ "x-ms-enum": {
+ "name": "OSSKU",
+ "modelAsString": true
+ },
+ "description": "Specifies an OS SKU. This value must not be specified if OSType is Windows."
+ },
+ "ScaleSetPriority": {
+ "type": "string",
+ "default": "Regular",
+ "enum": [
+ "Spot",
+ "Regular"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetPriority",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Spot",
+ "description": "Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information."
+ },
+ {
+ "value": "Regular",
+ "description": "Regular VMs will be used."
+ }
+ ]
+ },
+ "description": "The Virtual Machine Scale Set priority."
+ },
+ "ScaleSetEvictionPolicy": {
+ "type": "string",
+ "default": "Delete",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetEvictionPolicy",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Delete",
+ "description": "Nodes in the underlying Scale Set of the node pool are deleted when they're evicted."
+ },
+ {
+ "value": "Deallocate",
+ "description": "Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading."
+ }
+ ]
+ },
+ "title": "The Virtual Machine Scale Set eviction policy.",
+ "description": "The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms)"
+ },
+ "SpotMaxPrice": {
+ "type": "number",
+ "default": -1,
+ "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.",
+ "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)"
+ },
+ "ScaleDownMode": {
+ "type": "string",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleDownMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Delete",
+ "description": "Create new instances during scale up and remove instances during scale down."
+ },
+ {
+ "value": "Deallocate",
+ "description": "Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down."
+ }
+ ]
+ },
+ "description": "Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing)."
+ },
+ "ProximityPlacementGroupID": {
+ "type": "string",
+ "description": "The ID for Proximity Placement Group."
+ },
+ "CredentialResults": {
+ "properties": {
+ "kubeconfigs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/CredentialResult"
+ },
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The list credential result response."
+ },
+ "CredentialResult": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the credential."
+ },
+ "value": {
+ "type": "string",
+ "format": "byte",
+ "readOnly": true,
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The credential result response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "ManagedClusterSKU": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of a managed cluster SKU.",
+ "enum": [
+ "Basic"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "title": "The tier of a managed cluster SKU.",
+ "description": "If not specified, the default is 'Free'. See [uptime SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for more details.",
+ "enum": [
+ "Paid",
+ "Free"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUTier",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Paid",
+ "description": "Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones."
+ },
+ {
+ "value": "Free",
+ "description": "No guaranteed SLA, no additional charges. Free tier clusters have an SLO of 99.5%."
+ }
+ ]
+ }
+ }
+ },
+ "description": "The SKU of a Managed Cluster."
+ },
+ "PrivateEndpointConnectionListResult": {
+ "type": "object",
+ "description": "A list of private endpoint connections",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the private endpoint connection."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-naming-rules"
+ }
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "The properties of a private endpoint connection.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnectionProperties": {
+ "type": "object",
+ "description": "Properties of a private endpoint connection.",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The resource of private endpoint."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ]
+ },
+ "PrivateEndpoint": {
+ "type": "object",
+ "description": "Private endpoint which a connection belongs to.",
+ "properties": {
+ "id": {
+ "description": "The resource ID of the private endpoint",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The state of a private link service connection.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "description": "The private link service connection status.",
+ "x-ms-enum": {
+ "name": "ConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The private link service connection description."
+ }
+ }
+ },
+ "PrivateLinkResourcesListResult": {
+ "type": "object",
+ "description": "A list of private link resources",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "A private link resource",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the private link resource."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the private link resource.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-naming-rules"
+ }
+ },
+ "type": {
+ "type": "string",
+ "description": "The resource type."
+ },
+ "groupId": {
+ "type": "string",
+ "description": "The group ID of the resource."
+ },
+ "requiredMembers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The RequiredMembers of the resource"
+ },
+ "privateLinkServiceID": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The private link service ID of the resource, this field is exposed only to NRP internally."
+ }
+ }
+ },
+ "OSDiskType": {
+ "type": "string",
+ "enum": [
+ "Managed",
+ "Ephemeral"
+ ],
+ "x-ms-enum": {
+ "name": "OSDiskType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Managed",
+ "description": "Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency."
+ },
+ {
+ "value": "Ephemeral",
+ "description": "Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades."
+ }
+ ]
+ },
+ "title": "The OS disk type to be used for machines in the agent pool.",
+ "description": "The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os)."
+ },
+ "KubeletDiskType": {
+ "type": "string",
+ "enum": [
+ "OS",
+ "Temporary"
+ ],
+ "x-ms-enum": {
+ "name": "KubeletDiskType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "OS",
+ "description": "Kubelet will use the OS disk for its data."
+ },
+ {
+ "value": "Temporary",
+ "description": "Kubelet will use the temporary disk for its data."
+ }
+ ]
+ },
+ "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage."
+ },
+ "WorkloadRuntime": {
+ "type": "string",
+ "enum": [
+ "OCIContainer",
+ "WasmWasi"
+ ],
+ "x-ms-enum": {
+ "name": "WorkloadRuntime",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "OCIContainer",
+ "description": "Nodes will use Kubelet to run standard OCI container workloads."
+ },
+ {
+ "value": "WasmWasi",
+ "description": "Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview)."
+ }
+ ]
+ },
+ "description": "Determines the type of workload a node can run."
+ },
+ "KubeletConfig": {
+ "title": "Kubelet configurations of agent nodes.",
+ "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.",
+ "type": "object",
+ "properties": {
+ "cpuManagerPolicy": {
+ "type": "string",
+ "title": "The CPU Manager policy to use.",
+ "description": "The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'."
+ },
+ "cpuCfsQuota": {
+ "type": "boolean",
+ "title": "If CPU CFS quota enforcement is enabled for containers that specify CPU limits.",
+ "description": "The default is true."
+ },
+ "cpuCfsQuotaPeriod": {
+ "type": "string",
+ "title": "The CPU CFS quota period value.",
+ "description": "The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'."
+ },
+ "imageGcHighThreshold": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The percent of disk usage after which image garbage collection is always run.",
+ "description": "To disable image garbage collection, set to 100. The default is 85%"
+ },
+ "imageGcLowThreshold": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The percent of disk usage before which image garbage collection is never run.",
+ "description": "This cannot be set higher than imageGcHighThreshold. The default is 80%"
+ },
+ "topologyManagerPolicy": {
+ "type": "string",
+ "title": "The Topology Manager policy to use.",
+ "description": "For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'."
+ },
+ "allowedUnsafeSysctls": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`)."
+ },
+ "failSwapOn": {
+ "type": "boolean",
+ "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node."
+ },
+ "containerLogMaxSizeMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated."
+ },
+ "containerLogMaxFiles": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of container log files that can be present for a container. The number must be ≥ 2.",
+ "minimum": 2
+ },
+ "podMaxPids": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of processes per pod."
+ }
+ }
+ },
+ "LinuxOSConfig": {
+ "title": "OS configurations of Linux agent nodes.",
+ "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.",
+ "type": "object",
+ "properties": {
+ "sysctls": {
+ "$ref": "#/definitions/SysctlConfig",
+ "description": "Sysctl settings for Linux agent nodes."
+ },
+ "transparentHugePageEnabled": {
+ "type": "string",
+ "title": "Whether transparent hugepages are enabled.",
+ "description": "Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)."
+ },
+ "transparentHugePageDefrag": {
+ "type": "string",
+ "title": "Whether the kernel should make aggressive use of memory compaction to make more hugepages available.",
+ "description": "Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)."
+ },
+ "swapFileSizeMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The size in MB of a swap file that will be created on each node."
+ }
+ }
+ },
+ "SysctlConfig": {
+ "description": "Sysctl settings for Linux agent nodes.",
+ "type": "object",
+ "properties": {
+ "netCoreSomaxconn": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.somaxconn."
+ },
+ "netCoreNetdevMaxBacklog": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.netdev_max_backlog."
+ },
+ "netCoreRmemDefault": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.rmem_default."
+ },
+ "netCoreRmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.rmem_max."
+ },
+ "netCoreWmemDefault": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.wmem_default."
+ },
+ "netCoreWmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.wmem_max."
+ },
+ "netCoreOptmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.optmem_max."
+ },
+ "netIpv4TcpMaxSynBacklog": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_max_syn_backlog."
+ },
+ "netIpv4TcpMaxTwBuckets": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_max_tw_buckets."
+ },
+ "netIpv4TcpFinTimeout": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_fin_timeout."
+ },
+ "netIpv4TcpKeepaliveTime": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_time."
+ },
+ "netIpv4TcpKeepaliveProbes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_probes."
+ },
+ "netIpv4TcpkeepaliveIntvl": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_intvl."
+ },
+ "netIpv4TcpTwReuse": {
+ "type": "boolean",
+ "description": "Sysctl setting net.ipv4.tcp_tw_reuse."
+ },
+ "netIpv4IpLocalPortRange": {
+ "type": "string",
+ "description": "Sysctl setting net.ipv4.ip_local_port_range."
+ },
+ "netIpv4NeighDefaultGcThresh1": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh1."
+ },
+ "netIpv4NeighDefaultGcThresh2": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh2."
+ },
+ "netIpv4NeighDefaultGcThresh3": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh3."
+ },
+ "netNetfilterNfConntrackMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.netfilter.nf_conntrack_max."
+ },
+ "netNetfilterNfConntrackBuckets": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.netfilter.nf_conntrack_buckets."
+ },
+ "fsInotifyMaxUserWatches": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.inotify.max_user_watches."
+ },
+ "fsFileMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.file-max."
+ },
+ "fsAioMaxNr": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.aio-max-nr."
+ },
+ "fsNrOpen": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.nr_open."
+ },
+ "kernelThreadsMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting kernel.threads-max."
+ },
+ "vmMaxMapCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.max_map_count."
+ },
+ "vmSwappiness": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.swappiness."
+ },
+ "vmVfsCachePressure": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.vfs_cache_pressure."
+ }
+ }
+ },
+ "ManagedClusterHTTPProxyConfig": {
+ "description": "Cluster HTTP proxy configuration.",
+ "type": "object",
+ "properties": {
+ "httpProxy": {
+ "type": "string",
+ "description": "The HTTP proxy server endpoint to use."
+ },
+ "httpsProxy": {
+ "type": "string",
+ "description": "The HTTPS proxy server endpoint to use."
+ },
+ "noProxy": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The endpoints that should not go through proxy."
+ },
+ "trustedCa": {
+ "type": "string",
+ "description": "Alternative CA cert to use for connecting to proxy servers."
+ }
+ }
+ },
+ "GPUInstanceProfile": {
+ "type": "string",
+ "enum": [
+ "MIG1g",
+ "MIG2g",
+ "MIG3g",
+ "MIG4g",
+ "MIG7g"
+ ],
+ "x-ms-enum": {
+ "name": "GPUInstanceProfile ",
+ "modelAsString": true
+ },
+ "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU."
+ },
+ "ExtendedLocationType": {
+ "type": "string",
+ "description": "The type of extendedLocation.",
+ "enum": [
+ "EdgeZone"
+ ],
+ "x-ms-enum": {
+ "name": "ExtendedLocationTypes",
+ "modelAsString": true
+ }
+ },
+ "ExtendedLocation": {
+ "description": "The complex type of the extended location.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the extended location."
+ },
+ "type": {
+ "$ref": "#/definitions/ExtendedLocationType",
+ "description": "The type of the extended location."
+ }
+ }
+ },
+ "OSOptionProperty": {
+ "properties": {
+ "os-type": {
+ "type": "string",
+ "description": "The OS type."
+ },
+ "enable-fips-image": {
+ "type": "boolean",
+ "description": "Whether the image is FIPS-enabled."
+ }
+ },
+ "required": [
+ "os-type",
+ "enable-fips-image"
+ ],
+ "description": "OS option property."
+ },
+ "OSOptionPropertyList": {
+ "properties": {
+ "osOptionPropertyList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OSOptionProperty"
+ },
+ "description": "The list of OS options."
+ }
+ },
+ "required": [
+ "osOptionPropertyList"
+ ],
+ "description": "The list of OS option properties."
+ },
+ "OSOptionProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the OS option resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the OS option resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the OS option resource."
+ },
+ "properties": {
+ "$ref": "#/definitions/OSOptionPropertyList",
+ "description": "The list of OS options.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The OS option profile."
+ },
+ "EndpointDependency": {
+ "description": "A domain name that AKS agent nodes are reaching at.",
+ "type": "object",
+ "properties": {
+ "domainName": {
+ "description": "The domain name of the dependency.",
+ "type": "string"
+ },
+ "endpointDetails": {
+ "description": "The Ports and Protocols used when connecting to domainName.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointDetail"
+ }
+ }
+ }
+ },
+ "EndpointDetail": {
+ "description": "connect information from the AKS agent nodes to a single endpoint.",
+ "type": "object",
+ "properties": {
+ "ipAddress": {
+ "description": "An IP Address that Domain Name currently resolves to.",
+ "type": "string"
+ },
+ "port": {
+ "format": "int32",
+ "description": "The port an endpoint is connected to.",
+ "type": "integer"
+ },
+ "protocol": {
+ "description": "The protocol used for connection",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the detail",
+ "type": "string"
+ }
+ }
+ },
+ "OutboundEnvironmentEndpoint": {
+ "description": "Egress endpoints which AKS agent nodes connect to for common purpose.",
+ "type": "object",
+ "properties": {
+ "category": {
+ "description": "The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc.",
+ "type": "string"
+ },
+ "endpoints": {
+ "description": "The endpoints that AKS agent nodes connect to",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointDependency"
+ }
+ }
+ }
+ },
+ "OutboundEnvironmentEndpointCollection": {
+ "description": "Collection of OutboundEnvironmentEndpoint",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutboundEnvironmentEndpoint"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ManagedClusterSecurityProfile": {
+ "type": "object",
+ "properties": {
+ "azureDefender": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfileAzureDefender",
+ "description": "Azure Defender settings for the security profile."
+ }
+ },
+ "description": "Security profile for the container service cluster."
+ },
+ "ManagedClusterSecurityProfileAzureDefender": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable Azure Defender"
+ },
+ "logAnalyticsWorkspaceResourceId": {
+ "type": "string",
+ "description": "Resource ID of the Log Analytics workspace to be associated with Azure Defender. When Azure Defender is enabled, this field is required and must be a valid workspace resource ID. When Azure Defender is disabled, leave the field empty."
+ }
+ },
+ "description": "Azure Defender settings for the security profile."
+ },
+ "CreationData": {
+ "description": "Data used when creating a target resource from a source resource.",
+ "type": "object",
+ "properties": {
+ "sourceResourceId": {
+ "type": "string",
+ "description": "This is the ARM ID of the source object to be used to create the target object."
+ }
+ }
+ },
+ "SnapshotListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Snapshot"
+ },
+ "description": "The list of snapshots."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of snapshot results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Snapshots operation."
+ },
+ "Snapshot": {
+ "type": "object",
+ "properties": {
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "readOnly": true,
+ "description": "The system metadata relating to this snapshot."
+ },
+ "properties": {
+ "description": "Properties of a snapshot.",
+ "$ref": "#/definitions/SnapshotProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "A node pool snapshot resource."
+ },
+ "SnapshotProperties": {
+ "type": "object",
+ "properties": {
+ "creationData": {
+ "$ref": "#/definitions/CreationData",
+ "description": "CreationData to be used to specify the source agent pool resource ID to create this snapshot."
+ },
+ "snapshotType": {
+ "$ref": "#/definitions/SnapshotType"
+ },
+ "kubernetesVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The version of Kubernetes."
+ },
+ "nodeImageVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The version of node image."
+ },
+ "osType": {
+ "readOnly": true,
+ "$ref": "#/definitions/OSType"
+ },
+ "osSku": {
+ "readOnly": true,
+ "$ref": "#/definitions/OSSKU"
+ },
+ "vmSize": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The size of the VM."
+ },
+ "enableFIPS": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "Whether to use a FIPS-enabled OS."
+ }
+ },
+ "description": "Properties used to configure a node pool snapshot."
+ },
+ "SnapshotType": {
+ "type": "string",
+ "default": "NodePool",
+ "enum": [
+ "NodePool"
+ ],
+ "x-ms-enum": {
+ "name": "SnapshotType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "NodePool",
+ "description": "The snapshot is a snapshot of a node pool."
+ }
+ ]
+ },
+ "description": "The type of a snapshot. The default is NodePool."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "The name of the managed cluster resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "LocationParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceTypeParameter": {
+ "name": "resource-type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The resource type for which the OS options needs to be returned",
+ "x-ms-parameter-location": "method"
+ },
+ "ServerFqdnParameter": {
+ "name": "server-fqdn",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "server fqdn type for credentials to be returned",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_CustomNodeConfig.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_CustomNodeConfig.json
new file mode 100644
index 000000000000..7b1e1d76f9fe
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_CustomNodeConfig.json
@@ -0,0 +1,122 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json
new file mode 100644
index 000000000000..c33a61fee37d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_EnableEncryptionAtHost.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/AgentPoolsCreate_EnableFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_EnableFIPS.json
new file mode 100644
index 000000000000..0147b500eecf
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_EnableFIPS.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/AgentPoolsCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_EnableUltraSSD.json
new file mode 100644
index 000000000000..3f49a5773f54
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_EnableUltraSSD.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Ephemeral.json
new file mode 100644
index 000000000000..f12e61113167
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Ephemeral.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/AgentPoolsCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_GPUMIG.json
new file mode 100644
index 000000000000..2dc36794fa5a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_GPUMIG.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/AgentPoolsCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_OSSKU.json
new file mode 100644
index 000000000000..3a111b6c4709
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_OSSKU.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_PPG.json
new file mode 100644
index 000000000000..cd8078a19f2e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_PPG.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/AgentPoolsCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Snapshot.json
new file mode 100644
index 000000000000..d0ed774167c4
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Snapshot.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "enableFIPS": true,
+ "creationData": {
+ "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1"
+ }
+ }
+ }
+ },
+ "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,
+ "creationData": {
+ "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1"
+ }
+ }
+ }
+ },
+ "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,
+ "creationData": {
+ "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Spot.json
new file mode 100644
index 000000000000..f86ffd7f57b1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Spot.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Update.json
new file mode 100644
index 000000000000..39a06eb4fee7
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_Update.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/AgentPoolsCreate_WasmWasi.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_WasmWasi.json
new file mode 100644
index 000000000000..824453c2846e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsCreate_WasmWasi.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "orchestratorVersion": "",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "osDiskSizeGB": 64,
+ "mode": "User",
+ "workloadRuntime": "WasmWasi"
+ }
+ }
+ },
+ "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",
+ "osDiskSizeGB": 64,
+ "mode": "User",
+ "workloadRuntime": "WasmWasi"
+ }
+ }
+ },
+ "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",
+ "osDiskSizeGB": 64,
+ "mode": "User",
+ "workloadRuntime": "WasmWasi"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsDelete.json
new file mode 100644
index 000000000000..ed71561871e7
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsGet.json
new file mode 100644
index 000000000000..bd4066a2285f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
new file mode 100644
index 000000000000..879b58f684cf
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsGetUpgradeProfile.json
new file mode 100644
index 000000000000..320ff9052abc
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsGetUpgradeProfile.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsList.json
new file mode 100644
index 000000000000..d63fc87e64d8
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsUpgradeNodeImageVersion.json
new file mode 100644
index 000000000000..6c9ca555df87
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPoolsUpgradeNodeImageVersion.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.ContainerService/locations/westus/operations/00000000-0000-0000-0000-000000000000?api-version=2018-07-31"
+ },
+ "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-10-01/examples/AgentPools_Start.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPools_Start.json
new file mode 100644
index 000000000000..77e67a779442
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPools_Start.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "powerState": {
+ "code": "Running"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Starting",
+ "count": 50,
+ "enableAutoScaling": true,
+ "minCount": 3,
+ "maxCount": 55,
+ "powerState": {
+ "code": "Running"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Starting",
+ "count": 50,
+ "enableAutoScaling": true,
+ "minCount": 3,
+ "maxCount": 55,
+ "powerState": {
+ "code": "Running"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPools_Stop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPools_Stop.json
new file mode 100644
index 000000000000..a93fd173160a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPools_Stop.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1",
+ "parameters": {
+ "properties": {
+ "powerState": {
+ "code": "Stopped"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Stopping",
+ "count": 0,
+ "enableAutoScaling": false,
+ "minCount": null,
+ "maxCount": null,
+ "powerState": {
+ "code": "Stopped"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1",
+ "type": "Microsoft.ContainerService/managedClusters/agentPools",
+ "name": "agentpool1",
+ "properties": {
+ "provisioningState": "Stopping",
+ "count": 0,
+ "enableAutoScaling": false,
+ "minCount": null,
+ "maxCount": null,
+ "powerState": {
+ "code": "Stopped"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPools_Update.json
new file mode 100644
index 000000000000..5b9a6fa36127
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/AgentPools_Update.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ContainerServiceGetOSOptions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ContainerServiceGetOSOptions.json
new file mode 100644
index 000000000000..8fcfa7a52a44
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ContainerServiceGetOSOptions.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/MaintenanceConfigurationsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsCreate_Update.json
new file mode 100644
index 000000000000..6b5c64e6a43f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsCreate_Update.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/MaintenanceConfigurationsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsDelete.json
new file mode 100644
index 000000000000..78fd53edab5b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "configName": "default"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsGet.json
new file mode 100644
index 000000000000..dc23f5ffd756
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/MaintenanceConfigurationsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsList.json
new file mode 100644
index 000000000000..87bd51ec9be5
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/MaintenanceConfigurationsList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ManagedClustersCreate_DisableRunCommand.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_DisableRunCommand.json
new file mode 100644
index 000000000000..2ba5654dac6a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_DisableRunCommand.json
@@ -0,0 +1,263 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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": {
+ "disableRunCommand": 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": {
+ "disableRunCommand": true
+ },
+ "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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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": {
+ "disableRunCommand": true
+ },
+ "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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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-10-01/examples/ManagedClustersCreate_DualStackNetworking.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_DualStackNetworking.json
new file mode 100644
index 000000000000..73da212235a4
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_DualStackNetworking.json
@@ -0,0 +1,321 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "scaleDownMode": "Deallocate",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ },
+ "ipFamilies": [
+ "IPv4",
+ "IPv6"
+ ]
+ },
+ "autoScalerProfile": {
+ "balance-similar-node-groups": "true",
+ "expander": "priority",
+ "max-node-provision-time": "15m",
+ "new-pod-scale-up-delay": "1m",
+ "scale-down-delay-after-add": "15m",
+ "scan-interval": "20s",
+ "skip-nodes-with-system-pods": "false"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "scaleDownMode": "Deallocate",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16",
+ "fd11:1234::/64"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16",
+ "fd00:1234::/108"
+ ],
+ "ipFamilies": [
+ "IPv4",
+ "IPv6"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2,
+ "countIPv6": 1
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "balance-similar-node-groups": "true",
+ "expander": "priority",
+ "max-node-provision-time": "15m",
+ "new-pod-scale-up-delay": "1m",
+ "scale-down-delay-after-add": "15m",
+ "scan-interval": "20s",
+ "skip-nodes-with-system-pods": "false"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "scaleDownMode": "Deallocate",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16",
+ "fd11:1234::/64"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16",
+ "fd00:1234::/108"
+ ],
+ "ipFamilies": [
+ "IPv4",
+ "IPv6"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2,
+ "countIPv6": 1
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip3-ipv6"
+ }
+ ]
+ }
+ },
+ "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-10-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json
new file mode 100644
index 000000000000..11a75bbe5072
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_EnableEncryptionAtHost.json
@@ -0,0 +1,254 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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-10-01/examples/ManagedClustersCreate_EnableUltraSSD.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_EnableUltraSSD.json
new file mode 100644
index 000000000000..988b683c881d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_EnableUltraSSD.json
@@ -0,0 +1,254 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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-10-01/examples/ManagedClustersCreate_EnabledFIPS.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_EnabledFIPS.json
new file mode 100644
index 000000000000..31f35f54c2d6
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_EnabledFIPS.json
@@ -0,0 +1,254 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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-10-01/examples/ManagedClustersCreate_GPUMIG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_GPUMIG.json
new file mode 100644
index 000000000000..89c33e8d50cb
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_GPUMIG.json
@@ -0,0 +1,281 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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-10-01/examples/ManagedClustersCreate_HTTPProxy.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_HTTPProxy.json
new file mode 100644
index 000000000000..a05dfcc21d14
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_HTTPProxy.json
@@ -0,0 +1,278 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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-10-01/examples/ManagedClustersCreate_ManagedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_ManagedNATGateway.json
new file mode 100644
index 000000000000..b6f79ad16563
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_ManagedNATGateway.json
@@ -0,0 +1,231 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": false,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "managedNATGateway",
+ "natGatewayProfile": {
+ "managedOutboundIPProfile": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": false,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "managedNATGateway",
+ "natGatewayProfile": {
+ "idleTimeoutInMinutes": 4,
+ "managedOutboundIPProfile": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": false,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "managedNATGateway",
+ "natGatewayProfile": {
+ "idleTimeoutInMinutes": 4,
+ "managedOutboundIPProfile": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json
new file mode 100644
index 000000000000..fd97c4ff6946
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_NodePublicIPPrefix.json
@@ -0,0 +1,254 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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-10-01/examples/ManagedClustersCreate_OSSKU.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_OSSKU.json
new file mode 100644
index 000000000000..d7f65421539d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_OSSKU.json
@@ -0,0 +1,281 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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-10-01/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PPG.json
new file mode 100644
index 000000000000..055641b73cf0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PPG.json
@@ -0,0 +1,254 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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-10-01/examples/ManagedClustersCreate_PodIdentity.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PodIdentity.json
new file mode 100644
index 000000000000..0c8a0cfbe7d7
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PodIdentity.json
@@ -0,0 +1,263 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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-10-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json
new file mode 100644
index 000000000000..5c1586947857
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json
@@ -0,0 +1,264 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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-10-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json
new file mode 100644
index 000000000000..b15fbcad32c4
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json
@@ -0,0 +1,268 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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-10-01/examples/ManagedClustersCreate_SecurityProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_SecurityProfile.json
new file mode 100644
index 000000000000..db4a17c6b1ba
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_SecurityProfile.json
@@ -0,0 +1,245 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "securityProfile": {
+ "azureDefender": {
+ "enabled": true,
+ "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "securityProfile": {
+ "azureDefender": {
+ "enabled": true,
+ "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "securityProfile": {
+ "azureDefender": {
+ "enabled": true,
+ "logAnalyticsWorkspaceResourceId": "/subscriptions/SUB_ID/resourcegroups/RG_NAME/providers/microsoft.operationalinsights/workspaces/WORKSPACE_NAME"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_Snapshot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_Snapshot.json
new file mode 100644
index 000000000000..cac858b75a03
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_Snapshot.json
@@ -0,0 +1,263 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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,
+ "creationData": {
+ "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1"
+ }
+ }
+ ],
+ "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,
+ "creationData": {
+ "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1"
+ }
+ }
+ ],
+ "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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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,
+ "creationData": {
+ "sourceResourceId": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1"
+ }
+ }
+ ],
+ "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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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-10-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_Update.json
new file mode 100644
index 000000000000..695afba83b14
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_Update.json
@@ -0,0 +1,303 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "scaleDownMode": "Deallocate",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "managedOutboundIPs": {
+ "count": 2
+ }
+ }
+ },
+ "autoScalerProfile": {
+ "balance-similar-node-groups": "true",
+ "expander": "priority",
+ "max-node-provision-time": "15m",
+ "new-pod-scale-up-delay": "1m",
+ "scale-down-delay-after-add": "15m",
+ "scan-interval": "20s",
+ "skip-nodes-with-system-pods": "false"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "scaleDownMode": "Deallocate",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "autoScalerProfile": {
+ "balance-similar-node-groups": "true",
+ "expander": "priority",
+ "max-node-provision-time": "15m",
+ "new-pod-scale-up-delay": "1m",
+ "scale-down-delay-after-add": "15m",
+ "scan-interval": "20s",
+ "skip-nodes-with-system-pods": "false"
+ }
+ },
+ "identity": {
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/subid1/resourceGroups/rgName1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {
+ "principalId": "principalId1",
+ "clientId": "clientId1"
+ }
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "scaleDownMode": "Deallocate",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "enableNodePublicIP": true,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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-10-01/examples/ManagedClustersCreate_UpdateWindowsGmsa.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UpdateWindowsGmsa.json
new file mode 100644
index 000000000000..22ce63870d4f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UpdateWindowsGmsa.json
@@ -0,0 +1,299 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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$",
+ "gmsaProfile": {
+ "enabled": true
+ }
+ },
+ "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",
+ "gmsaProfile": {
+ "enabled": true
+ }
+ },
+ "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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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",
+ "gmsaProfile": {
+ "enabled": true
+ }
+ },
+ "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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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-10-01/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UpdateWithAHUB.json
new file mode 100644
index 000000000000..835f8fe92ddc
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UpdateWithAHUB.json
@@ -0,0 +1,293 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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-10-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
new file mode 100644
index 000000000000..d16135d687e1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
@@ -0,0 +1,282 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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-10-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json
new file mode 100644
index 000000000000..91840aa314bd
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersCreate_UserAssignedNATGateway.json
@@ -0,0 +1,198 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "location": "location1",
+ "tags": {
+ "tier": "production",
+ "archv2": ""
+ },
+ "sku": {
+ "name": "Basic",
+ "tier": "Free"
+ },
+ "properties": {
+ "kubernetesVersion": "",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "osType": "Linux",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": false,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "networkProfile": {
+ "loadBalancerSku": "standard",
+ "outboundType": "userAssignedNATGateway"
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser",
+ "adminPassword": "replacePassword1234$"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid",
+ "secret": "secret"
+ },
+ "addonProfiles": {},
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": false,
+ "mode": "System",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "userAssignedNATGateway"
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Creating",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS2_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Creating",
+ "orchestratorVersion": "1.9.6",
+ "type": "VirtualMachineScaleSets",
+ "enableNodePublicIP": false,
+ "mode": "System"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "windowsProfile": {
+ "adminUsername": "azureuser"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "userAssignedNATGateway"
+ },
+ "autoScalerProfile": {
+ "scan-interval": "20s",
+ "scale-down-delay-after-add": "15m"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersDelete.json
new file mode 100644
index 000000000000..4cf574fcfea2
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersGet.json
new file mode 100644
index 000000000000..a8577fc2e834
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersGet.json
@@ -0,0 +1,106 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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",
+ "podCidrs": [
+ "10.244.0.0/16"
+ ],
+ "serviceCidrs": [
+ "10.0.0.0/16"
+ ],
+ "ipFamilies": [
+ "IPv4"
+ ],
+ "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-10-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersGetAccessProfile.json
new file mode 100644
index 000000000000..788b1db431cd
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersGetAccessProfile.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersGetUpgradeProfile.json
new file mode 100644
index 000000000000..64f931a64b19
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersGetUpgradeProfile.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersList.json
new file mode 100644
index 000000000000..f3f6f3f2246f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersList.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersListByResourceGroup.json
new file mode 100644
index 000000000000..2fa02ef6dbfc
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersListByResourceGroup.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersListClusterCredentialResult.json
new file mode 100644
index 000000000000..a653488b6380
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersListClusterCredentialResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersResetAADProfile.json
new file mode 100644
index 000000000000..72a4d8dd28d1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersResetAADProfile.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersResetServicePrincipalProfile.json
new file mode 100644
index 000000000000..1feb08cd1873
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersResetServicePrincipalProfile.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersRotateClusterCertificates.json
new file mode 100644
index 000000000000..4cf574fcfea2
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersRotateClusterCertificates.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersStart.json
new file mode 100644
index 000000000000..4cf574fcfea2
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersStop.json
new file mode 100644
index 000000000000..4cf574fcfea2
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersUpdateTags.json
new file mode 100644
index 000000000000..e6d72083443d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ManagedClustersUpdateTags.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/Operation_List.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/Operation_List.json
new file mode 100644
index 000000000000..e65d77a80f0d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/Operation_List.json
@@ -0,0 +1,3583 @@
+{
+ "parameters": {
+ "api-version": "2018-10-31"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "display": {
+ "description": "Gets the status of an asynchronous operation",
+ "operation": "Get Operation",
+ "provider": "Microsoft Container Service",
+ "resource": "Operation"
+ },
+ "name": "Microsoft.ContainerService/locations/operations/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Lists the supported orchestrators",
+ "operation": "List Orchestrators",
+ "provider": "Microsoft Container Service",
+ "resource": "Orchestrator"
+ },
+ "name": "Microsoft.ContainerService/locations/orchestrators/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets OS options",
+ "operation": "Get OS Options",
+ "provider": "Microsoft Container Service",
+ "resource": "OSOptions"
+ },
+ "name": "Microsoft.ContainerService/locations/osOptions/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Lists operations available on Microsoft.ContainerService resource provider",
+ "operation": "List Available Container Service Operations",
+ "provider": "Microsoft Container Service",
+ "resource": "Available Container Service Operations"
+ },
+ "name": "Microsoft.ContainerService/operations/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Registers Subscription with Microsoft.ContainerService resource provider",
+ "operation": "Register Subscription for Container Service",
+ "provider": "Microsoft Container Service",
+ "resource": "Container Service Register Subscription"
+ },
+ "name": "Microsoft.ContainerService/register/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Unregisters Subscription with Microsoft.ContainerService resource provider",
+ "operation": "Unregister Subscription for Container Service",
+ "provider": "Microsoft Container Service",
+ "resource": "Container Service Unregister Subscription"
+ },
+ "name": "Microsoft.ContainerService/unregister/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets the status of an asynchronous operation result",
+ "operation": "Get Operation Result",
+ "provider": "Microsoft Container Service",
+ "resource": "OperationResult"
+ },
+ "name": "Microsoft.ContainerService/locations/operationresults/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Get a container service",
+ "operation": "Get Container Service",
+ "provider": "Microsoft Container Service",
+ "resource": "Container Services"
+ },
+ "name": "Microsoft.ContainerService/containerServices/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Creates a new container service or updates an existing one",
+ "operation": "Create or Update Container Service",
+ "provider": "Microsoft Container Service",
+ "resource": "Container Services"
+ },
+ "name": "Microsoft.ContainerService/containerServices/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes a container service",
+ "operation": "Delete Container Service",
+ "provider": "Microsoft Container Service",
+ "resource": "Container Services"
+ },
+ "name": "Microsoft.ContainerService/containerServices/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Get a managed cluster",
+ "operation": "Get Managed Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Creates a new managed cluster or updates an existing one",
+ "operation": "Create or Update Managed Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes a managed cluster",
+ "operation": "Delete Managed Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Starts a managed cluster",
+ "operation": "Start Managed Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/start/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Stops a managed cluster",
+ "operation": "Stop Managed Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/stop/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets a maintenance configuration",
+ "operation": "Get a maintenance configuration",
+ "provider": "Microsoft Container Service",
+ "resource": "Maintenance Configurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Creates a new MaintenanceConfiguration or updates an existing one",
+ "operation": "Create or Update maintenance configuratio",
+ "provider": "Microsoft Container Service",
+ "resource": "Maintenance Configurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes a maintenance configuration",
+ "operation": "Delete Maintenance Configuration",
+ "provider": "Microsoft Container Service",
+ "resource": "Maintenance Configurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/maintenanceConfigurations/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets an agent pool",
+ "operation": "Get Agent Pool",
+ "provider": "Microsoft Container Service",
+ "resource": "Agent Pools"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/agentPools/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Creates a new agent pool or updates an existing one",
+ "operation": "Create or Update Agent Pool",
+ "provider": "Microsoft Container Service",
+ "resource": "Agent Pools"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/agentPools/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes an agent pool",
+ "operation": "Delete Agent Pool",
+ "provider": "Microsoft Container Service",
+ "resource": "Agent Pools"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/agentPools/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets the upgrade profile of the Agent Pool",
+ "operation": "Get Agent Pool UpgradeProfile",
+ "provider": "Microsoft Container Service",
+ "resource": "Agent Pools"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Upgrade the node image version of agent pool",
+ "operation": "Upgrade agent pool node image version",
+ "provider": "Microsoft Container Service",
+ "resource": "Agent Pools"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/agentPools/upgradeNodeImageVersion/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets the available agent pool versions of the cluster",
+ "operation": "Get Available Agent Pool Versions",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/availableAgentPoolVersions/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Get a managed cluster access profile by role name",
+ "operation": "Get Managed Cluster AccessProfile",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/accessProfiles/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Get a managed cluster access profile by role name using list credential",
+ "operation": "Get Managed Cluster AccessProfile by List Credential",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/accessProfiles/listCredential/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets the upgrade profile of the cluster",
+ "operation": "Get UpgradeProfile",
+ "provider": "Microsoft Container Service",
+ "resource": "UpgradeProfile"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/upgradeProfiles/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "List the clusterAdmin credential of a managed cluster",
+ "operation": "List clusterAdmin credential",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/listClusterAdminCredential/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "List the clusterUser credential of a managed cluster",
+ "operation": "List clusterUser credential",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/listClusterUserCredential/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "List the clusterMonitoringUser credential of a managed cluster",
+ "operation": "List clusterMonitoringUser credential",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/listClusterMonitoringUserCredential/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reset the service principal profile of a managed cluster",
+ "operation": "Reset service principal profile",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/resetServicePrincipalProfile/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Resolve the private link service id of a managed cluster",
+ "operation": "Resolve private link service id",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/resolvePrivateLinkServiceId/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reset the AAD profile of a managed cluster",
+ "operation": "Reset AAD profile",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/resetAADProfile/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Rotate certificates of a managed cluster",
+ "operation": "Rotate certificates of the cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rotateClusterCertificates/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Run user issued command against managed kubernetes server.",
+ "operation": "RunCommand",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/runCommand/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Retrieve result from previous issued command.",
+ "operation": "CommandResult",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/commandResults/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Get the diagnostic setting for a managed cluster resource",
+ "operation": "Read Diagnostic Setting",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/read",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Creates or updates the diagnostic setting for a managed cluster resource",
+ "operation": "Write Diagnostic Setting",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Clusters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/diagnosticSettings/write",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Get Managed Cluster Detector",
+ "operation": "Get Managed Cluster Detector",
+ "provider": "Microsoft Container Service",
+ "resource": "Managed Cluster Detector"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/detectors/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets the diagnostics state of the cluster",
+ "operation": "Get Diagnostics State",
+ "provider": "Microsoft Container Service",
+ "resource": "Diagnostics State"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/diagnosticsState/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Determines if user is allowed to approve a private endpoint connection",
+ "operation": "Approve Private Endpoint Connections",
+ "provider": "Microsoft Container Service",
+ "resource": "Approve Private Endpoint Connections"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnectionsApproval/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Get private endpoint connection",
+ "operation": "Get private endpoint connection",
+ "provider": "Microsoft Container Service",
+ "resource": "Private Endpoint Connections"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Approve or Reject a private endpoint connection",
+ "operation": "Update private endpoint connection",
+ "provider": "Microsoft Container Service",
+ "resource": "Private Endpoint Connections"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Delete private endpoint connection",
+ "operation": "Delete private endpoint connection",
+ "provider": "Microsoft Container Service",
+ "resource": "Private Endpoint Connections"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/privateEndpointConnections/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets an extension addon",
+ "operation": "Get an extension addon",
+ "provider": "Microsoft Container Service",
+ "resource": "ExtensionAddons"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensionaddons/read",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Creates a new extension addon or updates an existing one",
+ "operation": "Create or Update extension addon",
+ "provider": "Microsoft Container Service",
+ "resource": "ExtensionAddons"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensionaddons/write",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Deletes an extension addon",
+ "operation": "Delete an extension addon",
+ "provider": "Microsoft Container Service",
+ "resource": "ExtensionAddons"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensionaddons/delete",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Get a snapshot",
+ "operation": "Get Snapshot",
+ "provider": "Microsoft Container Service",
+ "resource": "Snapshots"
+ },
+ "name": "Microsoft.ContainerService/snapshots/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Creates a new snapshot",
+ "operation": "Create Snapshot",
+ "provider": "Microsoft Container Service",
+ "resource": "Snapshots"
+ },
+ "name": "Microsoft.ContainerService/snapshots/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes a snapshot",
+ "operation": "Delete Snapshot",
+ "provider": "Microsoft Container Service",
+ "resource": "Snapshots"
+ },
+ "name": "Microsoft.ContainerService/snapshots/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Get eventgrid filter",
+ "operation": "Get eventgrid filter",
+ "provider": "Microsoft Container Service",
+ "resource": "EventGridFilters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/read",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Create or Update eventgrid filter",
+ "operation": "Create or Update eventgrid filter",
+ "provider": "Microsoft Container Service",
+ "resource": "EventGridFilters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/write",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Delete an eventgrid filter",
+ "operation": "Delete an eventgrid filter",
+ "provider": "Microsoft Container Service",
+ "resource": "EventGridFilters"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/eventGridFilters/delete",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Reads initializerconfigurations",
+ "operation": "Gets/List initializerconfigurations resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Initializerconfigurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes initializerconfigurations",
+ "operation": "Creates/Updates initializerconfigurations resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Initializerconfigurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes/DeletesCollection initializerconfigurations resource",
+ "operation": "Initializerconfigurations",
+ "provider": "Microsoft Container Service",
+ "resource": "Initializerconfigurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/initializerconfigurations/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads mutatingwebhookconfigurations",
+ "operation": "Gets/List mutatingwebhookconfigurations resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Mutatingwebhookconfigurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes mutatingwebhookconfigurations",
+ "operation": "Creates/Updates mutatingwebhookconfigurations resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Mutatingwebhookconfigurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes mutatingwebhookconfigurations",
+ "operation": "Deletes/DeletesCollection mutatingwebhookconfigurations resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Mutatingwebhookconfigurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/mutatingwebhookconfigurations/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads validatingwebhookconfigurations",
+ "operation": "Gets/List validatingwebhookconfigurations resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Validatingwebhookconfigurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes validatingwebhookconfigurations",
+ "operation": "Creates/Updates validatingwebhookconfigurations resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Validatingwebhookconfigurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes validatingwebhookconfigurations",
+ "operation": "Deletes/DeletesCollection validatingwebhookconfigurations resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Validatingwebhookconfigurations"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/admissionregistration.k8s.io/validatingwebhookconfigurations/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads customresourcedefinitions",
+ "operation": "Gets/List customresourcedefinitions resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Customresourcedefinitions"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes customresourcedefinitions",
+ "operation": "Creates/Updates customresourcedefinitions resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Customresourcedefinitions"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes customresourcedefinitions",
+ "operation": "Deletes/DeletesCollection customresourcedefinitions resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Customresourcedefinitions"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apiextensions.k8s.io/customresourcedefinitions/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservices",
+ "operation": "Gets/List apiservices resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apiservices"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes apiservices",
+ "operation": "Creates/Updates apiservices resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apiservices"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes apiservices",
+ "operation": "Deletes/DeletesCollection apiservices resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apiservices"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apiregistration.k8s.io/apiservices/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads controllerrevisions",
+ "operation": "Gets/List controllerrevisions resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Controllerrevisions"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes controllerrevisions",
+ "operation": "Creates/Updates controllerrevisions resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Controllerrevisions"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes controllerrevisions",
+ "operation": "Deletes/DeletesCollection controllerrevisions resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Controllerrevisions"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/controllerrevisions/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads daemonsets",
+ "operation": "Gets/List daemonsets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Daemonsets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes daemonsets",
+ "operation": "Creates/Updates daemonsets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Daemonsets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes daemonsets",
+ "operation": "Deletes/DeletesCollection daemonsets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Daemonsets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/daemonsets/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads deployments",
+ "operation": "Gets/List deployments resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Deployments"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/deployments/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes deployments",
+ "operation": "Creates/Updates deployments resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Deployments"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/deployments/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes deployments",
+ "operation": "Deletes/DeletesCollection deployments resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Deployments"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/deployments/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads replicasets",
+ "operation": "Gets/List replicasets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Replicasets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes replicasets",
+ "operation": "Creates/Updates replicasets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Replicasets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes replicasets",
+ "operation": "Deletes/DeletesCollection replicasets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Replicasets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/replicasets/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads statefulsets",
+ "operation": "Gets/List statefulsets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Statefulsets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes statefulsets",
+ "operation": "Creates/Updates statefulsets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Statefulsets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes statefulsets",
+ "operation": "Deletes/DeletesCollection statefulsets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Statefulsets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apps/statefulsets/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes tokenreviews",
+ "operation": "Creates/Updates tokenreviews resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Tokenreviews"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/tokenreviews/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes localsubjectaccessreviews",
+ "operation": "Creates/Updates localsubjectaccessreviews resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Localsubjectaccessreviews"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/localsubjectaccessreviews/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes selfsubjectaccessreviews",
+ "operation": "Creates/Updates selfsubjectaccessreviews resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Selfsubjectaccessreviews"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectaccessreviews/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes selfsubjectrulesreviews",
+ "operation": "Creates/Updates selfsubjectrulesreviews resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Selfsubjectrulesreviews"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/selfsubjectrulesreviews/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes subjectaccessreviews",
+ "operation": "Creates/Updates subjectaccessreviews resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Subjectaccessreviews"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/authorization.k8s.io/subjectaccessreviews/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads horizontalpodautoscalers",
+ "operation": "Gets/List horizontalpodautoscalers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Horizontalpodautoscalers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes horizontalpodautoscalers",
+ "operation": "Creates/Updates horizontalpodautoscalers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Horizontalpodautoscalers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes horizontalpodautoscalers",
+ "operation": "Deletes/DeletesCollection horizontalpodautoscalers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Horizontalpodautoscalers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/autoscaling/horizontalpodautoscalers/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads cronjobs",
+ "operation": "Gets/List cronjobs resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Cronjobs"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes cronjobs",
+ "operation": "Creates/Updates cronjobs resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Cronjobs"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes cronjobs",
+ "operation": "Deletes/DeletesCollection cronjobs resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Cronjobs"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/batch/cronjobs/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads jobs",
+ "operation": "Gets/List jobs resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Jobs"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/batch/jobs/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes jobs",
+ "operation": "Creates/Updates jobs resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Jobs"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/batch/jobs/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes jobs",
+ "operation": "Deletes/DeletesCollection jobs resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Jobs"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/batch/jobs/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads certificatesigningrequests",
+ "operation": "Gets/List certificatesigningrequests resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Certificatesigningrequests"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes certificatesigningrequests",
+ "operation": "Creates/Updates certificatesigningrequests resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Certificatesigningrequests"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes certificatesigningrequests",
+ "operation": "Deletes/DeletesCollection certificatesigningrequests resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Certificatesigningrequests"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/certificates.k8s.io/certificatesigningrequests/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads leases",
+ "operation": "Gets/List leases resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Leases"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes leases",
+ "operation": "Creates/Updates leases resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Leases"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes leases",
+ "operation": "Deletes/DeletesCollection leases resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Leases"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/coordination.k8s.io/leases/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes bindings",
+ "operation": "Creates/Updates bindings resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Bindings"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/bindings/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads componentstatuses",
+ "operation": "Gets/List componentstatuses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Componentstatuses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/componentstatuses/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes componentstatuses",
+ "operation": "Creates/Updates componentstatuses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Componentstatuses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/componentstatuses/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes componentstatuses",
+ "operation": "Deletes/DeletesCollection componentstatuses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Componentstatuses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/componentstatuses/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads configmaps",
+ "operation": "Gets/List configmaps resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Configmaps"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/configmaps/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes configmaps",
+ "operation": "Creates/Updates configmaps resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Configmaps"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/configmaps/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes configmaps",
+ "operation": "Deletes/DeletesCollection configmaps resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Configmaps"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/configmaps/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads endpoints",
+ "operation": "Gets/List endpoints resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Endpoints"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/endpoints/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes endpoints",
+ "operation": "Creates/Updates endpoints resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Endpoints"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/endpoints/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes endpoints",
+ "operation": "Deletes/DeletesCollection endpoints resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Endpoints"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/endpoints/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads events",
+ "operation": "Gets/List events resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Events"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/events/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes events",
+ "operation": "Creates/Updates events resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Events"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/events/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes events",
+ "operation": "Deletes/DeletesCollection events resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Events"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/events/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads limitranges",
+ "operation": "Gets/List limitranges resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Limitranges"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/limitranges/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes limitranges",
+ "operation": "Creates/Updates limitranges resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Limitranges"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/limitranges/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes limitranges",
+ "operation": "Deletes/DeletesCollection limitranges resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Limitranges"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/limitranges/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads namespaces",
+ "operation": "Gets/List namespaces resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Namespaces"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/namespaces/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes namespaces",
+ "operation": "Creates/Updates namespaces resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Namespaces"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/namespaces/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes namespaces",
+ "operation": "Deletes/DeletesCollection namespaces resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Namespaces"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/namespaces/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads nodes",
+ "operation": "Gets/List nodes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Nodes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/nodes/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes nodes",
+ "operation": "Creates/Updates nodes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Nodes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/nodes/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes nodes",
+ "operation": "Deletes/DeletesCollection nodes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Nodes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/nodes/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads persistentvolumeclaims",
+ "operation": "Gets/List persistentvolumeclaims resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Persistentvolumeclaims"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes persistentvolumeclaims",
+ "operation": "Creates/Updates persistentvolumeclaims resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Persistentvolumeclaims"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes persistentvolumeclaims",
+ "operation": "Deletes/DeletesCollection persistentvolumeclaims resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Persistentvolumeclaims"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/persistentvolumeclaims/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads persistentvolumes",
+ "operation": "Gets/List persistentvolumes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Persistentvolumes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes persistentvolumes",
+ "operation": "Creates/Updates persistentvolumes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Persistentvolumes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes persistentvolumes",
+ "operation": "Deletes/DeletesCollection persistentvolumes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Persistentvolumes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/persistentvolumes/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads pods",
+ "operation": "Gets/List pods resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Pods"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/pods/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes pods",
+ "operation": "Creates/Updates pods resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Pods"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/pods/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes pods",
+ "operation": "Deletes/DeletesCollection pods resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Pods"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/pods/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Exec into pods resource",
+ "operation": "Exec into pods resource ",
+ "provider": "Microsoft Container Service",
+ "resource": "Pods"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/pods/exec/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads podtemplates",
+ "operation": "Gets/List podtemplates resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podtemplates"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/podtemplates/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes podtemplates",
+ "operation": "Creates/Updates podtemplates resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podtemplates"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/podtemplates/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes podtemplates",
+ "operation": "Deletes/DeletesCollection podtemplates resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podtemplates"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/podtemplates/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads replicationcontrollers",
+ "operation": "Gets/List replicationcontrollers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Replicationcontrollers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes replicationcontrollers",
+ "operation": "Creates/Updates replicationcontrollers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Replicationcontrollers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes replicationcontrollers",
+ "operation": "Deletes/DeletesCollection replicationcontrollers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Replicationcontrollers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/replicationcontrollers/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads resourcequotas",
+ "operation": "Gets/List resourcequotas resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Resourcequotas"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/resourcequotas/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes resourcequotas",
+ "operation": "Creates/Updates resourcequotas resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Resourcequotas"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/resourcequotas/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes resourcequotas",
+ "operation": "Deletes/DeletesCollection resourcequotas resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Resourcequotas"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/resourcequotas/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads secrets",
+ "operation": "Gets/List secrets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Secrets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/secrets/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes secrets",
+ "operation": "Creates/Updates secrets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Secrets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/secrets/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes secrets",
+ "operation": "Deletes/DeletesCollection secrets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Secrets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/secrets/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads serviceaccounts",
+ "operation": "Gets/List serviceaccounts resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Serviceaccounts"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes serviceaccounts",
+ "operation": "Creates/Updates serviceaccounts resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Serviceaccounts"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes serviceaccounts",
+ "operation": "Deletes/DeletesCollection serviceaccounts resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Serviceaccounts"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads services",
+ "operation": "Gets/List services resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Services"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/services/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes services",
+ "operation": "Creates/Updates services resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Services"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/services/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes services",
+ "operation": "Deletes/DeletesCollection services resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Services"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/services/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads events",
+ "operation": "Gets/List events resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Events"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes events",
+ "operation": "Creates/Updates events resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Events"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes events",
+ "operation": "Deletes/DeletesCollection events resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Events"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/events.k8s.io/events/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads daemonsets",
+ "operation": "Gets/List daemonsets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Daemonsets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes daemonsets",
+ "operation": "Creates/Updates daemonsets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Daemonsets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes daemonsets",
+ "operation": "Deletes/DeletesCollection daemonsets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Daemonsets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/daemonsets/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads deployments",
+ "operation": "Gets/List deployments resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Deployments"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes deployments",
+ "operation": "Creates/Updates deployments resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Deployments"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes deployments",
+ "operation": "Deletes/DeletesCollection deployments resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Deployments"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/deployments/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads ingresses",
+ "operation": "Gets/List ingresses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Ingresses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes ingresses",
+ "operation": "Creates/Updates ingresses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Ingresses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes ingresses",
+ "operation": "Deletes/DeletesCollection ingresses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Ingresses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/ingresses/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads networkpolicies",
+ "operation": "Gets/List networkpolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Networkpolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes networkpolicies",
+ "operation": "Creates/Updates networkpolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Networkpolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes networkpolicies",
+ "operation": "Deletes/DeletesCollection networkpolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Networkpolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/networkpolicies/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads podsecuritypolicies",
+ "operation": "Gets/List podsecuritypolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podsecuritypolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes podsecuritypolicies",
+ "operation": "Creates/Updates podsecuritypolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podsecuritypolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes podsecuritypolicies",
+ "operation": "Deletes/DeletesCollection podsecuritypolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podsecuritypolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/podsecuritypolicies/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads replicasets",
+ "operation": "Gets/List replicasets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Replicasets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes replicasets",
+ "operation": "Creates/Updates replicasets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Replicasets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes replicasets",
+ "operation": "Deletes/DeletesCollection replicasets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Replicasets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/extensions/replicasets/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads pods",
+ "operation": "Gets/List pods resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Pods"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/pods/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads nodes",
+ "operation": "Gets/List nodes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Nodes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/metrics.k8s.io/nodes/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads networkpolicies",
+ "operation": "Gets/List networkpolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Networkpolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes networkpolicies",
+ "operation": "Creates/Updates networkpolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Networkpolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes networkpolicies",
+ "operation": "Deletes/DeletesCollection networkpolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Networkpolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads ingresses",
+ "operation": "Gets/List ingresses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Ingresses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes ingresses",
+ "operation": "Creates/Updates ingresses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Ingresses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes ingresses",
+ "operation": "Deletes/DeletesCollection ingresses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Ingresses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/networking.k8s.io/ingresses/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads runtimeclasses",
+ "operation": "Gets/List runtimeclasses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Runtimeclasses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes runtimeclasses",
+ "operation": "Creates/Updates runtimeclasses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Runtimeclasses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes runtimeclasses",
+ "operation": "Deletes/DeletesCollection runtimeclasses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Runtimeclasses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/node.k8s.io/runtimeclasses/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads api",
+ "operation": "Gets/List api resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Api"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/api/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads api/v1",
+ "operation": "Gets/List api/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Api/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/api/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apis",
+ "operation": "Gets/List apis resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apis"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads admissionregistration.k8s.io",
+ "operation": "Gets/List admissionregistration.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Admissionregistration.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads admissionregistration.k8s.io/v1",
+ "operation": "Gets/List admissionregistration.k8s.io/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Admissionregistration.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads admissionregistration.k8s.io/v1beta1",
+ "operation": "Gets/List admissionregistration.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Admissionregistration.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/admissionregistration.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiextensions.k8s.io",
+ "operation": "Gets/List apiextensions.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apiextensions.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiextensions.k8s.io/v1",
+ "operation": "Gets/List apiextensions.k8s.io/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apiextensions.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiextensions.k8s.io/v1beta1",
+ "operation": "Gets/List apiextensions.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apiextensions.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apiextensions.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiregistration.k8s.io",
+ "operation": "Gets/List apiregistration.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apiregistration.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiregistration.k8s.io/v1",
+ "operation": "Gets/List apiregistration.k8s.io/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apiregistration.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiregistration.k8s.io/v1beta1",
+ "operation": "Gets/List apiregistration.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apiregistration.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apiregistration.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apps",
+ "operation": "Gets/List apps resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apps"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apps/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apps/v1",
+ "operation": "Gets/List apps/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apps/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apps/v1beta1",
+ "operation": "Gets/List apps/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apps/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apps/v1beta2",
+ "operation": "Gets/List apps/v1beta2 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Apps/V1beta2"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/apps/v1beta2/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads authentication.k8s.io",
+ "operation": "Gets/List authentication.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Authentication.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads authentication.k8s.io/v1",
+ "operation": "Gets/List authentication.k8s.io/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Authentication.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads authentication.k8s.io/v1beta1",
+ "operation": "Gets/List authentication.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Authentication.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/authentication.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads authorization.k8s.io",
+ "operation": "Gets/List authorization.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Authorization.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads authorization.k8s.io/v1",
+ "operation": "Gets/List authorization.k8s.io/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Authorization.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads authorization.k8s.io/v1beta1",
+ "operation": "Gets/List authorization.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Authorization.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/authorization.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads autoscaling",
+ "operation": "Gets/List autoscaling resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Autoscaling"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads autoscaling/v1",
+ "operation": "Gets/List autoscaling/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Autoscaling/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads autoscaling/v2beta1",
+ "operation": "Gets/List autoscaling/v2beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Autoscaling/V2beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads autoscaling/v2beta2",
+ "operation": "Gets/List autoscaling/v2beta2 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Autoscaling/V2beta2"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/autoscaling/v2beta2/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads batch",
+ "operation": "Gets/List batch resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Batch"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/batch/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads batch/v1",
+ "operation": "Gets/List batch/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Batch/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads batch/v1beta1",
+ "operation": "Gets/List batch/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Batch/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/batch/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads certificates.k8s.io",
+ "operation": "Gets/List certificates.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Certificates.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads certificates.k8s.io/v1beta1",
+ "operation": "Gets/List certificates.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Certificates.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/certificates.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads coordination.k8s.io",
+ "operation": "Gets/List coordination.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Coordination.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads coordination/v1",
+ "operation": "Gets/List coordination/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Coordination.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads coordination.k8s.io/v1beta1",
+ "operation": "Gets/List coordination.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Coordination.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/coordination.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads events.k8s.io",
+ "operation": "Gets/List events.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Events.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads events.k8s.io/v1beta1",
+ "operation": "Gets/List events.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Events.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/events.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads extensions",
+ "operation": "Gets/List extensions resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Extensions"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/extensions/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads extensions/v1beta1",
+ "operation": "Gets/List extensions/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Extensions/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/extensions/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads metrics.k8s.io",
+ "operation": "Gets/List metrics.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Metrics.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads metrics.k8s.io/v1beta1",
+ "operation": "Gets/List metrics.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Metrics.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/metrics.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads networking.k8s.io",
+ "operation": "Gets/List networking.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Networking.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads networking/v1",
+ "operation": "Gets/List networking/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Networking.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads networking.k8s.io/v1beta1",
+ "operation": "Gets/List networking.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Networking.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/networking.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads node.k8s.io",
+ "operation": "Gets/List node.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Node.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads node.k8s.io/v1beta1",
+ "operation": "Gets/List node.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Node.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/node.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads policy",
+ "operation": "Gets/List policy resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Policy"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/policy/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads policy/v1beta1",
+ "operation": "Gets/List policy/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Policy/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/policy/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads rbac.authorization.k8s.io",
+ "operation": "Gets/List rbac.authorization.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Rbac.Authorization.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads rbac.authorization/v1",
+ "operation": "Gets/List rbac.authorization/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Rbac.Authorization.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads rbac.authorization.k8s.io/v1beta1",
+ "operation": "Gets/List rbac.authorization.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Rbac.Authorization.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/rbac.authorization.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads scheduling.k8s.io",
+ "operation": "Gets/List scheduling.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Scheduling.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads scheduling/v1",
+ "operation": "Gets/List scheduling/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Scheduling.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads scheduling.k8s.io/v1beta1",
+ "operation": "Gets/List scheduling.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Scheduling.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/scheduling.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads storage.k8s.io",
+ "operation": "Gets/List storage.k8s.io resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Storage.K8s.Io"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads storage/v1",
+ "operation": "Gets/List storage/v1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Storage.K8s.Io/V1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads storage.k8s.io/v1beta1",
+ "operation": "Gets/List storage.k8s.io/v1beta1 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Storage.K8s.Io/V1beta1"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/apis/storage.k8s.io/v1beta1/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads healthz",
+ "operation": "Gets/List healthz resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads autoregister-completion",
+ "operation": "Gets/List autoregister-completion resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Autoregister-Completion"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/autoregister-completion/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads etcd",
+ "operation": "Gets/List etcd resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Etcd"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/etcd/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads log",
+ "operation": "Gets/List log resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Log"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/log/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads ping",
+ "operation": "Gets/List ping resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Ping"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/ping/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservice-openapi-controller",
+ "operation": "Gets/List apiservice-openapi-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Apiservice-Openapi-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-openapi-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservice-registration-controller",
+ "operation": "Gets/List apiservice-registration-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Apiservice-Registration-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-registration-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservice-status-available-controller",
+ "operation": "Gets/List apiservice-status-available-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Apiservice-Status-Available-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/apiservice-status-available-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads bootstrap-controller",
+ "operation": "Gets/List bootstrap-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Bootstrap-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/bootstrap-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads ca-registration",
+ "operation": "Gets/List ca-registration resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Ca-Registration"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/ca-registration/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads crd-informer-synced",
+ "operation": "Gets/List crd-informer-synced resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Crd-Informer-Synced"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/crd-informer-synced/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads generic-apiserver-start-informers",
+ "operation": "Gets/List generic-apiserver-start-informers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Generic-Apiserver-Start-Informers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/generic-apiserver-start-informers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads kube-apiserver-autoregistration",
+ "operation": "Gets/List kube-apiserver-autoregistration resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Kube-Apiserver-Autoregistration"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/kube-apiserver-autoregistration/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads bootstrap-roles",
+ "operation": "Gets/List bootstrap-roles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Bootstrap-Roles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/rbac/bootstrap-roles/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads bootstrap-system-priority-classes",
+ "operation": "Gets/List bootstrap-system-priority-classes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Bootstrap-System-Priority-Classes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/scheduling/bootstrap-system-priority-classes/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-apiextensions-controllers",
+ "operation": "Gets/List start-apiextensions-controllers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Start-Apiextensions-Controllers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-controllers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-apiextensions-informers",
+ "operation": "Gets/List start-apiextensions-informers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Start-Apiextensions-Informers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-apiextensions-informers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-kube-aggregator-informers",
+ "operation": "Gets/List start-kube-aggregator-informers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Start-Kube-Aggregator-Informers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-aggregator-informers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-kube-apiserver-admission-initializer",
+ "operation": "Gets/List start-kube-apiserver-admission-initializer resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Healthz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/healthz/poststarthook/start-kube-apiserver-admission-initializer/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads livez",
+ "operation": "Gets/List livez resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads autoregister-completion",
+ "operation": "Gets/List autoregister-completion resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Autoregister-Completion"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/autoregister-completion/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads etcd",
+ "operation": "Gets/List etcd resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Etcd"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/etcd/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads log",
+ "operation": "Gets/List log resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Log"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/log/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads ping",
+ "operation": "Gets/List ping resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Ping"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/ping/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservice-openapi-controller",
+ "operation": "Gets/List apiservice-openapi-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Apiservice-Openapi-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-openapi-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservice-registration-controller",
+ "operation": "Gets/List apiservice-registration-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Apiservice-Registration-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-registration-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservice-status-available-controller",
+ "operation": "Gets/List apiservice-status-available-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Apiservice-Status-Available-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/apiservice-status-available-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads bootstrap-controller",
+ "operation": "Gets/List bootstrap-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Bootstrap-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/bootstrap-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads ca-registration",
+ "operation": "Gets/List ca-registration resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Ca-Registration"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/ca-registration/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads crd-informer-synced",
+ "operation": "Gets/List crd-informer-synced resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Crd-Informer-Synced"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/crd-informer-synced/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads generic-apiserver-start-informers",
+ "operation": "Gets/List generic-apiserver-start-informers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Generic-Apiserver-Start-Informers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/generic-apiserver-start-informers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads kube-apiserver-autoregistration",
+ "operation": "Gets/List kube-apiserver-autoregistration resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Kube-Apiserver-Autoregistration"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/kube-apiserver-autoregistration/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads bootstrap-roles",
+ "operation": "Gets/List bootstrap-roles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Bootstrap-Roles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/rbac/bootstrap-roles/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads bootstrap-system-priority-classes",
+ "operation": "Gets/List bootstrap-system-priority-classes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Bootstrap-System-Priority-Classes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/scheduling/bootstrap-system-priority-classes/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-apiextensions-controllers",
+ "operation": "Gets/List start-apiextensions-controllers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Start-Apiextensions-Controllers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-controllers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-apiextensions-informers",
+ "operation": "Gets/List start-apiextensions-informers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Start-Apiextensions-Informers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-apiextensions-informers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-kube-aggregator-informers",
+ "operation": "Gets/List start-kube-aggregator-informers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Start-Kube-Aggregator-Informers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-aggregator-informers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-kube-apiserver-admission-initializer",
+ "operation": "Gets/List start-kube-apiserver-admission-initializer resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Livez/Poststarthook/Start-Kube-Apiserver-Admission-Initializer"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/livez/poststarthook/start-kube-apiserver-admission-initializer/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads logs",
+ "operation": "Gets/List logs resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Logs"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/logs/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads metrics",
+ "operation": "Gets/List metrics resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Metrics"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/metrics/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads v2",
+ "operation": "Gets/List v2 resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Openapi/V2"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/openapi/v2/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads readyz",
+ "operation": "Gets/List readyz resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads autoregister-completion",
+ "operation": "Gets/List autoregister-completion resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Autoregister-Completion"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/autoregister-completion/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads etcd",
+ "operation": "Gets/List etcd resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Etcd"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/etcd/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads log",
+ "operation": "Gets/List log resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Log"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/log/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads ping",
+ "operation": "Gets/List ping resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Ping"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/ping/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservice-openapi-controller",
+ "operation": "Gets/List apiservice-openapi-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Apiservice-Openapi-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-openapi-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservice-registration-controller",
+ "operation": "Gets/List apiservice-registration-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Apiservice-Registration-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-registration-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads apiservice-status-available-controller",
+ "operation": "Gets/List apiservice-status-available-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Apiservice-Status-Available-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/apiservice-status-available-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads bootstrap-controller",
+ "operation": "Gets/List bootstrap-controller resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Bootstrap-Controller"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/bootstrap-controller/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads ca-registration",
+ "operation": "Gets/List ca-registration resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Ca-Registration"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/ca-registration/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads crd-informer-synced",
+ "operation": "Gets/List crd-informer-synced resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Crd-Informer-Synced"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/crd-informer-synced/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads generic-apiserver-start-informers",
+ "operation": "Gets/List generic-apiserver-start-informers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Generic-Apiserver-Start-Informers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/generic-apiserver-start-informers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads kube-apiserver-autoregistration",
+ "operation": "Gets/List kube-apiserver-autoregistration resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Kube-Apiserver-Autoregistration"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/kube-apiserver-autoregistration/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads bootstrap-roles",
+ "operation": "Gets/List bootstrap-roles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Bootstrap-Roles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/rbac/bootstrap-roles/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads bootstrap-system-priority-classes",
+ "operation": "Gets/List bootstrap-system-priority-classes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Bootstrap-System-Priority-Classes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/scheduling/bootstrap-system-priority-classes/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-apiextensions-controllers",
+ "operation": "Gets/List start-apiextensions-controllers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Start-Apiextensions-Controllers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-controllers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-apiextensions-informers",
+ "operation": "Gets/List start-apiextensions-informers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Start-Apiextensions-Informers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-apiextensions-informers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-kube-aggregator-informers",
+ "operation": "Gets/List start-kube-aggregator-informers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Start-Kube-Aggregator-Informers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-aggregator-informers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads start-kube-apiserver-admission-initializer",
+ "operation": "Gets/List start-kube-apiserver-admission-initializer resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Poststarthook/Start-Kube-Apiserver-Admission-Initializer"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/poststarthook/start-kube-apiserver-admission-initializer/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads shutdown",
+ "operation": "Gets/List shutdown resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Readyz/Shutdown"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/readyz/shutdown/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads resetMetrics",
+ "operation": "Gets/List resetMetrics resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Resetmetrics"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/resetMetrics/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads swagger-ui",
+ "operation": "Gets/List swagger-ui resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Swagger-Ui"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/swagger-ui/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads swagger-api",
+ "operation": "Gets/List swagger-api resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Swagger-Api"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/swagger-api/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads ui",
+ "operation": "Gets/List ui resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Ui"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/ui/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads version",
+ "operation": "Gets/List version resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Version"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/version/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads poddisruptionbudgets",
+ "operation": "Gets/List poddisruptionbudgets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Poddisruptionbudgets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes poddisruptionbudgets",
+ "operation": "Creates/Updates poddisruptionbudgets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Poddisruptionbudgets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes poddisruptionbudgets",
+ "operation": "Deletes/DeletesCollection poddisruptionbudgets resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Poddisruptionbudgets"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/policy/poddisruptionbudgets/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads podsecuritypolicies",
+ "operation": "Gets/List podsecuritypolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podsecuritypolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes podsecuritypolicies",
+ "operation": "Creates/Updates podsecuritypolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podsecuritypolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes podsecuritypolicies",
+ "operation": "Deletes/DeletesCollection podsecuritypolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podsecuritypolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads clusterrolebindings",
+ "operation": "Gets/List clusterrolebindings resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Clusterrolebindings"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes clusterrolebindings",
+ "operation": "Creates/Updates clusterrolebindings resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Clusterrolebindings"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes clusterrolebindings",
+ "operation": "Deletes/DeletesCollection clusterrolebindings resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Clusterrolebindings"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterrolebindings/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads clusterroles",
+ "operation": "Gets/List clusterroles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Clusterroles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes clusterroles",
+ "operation": "Creates/Updates clusterroles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Clusterroles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes clusterroles",
+ "operation": "Deletes/DeletesCollection clusterroles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Clusterroles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads rolebindings",
+ "operation": "Gets/List rolebindings resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Rolebindings"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes rolebindings",
+ "operation": "Creates/Updates rolebindings resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Rolebindings"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes rolebindings",
+ "operation": "Deletes/DeletesCollection rolebindings resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Rolebindings"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/rolebindings/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads roles",
+ "operation": "Gets/List roles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Roles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes roles",
+ "operation": "Creates/Updates roles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Roles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes roles",
+ "operation": "Deletes/DeletesCollection roles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Roles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads priorityclasses",
+ "operation": "Gets/List priorityclasses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Priorityclasses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes priorityclasses",
+ "operation": "Creates/Updates priorityclasses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Priorityclasses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes priorityclasses",
+ "operation": "Deletes/DeletesCollection priorityclasses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Priorityclasses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/scheduling.k8s.io/priorityclasses/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Use action on podsecuritypolicies",
+ "operation": "Use podsecuritypolicies resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Podsecuritypolicies"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/policy/podsecuritypolicies/use/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Binds clusterroles",
+ "operation": "Bind clusterroles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Clusterroles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/bind/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Escalates",
+ "operation": "Escalate clusterroles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Clusterroles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/clusterroles/escalate/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Binds roles",
+ "operation": "Bind roles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Roles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/bind/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Escalates roles",
+ "operation": "Escalate roles resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Roles"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/rbac.authorization.k8s.io/roles/escalate/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Impersonate serviceaccounts",
+ "operation": "Impersonate serviceaccounts resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Serviceaccounts"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/serviceaccounts/impersonate/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Impersonate users",
+ "operation": "Impersonate users resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Users"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/users/impersonate/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Impersonate groups",
+ "operation": "Impersonate groups resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Groups"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/groups/impersonate/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Impersonate userextras",
+ "operation": "Impersonate userextras resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Userextras"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/authentication.k8s.io/userextras/impersonate/action",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads storageclasses",
+ "operation": "Gets/List storageclasses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Storageclasses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes storageclasses",
+ "operation": "Creates/Updates storageclasses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Storageclasses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes storageclasses",
+ "operation": "Deletes/DeletesCollection storageclasses resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Storageclasses"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/storageclasses/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads volumeattachments",
+ "operation": "Gets/List volumeattachments resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Volumeattachments"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes volumeattachments",
+ "operation": "Creates/Updates volumeattachments resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Volumeattachments"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes volumeattachments",
+ "operation": "Deletes/DeletesCollection volumeattachments resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Volumeattachments"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/volumeattachments/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads csidrivers",
+ "operation": "Gets/List csidrivers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Csidrivers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes csidrivers",
+ "operation": "Creates/Updates csidrivers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Csidrivers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes csidrivers",
+ "operation": "Deletes/DeletesCollection csidrivers resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Csidrivers"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csidrivers/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Reads csinodes",
+ "operation": "Gets/List csinodes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Csinodes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Writes csinodes",
+ "operation": "Creates/Updates csinodes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Csinodes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Deletes csinodes",
+ "operation": "Deletes/DeletesCollection csinodes resource",
+ "provider": "Microsoft Container Service",
+ "resource": "Csinodes"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/storage.k8s.io/csinodes/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Gets the available metrics for Managed Cluster",
+ "operation": "Read Managed Cluster metric definitions",
+ "provider": "Microsoft Container Service",
+ "resource": "The metric definition of Managed Cluster"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/metricDefinitions/read",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Gets the available logs for Managed Cluster",
+ "operation": "Read Managed Cluster log definitions",
+ "provider": "Microsoft Container Service",
+ "resource": "The log definition of Managed Cluster"
+ },
+ "name": "Microsoft.ContainerService/managedClusters/providers/Microsoft.Insights/logDefinitions/read",
+ "origin": "system"
+ },
+ {
+ "display": {
+ "description": "Get a Open Shift Managed Cluster",
+ "operation": "Get Open Shift Managed Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Open Shift Managed Cluster"
+ },
+ "name": "Microsoft.ContainerService/openShiftManagedClusters/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Creates a new Open Shift Managed Cluster or updates an existing one",
+ "operation": "Create or Update Open Shift Managed Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Open Shift Managed Cluster"
+ },
+ "name": "Microsoft.ContainerService/openShiftManagedClusters/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Delete a Open Shift Managed Cluster",
+ "operation": "Delete Open Shift Managed Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Open Shift Managed Cluster"
+ },
+ "name": "Microsoft.ContainerService/openShiftManagedClusters/delete",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Get a Open Shift Cluster",
+ "operation": "Get Open Shift Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Open Shift Cluster"
+ },
+ "name": "Microsoft.ContainerService/openShiftClusters/read",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Creates a new Open Shift Cluster or updates an existing one",
+ "operation": "Create or Update Open Shift Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Open Shift Cluster"
+ },
+ "name": "Microsoft.ContainerService/openShiftClusters/write",
+ "origin": "user,system"
+ },
+ {
+ "display": {
+ "description": "Delete a Open Shift Cluster",
+ "operation": "Delete Open Shift Cluster",
+ "provider": "Microsoft Container Service",
+ "resource": "Open Shift Cluster"
+ },
+ "name": "Microsoft.ContainerService/openShiftClusters/delete",
+ "origin": "user,system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/OutboundNetworkDependenciesEndpointsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/OutboundNetworkDependenciesEndpointsList.json
new file mode 100644
index 000000000000..6d05bd51a716
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/OutboundNetworkDependenciesEndpointsList.json
@@ -0,0 +1,242 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsDelete.json
new file mode 100644
index 000000000000..ca944974c18d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "privateEndpointConnectionName": "privateendpointconnection1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsGet.json
new file mode 100644
index 000000000000..4a98caecce8c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsList.json
new file mode 100644
index 000000000000..b8c124d3b765
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsUpdate.json
new file mode 100644
index 000000000000..f8cd662a503f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateEndpointConnectionsUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateLinkResourcesList.json
new file mode 100644
index 000000000000..9cf9bff4b42e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/PrivateLinkResourcesList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ResolvePrivateLinkServiceId.json
new file mode 100644
index 000000000000..cb3d30d96c95
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/ResolvePrivateLinkServiceId.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/RunCommandRequest.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/RunCommandRequest.json
new file mode 100644
index 000000000000..15f2ca844da0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/RunCommandRequest.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-01/examples/RunCommandResultFailed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/RunCommandResultFailed.json
new file mode 100644
index 000000000000..e293d17927ce
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/RunCommandResultFailed.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01"
+ }
+ },
+ "200": {
+ "body": {
+ "id": "def7b3ea71bd4f7e9d226ddbc0f00ad9",
+ "properties": {
+ "provisioningState": "failed",
+ "reason": "ImagePullBackoff"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/RunCommandResultSucceed.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/RunCommandResultSucceed.json
new file mode 100644
index 000000000000..21b040ef10a4
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/RunCommandResultSucceed.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-01/examples/SnapshotsCreate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsCreate.json
new file mode 100644
index 000000000000..0290baf0b6e9
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsCreate.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "snapshot1",
+ "parameters": {
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "snapshot1",
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1",
+ "type": "Microsoft.ContainerService/Snapshots",
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-08-09T20:13:23.298420761Z"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0"
+ },
+ "snapshotType": "NodePool",
+ "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11",
+ "kubernetesVersion": "1.20.5",
+ "osType": "Linux",
+ "osSku": "Ubuntu",
+ "vmSize": "Standard_D2s_v3",
+ "enableFIPS": false
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "snapshot1",
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1",
+ "type": "Microsoft.ContainerService/Snapshots",
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-08-09T20:13:23.298420761Z"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0"
+ },
+ "snapshotType": "NodePool",
+ "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11",
+ "kubernetesVersion": "1.20.5",
+ "osType": "Linux",
+ "osSku": "Ubuntu",
+ "vmSize": "Standard_D2s_v3",
+ "enableFIPS": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsDelete.json
new file mode 100644
index 000000000000..fc163e80743f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "snapshot1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsGet.json
new file mode 100644
index 000000000000..1ecaa5e50490
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "snapshot1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "snapshot1",
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1",
+ "type": "Microsoft.ContainerService/Snapshots",
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-08-09T20:13:23.298420761Z"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0"
+ },
+ "snapshotType": "NodePool",
+ "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11",
+ "kubernetesVersion": "1.20.5",
+ "osType": "Linux",
+ "osSku": "Ubuntu",
+ "vmSize": "Standard_D2s_v3",
+ "enableFIPS": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsList.json
new file mode 100644
index 000000000000..ec44c5152240
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "snapshot1",
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1",
+ "type": "Microsoft.ContainerService/Snapshots",
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-08-09T20:13:23.298420761Z"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0"
+ },
+ "snapshotType": "NodePool",
+ "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11",
+ "kubernetesVersion": "1.20.5",
+ "osType": "Linux",
+ "osSku": "Ubuntu",
+ "vmSize": "Standard_D2s_v3",
+ "enableFIPS": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsListByResourceGroup.json
new file mode 100644
index 000000000000..e0e648314e9d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsListByResourceGroup.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "snapshot1",
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1",
+ "type": "Microsoft.ContainerService/Snapshots",
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-08-09T20:13:23.298420761Z"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0"
+ },
+ "snapshotType": "NodePool",
+ "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11",
+ "kubernetesVersion": "1.20.5",
+ "osType": "Linux",
+ "osSku": "Ubuntu",
+ "vmSize": "Standard_D2s_v3",
+ "enableFIPS": false
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsUpdateTags.json
new file mode 100644
index 000000000000..b483b7bddc35
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/examples/SnapshotsUpdateTags.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "snapshot1",
+ "parameters": {
+ "tags": {
+ "key2": "new-val2",
+ "key3": "val3"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "snapshot1",
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/snapshots/snapshot1",
+ "type": "Microsoft.ContainerService/Snapshots",
+ "location": "westus",
+ "tags": {
+ "key1": "val1",
+ "key2": "val2"
+ },
+ "systemData": {
+ "createdBy": "user1",
+ "createdByType": "User",
+ "createdAt": "2021-08-09T20:13:23.298420761Z"
+ },
+ "properties": {
+ "creationData": {
+ "sourceResourceId": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/cluster1/agentPools/pool0"
+ },
+ "snapshotType": "NodePool",
+ "nodeImageVersion": "AKSUbuntu-1804gen2containerd-2021.09.11",
+ "kubernetesVersion": "1.20.5",
+ "osType": "Linux",
+ "osSku": "Ubuntu",
+ "vmSize": "Standard_D2s_v3",
+ "enableFIPS": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/managedClusters.json
new file mode 100644
index 000000000000..ec3eea9fd20c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2021-10-01/managedClusters.json
@@ -0,0 +1,5633 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerServiceClient",
+ "description": "The Container Service Client.",
+ "version": "2021-10-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.ContainerService/operations": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "Operations_List",
+ "summary": "Gets a list of operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "List available operations for the container service resource provider": {
+ "$ref": "./examples/Operation_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/osOptions/default": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetOSOptions",
+ "summary": "Gets supported OS options in the specified subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceTypeParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OSOptionProfile"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Container Service OS Options": {
+ "$ref": "./examples/ContainerServiceGetOSOptions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_List",
+ "summary": "Gets a list of managed clusters in the specified subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Managed Clusters": {
+ "$ref": "./examples/ManagedClustersList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListByResourceGroup",
+ "summary": "Lists managed clusters in the specified subscription and resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Managed Clusters by Resource Group": {
+ "$ref": "./examples/ManagedClustersListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetUpgradeProfile",
+ "summary": "Gets the upgrade profile of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": {
+ "post": {
+ "deprecated": true,
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetAccessProfile",
+ "summary": "Gets an access profile of a managed cluster.",
+ "description": "**WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials) .",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the role for managed cluster accessProfile resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAccessProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetAccessProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterAdminCredentials",
+ "summary": "Lists the admin credentials of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerFqdnParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterUserCredentials",
+ "summary": "Lists the user credentials of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerFqdnParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials",
+ "summary": "Lists the cluster monitoring user credentials of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ServerFqdnParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Get",
+ "summary": "Gets a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_CreateOrUpdate",
+ "summary": "Creates or updates a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "The managed cluster to create or update."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Managed Cluster": {
+ "$ref": "./examples/ManagedClustersCreate_Update.json"
+ },
+ "Create/Update AAD Managed Cluster with EnableAzureRBAC": {
+ "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json"
+ },
+ "Create Managed Cluster with PPG": {
+ "$ref": "./examples/ManagedClustersCreate_PPG.json"
+ },
+ "Create Managed Cluster with OSSKU": {
+ "$ref": "./examples/ManagedClustersCreate_OSSKU.json"
+ },
+ "Create Managed Cluster with GPUMIG": {
+ "$ref": "./examples/ManagedClustersCreate_GPUMIG.json"
+ },
+ "Create/Update Managed Cluster with EnableAHUB": {
+ "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json"
+ },
+ "Create Managed Cluster with EncryptionAtHost enabled": {
+ "$ref": "./examples/ManagedClustersCreate_EnableEncryptionAtHost.json"
+ },
+ "Create Managed Cluster with UltraSSD enabled": {
+ "$ref": "./examples/ManagedClustersCreate_EnableUltraSSD.json"
+ },
+ "Create Managed Cluster with PodIdentity enabled": {
+ "$ref": "./examples/ManagedClustersCreate_PodIdentity.json"
+ },
+ "Create Managed Private Cluster with fqdn subdomain specified": {
+ "$ref": "./examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json"
+ },
+ "Create Managed Private Cluster with Public FQDN specified": {
+ "$ref": "./examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json"
+ },
+ "Create Managed Cluster with RunCommand disabled": {
+ "$ref": "./examples/ManagedClustersCreate_DisableRunCommand.json"
+ },
+ "Create Managed Cluster with Node Public IP Prefix": {
+ "$ref": "./examples/ManagedClustersCreate_NodePublicIPPrefix.json"
+ },
+ "Create Managed Cluster with FIPS enabled OS": {
+ "$ref": "./examples/ManagedClustersCreate_EnabledFIPS.json"
+ },
+ "Create Managed Cluster with HTTP proxy configured": {
+ "$ref": "./examples/ManagedClustersCreate_HTTPProxy.json"
+ },
+ "Create Managed Cluster with Security Profile configured": {
+ "$ref": "./examples/ManagedClustersCreate_SecurityProfile.json"
+ },
+ "Create Managed Cluster with AKS-managed NAT gateway as outbound type": {
+ "$ref": "./examples/ManagedClustersCreate_ManagedNATGateway.json"
+ },
+ "Create Managed Cluster with user-assigned NAT gateway as outbound type": {
+ "$ref": "./examples/ManagedClustersCreate_UserAssignedNATGateway.json"
+ },
+ "Create Managed Cluster using an agent pool snapshot": {
+ "$ref": "./examples/ManagedClustersCreate_Snapshot.json"
+ },
+ "Create/Update Managed Cluster with Windows gMSA enabled": {
+ "$ref": "./examples/ManagedClustersCreate_UpdateWindowsGmsa.json"
+ },
+ "Create/Update Managed Cluster with dual-stack networking": {
+ "$ref": "./examples/ManagedClustersCreate_DualStackNetworking.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_UpdateTags",
+ "summary": "Updates tags on a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the Update Managed Cluster Tags operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update Managed Cluster Tags": {
+ "$ref": "./examples/ManagedClustersUpdateTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Delete",
+ "summary": "Deletes a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Managed Cluster": {
+ "$ref": "./examples/ManagedClustersDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations": {
+ "get": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_ListByManagedCluster",
+ "summary": "Gets a list of maintenance configurations in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfigurationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List maintenance configurations by Managed Cluster": {
+ "$ref": "./examples/MaintenanceConfigurationsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}": {
+ "get": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_Get",
+ "summary": "Gets the specified maintenance configuration of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "configName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the maintenance configuration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Maintenance Configuration": {
+ "$ref": "./examples/MaintenanceConfigurationsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_CreateOrUpdate",
+ "summary": "Creates or updates a maintenance configuration in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "configName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the maintenance configuration."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ },
+ "description": "The maintenance configuration to create or update."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "Create/Update Maintenance Configuration": {
+ "$ref": "./examples/MaintenanceConfigurationsCreate_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "MaintenanceConfigurations"
+ ],
+ "operationId": "MaintenanceConfigurations_Delete",
+ "summary": "Deletes a maintenance configuration.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "configName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the maintenance configuration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "Delete Maintenance Configuration": {
+ "$ref": "./examples/MaintenanceConfigurationsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_List",
+ "summary": "Gets a list of agent pools in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Agent Pools by Managed Cluster": {
+ "$ref": "./examples/AgentPoolsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Get",
+ "summary": "Gets the specified managed cluster agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Agent Pool": {
+ "$ref": "./examples/AgentPoolsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_CreateOrUpdate",
+ "summary": "Creates or updates an agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "The agent pool to create or update."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Agent Pool": {
+ "$ref": "./examples/AgentPoolsCreate_Update.json"
+ },
+ "Update Agent Pool": {
+ "$ref": "./examples/AgentPools_Update.json"
+ },
+ "Create Spot Agent Pool": {
+ "$ref": "./examples/AgentPoolsCreate_Spot.json"
+ },
+ "Create Agent Pool with PPG": {
+ "$ref": "./examples/AgentPoolsCreate_PPG.json"
+ },
+ "Create Agent Pool with OSSKU": {
+ "$ref": "./examples/AgentPoolsCreate_OSSKU.json"
+ },
+ "Create Agent Pool with GPUMIG": {
+ "$ref": "./examples/AgentPoolsCreate_GPUMIG.json"
+ },
+ "Create Agent Pool with Ephemeral OS Disk": {
+ "$ref": "./examples/AgentPoolsCreate_Ephemeral.json"
+ },
+ "Create Agent Pool with KubeletConfig and LinuxOSConfig": {
+ "$ref": "./examples/AgentPoolsCreate_CustomNodeConfig.json"
+ },
+ "Create Agent Pool with EncryptionAtHost enabled": {
+ "$ref": "./examples/AgentPoolsCreate_EnableEncryptionAtHost.json"
+ },
+ "Create Agent Pool with UltraSSD enabled": {
+ "$ref": "./examples/AgentPoolsCreate_EnableUltraSSD.json"
+ },
+ "Create Agent Pool with FIPS enabled OS": {
+ "$ref": "./examples/AgentPoolsCreate_EnableFIPS.json"
+ },
+ "Create Agent Pool using an agent pool snapshot": {
+ "$ref": "./examples/AgentPoolsCreate_Snapshot.json"
+ },
+ "Create Agent Pool with Krustlet and the WASI runtime": {
+ "$ref": "./examples/AgentPoolsCreate_WasmWasi.json"
+ },
+ "Stop Agent Pool": {
+ "$ref": "./examples/AgentPools_Stop.json"
+ },
+ "Start Agent Pool": {
+ "$ref": "./examples/AgentPools_Start.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Delete",
+ "summary": "Deletes an agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Agent Pool": {
+ "$ref": "./examples/AgentPoolsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetUpgradeProfile",
+ "summary": "Gets the upgrade profile for an agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Agent Pool": {
+ "$ref": "./examples/AgentPoolsGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetAvailableAgentPoolVersions",
+ "summary": "Gets a list of supported Kubernetes versions for the specified agent pool.",
+ "description": "See [supported Kubernetes versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more details about the version lifecycle.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolAvailableVersions"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available versions for agent pool": {
+ "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetServicePrincipalProfile",
+ "summary": "Reset the Service Principal Profile of a managed cluster.",
+ "description": "This action cannot be performed on a cluster that is not using a service principal",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile"
+ },
+ "description": "The service principal profile to set on the managed cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset Service Principal Profile": {
+ "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetAADProfile",
+ "summary": "Reset the AAD Profile of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAADProfile"
+ },
+ "description": "The AAD profile to set on the Managed Cluster"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset AAD Profile": {
+ "$ref": "./examples/ManagedClustersResetAADProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_RotateClusterCertificates",
+ "summary": "Rotates the certificates of a managed cluster.",
+ "description": "See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about rotating managed cluster certificates.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Rotate Cluster Certificates": {
+ "$ref": "./examples/ManagedClustersRotateClusterCertificates.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Stop",
+ "summary": "Stops a Managed Cluster",
+ "description": "This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about stopping a cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Stop Managed Cluster": {
+ "$ref": "./examples/ManagedClustersStop.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Start",
+ "summary": "Starts a previously stopped Managed Cluster",
+ "description": "See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about starting a cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Start Managed Cluster": {
+ "$ref": "./examples/ManagedClustersStart.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_List",
+ "summary": "Gets a list of private endpoint connections in the specified managed cluster.",
+ "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Private Endpoint Connections by Managed Cluster": {
+ "$ref": "./examples/PrivateEndpointConnectionsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Get",
+ "summary": "Gets the specified private endpoint connection.",
+ "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Private Endpoint Connection": {
+ "$ref": "./examples/PrivateEndpointConnectionsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Update",
+ "summary": "Updates a private endpoint connection.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "The updated private endpoint connection."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Private Endpoint Connection": {
+ "$ref": "./examples/PrivateEndpointConnectionsUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Delete",
+ "summary": "Deletes a private endpoint connection.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content -- The private endpoint connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Private Endpoint Connection": {
+ "$ref": "./examples/PrivateEndpointConnectionsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion": {
+ "post": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_UpgradeNodeImageVersion",
+ "summary": "Upgrades the node image version of an agent pool to the latest.",
+ "description": "Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS provides one new image per week with the latest updates. For more details on node image versions, see: https://docs.microsoft.com/azure/aks/node-image-upgrade",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted",
+ "headers": {
+ "Azure-AsyncOperation": {
+ "description": "URL to query for status of the operation.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Upgrade Agent Pool Node Image Version": {
+ "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "privateLinkResources"
+ ],
+ "operationId": "PrivateLinkResources_List",
+ "summary": "Gets a list of private link resources in the specified managed cluster.",
+ "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourcesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Private Link Resources by Managed Cluster": {
+ "$ref": "./examples/PrivateLinkResourcesList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId": {
+ "post": {
+ "tags": [
+ "resolvePrivateLinkServiceId"
+ ],
+ "operationId": "ResolvePrivateLinkServiceId_POST",
+ "summary": "Gets the private link service ID for the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ },
+ "description": "Parameters required in order to resolve a private link service ID."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Resolve the Private Link Service ID for Managed Cluster": {
+ "$ref": "./examples/ResolvePrivateLinkServiceId.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_RunCommand",
+ "summary": "Submits a command to run against the Managed Cluster.",
+ "description": "AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "requestPayload",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RunCommandRequest"
+ },
+ "description": "The run command request"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "200": {
+ "description": "command finished with async pattern, tracking by location header. !!! this is for autorest only, you never get 200 from this api !!!",
+ "schema": {
+ "$ref": "#/definitions/RunCommandResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "submitNewCommand": {
+ "$ref": "./examples/RunCommandRequest.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetCommandResult",
+ "summary": "Gets the results of a command which has been run on the Managed Cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "commandId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Id of the command."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "command running in progress"
+ },
+ "200": {
+ "description": "command finished",
+ "schema": {
+ "$ref": "#/definitions/RunCommandResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "commandSucceedResult": {
+ "$ref": "./examples/RunCommandResultSucceed.json"
+ },
+ "commandFailedResult": {
+ "$ref": "./examples/RunCommandResultFailed.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListOutboundNetworkDependenciesEndpoints",
+ "summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster.",
+ "description": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster. The operation returns properties of each egress endpoint.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OutboundEnvironmentEndpointCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List OutboundNetworkDependenciesEndpoints by Managed Cluster": {
+ "$ref": "./examples/OutboundNetworkDependenciesEndpointsList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/snapshots": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_List",
+ "summary": "Gets a list of snapshots in the specified subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SnapshotListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Snapshots": {
+ "$ref": "./examples/SnapshotsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_ListByResourceGroup",
+ "summary": "Lists snapshots in the specified subscription and resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SnapshotListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Snapshots by Resource Group": {
+ "$ref": "./examples/SnapshotsListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Get",
+ "summary": "Gets a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Snapshot": {
+ "$ref": "./examples/SnapshotsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_CreateOrUpdate",
+ "summary": "Creates or updates a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ },
+ "description": "The snapshot to create or update."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create/Update Snapshot": {
+ "$ref": "./examples/SnapshotsCreate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_UpdateTags",
+ "summary": "Updates tags on a snapshot.",
+ "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 snapshot Tags operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update Snapshot Tags": {
+ "$ref": "./examples/SnapshotsUpdateTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Delete",
+ "summary": "Deletes a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete Snapshot": {
+ "$ref": "./examples/SnapshotsDelete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OperationValue"
+ },
+ "description": "The list of operations"
+ }
+ },
+ "description": "The List Operation response."
+ },
+ "OperationValue": {
+ "properties": {
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The origin of the operation."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the operation."
+ },
+ "display": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationValueDisplay",
+ "description": "Describes the properties of a Operation Value Display."
+ }
+ },
+ "description": "Describes the properties of a Operation value."
+ },
+ "OperationValueDisplay": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the resource the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource provider for the operation."
+ }
+ },
+ "description": "Describes the properties of a Operation Value Display."
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ }
+ },
+ "description": "Reference to another subresource.",
+ "x-ms-azure-resource": true
+ },
+ "TagsObject": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Tags object for patch operations."
+ },
+ "ContainerServiceOSDisk": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 2048,
+ "minimum": 0,
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "ContainerServiceStorageProfile": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceStorageProfileTypes",
+ "modelAsString": true
+ },
+ "enum": [
+ "StorageAccount",
+ "ManagedDisks"
+ ],
+ "description": "Specifies what kind of storage to use. If omitted, the default will be chosen on your behalf based on the choice of orchestrator."
+ },
+ "ContainerServiceVnetSubnetID": {
+ "type": "string",
+ "description": "specifies a subnet's resource id with subscription, resource group, vnet and subnet name"
+ },
+ "ContainerServiceVMSize": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceVMSizeTypes",
+ "modelAsString": true
+ },
+ "description": "Size of agent VMs. Note: This is no longer maintained.",
+ "enum": [
+ "Standard_A1",
+ "Standard_A10",
+ "Standard_A11",
+ "Standard_A1_v2",
+ "Standard_A2",
+ "Standard_A2_v2",
+ "Standard_A2m_v2",
+ "Standard_A3",
+ "Standard_A4",
+ "Standard_A4_v2",
+ "Standard_A4m_v2",
+ "Standard_A5",
+ "Standard_A6",
+ "Standard_A7",
+ "Standard_A8",
+ "Standard_A8_v2",
+ "Standard_A8m_v2",
+ "Standard_A9",
+ "Standard_B2ms",
+ "Standard_B2s",
+ "Standard_B4ms",
+ "Standard_B8ms",
+ "Standard_D1",
+ "Standard_D11",
+ "Standard_D11_v2",
+ "Standard_D11_v2_Promo",
+ "Standard_D12",
+ "Standard_D12_v2",
+ "Standard_D12_v2_Promo",
+ "Standard_D13",
+ "Standard_D13_v2",
+ "Standard_D13_v2_Promo",
+ "Standard_D14",
+ "Standard_D14_v2",
+ "Standard_D14_v2_Promo",
+ "Standard_D15_v2",
+ "Standard_D16_v3",
+ "Standard_D16s_v3",
+ "Standard_D1_v2",
+ "Standard_D2",
+ "Standard_D2_v2",
+ "Standard_D2_v2_Promo",
+ "Standard_D2_v3",
+ "Standard_D2s_v3",
+ "Standard_D3",
+ "Standard_D32_v3",
+ "Standard_D32s_v3",
+ "Standard_D3_v2",
+ "Standard_D3_v2_Promo",
+ "Standard_D4",
+ "Standard_D4_v2",
+ "Standard_D4_v2_Promo",
+ "Standard_D4_v3",
+ "Standard_D4s_v3",
+ "Standard_D5_v2",
+ "Standard_D5_v2_Promo",
+ "Standard_D64_v3",
+ "Standard_D64s_v3",
+ "Standard_D8_v3",
+ "Standard_D8s_v3",
+ "Standard_DS1",
+ "Standard_DS11",
+ "Standard_DS11_v2",
+ "Standard_DS11_v2_Promo",
+ "Standard_DS12",
+ "Standard_DS12_v2",
+ "Standard_DS12_v2_Promo",
+ "Standard_DS13",
+ "Standard_DS13-2_v2",
+ "Standard_DS13-4_v2",
+ "Standard_DS13_v2",
+ "Standard_DS13_v2_Promo",
+ "Standard_DS14",
+ "Standard_DS14-4_v2",
+ "Standard_DS14-8_v2",
+ "Standard_DS14_v2",
+ "Standard_DS14_v2_Promo",
+ "Standard_DS15_v2",
+ "Standard_DS1_v2",
+ "Standard_DS2",
+ "Standard_DS2_v2",
+ "Standard_DS2_v2_Promo",
+ "Standard_DS3",
+ "Standard_DS3_v2",
+ "Standard_DS3_v2_Promo",
+ "Standard_DS4",
+ "Standard_DS4_v2",
+ "Standard_DS4_v2_Promo",
+ "Standard_DS5_v2",
+ "Standard_DS5_v2_Promo",
+ "Standard_E16_v3",
+ "Standard_E16s_v3",
+ "Standard_E2_v3",
+ "Standard_E2s_v3",
+ "Standard_E32-16s_v3",
+ "Standard_E32-8s_v3",
+ "Standard_E32_v3",
+ "Standard_E32s_v3",
+ "Standard_E4_v3",
+ "Standard_E4s_v3",
+ "Standard_E64-16s_v3",
+ "Standard_E64-32s_v3",
+ "Standard_E64_v3",
+ "Standard_E64s_v3",
+ "Standard_E8_v3",
+ "Standard_E8s_v3",
+ "Standard_F1",
+ "Standard_F16",
+ "Standard_F16s",
+ "Standard_F16s_v2",
+ "Standard_F1s",
+ "Standard_F2",
+ "Standard_F2s",
+ "Standard_F2s_v2",
+ "Standard_F32s_v2",
+ "Standard_F4",
+ "Standard_F4s",
+ "Standard_F4s_v2",
+ "Standard_F64s_v2",
+ "Standard_F72s_v2",
+ "Standard_F8",
+ "Standard_F8s",
+ "Standard_F8s_v2",
+ "Standard_G1",
+ "Standard_G2",
+ "Standard_G3",
+ "Standard_G4",
+ "Standard_G5",
+ "Standard_GS1",
+ "Standard_GS2",
+ "Standard_GS3",
+ "Standard_GS4",
+ "Standard_GS4-4",
+ "Standard_GS4-8",
+ "Standard_GS5",
+ "Standard_GS5-16",
+ "Standard_GS5-8",
+ "Standard_H16",
+ "Standard_H16m",
+ "Standard_H16mr",
+ "Standard_H16r",
+ "Standard_H8",
+ "Standard_H8m",
+ "Standard_L16s",
+ "Standard_L32s",
+ "Standard_L4s",
+ "Standard_L8s",
+ "Standard_M128-32ms",
+ "Standard_M128-64ms",
+ "Standard_M128ms",
+ "Standard_M128s",
+ "Standard_M64-16ms",
+ "Standard_M64-32ms",
+ "Standard_M64ms",
+ "Standard_M64s",
+ "Standard_NC12",
+ "Standard_NC12s_v2",
+ "Standard_NC12s_v3",
+ "Standard_NC24",
+ "Standard_NC24r",
+ "Standard_NC24rs_v2",
+ "Standard_NC24rs_v3",
+ "Standard_NC24s_v2",
+ "Standard_NC24s_v3",
+ "Standard_NC6",
+ "Standard_NC6s_v2",
+ "Standard_NC6s_v3",
+ "Standard_ND12s",
+ "Standard_ND24rs",
+ "Standard_ND24s",
+ "Standard_ND6s",
+ "Standard_NV12",
+ "Standard_NV24",
+ "Standard_NV6"
+ ]
+ },
+ "ManagedClusterServicePrincipalProfile": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "The ID for the service principal."
+ },
+ "secret": {
+ "type": "string",
+ "description": "The secret password associated with the service principal in plain text."
+ }
+ },
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
+ "required": [
+ "clientId"
+ ]
+ },
+ "ContainerServiceMasterProfile": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "enum": [
+ 1,
+ 3,
+ 5
+ ],
+ "x-ms-enum": {
+ "name": "Count",
+ "modelAsString": false
+ },
+ "description": "Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.",
+ "default": 1
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix to be used to create the FQDN for the master pool."
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "firstConsecutiveStaticIP": {
+ "type": "string",
+ "description": "FirstConsecutiveStaticIP used to specify the first static ip of masters.",
+ "default": "10.240.255.5"
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/ContainerServiceStorageProfile",
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ }
+ },
+ "required": [
+ "dnsPrefix",
+ "vmSize"
+ ],
+ "description": "Profile for the container service master."
+ },
+ "ManagedClusterAgentPoolProfileProperties": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1."
+ },
+ "vmSize": {
+ "type": "string",
+ "title": "The size of the agent pool VMs.",
+ "description": "VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions"
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk"
+ },
+ "osDiskType": {
+ "$ref": "#/definitions/OSDiskType"
+ },
+ "kubeletDiskType": {
+ "$ref": "#/definitions/KubeletDiskType"
+ },
+ "workloadRuntime": {
+ "$ref": "#/definitions/WorkloadRuntime"
+ },
+ "vnetSubnetID": {
+ "type": "string",
+ "title": "The ID of the subnet which agent pool nodes and optionally pods will join on startup.",
+ "description": "If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}"
+ },
+ "podSubnetID": {
+ "type": "string",
+ "title": "The ID of the subnet which pods will join when launched.",
+ "description": "If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}"
+ },
+ "maxPods": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of pods that can run on a node."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType"
+ },
+ "osSKU": {
+ "$ref": "#/definitions/OSSKU"
+ },
+ "maxCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of nodes for auto-scaling"
+ },
+ "minCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The minimum number of nodes for auto-scaling"
+ },
+ "enableAutoScaling": {
+ "type": "boolean",
+ "description": "Whether to enable auto-scaler"
+ },
+ "scaleDownMode": {
+ "$ref": "#/definitions/ScaleDownMode",
+ "title": "The scale down mode to use when scaling the Agent Pool.",
+ "description": "This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete."
+ },
+ "type": {
+ "$ref": "#/definitions/AgentPoolType"
+ },
+ "mode": {
+ "$ref": "#/definitions/AgentPoolMode"
+ },
+ "orchestratorVersion": {
+ "type": "string",
+ "title": "The version of Kubernetes running on the Agent Pool.",
+ "description": "As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool)."
+ },
+ "nodeImageVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The version of node image"
+ },
+ "upgradeSettings": {
+ "$ref": "#/definitions/AgentPoolUpgradeSettings",
+ "description": "Settings for upgrading the agentpool"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state."
+ },
+ "powerState": {
+ "title": "Whether the Agent Pool is running or stopped.",
+ "description": "When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded",
+ "$ref": "#/definitions/PowerState"
+ },
+ "availabilityZones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'."
+ },
+ "enableNodePublicIP": {
+ "type": "boolean",
+ "title": "Whether each node is allocated its own public IP.",
+ "description": "Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false."
+ },
+ "nodePublicIPPrefixID": {
+ "type": "string",
+ "title": "The public IP prefix ID which VM nodes should use IPs from.",
+ "description": "This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}"
+ },
+ "scaleSetPriority": {
+ "$ref": "#/definitions/ScaleSetPriority",
+ "description": "The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'."
+ },
+ "scaleSetEvictionPolicy": {
+ "$ref": "#/definitions/ScaleSetEvictionPolicy",
+ "title": "The Virtual Machine Scale Set eviction policy to use.",
+ "description": "This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'."
+ },
+ "spotMaxPrice": {
+ "$ref": "#/definitions/SpotMaxPrice",
+ "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.",
+ "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The tags to be persisted on the agent pool virtual machine scale set."
+ },
+ "nodeLabels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The node labels to be persisted across all nodes in agent pool."
+ },
+ "nodeTaints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule."
+ },
+ "proximityPlacementGroupID": {
+ "$ref": "#/definitions/ProximityPlacementGroupID",
+ "description": "The ID for Proximity Placement Group."
+ },
+ "kubeletConfig": {
+ "$ref": "#/definitions/KubeletConfig",
+ "description": "The Kubelet configuration on the agent pool nodes."
+ },
+ "linuxOSConfig": {
+ "$ref": "#/definitions/LinuxOSConfig",
+ "description": "The OS configuration of Linux agent nodes."
+ },
+ "enableEncryptionAtHost": {
+ "type": "boolean",
+ "title": "Whether to enable host based OS and data drive encryption.",
+ "description": "This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption"
+ },
+ "enableUltraSSD": {
+ "type": "boolean",
+ "description": "Whether to enable UltraSSD"
+ },
+ "enableFIPS": {
+ "type": "boolean",
+ "title": "Whether to use a FIPS-enabled OS.",
+ "description": "See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details."
+ },
+ "gpuInstanceProfile": {
+ "$ref": "#/definitions/GPUInstanceProfile",
+ "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU."
+ },
+ "creationData": {
+ "$ref": "#/definitions/CreationData",
+ "description": "CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot."
+ }
+ },
+ "description": "Properties for the container service agent pool profile."
+ },
+ "ManagedClusterAgentPoolProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties"
+ },
+ {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "Unique name of the agent pool profile in the context of the subscription and resource group.",
+ "description": "Windows agent pool names must be 6 characters or less.",
+ "pattern": "^[a-z][a-z0-9]{0,11}$"
+ }
+ }
+ }
+ ],
+ "required": [
+ "name"
+ ],
+ "description": "Profile for the container service agent pool."
+ },
+ "AgentPoolType": {
+ "type": "string",
+ "enum": [
+ "VirtualMachineScaleSets",
+ "AvailabilitySet"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "VirtualMachineScaleSets",
+ "description": "Create an Agent Pool backed by a Virtual Machine Scale Set."
+ },
+ {
+ "value": "AvailabilitySet",
+ "description": "Use of this is strongly discouraged."
+ }
+ ]
+ },
+ "description": "The type of Agent Pool."
+ },
+ "AgentPoolMode": {
+ "type": "string",
+ "enum": [
+ "System",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "System",
+ "description": "System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory."
+ },
+ {
+ "value": "User",
+ "description": "User agent pools are primarily for hosting your application pods."
+ }
+ ]
+ },
+ "title": "The mode of an agent pool.",
+ "description": "A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools"
+ },
+ "AgentPoolListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "The list of agent pools."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of agent pool results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Agent Pools operation."
+ },
+ "AgentPoolUpgradeSettings": {
+ "properties": {
+ "maxSurge": {
+ "type": "string",
+ "title": "The maximum number or percentage of nodes that are surged during upgrade.",
+ "description": "This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade"
+ }
+ },
+ "description": "Settings for upgrading an agentpool"
+ },
+ "AgentPool": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "Properties of an agent pool.",
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Agent Pool."
+ },
+ "ManagedClusterWindowsProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "Specifies the name of the administrator account.
**Restriction:** Cannot end in \".\"
**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".
**Minimum-length:** 1 character
**Max-length:** 20 characters"
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "Specifies the password of the administrator account.
**Minimum-length:** 8 characters
**Max-length:** 123 characters
**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])
**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\""
+ },
+ "licenseType": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Windows_Server"
+ ],
+ "x-ms-enum": {
+ "name": "licenseType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No additional licensing is applied."
+ },
+ {
+ "value": "Windows_Server",
+ "description": "Enables Azure Hybrid User Benefits for Windows VMs."
+ }
+ ]
+ },
+ "description": "The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details."
+ },
+ "enableCSIProxy": {
+ "type": "boolean",
+ "title": "Whether to enable CSI proxy.",
+ "description": "For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy)."
+ },
+ "gmsaProfile": {
+ "$ref": "#/definitions/WindowsGmsaProfile",
+ "description": "The Windows gMSA Profile in the Managed Cluster."
+ }
+ },
+ "required": [
+ "adminUsername"
+ ],
+ "description": "Profile for Windows VMs in the managed cluster."
+ },
+ "WindowsGmsaProfile": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "title": "Whether to enable Windows gMSA.",
+ "description": "Specifies whether to enable Windows gMSA in the managed cluster."
+ },
+ "dnsServer": {
+ "type": "string",
+ "description": "Specifies the DNS server for Windows gMSA.
Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster."
+ },
+ "rootDomainName": {
+ "type": "string",
+ "description": "Specifies the root domain name for Windows gMSA.
Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster."
+ }
+ },
+ "description": "Windows gMSA Profile in the managed cluster."
+ },
+ "ContainerServiceLinuxProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Linux VMs.",
+ "pattern": "^[A-Za-z][-A-Za-z0-9_]*$"
+ },
+ "ssh": {
+ "$ref": "#/definitions/ContainerServiceSshConfiguration",
+ "description": "The SSH configuration for Linux-based VMs running on Azure."
+ }
+ },
+ "required": [
+ "adminUsername",
+ "ssh"
+ ],
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "ContainerServiceNetworkProfile": {
+ "properties": {
+ "networkPlugin": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "kubenet"
+ ],
+ "default": "kubenet",
+ "x-ms-enum": {
+ "name": "NetworkPlugin",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "azure",
+ "description": "Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information."
+ },
+ {
+ "value": "kubenet",
+ "description": "Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information."
+ }
+ ]
+ },
+ "description": "Network plugin used for building the Kubernetes network."
+ },
+ "networkPolicy": {
+ "type": "string",
+ "enum": [
+ "calico",
+ "azure"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkPolicy",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "calico",
+ "description": "Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information."
+ },
+ {
+ "value": "azure",
+ "description": "Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information."
+ }
+ ]
+ },
+ "description": "Network policy used for building the Kubernetes network."
+ },
+ "networkMode": {
+ "type": "string",
+ "enum": [
+ "transparent",
+ "bridge"
+ ],
+ "x-ms-enum": {
+ "name": "networkMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "transparent",
+ "description": "No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information."
+ },
+ {
+ "value": "bridge",
+ "description": "This is no longer supported"
+ }
+ ]
+ },
+ "title": "The network mode Azure CNI is configured with.",
+ "description": "This cannot be specified if networkPlugin is anything other than 'azure'."
+ },
+ "podCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.244.0.0/16",
+ "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used."
+ },
+ "serviceCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.0.0.0/16",
+ "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges."
+ },
+ "dnsServiceIP": {
+ "type": "string",
+ "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
+ "default": "10.0.0.10",
+ "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr."
+ },
+ "dockerBridgeCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "172.17.0.1/16",
+ "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range."
+ },
+ "outboundType": {
+ "type": "string",
+ "enum": [
+ "loadBalancer",
+ "userDefinedRouting",
+ "managedNATGateway",
+ "userAssignedNATGateway"
+ ],
+ "x-ms-enum": {
+ "name": "outboundType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "loadBalancer",
+ "description": "The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer)."
+ },
+ {
+ "value": "userDefinedRouting",
+ "description": "Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting)."
+ },
+ {
+ "value": "managedNATGateway",
+ "description": "The AKS-managed NAT gateway is used for egress."
+ },
+ {
+ "value": "userAssignedNATGateway",
+ "description": "The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration."
+ }
+ ]
+ },
+ "default": "loadBalancer",
+ "title": "The outbound (egress) routing method.",
+ "description": "This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype)."
+ },
+ "loadBalancerSku": {
+ "type": "string",
+ "enum": [
+ "standard",
+ "basic"
+ ],
+ "x-ms-enum": {
+ "name": "loadBalancerSku",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "standard",
+ "description": "Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article."
+ },
+ {
+ "value": "basic",
+ "description": "Use a basic Load Balancer with limited functionality."
+ }
+ ]
+ },
+ "title": "The load balancer sku for the managed cluster.",
+ "description": "The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs."
+ },
+ "loadBalancerProfile": {
+ "$ref": "#/definitions/ManagedClusterLoadBalancerProfile",
+ "description": "Profile of the cluster load balancer."
+ },
+ "natGatewayProfile": {
+ "$ref": "#/definitions/ManagedClusterNATGatewayProfile",
+ "description": "Profile of the cluster NAT gateway."
+ },
+ "podCidrs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The CIDR notation IP ranges from which to assign pod IPs.",
+ "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking."
+ },
+ "serviceCidrs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The CIDR notation IP ranges from which to assign service cluster IPs.",
+ "description": "One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges."
+ },
+ "ipFamilies": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "description": "The IP version to use for cluster networking and IP assignment.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "ipFamily",
+ "modelAsString": true
+ }
+ },
+ "title": "The IP families used to specify IP versions available to the cluster.",
+ "description": "IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6."
+ }
+ },
+ "description": "Profile of network configuration."
+ },
+ "MaintenanceConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MaintenanceConfiguration"
+ },
+ "description": "The list of maintenance configurations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of maintenance configuration results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List maintenance configurations operation."
+ },
+ "SystemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "The identity that created the resource."
+ },
+ "createdByType": {
+ "type": "string",
+ "description": "The type of identity that created the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The UTC timestamp of resource creation."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "The identity that last modified the resource."
+ },
+ "lastModifiedByType": {
+ "type": "string",
+ "description": "The type of identity that last modified the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The type of identity that last modified the resource."
+ }
+ }
+ },
+ "MaintenanceConfiguration": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "readOnly": true,
+ "description": "The system metadata relating to this resource."
+ },
+ "properties": {
+ "description": "Properties of a default maintenance configuration.",
+ "$ref": "#/definitions/MaintenanceConfigurationProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "title": "Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster.",
+ "description": "See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance."
+ },
+ "MaintenanceConfigurationProperties": {
+ "properties": {
+ "timeInWeek": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeInWeek"
+ },
+ "title": "Time slots during the week when planned maintenance is allowed to proceed.",
+ "description": "If two array entries specify the same day of the week, the applied configuration is the union of times in both entries."
+ },
+ "notAllowedTime": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TimeSpan"
+ },
+ "description": "Time slots on which upgrade is not allowed."
+ }
+ },
+ "description": "Properties used to configure planned maintenance for a Managed Cluster."
+ },
+ "TimeInWeek": {
+ "properties": {
+ "day": {
+ "$ref": "#/definitions/WeekDay",
+ "description": "The day of the week."
+ },
+ "hourSlots": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HourInDay"
+ },
+ "title": "A list of hours in the day used to identify a time range.",
+ "description": "Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range."
+ }
+ },
+ "description": "Time in a week."
+ },
+ "WeekDay": {
+ "type": "string",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "x-ms-enum": {
+ "name": "WeekDay",
+ "modelAsString": true
+ },
+ "description": "The weekday enum."
+ },
+ "HourInDay": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 23,
+ "minimum": 0,
+ "description": "Hour in a day."
+ },
+ "TimeSpan": {
+ "properties": {
+ "start": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The start of a time span"
+ },
+ "end": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end of a time span"
+ }
+ },
+ "title": "A time range.",
+ "description": "For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z."
+ },
+ "RunCommandRequest": {
+ "properties": {
+ "command": {
+ "type": "string",
+ "description": "The command to run."
+ },
+ "context": {
+ "type": "string",
+ "description": "A base64 encoded zip file containing the files required by the command."
+ },
+ "clusterToken": {
+ "type": "string",
+ "description": "AuthToken issued for AKS AAD Server App."
+ }
+ },
+ "description": "A run command request",
+ "required": [
+ "command"
+ ]
+ },
+ "RunCommandResult": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The command id.",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Properties of command result.",
+ "$ref": "#/definitions/CommandResultProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "description": "run command result."
+ },
+ "CommandResultProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "provisioning State"
+ },
+ "exitCode": {
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true,
+ "description": "The exit code of the command"
+ },
+ "startedAt": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The time when the command started."
+ },
+ "finishedAt": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "The time when the command finished."
+ },
+ "logs": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The command output."
+ },
+ "reason": {
+ "type": "string",
+ "readOnly": true,
+ "description": "An explanation of why provisioningState is set to failed (if so)."
+ }
+ },
+ "description": "The results of a run command"
+ },
+ "ManagedClusterNATGatewayProfile": {
+ "type": "object",
+ "properties": {
+ "managedOutboundIPProfile": {
+ "$ref": "#/definitions/ManagedClusterManagedOutboundIPProfile",
+ "description": "Profile of the managed outbound IP resources of the cluster NAT gateway."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster NAT gateway."
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 120,
+ "minimum": 4,
+ "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.",
+ "default": 4
+ }
+ },
+ "description": "Profile of the managed cluster NAT gateway."
+ },
+ "ManagedClusterManagedOutboundIPProfile": {
+ "type": "object",
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 16,
+ "minimum": 1,
+ "description": "The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. ",
+ "default": 1
+ }
+ },
+ "description": "Profile of the managed outbound IP resources of the managed cluster."
+ },
+ "ManagedClusterLoadBalancerProfile": {
+ "properties": {
+ "managedOutboundIPs": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 1,
+ "description": "The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
+ "default": 1
+ },
+ "countIPv6": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 0,
+ "description": "The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. ",
+ "default": 0
+ }
+ },
+ "description": "Desired managed outbound IPs for the cluster load balancer."
+ },
+ "outboundIPPrefixes": {
+ "properties": {
+ "publicIPPrefixes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP prefix resources."
+ }
+ },
+ "description": "Desired outbound IP Prefix resources for the cluster load balancer."
+ },
+ "outboundIPs": {
+ "properties": {
+ "publicIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP resources."
+ }
+ },
+ "description": "Desired outbound IP resources for the cluster load balancer."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster load balancer."
+ },
+ "allocatedOutboundPorts": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 64000,
+ "minimum": 0,
+ "description": "The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
+ "default": 0
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 120,
+ "minimum": 4,
+ "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
+ "default": 30
+ },
+ "enableMultipleStandardLoadBalancers": {
+ "type": "boolean",
+ "description": "Enable multiple standard load balancers per AKS cluster or not."
+ }
+ },
+ "description": "Profile of the managed cluster load balancer."
+ },
+ "ResourceReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified Azure resource id."
+ }
+ },
+ "description": "A reference to an Azure resource."
+ },
+ "ContainerServiceSshConfiguration": {
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerServiceSshPublicKey"
+ },
+ "description": "The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified."
+ }
+ },
+ "description": "SSH configuration for Linux-based VMs running on Azure.",
+ "required": [
+ "publicKeys"
+ ]
+ },
+ "ContainerServiceSshPublicKey": {
+ "properties": {
+ "keyData": {
+ "type": "string",
+ "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers."
+ }
+ },
+ "required": [
+ "keyData"
+ ],
+ "description": "Contains information about SSH certificate public key data."
+ },
+ "ContainerServiceDiagnosticsProfile": {
+ "properties": {
+ "vmDiagnostics": {
+ "$ref": "#/definitions/ContainerServiceVMDiagnostics",
+ "description": "Profile for diagnostics on the container service VMs."
+ }
+ },
+ "description": "Profile for diagnostics on the container service cluster.",
+ "required": [
+ "vmDiagnostics"
+ ]
+ },
+ "ContainerServiceVMDiagnostics": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the VM diagnostic agent is provisioned on the VM."
+ },
+ "storageUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI of the storage account where diagnostics are stored."
+ }
+ },
+ "description": "Profile for diagnostics on the container service VMs.",
+ "required": [
+ "enabled"
+ ]
+ },
+ "ManagedClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "The list of managed clusters."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed cluster results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Managed Clusters operation."
+ },
+ "ManagedCluster": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ManagedClusterSKU",
+ "description": "The managed cluster SKU."
+ },
+ "extendedLocation": {
+ "$ref": "#/definitions/ExtendedLocation",
+ "description": "The extended location of the Virtual Machine."
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedClusterIdentity",
+ "description": "The identity of the managed cluster, if configured."
+ },
+ "properties": {
+ "description": "Properties of a managed cluster.",
+ "$ref": "#/definitions/ManagedClusterProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Managed cluster."
+ },
+ "ManagedClusterProperties": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current provisioning state."
+ },
+ "powerState": {
+ "$ref": "#/definitions/PowerState",
+ "description": "The Power State of the cluster.",
+ "readOnly": true
+ },
+ "maxAgentPools": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The max number of agent pools for the managed cluster."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "title": "The version of Kubernetes the Managed Cluster is running.",
+ "description": "When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details."
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "title": "The DNS prefix of the Managed Cluster.",
+ "description": "This cannot be updated once the Managed Cluster has been created."
+ },
+ "fqdnSubdomain": {
+ "type": "string",
+ "title": "The FQDN subdomain of the private cluster with custom private dns zone.",
+ "description": "This cannot be updated once the Managed Cluster has been created."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The FQDN of the master pool."
+ },
+ "privateFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The FQDN of private cluster."
+ },
+ "azurePortalFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "title": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients.",
+ "description": "The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfile"
+ },
+ "description": "The agent pool properties."
+ },
+ "linuxProfile": {
+ "$ref": "#/definitions/ContainerServiceLinuxProfile",
+ "description": "The profile for Linux VMs in the Managed Cluster."
+ },
+ "windowsProfile": {
+ "$ref": "#/definitions/ManagedClusterWindowsProfile",
+ "description": "The profile for Windows VMs in the Managed Cluster."
+ },
+ "servicePrincipalProfile": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile",
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs."
+ },
+ "addonProfiles": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ManagedClusterAddonProfile"
+ },
+ "description": "The profile of managed cluster add-on."
+ },
+ "podIdentityProfile": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProfile",
+ "title": "The pod identity profile of the Managed Cluster.",
+ "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration."
+ },
+ "nodeResourceGroup": {
+ "type": "string",
+ "description": "The name of the resource group containing agent pool nodes."
+ },
+ "enableRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Kubernetes Role-Based Access Control."
+ },
+ "enablePodSecurityPolicy": {
+ "type": "boolean",
+ "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/ContainerServiceNetworkProfile",
+ "description": "The network configuration profile."
+ },
+ "aadProfile": {
+ "$ref": "#/definitions/ManagedClusterAADProfile",
+ "description": "The Azure Active Directory configuration."
+ },
+ "autoUpgradeProfile": {
+ "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile",
+ "description": "The auto upgrade configuration."
+ },
+ "autoScalerProfile": {
+ "type": "object",
+ "properties": {
+ "balance-similar-node-groups": {
+ "type": "string",
+ "title": "Detects similar node pools and balances the number of nodes between them.",
+ "description": "Valid values are 'true' and 'false'"
+ },
+ "expander": {
+ "type": "string",
+ "enum": [
+ "least-waste",
+ "most-pods",
+ "priority",
+ "random"
+ ],
+ "x-ms-enum": {
+ "name": "expander",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "least-waste",
+ "description": "Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources."
+ },
+ {
+ "value": "most-pods",
+ "description": "Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once."
+ },
+ {
+ "value": "priority",
+ "description": "Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md)."
+ },
+ {
+ "value": "random",
+ "description": "Used when you don't have a particular need for the node groups to scale differently."
+ }
+ ]
+ },
+ "title": "The expander to use when scaling up",
+ "description": "If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information."
+ },
+ "max-empty-bulk-delete": {
+ "type": "string",
+ "title": "The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer.",
+ "description": "The default is 10."
+ },
+ "max-graceful-termination-sec": {
+ "type": "string",
+ "title": "The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node.",
+ "description": "The default is 600."
+ },
+ "max-node-provision-time": {
+ "type": "string",
+ "title": "The maximum time the autoscaler waits for a node to be provisioned.",
+ "description": "The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "max-total-unready-percentage": {
+ "type": "string",
+ "title": "The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations.",
+ "description": "The default is 45. The maximum is 100 and the minimum is 0."
+ },
+ "new-pod-scale-up-delay": {
+ "type": "string",
+ "title": "Ignore unscheduled pods before they're a certain age.",
+ "description": "For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc)."
+ },
+ "ok-total-unready-count": {
+ "type": "string",
+ "title": "The number of allowed unready nodes, irrespective of max-total-unready-percentage.",
+ "description": "This must be an integer. The default is 3."
+ },
+ "scan-interval": {
+ "type": "string",
+ "title": "How often cluster is reevaluated for scale up or down.",
+ "description": "The default is '10'. Values must be an integer number of seconds."
+ },
+ "scale-down-delay-after-add": {
+ "type": "string",
+ "title": "How long after scale up that scale down evaluation resumes",
+ "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-delay-after-delete": {
+ "type": "string",
+ "title": "How long after node deletion that scale down evaluation resumes.",
+ "description": "The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-delay-after-failure": {
+ "type": "string",
+ "title": "How long after scale down failure that scale down evaluation resumes.",
+ "description": "The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-unneeded-time": {
+ "type": "string",
+ "title": "How long a node should be unneeded before it is eligible for scale down.",
+ "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-unready-time": {
+ "type": "string",
+ "title": "How long an unready node should be unneeded before it is eligible for scale down",
+ "description": "The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported."
+ },
+ "scale-down-utilization-threshold": {
+ "type": "string",
+ "title": "Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down.",
+ "description": "The default is '0.5'."
+ },
+ "skip-nodes-with-local-storage": {
+ "type": "string",
+ "title": "If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath.",
+ "description": "The default is true."
+ },
+ "skip-nodes-with-system-pods": {
+ "type": "string",
+ "title": "If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods)",
+ "description": "The default is true."
+ }
+ },
+ "description": "Parameters to be applied to the cluster-autoscaler when enabled"
+ },
+ "apiServerAccessProfile": {
+ "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile",
+ "description": "The access profile for managed cluster API server."
+ },
+ "diskEncryptionSetID": {
+ "type": "string",
+ "title": "The Resource ID of the disk encryption set to use for enabling encryption at rest.",
+ "description": "This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'"
+ },
+ "identityProfile": {
+ "additionalProperties": {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ },
+ "description": "Identities associated with the cluster."
+ },
+ "privateLinkResources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ },
+ "description": "Private link resources associated with the cluster."
+ },
+ "disableLocalAccounts": {
+ "type": "boolean",
+ "title": "If local accounts should be disabled on the Managed Cluster.",
+ "description": "If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview)."
+ },
+ "httpProxyConfig": {
+ "$ref": "#/definitions/ManagedClusterHTTPProxyConfig",
+ "description": "Configurations for provisioning the cluster with HTTP proxy servers."
+ },
+ "securityProfile": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfile",
+ "description": "Security profile for the managed cluster."
+ },
+ "publicNetworkAccess": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ },
+ "title": "PublicNetworkAccess of the managedCluster",
+ "description": "Allow or deny public network access for AKS"
+ }
+ },
+ "description": "Properties of the managed cluster."
+ },
+ "PowerState": {
+ "description": "Describes the Power State of the cluster",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Tells whether the cluster is Running or Stopped",
+ "enum": [
+ "Running",
+ "Stopped"
+ ],
+ "x-ms-enum": {
+ "name": "code",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Running",
+ "description": "The cluster is running."
+ },
+ {
+ "value": "Stopped",
+ "description": "The cluster is stopped."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "ManagedClusterAPIServerAccessProfile": {
+ "properties": {
+ "authorizedIPRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "The IP ranges authorized to access the Kubernetes API server.",
+ "description": "IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges)."
+ },
+ "enablePrivateCluster": {
+ "type": "boolean",
+ "title": "Whether to create the cluster as a private cluster or not.",
+ "description": "For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters)."
+ },
+ "privateDNSZone": {
+ "type": "string",
+ "title": "The private DNS zone mode for the cluster.",
+ "description": "The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'."
+ },
+ "enablePrivateClusterPublicFQDN": {
+ "type": "boolean",
+ "description": "Whether to create additional public FQDN for private cluster or not."
+ },
+ "disableRunCommand": {
+ "type": "boolean",
+ "description": "Whether to disable run command for the cluster or not."
+ }
+ },
+ "description": "Access profile for managed cluster API server."
+ },
+ "ManagedClusterIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity which is used by master components."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity which is used by master components."
+ },
+ "type": {
+ "type": "string",
+ "title": "The type of identity used for the managed cluster.",
+ "description": "For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity).",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "SystemAssigned",
+ "description": "Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources."
+ },
+ {
+ "value": "UserAssigned",
+ "description": "Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources."
+ },
+ {
+ "value": "None",
+ "description": "Do not use a managed identity for the Managed Cluster, service principal will be used instead."
+ }
+ ]
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "x-ms-client-name": "ManagedServiceIdentityUserAssignedIdentitiesValue",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "title": "The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed.",
+ "description": "The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "description": "Identity for the managed cluster."
+ },
+ "UserAssignedIdentity": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The resource ID of the user assigned identity."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "The client ID of the user assigned identity."
+ },
+ "objectId": {
+ "type": "string",
+ "description": "The object ID of the user assigned identity."
+ }
+ },
+ "description": "Details about a user assigned identity."
+ },
+ "ManagedClusterAccessProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "AccessProfile of a managed cluster.",
+ "$ref": "#/definitions/AccessProfile",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster Access Profile.",
+ "x-ms-azure-resource": false
+ },
+ "AccessProfile": {
+ "type": "object",
+ "properties": {
+ "kubeConfig": {
+ "type": "string",
+ "format": "byte",
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "Profile for enabling a user to access a managed cluster."
+ },
+ "ManagedClusterPoolUpgradeProfile": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "name": {
+ "type": "string",
+ "description": "The Agent Pool name."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType"
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether the Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "ManagedClusterUpgradeProfileProperties": {
+ "properties": {
+ "controlPlaneProfile": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile",
+ "description": "The list of available upgrade versions for the control plane."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile"
+ },
+ "description": "The list of available upgrade versions for agent pools."
+ }
+ },
+ "required": [
+ "controlPlaneProfile",
+ "agentPoolProfiles"
+ ],
+ "description": "Control plane and agent pool upgrade profiles."
+ },
+ "ManagedClusterAutoUpgradeProfile": {
+ "properties": {
+ "upgradeChannel": {
+ "type": "string",
+ "enum": [
+ "rapid",
+ "stable",
+ "patch",
+ "node-image",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "upgradeChannel",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "rapid",
+ "description": "Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1."
+ },
+ {
+ "value": "stable",
+ "description": "Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6."
+ },
+ {
+ "value": "patch",
+ "description": "Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9."
+ },
+ {
+ "value": "node-image",
+ "description": "Automatically upgrade the node image to the latest version available. Microsoft provides patches and new images for image nodes frequently (usually weekly), but your running nodes won't get the new images unless you do a node image upgrade. Turning on the node-image channel will automatically update your node images whenever a new version is available."
+ },
+ {
+ "value": "none",
+ "description": "Disables auto-upgrades and keeps the cluster at its current version of Kubernetes."
+ }
+ ]
+ },
+ "title": "The upgrade channel for auto upgrade. The default is 'none'.",
+ "description": "For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel)."
+ }
+ },
+ "description": "Auto upgrade profile for a managed cluster."
+ },
+ "ManagedClusterAADProfile": {
+ "properties": {
+ "managed": {
+ "type": "boolean",
+ "description": "Whether to enable managed AAD."
+ },
+ "enableAzureRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Azure RBAC for Kubernetes authorization."
+ },
+ "adminGroupObjectIDs": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of AAD group object IDs that will have admin role of the cluster."
+ },
+ "clientAppID": {
+ "type": "string",
+ "description": "The client AAD application ID."
+ },
+ "serverAppID": {
+ "type": "string",
+ "description": "The server AAD application ID."
+ },
+ "serverAppSecret": {
+ "type": "string",
+ "description": "The server AAD application secret."
+ },
+ "tenantID": {
+ "type": "string",
+ "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription."
+ }
+ },
+ "title": "AADProfile specifies attributes for Azure Active Directory integration.",
+ "description": "For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad)."
+ },
+ "ManagedClusterAddonProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the add-on is enabled or not."
+ },
+ "config": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs for configuring an add-on."
+ },
+ "identity": {
+ "readOnly": true,
+ "description": "Information of user assigned identity used by this add-on.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "A Kubernetes add-on profile for a managed cluster."
+ },
+ "ManagedClusterPodIdentity": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the pod identity."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "The namespace of the pod identity."
+ },
+ "bindingSelector": {
+ "type": "string",
+ "description": "The binding selector to use for the AzureIdentityBinding resource."
+ },
+ "identity": {
+ "$ref": "#/definitions/UserAssignedIdentity",
+ "description": "The user assigned identity details."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state of the pod identity.",
+ "enum": [
+ "Assigned",
+ "Updating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterPodIdentityProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "provisioningInfo": {
+ "readOnly": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningError",
+ "description": "Pod identity assignment error (if any)."
+ }
+ }
+ }
+ },
+ "required": [
+ "name",
+ "namespace",
+ "identity"
+ ],
+ "description": "Details about the pod identity assigned to the Managed Cluster."
+ },
+ "ManagedClusterPodIdentityProvisioningError": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the pod identity provisioning."
+ },
+ "ManagedClusterPodIdentityProvisioningErrorBody": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the pod identity provisioning."
+ },
+ "ManagedClusterPodIdentityException": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the pod identity exception."
+ },
+ "namespace": {
+ "type": "string",
+ "description": "The namespace of the pod identity exception."
+ },
+ "podLabels": {
+ "type": "object",
+ "description": "The pod labels to match.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "name",
+ "namespace",
+ "podLabels"
+ ],
+ "title": "A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server.",
+ "description": "See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details."
+ },
+ "ManagedClusterPodIdentityProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the pod identity addon is enabled."
+ },
+ "allowNetworkPluginKubenet": {
+ "type": "boolean",
+ "title": "Whether pod identity is allowed to run on clusters with Kubenet networking.",
+ "description": "Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information."
+ },
+ "userAssignedIdentities": {
+ "description": "The pod identities to use in the cluster.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentity"
+ }
+ },
+ "userAssignedIdentityExceptions": {
+ "description": "The pod identity exceptions to allow.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPodIdentityException"
+ }
+ }
+ },
+ "title": "The pod identity profile of the Managed Cluster.",
+ "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration."
+ },
+ "ManagedClusterUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties",
+ "description": "The properties of the upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for compute pools."
+ },
+ "AgentPoolUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the agent pool upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the agent pool upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the agent pool upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfileProperties",
+ "description": "The properties of the agent pool upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for an agent pool."
+ },
+ "AgentPoolUpgradeProfileProperties": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType"
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether the Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ },
+ "latestNodeImageVersion": {
+ "type": "string",
+ "description": "The latest AKS supported node image version."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "AgentPoolAvailableVersions": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the agent pool version list."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the agent pool version list."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool version list."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolAvailableVersionsProperties",
+ "description": "Properties of agent pool available versions.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available versions for an agent pool."
+ },
+ "AgentPoolAvailableVersionsProperties": {
+ "properties": {
+ "agentPoolVersions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "default": {
+ "type": "boolean",
+ "description": "Whether this version is the default agent pool version."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "The Kubernetes version (major.minor.patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of versions available for agent pool."
+ }
+ },
+ "description": "The list of available agent pool versions."
+ },
+ "OSType": {
+ "type": "string",
+ "default": "Linux",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "OSType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Linux",
+ "description": "Use Linux."
+ },
+ {
+ "value": "Windows",
+ "description": "Use Windows."
+ }
+ ]
+ },
+ "description": "The operating system type. The default is Linux."
+ },
+ "OSSKU": {
+ "type": "string",
+ "enum": [
+ "Ubuntu",
+ "CBLMariner"
+ ],
+ "x-ms-enum": {
+ "name": "OSSKU",
+ "modelAsString": true
+ },
+ "description": "Specifies an OS SKU. This value must not be specified if OSType is Windows."
+ },
+ "ScaleSetPriority": {
+ "type": "string",
+ "default": "Regular",
+ "enum": [
+ "Spot",
+ "Regular"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetPriority",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Spot",
+ "description": "Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information."
+ },
+ {
+ "value": "Regular",
+ "description": "Regular VMs will be used."
+ }
+ ]
+ },
+ "description": "The Virtual Machine Scale Set priority."
+ },
+ "ScaleSetEvictionPolicy": {
+ "type": "string",
+ "default": "Delete",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetEvictionPolicy",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Delete",
+ "description": "Nodes in the underlying Scale Set of the node pool are deleted when they're evicted."
+ },
+ {
+ "value": "Deallocate",
+ "description": "Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading."
+ }
+ ]
+ },
+ "title": "The Virtual Machine Scale Set eviction policy.",
+ "description": "The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms)"
+ },
+ "SpotMaxPrice": {
+ "type": "number",
+ "default": -1,
+ "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.",
+ "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)"
+ },
+ "ScaleDownMode": {
+ "type": "string",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleDownMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Delete",
+ "description": "Create new instances during scale up and remove instances during scale down."
+ },
+ {
+ "value": "Deallocate",
+ "description": "Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down."
+ }
+ ]
+ },
+ "description": "Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing)."
+ },
+ "ProximityPlacementGroupID": {
+ "type": "string",
+ "description": "The ID for Proximity Placement Group."
+ },
+ "CredentialResults": {
+ "properties": {
+ "kubeconfigs": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/CredentialResult"
+ },
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The list credential result response."
+ },
+ "CredentialResult": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the credential."
+ },
+ "value": {
+ "type": "string",
+ "format": "byte",
+ "readOnly": true,
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The credential result response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "ManagedClusterSKU": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of a managed cluster SKU.",
+ "enum": [
+ "Basic"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "title": "The tier of a managed cluster SKU.",
+ "description": "If not specified, the default is 'Free'. See [uptime SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for more details.",
+ "enum": [
+ "Paid",
+ "Free"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUTier",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Paid",
+ "description": "Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones."
+ },
+ {
+ "value": "Free",
+ "description": "No guaranteed SLA, no additional charges. Free tier clusters have an SLO of 99.5%."
+ }
+ ]
+ }
+ }
+ },
+ "description": "The SKU of a Managed Cluster."
+ },
+ "PrivateEndpointConnectionListResult": {
+ "type": "object",
+ "description": "A list of private endpoint connections",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the private endpoint connection."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the private endpoint connection.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-naming-rules"
+ }
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "The properties of a private endpoint connection.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnectionProperties": {
+ "type": "object",
+ "description": "Properties of a private endpoint connection.",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The resource of private endpoint."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState",
+ "description": "A collection of information about the state of the connection between service consumer and provider."
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ]
+ },
+ "PrivateEndpoint": {
+ "type": "object",
+ "description": "Private endpoint which a connection belongs to.",
+ "properties": {
+ "id": {
+ "description": "The resource ID of the private endpoint",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The state of a private link service connection.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "description": "The private link service connection status.",
+ "x-ms-enum": {
+ "name": "ConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The private link service connection description."
+ }
+ }
+ },
+ "PrivateLinkResourcesListResult": {
+ "type": "object",
+ "description": "A list of private link resources",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "A private link resource",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the private link resource."
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the private link resource.",
+ "externalDocs": {
+ "url": "https://aka.ms/search-naming-rules"
+ }
+ },
+ "type": {
+ "type": "string",
+ "description": "The resource type."
+ },
+ "groupId": {
+ "type": "string",
+ "description": "The group ID of the resource."
+ },
+ "requiredMembers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The RequiredMembers of the resource"
+ },
+ "privateLinkServiceID": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The private link service ID of the resource, this field is exposed only to NRP internally."
+ }
+ }
+ },
+ "OSDiskType": {
+ "type": "string",
+ "enum": [
+ "Managed",
+ "Ephemeral"
+ ],
+ "x-ms-enum": {
+ "name": "OSDiskType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Managed",
+ "description": "Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency."
+ },
+ {
+ "value": "Ephemeral",
+ "description": "Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades."
+ }
+ ]
+ },
+ "title": "The OS disk type to be used for machines in the agent pool.",
+ "description": "The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os)."
+ },
+ "KubeletDiskType": {
+ "type": "string",
+ "enum": [
+ "OS",
+ "Temporary"
+ ],
+ "x-ms-enum": {
+ "name": "KubeletDiskType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "OS",
+ "description": "Kubelet will use the OS disk for its data."
+ },
+ {
+ "value": "Temporary",
+ "description": "Kubelet will use the temporary disk for its data."
+ }
+ ]
+ },
+ "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage."
+ },
+ "WorkloadRuntime": {
+ "type": "string",
+ "enum": [
+ "OCIContainer",
+ "WasmWasi"
+ ],
+ "x-ms-enum": {
+ "name": "WorkloadRuntime",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "OCIContainer",
+ "description": "Nodes will use Kubelet to run standard OCI container workloads."
+ },
+ {
+ "value": "WasmWasi",
+ "description": "Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview)."
+ }
+ ]
+ },
+ "description": "Determines the type of workload a node can run."
+ },
+ "KubeletConfig": {
+ "title": "Kubelet configurations of agent nodes.",
+ "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.",
+ "type": "object",
+ "properties": {
+ "cpuManagerPolicy": {
+ "type": "string",
+ "title": "The CPU Manager policy to use.",
+ "description": "The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'."
+ },
+ "cpuCfsQuota": {
+ "type": "boolean",
+ "title": "If CPU CFS quota enforcement is enabled for containers that specify CPU limits.",
+ "description": "The default is true."
+ },
+ "cpuCfsQuotaPeriod": {
+ "type": "string",
+ "title": "The CPU CFS quota period value.",
+ "description": "The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'."
+ },
+ "imageGcHighThreshold": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The percent of disk usage after which image garbage collection is always run.",
+ "description": "To disable image garbage collection, set to 100. The default is 85%"
+ },
+ "imageGcLowThreshold": {
+ "type": "integer",
+ "format": "int32",
+ "title": "The percent of disk usage before which image garbage collection is never run.",
+ "description": "This cannot be set higher than imageGcHighThreshold. The default is 80%"
+ },
+ "topologyManagerPolicy": {
+ "type": "string",
+ "title": "The Topology Manager policy to use.",
+ "description": "For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'."
+ },
+ "allowedUnsafeSysctls": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`)."
+ },
+ "failSwapOn": {
+ "type": "boolean",
+ "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node."
+ },
+ "containerLogMaxSizeMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated."
+ },
+ "containerLogMaxFiles": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of container log files that can be present for a container. The number must be ≥ 2.",
+ "minimum": 2
+ },
+ "podMaxPids": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of processes per pod."
+ }
+ }
+ },
+ "LinuxOSConfig": {
+ "title": "OS configurations of Linux agent nodes.",
+ "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.",
+ "type": "object",
+ "properties": {
+ "sysctls": {
+ "$ref": "#/definitions/SysctlConfig",
+ "description": "Sysctl settings for Linux agent nodes."
+ },
+ "transparentHugePageEnabled": {
+ "type": "string",
+ "title": "Whether transparent hugepages are enabled.",
+ "description": "Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)."
+ },
+ "transparentHugePageDefrag": {
+ "type": "string",
+ "title": "Whether the kernel should make aggressive use of memory compaction to make more hugepages available.",
+ "description": "Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)."
+ },
+ "swapFileSizeMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The size in MB of a swap file that will be created on each node."
+ }
+ }
+ },
+ "SysctlConfig": {
+ "description": "Sysctl settings for Linux agent nodes.",
+ "type": "object",
+ "properties": {
+ "netCoreSomaxconn": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.somaxconn."
+ },
+ "netCoreNetdevMaxBacklog": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.netdev_max_backlog."
+ },
+ "netCoreRmemDefault": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.rmem_default."
+ },
+ "netCoreRmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.rmem_max."
+ },
+ "netCoreWmemDefault": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.wmem_default."
+ },
+ "netCoreWmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.wmem_max."
+ },
+ "netCoreOptmemMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.core.optmem_max."
+ },
+ "netIpv4TcpMaxSynBacklog": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_max_syn_backlog."
+ },
+ "netIpv4TcpMaxTwBuckets": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_max_tw_buckets."
+ },
+ "netIpv4TcpFinTimeout": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_fin_timeout."
+ },
+ "netIpv4TcpKeepaliveTime": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_time."
+ },
+ "netIpv4TcpKeepaliveProbes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_probes."
+ },
+ "netIpv4TcpkeepaliveIntvl": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.tcp_keepalive_intvl."
+ },
+ "netIpv4TcpTwReuse": {
+ "type": "boolean",
+ "description": "Sysctl setting net.ipv4.tcp_tw_reuse."
+ },
+ "netIpv4IpLocalPortRange": {
+ "type": "string",
+ "description": "Sysctl setting net.ipv4.ip_local_port_range."
+ },
+ "netIpv4NeighDefaultGcThresh1": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh1."
+ },
+ "netIpv4NeighDefaultGcThresh2": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh2."
+ },
+ "netIpv4NeighDefaultGcThresh3": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh3."
+ },
+ "netNetfilterNfConntrackMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.netfilter.nf_conntrack_max."
+ },
+ "netNetfilterNfConntrackBuckets": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting net.netfilter.nf_conntrack_buckets."
+ },
+ "fsInotifyMaxUserWatches": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.inotify.max_user_watches."
+ },
+ "fsFileMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.file-max."
+ },
+ "fsAioMaxNr": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.aio-max-nr."
+ },
+ "fsNrOpen": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting fs.nr_open."
+ },
+ "kernelThreadsMax": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting kernel.threads-max."
+ },
+ "vmMaxMapCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.max_map_count."
+ },
+ "vmSwappiness": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.swappiness."
+ },
+ "vmVfsCachePressure": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Sysctl setting vm.vfs_cache_pressure."
+ }
+ }
+ },
+ "ManagedClusterHTTPProxyConfig": {
+ "description": "Cluster HTTP proxy configuration.",
+ "type": "object",
+ "properties": {
+ "httpProxy": {
+ "type": "string",
+ "description": "The HTTP proxy server endpoint to use."
+ },
+ "httpsProxy": {
+ "type": "string",
+ "description": "The HTTPS proxy server endpoint to use."
+ },
+ "noProxy": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The endpoints that should not go through proxy."
+ },
+ "trustedCa": {
+ "type": "string",
+ "description": "Alternative CA cert to use for connecting to proxy servers."
+ }
+ }
+ },
+ "GPUInstanceProfile": {
+ "type": "string",
+ "enum": [
+ "MIG1g",
+ "MIG2g",
+ "MIG3g",
+ "MIG4g",
+ "MIG7g"
+ ],
+ "x-ms-enum": {
+ "name": "GPUInstanceProfile ",
+ "modelAsString": true
+ },
+ "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU."
+ },
+ "ExtendedLocationType": {
+ "type": "string",
+ "description": "The type of extendedLocation.",
+ "enum": [
+ "EdgeZone"
+ ],
+ "x-ms-enum": {
+ "name": "ExtendedLocationTypes",
+ "modelAsString": true
+ }
+ },
+ "ExtendedLocation": {
+ "description": "The complex type of the extended location.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the extended location."
+ },
+ "type": {
+ "$ref": "#/definitions/ExtendedLocationType",
+ "description": "The type of the extended location."
+ }
+ }
+ },
+ "OSOptionProperty": {
+ "properties": {
+ "os-type": {
+ "type": "string",
+ "description": "The OS type."
+ },
+ "enable-fips-image": {
+ "type": "boolean",
+ "description": "Whether the image is FIPS-enabled."
+ }
+ },
+ "required": [
+ "os-type",
+ "enable-fips-image"
+ ],
+ "description": "OS option property."
+ },
+ "OSOptionPropertyList": {
+ "properties": {
+ "osOptionPropertyList": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OSOptionProperty"
+ },
+ "description": "The list of OS options."
+ }
+ },
+ "required": [
+ "osOptionPropertyList"
+ ],
+ "description": "The list of OS option properties."
+ },
+ "OSOptionProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The ID of the OS option resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the OS option resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the OS option resource."
+ },
+ "properties": {
+ "$ref": "#/definitions/OSOptionPropertyList",
+ "description": "The list of OS options.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The OS option profile."
+ },
+ "EndpointDependency": {
+ "description": "A domain name that AKS agent nodes are reaching at.",
+ "type": "object",
+ "properties": {
+ "domainName": {
+ "description": "The domain name of the dependency.",
+ "type": "string"
+ },
+ "endpointDetails": {
+ "description": "The Ports and Protocols used when connecting to domainName.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointDetail"
+ }
+ }
+ }
+ },
+ "EndpointDetail": {
+ "description": "connect information from the AKS agent nodes to a single endpoint.",
+ "type": "object",
+ "properties": {
+ "ipAddress": {
+ "description": "An IP Address that Domain Name currently resolves to.",
+ "type": "string"
+ },
+ "port": {
+ "format": "int32",
+ "description": "The port an endpoint is connected to.",
+ "type": "integer"
+ },
+ "protocol": {
+ "description": "The protocol used for connection",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the detail",
+ "type": "string"
+ }
+ }
+ },
+ "OutboundEnvironmentEndpoint": {
+ "description": "Egress endpoints which AKS agent nodes connect to for common purpose.",
+ "type": "object",
+ "properties": {
+ "category": {
+ "description": "The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc.",
+ "type": "string"
+ },
+ "endpoints": {
+ "description": "The endpoints that AKS agent nodes connect to",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointDependency"
+ }
+ }
+ }
+ },
+ "OutboundEnvironmentEndpointCollection": {
+ "description": "Collection of OutboundEnvironmentEndpoint",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Collection of resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OutboundEnvironmentEndpoint"
+ }
+ },
+ "nextLink": {
+ "description": "Link to next page of resources.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ManagedClusterSecurityProfile": {
+ "type": "object",
+ "properties": {
+ "azureDefender": {
+ "$ref": "#/definitions/ManagedClusterSecurityProfileAzureDefender",
+ "description": "Azure Defender settings for the security profile."
+ }
+ },
+ "description": "Security profile for the container service cluster."
+ },
+ "ManagedClusterSecurityProfileAzureDefender": {
+ "type": "object",
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether to enable Azure Defender"
+ },
+ "logAnalyticsWorkspaceResourceId": {
+ "type": "string",
+ "description": "Resource ID of the Log Analytics workspace to be associated with Azure Defender. When Azure Defender is enabled, this field is required and must be a valid workspace resource ID. When Azure Defender is disabled, leave the field empty."
+ }
+ },
+ "description": "Azure Defender settings for the security profile."
+ },
+ "CreationData": {
+ "description": "Data used when creating a target resource from a source resource.",
+ "type": "object",
+ "properties": {
+ "sourceResourceId": {
+ "type": "string",
+ "description": "This is the ARM ID of the source object to be used to create the target object."
+ }
+ }
+ },
+ "SnapshotListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Snapshot"
+ },
+ "description": "The list of snapshots."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of snapshot results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Snapshots operation."
+ },
+ "Snapshot": {
+ "type": "object",
+ "properties": {
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "readOnly": true,
+ "description": "The system metadata relating to this snapshot."
+ },
+ "properties": {
+ "description": "Properties of a snapshot.",
+ "$ref": "#/definitions/SnapshotProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "A node pool snapshot resource."
+ },
+ "SnapshotProperties": {
+ "type": "object",
+ "properties": {
+ "creationData": {
+ "$ref": "#/definitions/CreationData",
+ "description": "CreationData to be used to specify the source agent pool resource ID to create this snapshot."
+ },
+ "snapshotType": {
+ "$ref": "#/definitions/SnapshotType"
+ },
+ "kubernetesVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The version of Kubernetes."
+ },
+ "nodeImageVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The version of node image."
+ },
+ "osType": {
+ "readOnly": true,
+ "$ref": "#/definitions/OSType"
+ },
+ "osSku": {
+ "readOnly": true,
+ "$ref": "#/definitions/OSSKU"
+ },
+ "vmSize": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The size of the VM."
+ },
+ "enableFIPS": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "Whether to use a FIPS-enabled OS."
+ }
+ },
+ "description": "Properties used to configure a node pool snapshot."
+ },
+ "SnapshotType": {
+ "type": "string",
+ "default": "NodePool",
+ "enum": [
+ "NodePool"
+ ],
+ "x-ms-enum": {
+ "name": "SnapshotType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "NodePool",
+ "description": "The snapshot is a snapshot of a node pool."
+ }
+ ]
+ },
+ "description": "The type of a snapshot. The default is NodePool."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "The name of the managed cluster resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "LocationParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceTypeParameter": {
+ "name": "resource-type",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The resource type for which the OS options needs to be returned",
+ "x-ms-parameter-location": "method"
+ },
+ "ServerFqdnParameter": {
+ "name": "server-fqdn",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "server fqdn type for credentials to be returned",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/readme.go.md b/specification/containerservice/resource-manager/readme.go.md
index 792722c739ae..4b25b47f1bd5 100644
--- a/specification/containerservice/resource-manager/readme.go.md
+++ b/specification/containerservice/resource-manager/readme.go.md
@@ -10,7 +10,7 @@ go:
``` yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/containerservice/armcontainerservice
+module-name: sdk/resourcemanager/containerservice/armcontainerservice
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
@@ -20,6 +20,7 @@ azure-arm: true
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-09
- tag: package-2021-08
- tag: package-2021-07
- tag: package-2021-05
@@ -50,6 +51,16 @@ batch:
- tag: package-2017-07
```
+### Tag: package-2021-09 and go
+
+These settings apply only when `--package-2021-09 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2021-09' && $(go)
+namespace: containerservice
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-09-01/$(namespace)
+```
+
### Tag: package-2021-08 and go
These settings apply only when `--package-2021-08 --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 7d53a96b35dd..eb80d87d3cd3 100644
--- a/specification/containerservice/resource-manager/readme.java.md
+++ b/specification/containerservice/resource-manager/readme.java.md
@@ -1,4 +1,6 @@
-These settings apply only when `--java` is specified on the command line.
+## Java
+
+These settings apply only when `--java` is specified on the command line and `--tag=profile-hybrid-2020-09-01` is not specified.
Please also specify `--azure-libraries-for-java-folder=`.
``` yaml $(java)
@@ -10,7 +12,11 @@ payload-flattening-threshold: 1
output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-containerservice
title: ContainerServiceManagementClient
description: "Container Service Client"
+```
+
+These settings also apply when `--tag=profile-hybrid-2020-09-01` is not specified.
+``` yaml $(java) && $(tag) != 'profile-hybrid-2020-09-01'
input-file:
- Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json
- Microsoft.ContainerService/stable/2019-08-01/location.json
@@ -38,6 +44,20 @@ batch:
- tag: package-2021-05
- tag: package-2021-07
- tag: package-2021-08
+ - tag: package-2021-09
+```
+
+### Tag: package-2021-09 and java
+
+These settings apply only when `--tag=package-2021-09` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2021-09' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerservice.v2021_09_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2021_09_01
+regenerate-manager: true
+generate-interface: true
```
### Tag: package-2021-08 and java
@@ -325,3 +345,13 @@ java:
regenerate-manager: true
generate-interface: true
```
+
+### Tag: profile-hybrid-2020-09-01 and java
+
+These settings apply only when `--tag=profile-hybrid-2020-09-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'profile-hybrid-2020-09-01' && $(java)
+input-file:
+ - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json
+```
diff --git a/specification/containerservice/resource-manager/readme.md b/specification/containerservice/resource-manager/readme.md
index 14ce19b80d87..532ad72fc7f1 100644
--- a/specification/containerservice/resource-manager/readme.md
+++ b/specification/containerservice/resource-manager/readme.md
@@ -34,15 +34,32 @@ These are the global settings for the ContainerServices API.
``` yaml
openapi-type: arm
-tag: package-2021-08
+tag: package-2021-10
```
+### Tag: package-2021-10
+
+These settings apply only when `--tag=package-2021-10` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-10'
+input-file:
+ - Microsoft.ContainerService/stable/2021-10-01/managedClusters.json
+```
+### Tag: package-2021-09
+
+These settings apply only when `--tag=package-2021-09` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-09'
+input-file:
+ - Microsoft.ContainerService/stable/2021-09-01/managedClusters.json
+```
+
### Tag: package-2021-08
These settings apply only when `--tag=package-2021-08` is specified on the command line.
-```yaml $(tag) == 'package-2021-08'
+``` yaml $(tag) == 'package-2021-08'
input-file:
- Microsoft.ContainerService/stable/2021-08-01/managedClusters.json
```
@@ -347,6 +364,19 @@ input-file:
```
+### Tag: package-2021-09-01-only
+
+These settings apply only when `--tag=package-2021-09-01-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-09-01-only'
+input-file:
+- Microsoft.ContainerService/stable/2021-09-01/managedClusters.json
+directive:
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile
+ reason: Cluster-autoscaler settings are not camel-cased
+```
+
### Tag: package-2021-08-01-only
These settings apply only when `--tag=package-2021-08-01-only` is specified on the command line.
@@ -692,6 +722,18 @@ input-file:
- Microsoft.ContainerService/stable/2016-03-30/containerService.json
```
+### Tag: profile-hybrid-2020-09-01
+
+These settings apply only when `--tag=profile-hybrid-2020-09-01` is specified on the command line.
+Creating this tag to pick proper resources from the hybrid profile.
+
+``` yaml $(tag) == 'profile-hybrid-2020-09-01'
+input-file:
+- Microsoft.ContainerService/stable/2020-11-01/managedClusters.json
+- Microsoft.ContainerService/stable/2019-04-01/location.json
+- Microsoft.ContainerService/stable/2017-07-01/containerService.json
+```
+
---
# Code Generation
diff --git a/specification/containerservice/resource-manager/readme.python.md b/specification/containerservice/resource-manager/readme.python.md
index 9e13e102aecc..291985ad6b0c 100644
--- a/specification/containerservice/resource-manager/readme.python.md
+++ b/specification/containerservice/resource-manager/readme.python.md
@@ -17,6 +17,8 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi) && $(track2)
batch:
+ - tag: package-2021-10
+ - tag: package-2021-09-01-only
- tag: package-2021-08-01-only
- tag: package-2021-07-01-only
- tag: package-2021-05-01-only
@@ -52,6 +54,25 @@ output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservic
clear-output-folder: false
perform-load: false
```
+### Tag: package-2021-10 and python
+
+These settings apply only when `--tag=package-2021-10 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-10' && $(python)
+namespace: azure.mgmt.containerservice.v2021_10_01
+output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_10_01
+```
+
+### Tag: package-2021-09-01-only and python
+
+These settings apply only when `--tag=package-2021-09-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-09-01-only' && $(python)
+namespace: azure.mgmt.containerservice.v2021_09_01
+output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2021_09_01
+```
### Tag: package-2021-08-01-only and python
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/cosmos-db.json
new file mode 100644
index 000000000000..5cf9ba099a3c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/cosmos-db.json
@@ -0,0 +1,9993 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2021-10-15-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.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}/graphs": {
+ "get": {
+ "operationId": "GraphResources_ListGraphs",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseList": {
+ "$ref": "./examples/CosmosDBGraphResourceList.json"
+ }
+ },
+ "description": "Lists the graphs 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 graph resource properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GraphResourcesListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/graphs/{graphName}": {
+ "get": {
+ "operationId": "GraphResources_GetGraph",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseGet": {
+ "$ref": "./examples/CosmosDBGraphResourceGet.json"
+ }
+ },
+ "description": "Gets the Graph resource 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/graphResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Graph resource property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/GraphResourceGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "GraphResources_CreateUpdateGraph",
+ "x-ms-examples": {
+ "CosmosDBGraphCreateUpdate": {
+ "$ref": "./examples/CosmosDBGraphResourceCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB 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/graphResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateGraphParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GraphResourceCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current graph."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The graph create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Graph create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/GraphResourceGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "GraphResources_DeleteGraphResource",
+ "x-ms-examples": {
+ "CosmosDBSqlDatabaseDelete": {
+ "$ref": "./examples/CosmosDBGraphResourceDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Graph 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/graphResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The graph delete operation was completed successfully."
+ },
+ "202": {
+ "description": "The graph delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The graph delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/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}/clientEncryptionKeys": {
+ "get": {
+ "operationId": "SqlResources_ListClientEncryptionKeys",
+ "x-ms-examples": {
+ "CosmosDBClientEncryptionKeysList": {
+ "$ref": "./examples/CosmosDBSqlClientEncryptionKeysList.json"
+ }
+ },
+ "description": "Lists the ClientEncryptionKeys under an existing Azure Cosmos DB SQL database.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The ClientEncryptionKeys were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ClientEncryptionKeysListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/clientEncryptionKeys/{clientEncryptionKeyName}": {
+ "get": {
+ "operationId": "SqlResources_GetClientEncryptionKey",
+ "x-ms-examples": {
+ "CosmosDBClientEncryptionKeyGet": {
+ "$ref": "./examples/CosmosDBSqlClientEncryptionKeyGet.json"
+ }
+ },
+ "description": "Gets the ClientEncryptionKey under an existing Azure Cosmos DB SQL database.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/clientEncryptionKeyNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The ClientEncryptionKey was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ClientEncryptionKeyGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "SqlResources_CreateUpdateClientEncryptionKey",
+ "x-ms-examples": {
+ "CosmosDBClientEncryptionKeyCreateUpdate": {
+ "$ref": "./examples/CosmosDBSqlClientEncryptionKeyCreateUpdate.json"
+ }
+ },
+ "description": "Create or update a ClientEncryptionKey. This API is meant to be invoked via tools such as the Azure Powershell (instead of directly).",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/clientEncryptionKeyNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateClientEncryptionKeyParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClientEncryptionKeyCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the client encryption key."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The client encryption key create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The client encryption key create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ClientEncryptionKeyGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations": {
+ "get": {
+ "operationId": "Locations_List",
+ "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": "Locations_Get",
+ "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}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views": {
+ "get": {
+ "operationId": "CassandraResources_ListCassandraViews",
+ "x-ms-examples": {
+ "CosmosDBCassandraViewList": {
+ "$ref": "./examples/CosmosDBCassandraViewList.json"
+ }
+ },
+ "description": "Lists the Cassandra materialized views 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 view properties were retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraViewListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraView",
+ "x-ms-examples": {
+ "CosmosDBCassandraViewGet": {
+ "$ref": "./examples/CosmosDBCassandraViewGet.json"
+ }
+ },
+ "description": "Gets the Cassandra view 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/viewNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra view property was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraViewGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_CreateUpdateCassandraView",
+ "x-ms-examples": {
+ "CosmosDBCassandraViewCreateUpdate": {
+ "$ref": "./examples/CosmosDBCassandraViewCreateUpdate.json"
+ }
+ },
+ "description": "Create or update an Azure Cosmos DB Cassandra View",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../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/viewNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "createUpdateCassandraViewParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CassandraViewCreateUpdateParameters"
+ },
+ "description": "The parameters to provide for the current Cassandra View."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra View create or update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra View create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/CassandraViewGetResults"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "CassandraResources_DeleteCassandraView",
+ "x-ms-examples": {
+ "CosmosDBCassandraViewDelete": {
+ "$ref": "./examples/CosmosDBCassandraViewDelete.json"
+ }
+ },
+ "description": "Deletes an existing Azure Cosmos DB Cassandra view.",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../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/viewNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Cassandra view delete operation completed successfully."
+ },
+ "202": {
+ "description": "The Cassandra view delete operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The Cassandra view delete operation was completed successfully."
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default": {
+ "get": {
+ "operationId": "CassandraResources_GetCassandraViewThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraViewThroughputGet": {
+ "$ref": "./examples/CosmosDBCassandraViewThroughputGet.json"
+ }
+ },
+ "description": "Gets the RUs per second of the Cassandra view 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/viewNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The RUs per second of the Cassandra view was retrieved successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "CassandraResources_UpdateCassandraViewThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraViewThroughputUpdate": {
+ "$ref": "./examples/CosmosDBCassandraViewThroughputUpdate.json"
+ }
+ },
+ "description": "Update RUs per second of an Azure Cosmos DB Cassandra view",
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "../../../../../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/viewNameParameter"
+ },
+ {
+ "$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 view."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The RUs per second of the Cassandra view update operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The RUs per second of the Cassandra view update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/views/{viewName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "CassandraResources_MigrateCassandraViewToAutoscale",
+ "x-ms-examples": {
+ "CosmosDBCassandraViewMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBCassandraViewMigrateToAutoscale.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Cassandra view 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/viewNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra view migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra view 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}/views/{viewName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "CassandraResources_MigrateCassandraViewToManualThroughput",
+ "x-ms-examples": {
+ "CosmosDBCassandraViewMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBCassandraViewMigrateToManualThroughput.json"
+ }
+ },
+ "description": "Migrate an Azure Cosmos DB Cassandra view 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/viewNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Cassandra view migrate operation will complete asynchronously."
+ },
+ "200": {
+ "description": "The Cassandra view migrate operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ClientEncryptionKeysListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClientEncryptionKeyGetResults"
+ },
+ "description": "List of client encryption keys and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the client encryption keys and their properties."
+ },
+ "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."
+ },
+ "GraphResourcesListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GraphResourceGetResults"
+ },
+ "description": "List of Graph resource and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the Graph resource 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."
+ },
+ "CassandraViewListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CassandraViewGetResults"
+ },
+ "description": "List of Cassandra views and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the Cassandra views 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
+ },
+ "ClientEncryptionKeyCreateUpdateParameters": {
+ "description": "Parameters to create and update ClientEncryptionKey.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update ClientEncryptionKey.",
+ "$ref": "#/definitions/ClientEncryptionKeyCreateUpdateProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "ClientEncryptionKeyCreateUpdateProperties": {
+ "description": "Properties to create and update ClientEncryptionKey.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a ClientEncryptionKey",
+ "$ref": "#/definitions/ClientEncryptionKeyResource"
+ }
+ },
+ "required": [
+ "resource"
+ ]
+ },
+ "ClientEncryptionKeyGetResults": {
+ "description": "Client Encryption Key.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of a ClientEncryptionKey",
+ "$ref": "#/definitions/ClientEncryptionKeyGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMProxyResource"
+ }
+ ]
+ },
+ "ClientEncryptionKeyGetProperties": {
+ "description": "The properties of a ClientEncryptionKey resource",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ClientEncryptionKeyResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ }
+ }
+ },
+ "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"
+ },
+ "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"
+ }
+ ]
+ },
+ "GraphResourceGetProperties": {
+ "description": "The properties of an Azure Cosmos DB SQL database",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/GraphResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "options": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/OptionsResource"
+ }
+ ]
+ }
+ }
+ },
+ "GraphResourceGetResults": {
+ "description": "An Azure Cosmos DB Graph resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB Graph resource.",
+ "$ref": "#/definitions/GraphResourceGetProperties"
+ }
+ },
+ "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"
+ }
+ ]
+ }
+ }
+ },
+ "CassandraViewGetResults": {
+ "description": "An Azure Cosmos DB Cassandra view.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB Cassandra view",
+ "$ref": "#/definitions/CassandraViewGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "CassandraViewGetProperties": {
+ "description": "The properties of an Azure Cosmos DB Cassandra view",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CassandraViewResource"
+ },
+ {
+ "$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": "./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"
+ },
+ "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"
+ }
+ },
+ "diagnosticLogSettings": {
+ "type": "object",
+ "description": "The Object representing the different Diagnostic log settings for the Cosmos DB Account.",
+ "$ref": "#/definitions/DiagnosticLogSettings"
+ },
+ "disableLocalAuth": {
+ "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.",
+ "type": "boolean"
+ },
+ "capacity": {
+ "description": "The object that represents all properties related to capacity enforcement on an account.",
+ "type": "object",
+ "$ref": "#/definitions/Capacity"
+ }
+ }
+ },
+ "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"
+ },
+ "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"
+ }
+ },
+ "diagnosticLogSettings": {
+ "type": "object",
+ "description": "The Object representing the different Diagnostic log settings for the Cosmos DB Account.",
+ "$ref": "#/definitions/DiagnosticLogSettings"
+ },
+ "disableLocalAuth": {
+ "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.",
+ "type": "boolean"
+ },
+ "restoreParameters": {
+ "description": "Parameters to indicate the information about the restore.",
+ "type": "object",
+ "$ref": "#/definitions/RestoreParameters"
+ },
+ "capacity": {
+ "description": "The object that represents all properties related to capacity enforcement on an account.",
+ "type": "object",
+ "$ref": "#/definitions/Capacity"
+ }
+ },
+ "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"
+ }
+ },
+ "diagnosticLogSettings": {
+ "type": "object",
+ "description": "The Object representing the different Diagnostic log settings for the Cosmos DB Account.",
+ "$ref": "#/definitions/DiagnosticLogSettings"
+ },
+ "disableLocalAuth": {
+ "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.",
+ "type": "boolean"
+ },
+ "capacity": {
+ "description": "The object that represents all properties related to capacity enforcement on an account.",
+ "type": "object",
+ "$ref": "#/definitions/Capacity"
+ }
+ }
+ },
+ "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"
+ ]
+ },
+ "GraphResourceCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB Graph resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB Graph resource.",
+ "$ref": "#/definitions/GraphResourceCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "GraphResourceCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB Graph resource.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a Graph resource",
+ "$ref": "#/definitions/GraphResource"
+ },
+ "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"
+ ]
+ },
+ "GraphResource": {
+ "type": "object",
+ "description": "Cosmos DB Graph resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Graph"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "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"
+ ]
+ },
+ "CassandraViewCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB Cassandra view.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB Cassandra view.",
+ "$ref": "#/definitions/CassandraViewCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "CassandraViewCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB Cassandra view.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a Cassandra view",
+ "$ref": "#/definitions/CassandraViewResource"
+ },
+ "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."
+ }
+ }
+ },
+ "ClientEncryptionKeyResource": {
+ "type": "object",
+ "description": "Cosmos DB client encryption key resource object.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the ClientEncryptionKey"
+ },
+ "encryptionAlgorithm": {
+ "type": "string",
+ "description": "Encryption algorithm that will be used along with this client encryption key to encrypt/decrypt data."
+ },
+ "wrappedDataEncryptionKey": {
+ "type": "string",
+ "format": "byte",
+ "description": "Wrapped (encrypted) form of the key represented as a byte array."
+ },
+ "keyWrapMetadata": {
+ "description": "Metadata for the wrapping provider that can be used to unwrap the wrapped client encryption key.",
+ "$ref": "#/definitions/KeyWrapMetadata"
+ }
+ }
+ },
+ "KeyWrapMetadata": {
+ "type": "object",
+ "description": "Represents key wrap metadata that a key wrapping provider can use to wrap/unwrap a client encryption key.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of associated KeyEncryptionKey (aka CustomerManagedKey)."
+ },
+ "type": {
+ "type": "string",
+ "description": "ProviderName of KeyStoreProvider."
+ },
+ "value": {
+ "type": "string",
+ "description": "Reference / link to the KeyEncryptionKey."
+ }
+ }
+ },
+ "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"
+ ]
+ },
+ "CassandraViewResource": {
+ "type": "object",
+ "description": "Cosmos DB Cassandra view resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB Cassandra view"
+ },
+ "viewDefinition": {
+ "type": "string",
+ "description": "View Definition of the Cosmos DB Cassandra view"
+ }
+ },
+ "required": [
+ "id",
+ "viewDefinition"
+ ]
+ },
+ "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\"."
+ }
+ }
+ },
+ "Capacity": {
+ "type": "object",
+ "description": "The object that represents all properties related to capacity enforcement on an account.",
+ "properties": {
+ "totalThroughputLimit": {
+ "type": "integer",
+ "minimum": -1,
+ "format": "int32",
+ "description": "The total throughput limit imposed on the account. A totalThroughputLimit of 2000 imposes a strict limit of max throughput that can be provisioned on that account to be 2000. A totalThroughputLimit of -1 indicates no limits on provisioning of throughput."
+ }
+ }
+ },
+ "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
+ }
+ },
+ "DiagnosticLogSettings": {
+ "type": "object",
+ "description": "Indicates what diagnostic log settings are to be enabled.",
+ "properties": {
+ "enableFullTextQuery": {
+ "description": "Describe the level of detail with which queries are to be logged.",
+ "type": "string",
+ "enum": [
+ "None",
+ "True",
+ "False"
+ ],
+ "x-ms-enum": {
+ "name": "EnableFullTextQuery",
+ "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"
+ }
+ },
+ "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": {
+ "description": "Describes the mode of backups.",
+ "type": "string",
+ "$ref": "#/definitions/BackupPolicyType"
+ },
+ "migrationState": {
+ "description": "The object representing the state of the migration between the backup policies.",
+ "type": "object",
+ "$ref": "#/definitions/BackupPolicyMigrationState"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "BackupPolicyType": {
+ "description": "Describes the mode of backups.",
+ "type": "string",
+ "enum": [
+ "Periodic",
+ "Continuous"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "BackupPolicyType"
+ }
+ },
+ "BackupPolicyMigrationState": {
+ "type": "object",
+ "description": "The object representing the state of the migration between the backup policies.",
+ "properties": {
+ "status": {
+ "description": "Describes the status of migration between backup policy types.",
+ "type": "string",
+ "$ref": "#/definitions/BackupPolicyMigrationStatus"
+ },
+ "targetType": {
+ "description": "Describes the target backup policy type of the backup policy migration.",
+ "type": "string",
+ "$ref": "#/definitions/BackupPolicyType"
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time at which the backup policy migration started (ISO-8601 format)."
+ }
+ }
+ },
+ "BackupPolicyMigrationStatus": {
+ "description": "Describes the status of migration between backup policy types.",
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "InProgress",
+ "Completed",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "BackupPolicyMigrationStatus"
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "LocationListResult": {
+ "type": "object",
+ "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."
+ }
+ }
+ },
+ "BackupStorageRedundancy": {
+ "description": "Enum to indicate type of backup storage redundancy.",
+ "type": "string",
+ "enum": [
+ "Geo",
+ "Local",
+ "Zone"
+ ],
+ "x-ms-enum": {
+ "name": "BackupStorageRedundancy",
+ "modelAsString": true
+ }
+ }
+ },
+ "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."
+ },
+ "graphResourceNameParameter": {
+ "name": "graphName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB graph resource name."
+ },
+ "databaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB database name."
+ },
+ "clientEncryptionKeyNameParameter": {
+ "name": "clientEncryptionKeyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB ClientEncryptionKey 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."
+ },
+ "viewNameParameter": {
+ "name": "viewName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB view name."
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/dataTransferService.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/dataTransferService.json
new file mode 100644
index 000000000000..f3cf0250f2d2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/dataTransferService.json
@@ -0,0 +1,350 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Data Transfer Service Resource Provider REST API",
+ "version": "2021-10-15-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/dataTransferJobs/{jobName}": {
+ "put": {
+ "operationId": "DataTransferJobs_Create",
+ "description": "Creates a Data Transfer Job.",
+ "x-ms-examples": {
+ "CosmosDBDataTransferJobCreate": {
+ "$ref": "./examples/data-transfer-service/CosmosDBDataTransferJobCreate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/JobNameParameter"
+ },
+ {
+ "name": "jobCreateParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreateJobRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Successful CreateJob response",
+ "schema": {
+ "$ref": "#/definitions/DataTransferJobGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "DataTransferJobs_Get",
+ "description": "Get a Data Transfer Job.",
+ "x-ms-examples": {
+ "CosmosDBDataTransferJobGet": {
+ "$ref": "./examples/data-transfer-service/CosmosDBDataTransferJobGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/JobNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Data Transfer Job Properties retrieved successfully",
+ "schema": {
+ "$ref": "#/definitions/DataTransferJobGetResults"
+ }
+ },
+ "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}/dataTransferJobs": {
+ "get": {
+ "operationId": "DataTransferJobs_ListByDatabaseAccount",
+ "description": "Get a list of Data Transfer jobs.",
+ "x-ms-examples": {
+ "CosmosDBDataTransferJobFeed": {
+ "$ref": "./examples/data-transfer-service/CosmosDBDataTransferJobFeed.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./cosmos-db.json#/parameters/accountNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "All Data Transfer Jobs retrieved successfully",
+ "schema": {
+ "$ref": "#/definitions/DataTransferJobFeedResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DataTransferDataSourceSink": {
+ "type": "object",
+ "description": "Base class for all DataTransfer source/sink",
+ "properties": {
+ "component": {
+ "type": "string",
+ "enum": [
+ "CosmosDBCassandra",
+ "AzureStorage"
+ ],
+ "x-ms-enum": {
+ "name": "DataTransferComponent",
+ "modelAsString": true
+ },
+ "default": "CosmosDBCassandra"
+ }
+ },
+ "discriminator": "component",
+ "required": [
+ "component"
+ ]
+ },
+ "CosmosCassandraDataTransferDataSourceSink": {
+ "type": "object",
+ "description": "A CosmosDB Cassandra API data source/sink",
+ "properties": {
+ "keyspaceName": {
+ "type": "string"
+ },
+ "tableName": {
+ "type": "string"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataTransferDataSourceSink"
+ }
+ ],
+ "required": [
+ "keyspaceName",
+ "tableName"
+ ],
+ "x-ms-discriminator-value": "CosmosDBCassandra"
+ },
+ "AzureBlobDataTransferDataSourceSink": {
+ "type": "object",
+ "description": "An Azure Blob Storage data source/sink",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataTransferDataSourceSink"
+ }
+ ],
+ "properties": {
+ "containerName": {
+ "type": "string"
+ },
+ "endpointUrl": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "containerName"
+ ],
+ "x-ms-discriminator-value": "AzureBlobStorage"
+ },
+ "DataTransferJobProperties": {
+ "description": "The properties of a DataTransfer Job",
+ "type": "object",
+ "properties": {
+ "jobName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Job Name"
+ },
+ "source": {
+ "$ref": "#/definitions/DataTransferDataSourceSink",
+ "description": "Source DataStore details"
+ },
+ "destination": {
+ "$ref": "#/definitions/DataTransferDataSourceSink",
+ "description": "Destination DataStore details"
+ },
+ "status": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Job Status"
+ },
+ "percentageComplete": {
+ "readOnly": true,
+ "type": "number",
+ "description": "Percentage of completion."
+ },
+ "lastUpdatedUtcTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Last Updated Time (ISO-8601 format)."
+ },
+ "workerCount": {
+ "description": "Worker count",
+ "type": "integer",
+ "minimum": 0,
+ "format": "int32"
+ },
+ "error": {
+ "readOnly": true,
+ "$ref": "./cosmos-db.json#/definitions/ErrorResponse",
+ "description": "Error response for Faulted job"
+ }
+ },
+ "required": [
+ "source",
+ "destination"
+ ]
+ },
+ "CreateJobRequest": {
+ "description": "Parameters to create Data Transfer Job",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DataTransferJobProperties",
+ "description": "Data Transfer Create Job Properties"
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "./cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ]
+ },
+ "DataTransferJobGetResults": {
+ "description": "A Cosmos DB Data Transfer Job",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "type": "object",
+ "$ref": "#/definitions/DataTransferJobProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ]
+ },
+ "DataTransferJobFeedResults": {
+ "description": "The List operation response, that contains the Data Transfer jobs and their properties.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataTransferJobGetResults"
+ },
+ "description": "List of Data Transfer jobs and their properties."
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "URL to get the next set of Data Transfer job list results if there are any."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "JobNameParameter": {
+ "name": "jobName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Name of the Data Transfer Job"
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
new file mode 100644
index 000000000000..9915c5cc7664
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceDelete.json
new file mode 100644
index 000000000000..1e5a8c0af1f2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceGet.json
new file mode 100644
index 000000000000..0b5630389d4e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceList.json
new file mode 100644
index 000000000000..bbaa979cc6de
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json
new file mode 100644
index 000000000000..b6045738effe
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json
new file mode 100644
index 000000000000..19432a1ae25a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json
new file mode 100644
index 000000000000..a2becafcb71d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
new file mode 100644
index 000000000000..6e438d79ddfc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableCreateUpdate.json
new file mode 100644
index 000000000000..8ae7c43f2bd2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableCreateUpdate.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableDelete.json
new file mode 100644
index 000000000000..aef741667921
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableGet.json
new file mode 100644
index 000000000000..911bda5f4ddb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableGet.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableList.json
new file mode 100644
index 000000000000..ca6b9ea6455a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableList.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBCassandraTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableMigrateToAutoscale.json
new file mode 100644
index 000000000000..4b2817bdd3ff
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBCassandraTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableMigrateToManualThroughput.json
new file mode 100644
index 000000000000..e8e4c12b0bdc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableThroughputGet.json
new file mode 100644
index 000000000000..5ce5848bee56
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableThroughputUpdate.json
new file mode 100644
index 000000000000..45a4aa741f21
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraTableThroughputUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBCassandraViewCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewCreateUpdate.json
new file mode 100644
index 000000000000..eaceac7bd09e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewCreateUpdate.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspacename",
+ "viewName": "viewname",
+ "createUpdateCassandraViewParameters": {
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "viewname",
+ "viewDefinition": "SELECT columna, columnb, columnc FROM keyspacename.srctablename WHERE columna IS NOT NULL AND columnc IS NOT NULL PRIMARY (columnc, columna)"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspacename/views/viewname",
+ "name": "viewname",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "viewname",
+ "viewDefinition": "SELECT columna, columnb, columnc FROM keyspacename.srctablename WHERE columna IS NOT NULL AND columnc IS NOT NULL PRIMARY (columnc, columna)"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewDelete.json
new file mode 100644
index 000000000000..d3ef4d14c4c9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspacename",
+ "viewName": "viewname"
+ },
+ "responses": {
+ "200": {},
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewGet.json
new file mode 100644
index 000000000000..8ffb54db5a0c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspacename",
+ "viewName": "viewname"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspacename/views/viewname",
+ "name": "viewname",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "viewname",
+ "viewDefinition": "SELECT columna, columnb, columnc FROM keyspacename.srctablename WHERE columna IS NOT NULL AND columnc IS NOT NULL PRIMARY (columnc, columna)"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewList.json
new file mode 100644
index 000000000000..daad902d5fc6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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/views/viewname",
+ "name": "viewname",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "viewname",
+ "viewDefinition": "SELECT columna, columnb, columnc FROM keyspacename.srctablename WHERE columna IS NOT NULL AND columnc IS NOT NULL PRIMARY (columnc, columna)"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewMigrateToAutoscale.json
new file mode 100644
index 000000000000..583b1cc104ac
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewMigrateToAutoscale.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspacename",
+ "viewName": "viewname"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "autoscaleSettings": {
+ "maxThroughput": 4000
+ },
+ "minimumThroughput": "4000",
+ "offerReplacePending": "false"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewMigrateToManualThroughput.json
new file mode 100644
index 000000000000..e759fd714d7b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewMigrateToManualThroughput.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspacename",
+ "viewName": "viewname"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "false"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewThroughputGet.json
new file mode 100644
index 000000000000..9111c3041a70
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewThroughputGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspacename",
+ "viewName": "viewname"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/views/viewName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views/throughputSettings",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewThroughputUpdate.json
new file mode 100644
index 000000000000..07f59e175615
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCassandraViewThroughputUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspacename",
+ "viewName": "viewname",
+ "updateThroughputParameters": {
+ "tags": {},
+ "properties": {
+ "resource": {
+ "throughput": 400
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/cassandraKeyspaces/keyspaceName/views/viewName/throughputSettings/default",
+ "name": "default",
+ "type": "Microsoft.DocumentDB/databaseAccounts/cassandraKeyspaces/views/throughputSettings",
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "minimumThroughput": "400",
+ "offerReplacePending": "true"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionGetMetricDefinitions.json
new file mode 100644
index 000000000000..9cffdeecbb0f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionGetMetricDefinitions.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionGetMetrics.json
new file mode 100644
index 000000000000..5904e8bec457
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionGetMetrics.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionGetUsages.json
new file mode 100644
index 000000000000..04513cf905f4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionGetUsages.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionPartitionGetMetrics.json
new file mode 100644
index 000000000000..81d7f08e22be
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionPartitionGetMetrics.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionPartitionGetUsages.json
new file mode 100644
index 000000000000..aa7aee74d6cd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionPartitionGetUsages.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
new file mode 100644
index 000000000000..3625ddcc3ac3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBDataTransferServiceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDataTransferServiceCreate.json
new file mode 100644
index 000000000000..517ecb45aa70
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDataTransferServiceCreate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBDataTransferServiceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDataTransferServiceDelete.json
new file mode 100644
index 000000000000..3ed017735991
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDataTransferServiceDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "serviceName": "DataTransfer"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDataTransferServiceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDataTransferServiceGet.json
new file mode 100644
index 000000000000..3eff3566e13d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDataTransferServiceGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json
new file mode 100644
index 000000000000..809c1717975f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "api-version": "2021-10-15-preview"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountCreateMax.json
new file mode 100644
index 000000000000..2405705f1137
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountCreateMax.json
@@ -0,0 +1,222 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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
+ }
+ ],
+ "publicNetworkAccess": "Enabled",
+ "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",
+ "defaultIdentity": "FirstPartyIdentity",
+ "enableFreeTier": false,
+ "apiProperties": {
+ "serverVersion": "3.2"
+ },
+ "enableAnalyticalStorage": true,
+ "analyticalStorageConfiguration": {
+ "schemaType": "WellDefined"
+ },
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 8,
+ "backupStorageRedundancy": "Geo"
+ }
+ },
+ "cors": [
+ {
+ "allowedOrigins": "https://test"
+ }
+ ],
+ "networkAclBypass": "AzureServices",
+ "networkAclBypassResourceIds": [
+ "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName"
+ ],
+ "capacity": {
+ "totalThroughputLimit": 2000
+ }
+ }
+ }
+ },
+ "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": "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"
+ }
+ ],
+ "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"
+ },
+ "createMode": "Default",
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 8,
+ "backupStorageRedundancy": "Geo"
+ }
+ },
+ "cors": [
+ {
+ "allowedOrigins": "https://test"
+ }
+ ],
+ "networkAclBypass": "AzureServices",
+ "networkAclBypassResourceIds": [
+ "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName"
+ ],
+ "capacity": {
+ "totalThroughputLimit": 2000
+ }
+ },
+ "systemData": {
+ "createdAt": "2021-03-12T22:05:09Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountCreateMin.json
new file mode 100644
index 000000000000..3de168cf3887
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountCreateMin.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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,
+ "analyticalStorageConfiguration": null,
+ "networkAclBypass": "None",
+ "networkAclBypassResourceIds": [],
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "createMode": "Default",
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720,
+ "backupStorageRedundancy": "Geo"
+ }
+ }
+ },
+ "systemData": {
+ "createdAt": "2021-03-12T22:05:09Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountDelete.json
new file mode 100644
index 000000000000..e326f1f2ee8a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
new file mode 100644
index 000000000000..f98a53150770
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "accountName": "ddb1-failover",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGet.json
new file mode 100644
index 000000000000..a9d8460573c0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGet.json
@@ -0,0 +1,121 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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,
+ "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"
+ },
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "createMode": "Default",
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 8,
+ "backupStorageRedundancy": "Geo"
+ },
+ "migrationState": {
+ "status": "InProgress",
+ "targetType": "Continuous",
+ "startTime": "2021-06-09T21:07:16Z"
+ }
+ },
+ "networkAclBypass": "None",
+ "networkAclBypassResourceIds": [],
+ "diagnosticLogSettings": {
+ "enableFullTextQuery": "False"
+ }
+ },
+ "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/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
new file mode 100644
index 000000000000..4b10e8d7956a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGetMetrics.json
new file mode 100644
index 000000000000..1825d6f4a11a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGetMetrics.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGetUsages.json
new file mode 100644
index 000000000000..b7a2efc532bb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountGetUsages.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountList.json
new file mode 100644
index 000000000000..f92f92d44365
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountList.json
@@ -0,0 +1,116 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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": [],
+ "defaultIdentity": "FirstPartyIdentity",
+ "enableFreeTier": false,
+ "apiProperties": {},
+ "enableAnalyticalStorage": true,
+ "analyticalStorageConfiguration": {
+ "schemaType": "WellDefined"
+ },
+ "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"
+ },
+ "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/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json
new file mode 100644
index 000000000000..7a4250ec41d0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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"
+ },
+ "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/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json
new file mode 100644
index 000000000000..c6124fb82831
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
new file mode 100644
index 000000000000..70f0be149dfd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "accountName": "mongo-ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListKeys.json
new file mode 100644
index 000000000000..db49e2659997
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListKeys.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
new file mode 100644
index 000000000000..4cbb6dbaeb71
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json
new file mode 100644
index 000000000000..68972ece6bc4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json
new file mode 100644
index 000000000000..d4bfae722070
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountPatch.json
new file mode 100644
index 000000000000..dc332012655c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountPatch.json
@@ -0,0 +1,196 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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
+ },
+ "defaultIdentity": "FirstPartyIdentity",
+ "enableFreeTier": false,
+ "enableAnalyticalStorage": true,
+ "analyticalStorageConfiguration": {
+ "schemaType": "WellDefined"
+ },
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720,
+ "backupStorageRedundancy": "Geo"
+ }
+ },
+ "networkAclBypass": "AzureServices",
+ "networkAclBypassResourceIds": [
+ "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName"
+ ],
+ "capacity": {
+ "totalThroughputLimit": 2000
+ },
+ "diagnosticLogSettings": {
+ "enableFullTextQuery": "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": {
+ "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": "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"
+ }
+ }
+ }
+ ],
+ "defaultIdentity": "FirstPartyIdentity",
+ "enableFreeTier": false,
+ "apiProperties": {},
+ "enableAnalyticalStorage": true,
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "createMode": "Default",
+ "analyticalStorageConfiguration": {
+ "schemaType": "WellDefined"
+ },
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720,
+ "backupStorageRedundancy": "Geo"
+ }
+ },
+ "networkAclBypass": "AzureServices",
+ "networkAclBypassResourceIds": [
+ "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName"
+ ],
+ "capacity": {
+ "totalThroughputLimit": 2000
+ },
+ "diagnosticLogSettings": {
+ "enableFullTextQuery": "True"
+ }
+ },
+ "systemData": {
+ "createdAt": "2021-03-12T22:05:09Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json
new file mode 100644
index 000000000000..23d15d52bdaa
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "keyToRegenerate": {
+ "keyKind": "primary"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
new file mode 100644
index 000000000000..bd449c73844f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json
new file mode 100644
index 000000000000..6c46c641c7de
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseGetMetrics.json
new file mode 100644
index 000000000000..b799293b5a5d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseGetUsages.json
new file mode 100644
index 000000000000..84b31da1b968
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBDatabaseGetUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBGraphAPIComputeServiceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphAPIComputeServiceCreate.json
new file mode 100644
index 000000000000..f8b72006a884
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphAPIComputeServiceCreate.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "serviceName": "GraphAPICompute",
+ "createUpdateParameters": {
+ "properties": {
+ "instanceSize": "Cosmos.D4s",
+ "instanceCount": 1,
+ "serviceType": "GraphAPICompute"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/GraphAPICompute",
+ "name": "GraphAPICompute",
+ "type": "Microsoft.DocumentDB/databaseAccounts/services",
+ "properties": {
+ "status": "Running",
+ "creationTime": "2021-01-25T12:56:05.4622517Z",
+ "instanceSize": "Cosmos.D4s",
+ "instanceCount": 1,
+ "serviceType": "GraphAPICompute",
+ "graphApiComputeEndpoint": "https://graphAPICompute.gremlin.cosmos.windows-int.net/",
+ "locations": [
+ {
+ "name": "GraphAPICompute-westus2",
+ "location": "West US 2",
+ "status": "Running",
+ "graphApiComputeEndpoint": "https://graphAPICompute-westus.gremlin.cosmos.windows-int.net/"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphAPIComputeServiceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphAPIComputeServiceDelete.json
new file mode 100644
index 000000000000..dc60bfd04c50
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphAPIComputeServiceDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "serviceName": "GraphAPICompute"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphAPIComputeServiceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphAPIComputeServiceGet.json
new file mode 100644
index 000000000000..6b6d54fc9e05
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphAPIComputeServiceGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "serviceName": "GraphAPICompute"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/GraphAPICompute",
+ "name": "GraphAPICompute",
+ "type": "Microsoft.DocumentDB/databaseAccounts/services",
+ "properties": {
+ "status": "Running",
+ "creationTime": "2021-01-25T12:56:05.4622517Z",
+ "instanceSize": "Cosmos.D4s",
+ "instanceCount": 1,
+ "serviceType": "GraphAPICompute",
+ "graphApiComputeEndpoint": "https://graphAPICompute.gremlin.cosmos.windows-int.net/",
+ "locations": [
+ {
+ "name": "GraphAPICompute-westus2",
+ "location": "West US 2",
+ "status": "Running",
+ "graphApiComputeEndpoint": "https://graphAPICompute-westus.gremlin.cosmos.windows-int.net/"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceCreateUpdate.json
new file mode 100644
index 000000000000..e91431324c86
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceCreateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "graphName": "graphName",
+ "createUpdateGraphParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "graphName"
+ },
+ "options": {}
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/graphs/graphName",
+ "name": "graphName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/graphs",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "graphName"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceDelete.json
new file mode 100644
index 000000000000..f789d68b1ebd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "204": {},
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceGet.json
new file mode 100644
index 000000000000..5359fa8267f7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/graphs/graphName",
+ "name": "graphName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/graphs",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "graphName"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceList.json
new file mode 100644
index 000000000000..e2077e0346f1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGraphResourceList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/graphs/graphName",
+ "name": "graphName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/graphs",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "graphName"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..85b759b48476
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseDelete.json
new file mode 100644
index 000000000000..ef767d73f650
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseGet.json
new file mode 100644
index 000000000000..a3a104556ada
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseList.json
new file mode 100644
index 000000000000..3a4aa8279314
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..471e848b89c3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..e5bad8f52530
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json
new file mode 100644
index 000000000000..9ccf88088511
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..e863b1fff5e0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphCreateUpdate.json
new file mode 100644
index 000000000000..48183dc79925
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphDelete.json
new file mode 100644
index 000000000000..922aa19aafe1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphGet.json
new file mode 100644
index 000000000000..9f46aa802f39
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphGet.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphList.json
new file mode 100644
index 000000000000..0cd7a1ad8492
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphList.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBGremlinGraphMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphMigrateToAutoscale.json
new file mode 100644
index 000000000000..1f191a151f5e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json
new file mode 100644
index 000000000000..df78aeb90a02
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphThroughputGet.json
new file mode 100644
index 000000000000..63219d8a4c21
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json
new file mode 100644
index 000000000000..b71af215b3cf
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBLocationGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBLocationGet.json
new file mode 100644
index 000000000000..2511badb83d3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBLocationGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBLocationList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBLocationList.json
new file mode 100644
index 000000000000..9107cc2c535f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBLocationList.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBManagedCassandraBackup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraBackup.json
new file mode 100644
index 000000000000..543452403146
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraBackup.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBManagedCassandraBackupsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraBackupsList.json
new file mode 100644
index 000000000000..70a03356840f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraBackupsList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBManagedCassandraClusterCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterCreate.json
new file mode 100644
index 000000000000..7660cae7e821
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterCreate.json
@@ -0,0 +1,155 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBManagedCassandraClusterDeallocate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterDeallocate.json
new file mode 100644
index 000000000000..e6a7057edfce
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterDeallocate.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-preview",
+ "clusterName": "cassandra-prod"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterDelete.json
new file mode 100644
index 000000000000..4d0c313bd924
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15-preview",
+ "clusterName": "cassandra-prod"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterGet.json
new file mode 100644
index 000000000000..9442df32fbba
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterGet.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json
new file mode 100644
index 000000000000..dca5e2ff9650
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBManagedCassandraClusterListBySubscription.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterListBySubscription.json
new file mode 100644
index 000000000000..b1510b0bc49f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterListBySubscription.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBManagedCassandraClusterPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterPatch.json
new file mode 100644
index 000000000000..a22d0ab265bd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterPatch.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15-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": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus/operationsStatus/318653d0-3da5-4814-b8f6-429f2af0b2a4?api-version=2021-10-15-preview"
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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-10-15-preview/examples/CosmosDBManagedCassandraClusterStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterStart.json
new file mode 100644
index 000000000000..62a258cb11a5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraClusterStart.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15-preview",
+ "clusterName": "cassandra-prod"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westeurope/operationResults/1d4397b9-0453-43b6-bccd-d9cea304f297?api-version=2021-10-15"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraCommand.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraCommand.json
new file mode 100644
index 000000000000..be6a96836a1f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraCommand.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15-preview",
+ "clusterName": "cassandra-prod",
+ "body": {
+ "command": "nodetool",
+ "arguments": {
+ "status": ""
+ },
+ "host": "10.0.1.12"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westeurope/operationsStatus/318653d0-3da5-4814-b8f6-429f2af0b2a4?api-version=2021-10-15-preview"
+ },
+ "body": {
+ "commandOutput": "Datacenter: datacenter1\n=======================\n"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterCreate.json
new file mode 100644
index 000000000000..e6935c9b3987
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterCreate.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBManagedCassandraDataCenterDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterDelete.json
new file mode 100644
index 000000000000..7163f590ec1e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15-preview",
+ "clusterName": "cassandra-prod",
+ "dataCenterName": "dc1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterGet.json
new file mode 100644
index 000000000000..1d50290cc7ba
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBManagedCassandraDataCenterList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterList.json
new file mode 100644
index 000000000000..4514a3c46b90
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterList.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBManagedCassandraDataCenterPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterPatch.json
new file mode 100644
index 000000000000..e387484ff3f5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraDataCenterPatch.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15-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": {
+ "headers": {
+ "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DocumentDB/locations/westus2/operationsStatus/318653d0-3da5-4814-b8f6-429f2af0b2a4?api-version=2021-10-15-preview"
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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-10-15-preview/examples/CosmosDBManagedCassandraStatus.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraStatus.json
new file mode 100644
index 000000000000..122dd2fd9d94
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBManagedCassandraStatus.json
@@ -0,0 +1,140 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15-preview",
+ "clusterName": "cassandra-prod"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "eTag": "A350A2CE7E91B6D5A102A5E5EC222B882D981092",
+ "reaperStatus": {
+ "healthy": true,
+ "repairRunIds": {},
+ "repairSchedules": {
+ "00000000-0000-0001-0000-000000000000": "ACTIVE"
+ }
+ },
+ "connectionErrors": [],
+ "dataCenters": [
+ {
+ "name": "cassandra-westus2-vmss",
+ "seedNodes": [
+ "10.0.8.10",
+ "10.0.8.11",
+ "10.0.8.12"
+ ],
+ "nodes": [
+ {
+ "address": "10.0.8.10",
+ "state": "",
+ "status": "",
+ "load": "84.61 MiB",
+ "tokens": [
+ "-7785254003841681178",
+ "-6756518164561476165",
+ "-4269720020504480060",
+ "-2697657908817852783",
+ "-2622387897201218249",
+ "-2177258200443022948",
+ "-129203941752875603",
+ "1738406920822650025",
+ "2598053056312400240",
+ "3227346424117996872",
+ "3644347038875498376",
+ "4823546474906050895",
+ "5293156680707616627",
+ "5485806686603256557",
+ "6250058817756969464",
+ "7991328665766267709"
+ ],
+ "size": 16,
+ "hostID": "8ccc00a7-9e22-4ac2-aa63-e5327aa0dc51",
+ "rack": "rack1",
+ "timestamp": "10/05/2021, 14:35:20.028",
+ "diskUsedKB": 749836,
+ "diskFreeKB": 1001260056,
+ "memoryUsedKB": 11061032,
+ "memoryBuffersAndCachedKB": 10817580,
+ "memoryFreeKB": 35731832,
+ "memoryTotalKB": 57610444,
+ "cpuUsage": 0.9
+ },
+ {
+ "address": "10.0.8.11",
+ "state": "",
+ "status": "",
+ "load": "59.67 MiB",
+ "tokens": [
+ "-8726238055665903210",
+ "-6687985003871487470",
+ "-5269140854976433359",
+ "-3989177686905645288",
+ "-3957362495277148220",
+ "-2539287458896988944",
+ "-2460716365393303466",
+ "-1848370030729221440",
+ "137707733677015122",
+ "579467328507000597",
+ "1698264534774619627",
+ "1904235159942090722",
+ "3312208865519999146",
+ "4035940456270983993",
+ "4412314431151736777",
+ "8232565668795426078"
+ ],
+ "size": 16,
+ "hostID": "14092117-4f77-4ec0-8984-c5b860b88a47",
+ "rack": "rack2",
+ "timestamp": "10/05/2021, 14:35:20.028",
+ "diskUsedKB": 726864,
+ "diskFreeKB": 1001283028,
+ "memoryUsedKB": 11055676,
+ "memoryBuffersAndCachedKB": 10691520,
+ "memoryFreeKB": 35863248,
+ "memoryTotalKB": 57610444,
+ "cpuUsage": 1.2
+ },
+ {
+ "address": "10.0.8.12",
+ "state": "",
+ "status": "",
+ "load": "93.2 MiB",
+ "tokens": [
+ "-5679481051867296621",
+ "-4574115287969297989",
+ "-3444578133211470522",
+ "-2755931580714972271",
+ "-2304431590844389550",
+ "-1961946736975068713",
+ "-940120277889446704",
+ "554469308917912318",
+ "1030447162050118004",
+ "2745632329542596589",
+ "4564547712926446283",
+ "5185613478135944116",
+ "7280237939830623824",
+ "7504213835759531710",
+ "7631994478195429959",
+ "8139769477321226157"
+ ],
+ "size": 16,
+ "hostID": "e16ada14-39db-462b-9f9e-5b5f6beb8bbd",
+ "rack": "rack3",
+ "timestamp": "10/05/2021, 14:35:20.028",
+ "diskUsedKB": 757540,
+ "diskFreeKB": 1001252352,
+ "memoryUsedKB": 11051608,
+ "memoryBuffersAndCachedKB": 10453856,
+ "memoryFreeKB": 36104980,
+ "memoryTotalKB": 57610444,
+ "cpuUsage": 0.4
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceCreate.json
new file mode 100644
index 000000000000..3070d44d6c4f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceCreate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "serviceName": "MaterializedViewsBuilder",
+ "createUpdateParameters": {
+ "properties": {
+ "instanceSize": "Cosmos.D4s",
+ "instanceCount": 1,
+ "serviceType": "MaterializedViewsBuilder"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/MaterializedViewsBuilder",
+ "name": "MaterializedViewsBuilder",
+ "type": "Microsoft.DocumentDB/databaseAccounts/services",
+ "properties": {
+ "status": "Running",
+ "creationTime": "2021-01-25T12:56:05.4622517Z",
+ "instanceSize": "Cosmos.D4s",
+ "instanceCount": 1,
+ "serviceType": "MaterializedViewsBuilder",
+ "locations": [
+ {
+ "name": "MaterializedViewsBuilder-westus2",
+ "location": "West US 2",
+ "status": "Running"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceDelete.json
new file mode 100644
index 000000000000..e0a0dc146bd4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "serviceName": "MaterializedViewsBuilder"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceGet.json
new file mode 100644
index 000000000000..2603a6f90b9f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMaterializedViewsBuilderServiceGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "serviceName": "MaterializedViewsBuilder"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.DocumentDB/databaseAccounts/ddb1/services/MaterializedViewsBuilder",
+ "name": "MaterializedViewsBuilder",
+ "type": "Microsoft.DocumentDB/databaseAccounts/services",
+ "properties": {
+ "status": "Running",
+ "creationTime": "2021-01-25T12:56:05.4622517Z",
+ "instanceSize": "Cosmos.D4s",
+ "instanceCount": 1,
+ "serviceType": "MaterializedViewsBuilder",
+ "locations": [
+ {
+ "name": "MaterializedViewsBuilder-westus2",
+ "location": "West US 2",
+ "status": "Running"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionBackupInformation.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionBackupInformation.json
new file mode 100644
index 000000000000..0119b6f482e1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionBackupInformation.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName",
+ "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-10-15-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json
new file mode 100644
index 000000000000..91f4c971174b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "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"
+ },
+ "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": [
+ "_ts"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ },
+ {
+ "key": {
+ "keys": [
+ "_id"
+ ]
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ },
+ "analyticalStorageTtl": 500
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionDelete.json
new file mode 100644
index 000000000000..99cab6d871e7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionGet.json
new file mode 100644
index 000000000000..861661fd8a1b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionGet.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionList.json
new file mode 100644
index 000000000000..ec38d4e1d3fb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json
new file mode 100644
index 000000000000..90595b21dcf6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json
new file mode 100644
index 000000000000..0f73edb9d663
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json
new file mode 100644
index 000000000000..00b68cf015f2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
new file mode 100644
index 000000000000..d961eeac38f6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..907e25339a9f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseDelete.json
new file mode 100644
index 000000000000..ef767d73f650
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseGet.json
new file mode 100644
index 000000000000..522ef1003990
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseList.json
new file mode 100644
index 000000000000..3a39903b5fe7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..471e848b89c3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..e5bad8f52530
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json
new file mode 100644
index 000000000000..e946aa5a6623
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..5255c76f7236
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionCreateUpdate.json
new file mode 100644
index 000000000000..dd61fc8ff271
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionCreateUpdate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "mongoRoleDefinitionId": "myMongoRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-15-preview",
+ "createUpdateMongoRoleDefinitionParameters": {
+ "properties": {
+ "roleName": "myRoleName",
+ "databaseName": "sales",
+ "privileges": [
+ {
+ "resource": {
+ "db": "sales",
+ "collection": "sales"
+ },
+ "actions": [
+ "insert",
+ "find"
+ ]
+ }
+ ],
+ "roles": [
+ {
+ "role": "myInheritedRole",
+ "db": "sales"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbRoleDefinitions/myMongoDbRoleDefinitionId",
+ "name": "myMongoDbRoleDefinitionId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongoDbRoleDefinitionId",
+ "properties": {
+ "roleName": "myRoleName",
+ "type": "CustomRole",
+ "databaseName": "sales",
+ "privileges": [
+ {
+ "resource": {
+ "db": "sales",
+ "collection": "coll"
+ },
+ "actions": [
+ "find",
+ "insert"
+ ]
+ }
+ ],
+ "roles": [
+ {
+ "db": "sales",
+ "role": "myReadRole"
+ }
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionDelete.json
new file mode 100644
index 000000000000..1a3fdabffedf
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "mongoRoleDefinitionId": "myMongoRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-15-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionGet.json
new file mode 100644
index 000000000000..84a0947d7a25
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionGet.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "mongoRoleDefinitionId": "myMongoRoleDefinitionId",
+ "databaseName": "sales",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbRoleDefinitions/myMongoDbRoleDefinitionId",
+ "name": "myMongoRoleDefinitionId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions",
+ "properties": {
+ "roleName": "myRoleName",
+ "type": "CustomRole",
+ "databaseName": "sales",
+ "privileges": [
+ {
+ "resource": {
+ "db": "sales",
+ "collection": "coll"
+ },
+ "actions": [
+ "find",
+ "insert"
+ ]
+ }
+ ],
+ "roles": [
+ {
+ "db": "sales",
+ "role": "myReadRole"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionList.json
new file mode 100644
index 000000000000..81659aae8caa
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBRoleDefinitionList.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbRoleDefinitions/myRoleDefinitionId",
+ "name": "myRoleDefinitionId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbRoleDefinitions",
+ "properties": {
+ "roleName": "myRoleName",
+ "type": "CustomRole",
+ "databaseName": "sales",
+ "privileges": [
+ {
+ "resource": {
+ "db": "sales",
+ "collection": "coll"
+ },
+ "actions": [
+ "find",
+ "insert"
+ ]
+ }
+ ],
+ "roles": [
+ {
+ "db": "sales",
+ "role": "myReadRole"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionCreateUpdate.json
new file mode 100644
index 000000000000..9dacb9cf9123
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionCreateUpdate.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "mongoUserDefinitionId": "myMongoUserDefinitionId",
+ "databaseName": "sales",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-15-preview",
+ "createUpdateMongoUserDefinitionParameters": {
+ "properties": {
+ "userName": "myUserName",
+ "password": "myPassword",
+ "databaseName": "sales",
+ "customData": "My custom data",
+ "roles": [
+ {
+ "role": "myReadRole",
+ "db": "sales"
+ }
+ ],
+ "mechanisms": "SCRAM-SHA-256"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbUserDefinitions/myUserId",
+ "name": "myUserName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions",
+ "properties": {
+ "userName": "myUserName",
+ "databaseName": "sales",
+ "customData": "My custom data",
+ "roles": [
+ {
+ "db": "sales",
+ "role": "myReadRole"
+ }
+ ],
+ "mechanisms": "SCRAM-SHA-256"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionDelete.json
new file mode 100644
index 000000000000..56c2cfa69bd3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "mongoUserDefinitionId": "myMongoUserDefinitionId",
+ "databaseName": "sales",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-15-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionGet.json
new file mode 100644
index 000000000000..13170348ac2e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "mongoUserDefinitionId": "myMongoUserDefinitionId",
+ "databaseName": "sales",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbUserDefinitions/myUserId",
+ "name": "myUserId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions",
+ "properties": {
+ "userName": "myUserName",
+ "databaseName": "sales",
+ "customData": "My custom data",
+ "roles": [
+ {
+ "db": "sales",
+ "role": "myReadRole"
+ }
+ ],
+ "mechanisms": "SCRAM-SHA-256"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionList.json
new file mode 100644
index 000000000000..392ac233b6a5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBMongoDBUserDefinitionList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.DocumentDB/databaseAccounts/myAccountName/mongodbUserDefinitions/myUserId",
+ "name": "myUserId",
+ "type": "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions",
+ "properties": {
+ "userName": "myUserName",
+ "databaseName": "sales",
+ "customData": "My custom data",
+ "roles": [
+ {
+ "db": "sales",
+ "role": "myReadRole"
+ }
+ ],
+ "mechanisms": "SCRAM-SHA-256"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceCreate.json
new file mode 100644
index 000000000000..7fffca7b3dc2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceCreate.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBNotebookWorkspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceDelete.json
new file mode 100644
index 000000000000..9a21ef870fc7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceGet.json
new file mode 100644
index 000000000000..c0ea4d7b7207
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBNotebookWorkspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceList.json
new file mode 100644
index 000000000000..acd574390c1f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json
new file mode 100644
index 000000000000..6404b083e85c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json
new file mode 100644
index 000000000000..bc0ffab35b39
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceStart.json
new file mode 100644
index 000000000000..bc0ffab35b39
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBNotebookWorkspaceStart.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBOperationsList.json
new file mode 100644
index 000000000000..21f6e2e8fc6d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json
new file mode 100644
index 000000000000..122542521eb7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
new file mode 100644
index 000000000000..f324caa4ef8c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPercentileGetMetrics.json
new file mode 100644
index 000000000000..ed237ef3b84d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPercentileGetMetrics.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json
new file mode 100644
index 000000000000..7dca563f44e8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPercentileTargetGetMetrics.json
new file mode 100644
index 000000000000..c480be83030d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPercentileTargetGetMetrics.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBPrivateEndpointConnectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionDelete.json
new file mode 100644
index 000000000000..960216e3700a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-10-15-preview",
+ "privateEndpointConnectionName": "privateEndpointConnectionName"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionGet.json
new file mode 100644
index 000000000000..0e8ebc6f6264
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBPrivateEndpointConnectionListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionListGet.json
new file mode 100644
index 000000000000..0b2cac840351
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionListGet.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBPrivateEndpointConnectionUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionUpdate.json
new file mode 100644
index 000000000000..1c479ca73c43
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateEndpointConnectionUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBPrivateLinkResourceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateLinkResourceGet.json
new file mode 100644
index 000000000000..83e1e40f2685
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateLinkResourceGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBPrivateLinkResourceListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateLinkResourceListGet.json
new file mode 100644
index 000000000000..b36bcd7caa42
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBPrivateLinkResourceListGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRegionCollectionGetMetrics.json
new file mode 100644
index 000000000000..a632ae6f79cc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRegionCollectionGetMetrics.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBRestorableDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableDatabaseAccountGet.json
new file mode 100644
index 000000000000..cbedb58d7f18
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableDatabaseAccountGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBRestorableDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableDatabaseAccountList.json
new file mode 100644
index 000000000000..975407d96ef9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableDatabaseAccountList.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json
new file mode 100644
index 000000000000..57c4e0ade83d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBRestorableMongodbCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableMongodbCollectionList.json
new file mode 100644
index 000000000000..a2fde7915901
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableMongodbCollectionList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBRestorableMongodbDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableMongodbDatabaseList.json
new file mode 100644
index 000000000000..50486ba458f6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableMongodbDatabaseList.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBRestorableMongodbResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableMongodbResourceList.json
new file mode 100644
index 000000000000..3ebaca894498
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableMongodbResourceList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBRestorableSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableSqlContainerList.json
new file mode 100644
index 000000000000..8c0964e3f988
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableSqlContainerList.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBRestorableSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableSqlDatabaseList.json
new file mode 100644
index 000000000000..cb9b1de65e9c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableSqlDatabaseList.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBRestorableSqlResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableSqlResourceList.json
new file mode 100644
index 000000000000..c948d4d941a1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestorableSqlResourceList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json
new file mode 100644
index 000000000000..98ce4c9bfefb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBServicesList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBServicesList.json
new file mode 100644
index 000000000000..db346e00adb0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBServicesList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlClientEncryptionKeyCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlClientEncryptionKeyCreateUpdate.json
new file mode 100644
index 000000000000..39ba75e99bfb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlClientEncryptionKeyCreateUpdate.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "accountName": "accountName",
+ "databaseName": "databaseName",
+ "clientEncryptionKeyName": "cekName",
+ "createUpdateClientEncryptionKeyParameters": {
+ "properties": {
+ "resource": {
+ "id": "cekName",
+ "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256",
+ "wrappedDataEncryptionKey": "This is actually an array of bytes. This request/response is being presented as a string for readability in the example",
+ "keyWrapMetadata": {
+ "name": "customerManagedKey",
+ "type": "AzureKeyVault",
+ "value": "AzureKeyVault Key URL"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/sqlDatabases/databaseName/clientEncryptionKeys/cekName",
+ "name": "cekName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKey",
+ "properties": {
+ "resource": {
+ "id": "cekName",
+ "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256",
+ "wrappedDataEncryptionKey": "This is actually an array of bytes. This request/response is being presented as a string for readability in the example",
+ "keyWrapMetadata": {
+ "name": "customerManagedKey",
+ "type": "AzureKeyVault",
+ "value": "AzureKeyVault Key URL"
+ },
+ "_rid": "tNc4AAAAAAAQkjzWAgAAAA==",
+ "_ts": 1626425552,
+ "_etag": "00000000-0000-0000-7a1f-bc0828e801d7"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlClientEncryptionKeyGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlClientEncryptionKeyGet.json
new file mode 100644
index 000000000000..dd048f352f29
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlClientEncryptionKeyGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "accountName": "accountName",
+ "databaseName": "databaseName",
+ "clientEncryptionKeyName": "cekName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/sqlDatabases/databaseName/clientEncryptionKeys/cekName",
+ "name": "cekName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKey",
+ "properties": {
+ "resource": {
+ "id": "cekName",
+ "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256",
+ "wrappedDataEncryptionKey": "This is actually an array of bytes. This request/response is being presented as a string for readability in the example",
+ "keyWrapMetadata": {
+ "name": "customerManagedKey",
+ "type": "AzureKeyVault",
+ "value": "AzureKeyVault Key URL"
+ },
+ "_rid": "tNc4AAAAAAAQkjzWAgAAAA==",
+ "_ts": 1626425552,
+ "_etag": "00000000-0000-0000-7a1f-bc0828e801d7"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlClientEncryptionKeysList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlClientEncryptionKeysList.json
new file mode 100644
index 000000000000..6b7ad111a16d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlClientEncryptionKeysList.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subId",
+ "resourceGroupName": "rgName",
+ "accountName": "accountName",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/sqlDatabases/databaseName/clientEncryptionKeys/cekName1",
+ "name": "cekName1",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKey",
+ "properties": {
+ "resource": {
+ "id": "cekName1",
+ "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256",
+ "wrappedDataEncryptionKey": "This is actually an array of bytes. This request/response is being presented as a string for readability in the example",
+ "keyWrapMetadata": {
+ "name": "customerManagedKey1",
+ "type": "AzureKeyVault",
+ "value": "AzureKeyVault Key URL for customerManagedKey1"
+ },
+ "_rid": "nAMyAAAAAADPw1kKAgAAAA==",
+ "_ts": 1626425552,
+ "_etag": "00000000-0000-0000-7a1f-bc0828e801d7"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.DocumentDB/databaseAccounts/accountName/sqlDatabases/databaseName/clientEncryptionKeys/cekName2",
+ "name": "cekName2",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/clientEncryptionKey",
+ "properties": {
+ "resource": {
+ "id": "cekName2",
+ "encryptionAlgorithm": "AEAD_AES_256_CBC_HMAC_SHA256",
+ "wrappedDataEncryptionKey": "This is actually an array of bytes. This request/response is being presented as a string for readability in the example",
+ "keyWrapMetadata": {
+ "name": "customerManagedKey2",
+ "type": "AzureKeyVault",
+ "value": "AzureKeyVault Key URL for customerManagedKey2"
+ },
+ "_rid": "nAMyAAAAAAAWWfxHAgAAAA==",
+ "_ts": 1626425631,
+ "_etag": "00000000-0000-0000-7a21-7788a38c01d7"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerBackupInformation.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerBackupInformation.json
new file mode 100644
index 000000000000..401c9e84f103
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerBackupInformation.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-preview",
+ "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-10-15-preview/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerCreateUpdate.json
new file mode 100644
index 000000000000..3609c5a01847
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerDelete.json
new file mode 100644
index 000000000000..a4a5017e5d2a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerGet.json
new file mode 100644
index 000000000000..8efee2aa73b8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerGet.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerList.json
new file mode 100644
index 000000000000..0fda13f1d625
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerList.json
@@ -0,0 +1,192 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlContainerMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerMigrateToAutoscale.json
new file mode 100644
index 000000000000..99d554aeb6da
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlContainerMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerMigrateToManualThroughput.json
new file mode 100644
index 000000000000..5d961d902453
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerThroughputGet.json
new file mode 100644
index 000000000000..3db584189c39
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerThroughputUpdate.json
new file mode 100644
index 000000000000..f998e07a01f2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlContainerThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..251f2d734877
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseDelete.json
new file mode 100644
index 000000000000..ef767d73f650
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseGet.json
new file mode 100644
index 000000000000..219123180527
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseList.json
new file mode 100644
index 000000000000..85e904320453
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..471e848b89c3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..e5bad8f52530
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseThroughputGet.json
new file mode 100644
index 000000000000..17b4bd2837a8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..0bda94288965
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceCreate.json
new file mode 100644
index 000000000000..a1b733c7d959
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceCreate.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceDelete.json
new file mode 100644
index 000000000000..9b9163073264
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "serviceName": "SqlDedicatedGateway"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceGet.json
new file mode 100644
index 000000000000..9176f212de84
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlDedicatedGatewayServiceGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json
new file mode 100644
index 000000000000..7a4e529f2f0c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "roleAssignmentId": "myRoleAssignmentId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlRoleAssignmentDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentDelete.json
new file mode 100644
index 000000000000..04be4eef2ca4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "roleAssignmentId": "myRoleAssignmentId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-15-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentGet.json
new file mode 100644
index 000000000000..ce0b52b17913
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "roleAssignmentId": "myRoleAssignmentId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlRoleAssignmentList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentList.json
new file mode 100644
index 000000000000..d9bb2636a094
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleAssignmentList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json
new file mode 100644
index 000000000000..6f3c21a1899f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "roleDefinitionId": "myRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlRoleDefinitionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionDelete.json
new file mode 100644
index 000000000000..f49fe25d93bc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "roleDefinitionId": "myRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-15-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionGet.json
new file mode 100644
index 000000000000..1cfc01420c63
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "roleDefinitionId": "myRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlRoleDefinitionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionList.json
new file mode 100644
index 000000000000..c4287ac5b030
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlRoleDefinitionList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
new file mode 100644
index 000000000000..a015e1736a71
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlStoredProcedureDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureDelete.json
new file mode 100644
index 000000000000..e6f28946e1a3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "storedProcedureName": "storedProcedureName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureGet.json
new file mode 100644
index 000000000000..4592708643de
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlStoredProcedureList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureList.json
new file mode 100644
index 000000000000..5ec843cf336f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlStoredProcedureList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlTriggerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerCreateUpdate.json
new file mode 100644
index 000000000000..821f2f63bed7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerCreateUpdate.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlTriggerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerDelete.json
new file mode 100644
index 000000000000..70372a062f64
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "triggerName": "triggerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerGet.json
new file mode 100644
index 000000000000..1c62da9c2a2c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlTriggerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerList.json
new file mode 100644
index 000000000000..19b16918c478
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlTriggerList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
new file mode 100644
index 000000000000..073bf421ecf8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json
new file mode 100644
index 000000000000..345c971e530c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "userDefinedFunctionName": "userDefinedFunctionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json
new file mode 100644
index 000000000000..2829eb873849
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionList.json
new file mode 100644
index 000000000000..3616091ef08d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBSqlUserDefinedFunctionList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableCreateUpdate.json
new file mode 100644
index 000000000000..411e8bd48906
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableCreateUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableDelete.json
new file mode 100644
index 000000000000..8fed87b4a93f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableGet.json
new file mode 100644
index 000000000000..dfed49db2f0f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableList.json
new file mode 100644
index 000000000000..2f5cfcce8182
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableMigrateToAutoscale.json
new file mode 100644
index 000000000000..4f00ac8f4e02
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "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-10-15-preview/examples/CosmosDBTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableMigrateToManualThroughput.json
new file mode 100644
index 000000000000..f26731c2b7e6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-preview",
+ "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-10-15-preview/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableThroughputGet.json
new file mode 100644
index 000000000000..9742629dc159
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableThroughputUpdate.json
new file mode 100644
index 000000000000..2a2ef568533c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/CosmosDBTableThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15-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-10-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobCreate.json
new file mode 100644
index 000000000000..8b4c9185bbc9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobCreate.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-10-15-preview",
+ "subscriptionId": "subid",
+ "jobName": "j1",
+ "jobCreateParameters": {
+ "properties": {
+ "source": {
+ "component": "CosmosDBCassandra",
+ "keyspaceName": "keyspace",
+ "tableName": "table"
+ },
+ "destination": {
+ "component": "AzureBlobStorage",
+ "containerName": "blob_container",
+ "endpointUrl": "https://blob.windows.net"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "ab1b6f34-b33c-46b1-98c7-3a0a63fd0d16",
+ "type": "Microsoft.DocumentDB/databaseAccounts/dataTransferJobs",
+ "properties": {
+ "jobName": "j1",
+ "source": {
+ "tableName": "table",
+ "keyspaceName": "keyspace",
+ "component": "CosmosDBCassandra"
+ },
+ "destination": {
+ "component": "AzureBlobStorage",
+ "containerName": "blob_container",
+ "endpointUrl": "https://blob.windows.net"
+ },
+ "status": "Running",
+ "percentageComplete": 20,
+ "lastUpdatedUtcTime": "2021-06-12T11:10:55.2780000Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobFeed.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobFeed.json
new file mode 100644
index 000000000000..acde9eaad111
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobFeed.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-10-15-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "ab1b6f34-b33c-46b1-98c7-3a0a63fd0d16",
+ "type": "Microsoft.DocumentDB/databaseAccounts/dataTransferJobs",
+ "properties": {
+ "jobName": "j1",
+ "source": {
+ "tableName": "table",
+ "keyspaceName": "keyspace",
+ "component": "CosmosDBCassandra"
+ },
+ "destination": {
+ "component": "AzureBlobStorage",
+ "endpointUrl": "https://blob.windows.net",
+ "containerName": "blob_container"
+ },
+ "status": "Completed",
+ "percentageComplete": 100,
+ "lastUpdatedUtcTime": "2021-06-12T12:04:23.1530000Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobGet.json
new file mode 100644
index 000000000000..391734048ca1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/examples/data-transfer-service/CosmosDBDataTransferJobGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-10-15-preview",
+ "subscriptionId": "subid",
+ "jobName": "j1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "ab1b6f34-b33c-46b1-98c7-3a0a63fd0d16",
+ "type": "Microsoft.DocumentDB/databaseAccounts/dataTransferJobs",
+ "properties": {
+ "jobName": "j1",
+ "source": {
+ "tableName": "table",
+ "keyspaceName": "keyspace",
+ "component": "CosmosDBCassandra"
+ },
+ "destination": {
+ "component": "AzureBlobStorage",
+ "endpointUrl": "https://blob.windows.net",
+ "containerName": "blob_container"
+ },
+ "status": "Completed",
+ "percentageComplete": 100,
+ "lastUpdatedUtcTime": "2021-06-12T12:04:23.1530000Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/managedCassandra.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/managedCassandra.json
new file mode 100644
index 000000000000..0701679195b7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/managedCassandra.json
@@ -0,0 +1,1467 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB - Managed Cassandra",
+ "description": "Azure Cosmos DB Database Service Managed Cassandra REST API",
+ "version": "2021-10-15-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.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}/invokeCommand": {
+ "post": {
+ "operationId": "CassandraClusters_InvokeCommand",
+ "description": "Invoke a command like nodetool for cassandra maintenance ",
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraCommand": {
+ "$ref": "./examples/CosmosDBManagedCassandraCommand.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/CommandPostBody"
+ },
+ "description": "Specification which command to run where"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success. The command operation will begin as soon as possible.",
+ "schema": {
+ "$ref": "#/definitions/CommandOutput"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/deallocate": {
+ "post": {
+ "operationId": "CassandraClusters_Deallocate",
+ "description": "Deallocate the Managed Cassandra Cluster and Associated Data Centers. Deallocation will deallocate the host virtual machine of this cluster, and reserved the data disk. This won't do anything on an already deallocated cluster. Use Start to restart the cluster.",
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraClusterDeallocate": {
+ "$ref": "./examples/CosmosDBManagedCassandraClusterDeallocate.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"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Cluster deallocated."
+ },
+ "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}/start": {
+ "post": {
+ "operationId": "CassandraClusters_Start",
+ "description": "Start the Managed Cassandra Cluster and Associated Data Centers. Start will start the host virtual machine of this cluster with reserved data disk. This won't do anything on an already running cluster. Use Deallocate to deallocate the cluster.",
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraClusterStart": {
+ "$ref": "./examples/CosmosDBManagedCassandraClusterStart.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"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Enqueued Operation to start the cluster."
+ },
+ "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}/status": {
+ "get": {
+ "operationId": "CassandraClusters_Status",
+ "description": "Gets the CPU, memory, and disk usage statistics for each Cassandra node in a cluster.",
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraStatus": {
+ "$ref": "./examples/CosmosDBManagedCassandraStatus.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 fetched the usage statistics of all nodes in the cluster.",
+ "schema": {
+ "$ref": "#/definitions/CassandraClusterPublicStatus"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "ManagedCassandraARMResourceProperties": {
+ "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": "cosmos-db.json#/definitions/Tags"
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedCassandraManagedServiceIdentity"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ManagedCassandraManagedServiceIdentity": {
+ "description": "Identity for the resource.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The object id of the identity resource."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource.",
+ "enum": [
+ "SystemAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedCassandraResourceIdentityType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "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": "#/definitions/ManagedCassandraARMResourceProperties"
+ }
+ ],
+ "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'. 'Ldap' is in preview.",
+ "enum": [
+ "None",
+ "Cassandra",
+ "Ldap"
+ ],
+ "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"
+ },
+ "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."
+ },
+ "hoursBetweenBackups": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of hours to wait between taking a backup of the cluster."
+ },
+ "deallocated": {
+ "type": "boolean",
+ "description": "Whether the cluster and associated data centers has been deallocated."
+ },
+ "cassandraAuditLoggingEnabled": {
+ "type": "boolean",
+ "description": "Whether Cassandra audit logging is enabled"
+ }
+ }
+ }
+ }
+ },
+ "ManagedCassandraNodeStatus": {
+ "type": "string",
+ "description": "Indicates whether the node is functioning or not.",
+ "enum": [
+ "Up",
+ "Down"
+ ],
+ "x-ms-enum": {
+ "name": "NodeStatus",
+ "modelAsString": true
+ }
+ },
+ "ManagedCassandraNodeState": {
+ "type": "string",
+ "description": "The state of the node in Cassandra ring.",
+ "enum": [
+ "Normal",
+ "Leaving",
+ "Joining",
+ "Moving",
+ "Stopped"
+ ],
+ "x-ms-enum": {
+ "name": "NodeState",
+ "modelAsString": true
+ }
+ },
+ "CassandraClusterPublicStatus": {
+ "type": "object",
+ "description": "Properties of a managed Cassandra cluster public status.",
+ "properties": {
+ "eTag": {
+ "type": "string"
+ },
+ "reaperStatus": {
+ "$ref": "#/definitions/ManagedCassandraReaperStatus"
+ },
+ "connectionErrors": {
+ "type": "array",
+ "description": "List relevant information about any connection errors to the Datacenters.",
+ "items": {
+ "$ref": "#/definitions/ConnectionError"
+ }
+ },
+ "dataCenters": {
+ "type": "array",
+ "description": "List of the status of each datacenter in this cluster.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of this Datacenter."
+ },
+ "seedNodes": {
+ "type": "array",
+ "description": "A list of all seed nodes in the cluster, managed and unmanaged.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "nodes": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "type": "string",
+ "description": "The node's IP address."
+ },
+ "state": {
+ "$ref": "#/definitions/ManagedCassandraNodeState"
+ },
+ "status": {
+ "type": "string"
+ },
+ "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 cells or tombstones) is counted."
+ },
+ "tokens": {
+ "type": "array",
+ "description": "List of tokens this node covers.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "size": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "hostID": {
+ "description": "The network ID of the node.",
+ "type": "string"
+ },
+ "rack": {
+ "description": "The rack this node is part of.",
+ "type": "string"
+ },
+ "timestamp": {
+ "description": "The timestamp at which that snapshot of these usage statistics were taken.",
+ "type": "string"
+ },
+ "diskUsedKB": {
+ "description": "The amount of disk used, in kB, of the directory /var/lib/cassandra.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "diskFreeKB": {
+ "description": "The amount of disk free, in kB, of the directory /var/lib/cassandra.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memoryUsedKB": {
+ "description": "Used memory (calculated as total - free - buffers - cache), in kB.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memoryBuffersAndCachedKB": {
+ "description": "Memory used by kernel buffers (Buffers in /proc/meminfo) and page cache and slabs (Cached and SReclaimable in /proc/meminfo), in kB.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memoryFreeKB": {
+ "description": "Unused memory (MemFree and SwapFree in /proc/meminfo), in kB.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memoryTotalKB": {
+ "description": "Total installed memory (MemTotal and SwapTotal in /proc/meminfo), in kB.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "cpuUsage": {
+ "description": "A float representing the current system-wide CPU utilization as a percentage.",
+ "type": "number",
+ "format": "double"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "ManagedCassandraReaperStatus": {
+ "type": "object",
+ "properties": {
+ "healthy": {
+ "type": "boolean"
+ },
+ "repairRunIds": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "repairSchedules": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ConnectionError": {
+ "type": "object",
+ "properties": {
+ "connectionState": {
+ "description": "The kind of connection error that occurred.",
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "OK",
+ "OperatorToDataCenterNetworkError",
+ "DatacenterToDatacenterNetworkError",
+ "InternalOperatorToDataCenterCertificateError",
+ "InternalError"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectionState",
+ "modelAsString": true
+ }
+ },
+ "iPFrom": {
+ "description": "The IP of host that originated the failed connection.",
+ "type": "string"
+ },
+ "iPTo": {
+ "description": "The IP that the connection attempted to reach.",
+ "type": "string"
+ },
+ "port": {
+ "description": "The TCP port the connection was attempted on.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "exception": {
+ "description": "Detailed error message about the failed connection.",
+ "type": "string"
+ }
+ }
+ },
+ "CommandPostBody": {
+ "description": "Specification of which command to run where",
+ "type": "object",
+ "required": [
+ "command",
+ "host"
+ ],
+ "properties": {
+ "command": {
+ "type": "string",
+ "description": "The command which should be run"
+ },
+ "arguments": {
+ "type": "object",
+ "description": "The arguments for the command to be run",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "host": {
+ "type": "string",
+ "description": "IP address of the cassandra host to run the command on"
+ },
+ "cassandra-stop-start": {
+ "type": "boolean",
+ "description": "If true, stops cassandra before executing the command and then start it again"
+ },
+ "readwrite": {
+ "type": "boolean",
+ "description": "If true, allows the command to *write* to the cassandra directory, otherwise read-only."
+ }
+ }
+ },
+ "CommandOutput": {
+ "description": "Response of /command api",
+ "type": "object",
+ "properties": {
+ "commandOutput": {
+ "type": "string",
+ "description": "Output of the command."
+ }
+ }
+ },
+ "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."
+ },
+ "managedDiskCustomerKeyUri": {
+ "type": "string",
+ "description": "Key uri to use for encryption of managed disks. Ensure the system assigned identity of the cluster has been assigned appropriate permissions(key get/wrap/unwrap permissions) on the key."
+ },
+ "backupStorageCustomerKeyUri": {
+ "type": "string",
+ "description": "Indicates the Key Uri of the customer key to use for encryption of the backup storage account."
+ },
+ "sku": {
+ "type": "string",
+ "description": "Virtual Machine SKU used for data centers. Default value is Standard_DS14_v2"
+ },
+ "diskSku": {
+ "type": "string",
+ "description": "Disk SKU used for data centers. Default value is P30."
+ },
+ "diskCapacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of disk used for data centers. Default value is 4."
+ },
+ "availabilityZone": {
+ "type": "boolean",
+ "description": "If the data center has Availability Zone feature, apply it to the Virtual Machine ScaleSet that host the cassandra data center virtual machines."
+ },
+ "authenticationMethodLdapProperties": {
+ "$ref": "#/definitions/AuthenticationMethodLdapProperties"
+ }
+ }
+ }
+ }
+ },
+ "AuthenticationMethodLdapProperties": {
+ "type": "object",
+ "description": "Ldap authentication method properties. This feature is in preview.",
+ "properties": {
+ "serverHostname": {
+ "description": "Hostname of the LDAP server.",
+ "type": "string"
+ },
+ "serverPort": {
+ "description": "Port of the LDAP server.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "serviceUserDistinguishedName": {
+ "description": "Distinguished name of the look up user account, who can look up user details on authentication.",
+ "type": "string"
+ },
+ "serviceUserPassword": {
+ "description": "Password of the look up user.",
+ "type": "string"
+ },
+ "searchBaseDistinguishedName": {
+ "description": "Distinguished name of the object to start the recursive search of users from.",
+ "type": "string"
+ },
+ "searchFilterTemplate": {
+ "description": "Template to use for searching. Defaults to (cn=%s) where %s will be replaced by the username used to login.",
+ "type": "string"
+ },
+ "serverCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Certificate"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/mongorbac.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/mongorbac.json
new file mode 100644
index 000000000000..9a4db3bfc351
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/mongorbac.json
@@ -0,0 +1,616 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB API for MongoDB Role Based Access Control Resource Provider REST API",
+ "version": "2021-10-15-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbRoleDefinitions/{mongoRoleDefinitionId}": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoRoleDefinition",
+ "x-ms-examples": {
+ "CosmosDBMongoRoleDefinitionGet": {
+ "$ref": "./examples/CosmosDBMongoDBRoleDefinitionGet.json"
+ }
+ },
+ "description": "Retrieves the properties of an existing Azure Cosmos DB Mongo Role Definition with the given Id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/mongoRoleDefinitionIdParameter"
+ },
+ {
+ "$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 Mongo Role Definition was successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/MongoRoleDefinitionGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_CreateUpdateMongoRoleDefinition",
+ "x-ms-examples": {
+ "CosmosDBMongoDBRoleDefinitionCreateUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBRoleDefinitionCreateUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Creates or updates an Azure Cosmos DB Mongo Role Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/mongoRoleDefinitionIdParameter"
+ },
+ {
+ "$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": "createUpdateMongoRoleDefinitionParameters",
+ "in": "body",
+ "required": true,
+ "description": "The properties required to create or update a Role Definition.",
+ "schema": {
+ "$ref": "#/definitions/MongoRoleDefinitionCreateUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Mongo Role Definition create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoRoleDefinitionGetResults"
+ }
+ },
+ "202": {
+ "description": "The Mongo 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": "MongoDBResources_DeleteMongoRoleDefinition",
+ "x-ms-examples": {
+ "CosmosDBMongoDBRoleDefinitionDelete": {
+ "$ref": "./examples/CosmosDBMongoDBRoleDefinitionDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes an existing Azure Cosmos DB Mongo Role Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/mongoRoleDefinitionIdParameter"
+ },
+ {
+ "$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 Mongo Role Definition delete operation was completed successfully."
+ },
+ "202": {
+ "description": "The Mongo Role Definition delete request was accepted and will complete asynchronously."
+ },
+ "204": {
+ "description": "The requested Mongo 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}/mongodbRoleDefinitions": {
+ "get": {
+ "operationId": "MongoDBResources_ListMongoRoleDefinitions",
+ "x-ms-examples": {
+ "CosmosDBMongoDBRoleDefinitionList": {
+ "$ref": "./examples/CosmosDBMongoDBRoleDefinitionList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the list of all Azure Cosmos DB Mongo 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/MongoRoleDefinitionListResult"
+ }
+ },
+ "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}/mongodbUserDefinitions/{mongoUserDefinitionId}": {
+ "get": {
+ "operationId": "MongoDBResources_GetMongoUserDefinition",
+ "x-ms-examples": {
+ "CosmosDBMongoDBUserDefinitionGet": {
+ "$ref": "./examples/CosmosDBMongoDBUserDefinitionGet.json"
+ }
+ },
+ "description": "Retrieves the properties of an existing Azure Cosmos DB Mongo User Definition with the given Id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/mongoUserDefinitionIdParameter"
+ },
+ {
+ "$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 User Definition was successfully retrieved.",
+ "schema": {
+ "$ref": "#/definitions/MongoUserDefinitionGetResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "MongoDBResources_CreateUpdateMongoUserDefinition",
+ "x-ms-examples": {
+ "CosmosDBMongoDBUserDefinitionCreateUpdate": {
+ "$ref": "./examples/CosmosDBMongoDBUserDefinitionCreateUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Creates or updates an Azure Cosmos DB Mongo User Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/mongoUserDefinitionIdParameter"
+ },
+ {
+ "$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": "createUpdateMongoUserDefinitionParameters",
+ "in": "body",
+ "required": true,
+ "description": "The properties required to create or update a User Definition.",
+ "schema": {
+ "$ref": "#/definitions/MongoUserDefinitionCreateUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The User Definition create or update operation was completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/MongoUserDefinitionGetResults"
+ }
+ },
+ "202": {
+ "description": "The User 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": "MongoDBResources_DeleteMongoUserDefinition",
+ "x-ms-examples": {
+ "CosmosDBMongoDBUserDefinitionDelete": {
+ "$ref": "./examples/CosmosDBMongoDBUserDefinitionDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes an existing Azure Cosmos DB Mongo User Definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/mongoUserDefinitionIdParameter"
+ },
+ {
+ "$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 User Definition delete operation was completed successfully."
+ },
+ "202": {
+ "description": "The User Definition delete request was accepted and will complete asynchronously."
+ },
+ "204": {
+ "description": "The requested User 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}/mongodbUserDefinitions": {
+ "get": {
+ "operationId": "MongoDBResources_ListMongoUserDefinitions",
+ "x-ms-examples": {
+ "CosmosDBMongoDBUserDefinitionList": {
+ "$ref": "./examples/CosmosDBMongoDBUserDefinitionList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "description": "Retrieves the list of all Azure Cosmos DB Mongo User Definition.",
+ "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/MongoUserDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "MongoRoleDefinitionResource": {
+ "type": "object",
+ "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": "MongoRoleDefinitionType",
+ "modelAsString": false
+ }
+ },
+ "databaseName": {
+ "type": "string",
+ "description": "The database name for which access is being granted for this Role Definition."
+ },
+ "privileges": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Privilege"
+ },
+ "description": "A set of privileges contained by the Role Definition. This will allow application of this Role Definition on the entire database account or any underlying Database / Collection. Scopes higher than Database are not enforceable as privilege."
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Role"
+ },
+ "description": "The set of roles inherited by this Role Definition."
+ }
+ },
+ "description": "Azure Cosmos DB Mongo Role Definition resource object."
+ },
+ "MongoRoleDefinitionCreateUpdateParameters": {
+ "description": "Parameters to create and update an Azure Cosmos DB Mongo Role Definition.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update an Azure Cosmos DB Mongo Role Definition.",
+ "$ref": "#/definitions/MongoRoleDefinitionResource"
+ }
+ }
+ },
+ "MongoRoleDefinitionGetResults": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MongoRoleDefinitionResource",
+ "description": "Properties related to the Mongo Role Definition."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ],
+ "description": "An Azure Cosmos DB Mongo Role Definition."
+ },
+ "Privilege": {
+ "type": "object",
+ "properties": {
+ "resource": {
+ "type": "object",
+ "properties": {
+ "db": {
+ "type": "string",
+ "description": "The database name the role is applied."
+ },
+ "collection": {
+ "type": "string",
+ "description": "The collection name the role is applied."
+ }
+ },
+ "description": "An Azure Cosmos DB Mongo DB Resource."
+ },
+ "actions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "An array of actions that are allowed."
+ }
+ },
+ "description": "The set of data plane operations permitted through this Role Definition."
+ },
+ "Role": {
+ "type": "object",
+ "properties": {
+ "db": {
+ "type": "string",
+ "description": "The database name the role is applied."
+ },
+ "role": {
+ "type": "string",
+ "description": "The role name."
+ }
+ },
+ "description": "The set of roles permitted through this Role Definition."
+ },
+ "MongoRoleDefinitionListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/MongoRoleDefinitionGetResults"
+ },
+ "description": "List of Mongo Role Definitions and their properties."
+ }
+ },
+ "description": "The relevant Mongo Role Definitions."
+ },
+ "MongoUserDefinitionResource": {
+ "type": "object",
+ "properties": {
+ "userName": {
+ "type": "string",
+ "description": "The user name for User Definition."
+ },
+ "password": {
+ "type": "string",
+ "description": "The password for User Definition. Response does not contain user password."
+ },
+ "databaseName": {
+ "type": "string",
+ "description": "The database name for which access is being granted for this User Definition."
+ },
+ "customData": {
+ "type": "string",
+ "description": "A custom definition for the USer Definition."
+ },
+ "roles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Role"
+ },
+ "description": "The set of roles inherited by the User Definition."
+ },
+ "mechanisms": {
+ "type": "string",
+ "description": "The Mongo Auth mechanism. For now, we only support auth mechanism SCRAM-SHA-256."
+ }
+ },
+ "description": "Azure Cosmos DB Mongo User Definition resource object."
+ },
+ "MongoUserDefinitionCreateUpdateParameters": {
+ "description": "Parameters to create and update an Azure Cosmos DB Mongo User Definition.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update an Azure Cosmos DB Mongo User Definition.",
+ "$ref": "#/definitions/MongoUserDefinitionResource"
+ }
+ }
+ },
+ "MongoUserDefinitionGetResults": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MongoUserDefinitionResource",
+ "description": "Properties related to the User Definition."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "cosmos-db.json#/definitions/ARMProxyResource"
+ }
+ ],
+ "description": "An Azure Cosmos DB User Definition"
+ },
+ "MongoUserDefinitionListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/MongoUserDefinitionGetResults"
+ },
+ "description": "List of User Definition and their properties"
+ }
+ },
+ "description": "The relevant User Definition."
+ }
+ },
+ "parameters": {
+ "mongoRoleDefinitionIdParameter": {
+ "name": "mongoRoleDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The ID for the Role Definition {dbName.roleName}."
+ },
+ "mongoUserDefinitionIdParameter": {
+ "name": "mongoUserDefinitionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The ID for the User Definition {dbName.userName}."
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/notebook.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/notebook.json
new file mode 100644
index 000000000000..c66e2cbfedcf
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-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-10-15-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.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-10-15-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-10-15-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-10-15-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-10-15-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-10-15-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-10-15-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-10-15-preview/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NotebookWorkspaceCreateUpdateParameters": {
+ "description": "Parameters to create a notebook workspace resource",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../preview/2021-10-15-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-10-15-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-10-15-preview/privateEndpointConnection.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/privateEndpointConnection.json
new file mode 100644
index 000000000000..e663b268ee91
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-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-10-15-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.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-10-15-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-10-15-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-10-15-preview/privateLinkResources.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/privateLinkResources.json
new file mode 100644
index 000000000000..92a4452ed76a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-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-10-15-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.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-10-15-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-10-15-preview/rbac.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/rbac.json
new file mode 100644
index 000000000000..6ef993095e8d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-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-10-15-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.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-10-15-preview/restorable.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/restorable.json
new file mode 100644
index 000000000000..5587c743dcec
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/restorable.json
@@ -0,0 +1,1181 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2021-10-15-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts": {
+ "get": {
+ "operationId": "RestorableDatabaseAccounts_ListByLocation",
+ "x-ms-examples": {
+ "CosmosDBRestorableDatabaseAccountList": {
+ "$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": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/restorableDatabaseAccounts": {
+ "get": {
+ "operationId": "RestorableDatabaseAccounts_List",
+ "x-ms-examples": {
+ "CosmosDBRestorableDatabaseAccountNoLocationList": {
+ "$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": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}": {
+ "get": {
+ "operationId": "RestorableDatabaseAccounts_GetByLocation",
+ "x-ms-examples": {
+ "CosmosDBRestorableDatabaseAccountGet": {
+ "$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": "cosmos-db.json#/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/CosmosDBSqlContainerBackupInformation.json"
+ }
+ },
+ "description": "Retrieves continuous backup information for a container resource.",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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": "cosmos-db.json#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/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": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/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": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/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": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/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}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/retrieveContinuousBackupInformation": {
+ "post": {
+ "operationId": "MongoDBResources_RetrieveContinuousBackupInformation",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionBackupInformation": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionBackupInformation.json"
+ }
+ },
+ "description": "Retrieves continuous backup information for a Mongodb collection.",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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": "cosmos-db.json#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/collectionNameParameter"
+ },
+ {
+ "$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 Mongodb collection retrieve backup information operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/BackupInformation"
+ }
+ },
+ "202": {
+ "description": "The Mongodb collection retrieve backup information operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/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": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/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": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/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": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/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": {
+ "RestorableDatabaseAccountsListResult": {
+ "type": "object",
+ "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"
+ }
+ }
+ }
+ },
+ "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)."
+ }
+ }
+ },
+ "RestorableSqlDatabasesListResult": {
+ "type": "object",
+ "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-10-15-preview/cosmos-db.json#/definitions/SqlDatabaseResource"
+ },
+ {
+ "$ref": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "RestorableSqlContainersListResult": {
+ "type": "object",
+ "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-10-15-preview/cosmos-db.json#/definitions/SqlContainerResource"
+ },
+ {
+ "$ref": "../../preview/2021-10-15-preview/cosmos-db.json#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "RestorableSqlResourcesListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "../../preview/2021-10-15-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": {
+ "type": "object",
+ "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": {
+ "type": "object",
+ "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": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "../../preview/2021-10-15-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
+ }
+ },
+ "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": {
+ "description": "Information about the status of continuous backups.",
+ "type": "object",
+ "$ref": "#/definitions/ContinuousBackupInformation"
+ }
+ }
+ },
+ "ContinuousBackupInformation": {
+ "description": "Information about the status of continuous backups.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "latestRestorableTimestamp": {
+ "type": "string",
+ "description": "The latest restorable timestamp for a resource."
+ }
+ }
+ }
+ },
+ "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."
+ },
+ "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-10-15-preview/services.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/services.json
new file mode 100644
index 000000000000..360c48c306a2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2021-10-15-preview/services.json
@@ -0,0 +1,624 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2021-10-15-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.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",
+ "GraphAPICompute",
+ "MaterializedViewsBuilder"
+ ],
+ "x-ms-examples": {
+ "DataTransferServiceCreate": {
+ "$ref": "./examples/CosmosDBDataTransferServiceCreate.json"
+ },
+ "SqlDedicatedGatewayServiceCreate": {
+ "$ref": "./examples/CosmosDBSqlDedicatedGatewayServiceCreate.json"
+ },
+ "GraphAPIComputeServiceCreate": {
+ "$ref": "./examples/CosmosDBGraphAPIComputeServiceCreate.json"
+ },
+ "MaterializedViewsBuilderServiceCreate": {
+ "$ref": "./examples/CosmosDBMaterializedViewsBuilderServiceCreate.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/ServiceResourceCreateUpdateParameters"
+ },
+ "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",
+ "GraphAPICompute",
+ "MaterializedViewsBuilder"
+ ],
+ "x-ms-examples": {
+ "DataTransferServiceGet": {
+ "$ref": "./examples/CosmosDBDataTransferServiceGet.json"
+ },
+ "GraphAPIComputeServiceGet": {
+ "$ref": "./examples/CosmosDBGraphAPIComputeServiceGet.json"
+ },
+ "SqlDedicatedGatewayServiceGet": {
+ "$ref": "./examples/CosmosDBSqlDedicatedGatewayServiceGet.json"
+ },
+ "MaterializedViewsBuilderServiceGet": {
+ "$ref": "./examples/CosmosDBMaterializedViewsBuilderServiceGet.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",
+ "GraphAPICompute",
+ "MaterializedViewsBuilder"
+ ],
+ "x-ms-examples": {
+ "DataTransferServiceDelete": {
+ "$ref": "./examples/CosmosDBDataTransferServiceDelete.json"
+ },
+ "SqlDedicatedGatewayServiceDelete": {
+ "$ref": "./examples/CosmosDBSqlDedicatedGatewayServiceDelete.json"
+ },
+ "GraphAPIComputeServiceDelete": {
+ "$ref": "./examples/CosmosDBGraphAPIComputeServiceDelete.json"
+ },
+ "MaterializedViewsBuilderServiceDelete": {
+ "$ref": "./examples/CosmosDBMaterializedViewsBuilderServiceDelete.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"
+ ]
+ },
+ "ServiceResourceCreateUpdateParameters": {
+ "description": "Parameters for Create or Update Request for ServiceResource",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ServiceResourceCreateUpdateProperties"
+ }
+ }
+ },
+ "ServiceResourceCreateUpdateProperties": {
+ "description": "Properties in ServiceResourceCreateUpdateParameters.",
+ "type": "object",
+ "properties": {
+ "instanceSize": {
+ "$ref": "#/definitions/ServiceResourceInstanceSize"
+ },
+ "instanceCount": {
+ "description": "Instance count for the service.",
+ "type": "integer",
+ "minimum": 0,
+ "format": "int32"
+ },
+ "serviceType": {
+ "$ref": "#/definitions/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": {
+ "type": "object",
+ "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",
+ "x-ms-discriminator-value": "DataTransfer",
+ "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",
+ "x-ms-discriminator-value": "SqlDedicatedGateway",
+ "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"
+ }
+ }
+ }
+ },
+ "GraphAPIComputeServiceResource": {
+ "description": "Describes the service response property for GraphAPICompute.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": false,
+ "$ref": "#/definitions/GraphAPIComputeServiceResourceProperties"
+ }
+ }
+ },
+ "GraphAPIComputeServiceResourceProperties": {
+ "description": "Properties for GraphAPIComputeServiceResource.",
+ "type": "object",
+ "x-ms-discriminator-value": "GraphAPICompute",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceResourceProperties"
+ }
+ ],
+ "properties": {
+ "graphApiComputeEndpoint": {
+ "type": "string",
+ "description": "GraphAPICompute endpoint for the service."
+ },
+ "locations": {
+ "type": "array",
+ "readOnly": true,
+ "description": "An array that contains all of the locations for the service.",
+ "items": {
+ "$ref": "#/definitions/GraphAPIComputeRegionalServiceResource"
+ }
+ }
+ }
+ },
+ "MaterializedViewsBuilderServiceResource": {
+ "description": "Describes the service response property for MaterializedViewsBuilder.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": false,
+ "$ref": "#/definitions/MaterializedViewsBuilderServiceResourceProperties"
+ }
+ }
+ },
+ "MaterializedViewsBuilderServiceResourceProperties": {
+ "description": "Properties for MaterializedViewsBuilderServiceResource.",
+ "type": "object",
+ "x-ms-discriminator-value": "MaterializedViewsBuilder",
+ "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/MaterializedViewsBuilderRegionalServiceResource"
+ }
+ }
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "GraphAPIComputeRegionalServiceResource": {
+ "description": "Resource for a regional service location.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RegionalServiceResource"
+ }
+ ],
+ "properties": {
+ "graphApiComputeEndpoint": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The regional endpoint for GraphAPICompute."
+ }
+ }
+ },
+ "DataTransferRegionalServiceResource": {
+ "description": "Resource for a regional service location.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RegionalServiceResource"
+ }
+ ]
+ },
+ "MaterializedViewsBuilderRegionalServiceResource": {
+ "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",
+ "GraphAPICompute",
+ "MaterializedViewsBuilder"
+ ],
+ "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-10-15/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/cosmos-db.json
new file mode 100644
index 000000000000..fb44a09bb474
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/cosmos-db.json
@@ -0,0 +1,8962 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2021-10-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"
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations": {
+ "get": {
+ "operationId": "Locations_List",
+ "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": "Locations_Get",
+ "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"
+ }
+ }
+ }
+ }
+ }
+ },
+ "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"
+ },
+ "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": "../../stable/2021-10-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"
+ },
+ "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"
+ }
+ },
+ "disableLocalAuth": {
+ "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.",
+ "type": "boolean"
+ },
+ "capacity": {
+ "description": "The object that represents all properties related to capacity enforcement on an account.",
+ "type": "object",
+ "$ref": "#/definitions/Capacity"
+ }
+ }
+ },
+ "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"
+ },
+ "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"
+ }
+ },
+ "disableLocalAuth": {
+ "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.",
+ "type": "boolean"
+ },
+ "restoreParameters": {
+ "description": "Parameters to indicate the information about the restore.",
+ "type": "object",
+ "$ref": "#/definitions/RestoreParameters"
+ },
+ "capacity": {
+ "description": "The object that represents all properties related to capacity enforcement on an account.",
+ "type": "object",
+ "$ref": "#/definitions/Capacity"
+ }
+ },
+ "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"
+ }
+ },
+ "disableLocalAuth": {
+ "description": "Opt-out of local authentication and ensure only MSI and AAD can be used exclusively for authentication.",
+ "type": "boolean"
+ },
+ "capacity": {
+ "description": "The object that represents all properties related to capacity enforcement on an account.",
+ "type": "object",
+ "$ref": "#/definitions/Capacity"
+ }
+ }
+ },
+ "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\"."
+ }
+ }
+ },
+ "Capacity": {
+ "type": "object",
+ "description": "The object that represents all properties related to capacity enforcement on an account.",
+ "properties": {
+ "totalThroughputLimit": {
+ "type": "integer",
+ "minimum": -1,
+ "format": "int32",
+ "description": "The total throughput limit imposed on the account. A totalThroughputLimit of 2000 imposes a strict limit of max throughput that can be provisioned on that account to be 2000. A totalThroughputLimit of -1 indicates no limits on provisioning of throughput."
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "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": {
+ "description": "Describes the mode of backups.",
+ "type": "string",
+ "$ref": "#/definitions/BackupPolicyType"
+ },
+ "migrationState": {
+ "description": "The object representing the state of the migration between the backup policies.",
+ "type": "object",
+ "$ref": "#/definitions/BackupPolicyMigrationState"
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "BackupPolicyType": {
+ "description": "Describes the mode of backups.",
+ "type": "string",
+ "enum": [
+ "Periodic",
+ "Continuous"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "BackupPolicyType"
+ }
+ },
+ "BackupPolicyMigrationState": {
+ "type": "object",
+ "description": "The object representing the state of the migration between the backup policies.",
+ "properties": {
+ "status": {
+ "description": "Describes the status of migration between backup policy types.",
+ "type": "string",
+ "$ref": "#/definitions/BackupPolicyMigrationStatus"
+ },
+ "targetType": {
+ "description": "Describes the target backup policy type of the backup policy migration.",
+ "type": "string",
+ "$ref": "#/definitions/BackupPolicyType"
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Time at which the backup policy migration started (ISO-8601 format)."
+ }
+ }
+ },
+ "BackupPolicyMigrationStatus": {
+ "description": "Describes the status of migration between backup policy types.",
+ "type": "string",
+ "enum": [
+ "Invalid",
+ "InProgress",
+ "Completed",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "BackupPolicyMigrationStatus"
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "LocationListResult": {
+ "type": "object",
+ "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": {
+ "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."
+ }
+ }
+ },
+ "BackupStorageRedundancy": {
+ "description": "Enum to indicate type of backup storage redundancy.",
+ "type": "string",
+ "enum": [
+ "Geo",
+ "Local",
+ "Zone"
+ ],
+ "x-ms-enum": {
+ "name": "BackupStorageRedundancy",
+ "modelAsString": true
+ }
+ }
+ },
+ "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."
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
new file mode 100644
index 000000000000..1d7f69b7e1b5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceDelete.json
new file mode 100644
index 000000000000..6ed26ea3132f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceGet.json
new file mode 100644
index 000000000000..f8e803c68840
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceList.json
new file mode 100644
index 000000000000..375b4ecca411
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json
new file mode 100644
index 000000000000..bd7c9120e0aa
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json
new file mode 100644
index 000000000000..46b04ff4583a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceThroughputGet.json
new file mode 100644
index 000000000000..94cd6cbea37e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
new file mode 100644
index 000000000000..f6b5e351c6f5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableCreateUpdate.json
new file mode 100644
index 000000000000..d54deb25493d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableCreateUpdate.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableDelete.json
new file mode 100644
index 000000000000..2090fa3fa05b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableGet.json
new file mode 100644
index 000000000000..6cabe1c2b3d0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableGet.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableList.json
new file mode 100644
index 000000000000..7ab69e2fa045
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableList.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBCassandraTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableMigrateToAutoscale.json
new file mode 100644
index 000000000000..247737a9764e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBCassandraTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableMigrateToManualThroughput.json
new file mode 100644
index 000000000000..df2d68921f42
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableThroughputGet.json
new file mode 100644
index 000000000000..53e1d5d0f341
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableThroughputUpdate.json
new file mode 100644
index 000000000000..ad0f387ac9fd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCassandraTableThroughputUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionGetMetricDefinitions.json
new file mode 100644
index 000000000000..3c5e16012762
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionGetMetricDefinitions.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionGetMetrics.json
new file mode 100644
index 000000000000..041fec39e5a8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionGetMetrics.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionGetUsages.json
new file mode 100644
index 000000000000..6fa1e4bf9c66
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionGetUsages.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionPartitionGetMetrics.json
new file mode 100644
index 000000000000..f684bd67694c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionPartitionGetMetrics.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionPartitionGetUsages.json
new file mode 100644
index 000000000000..5ee50abfdcd1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionPartitionGetUsages.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
new file mode 100644
index 000000000000..184fa1e83fc0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountCheckNameExists.json
new file mode 100644
index 000000000000..4a55193a5de0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountCheckNameExists.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "api-version": "2021-10-15"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountCreateMax.json
new file mode 100644
index 000000000000..1b748313d6b9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountCreateMax.json
@@ -0,0 +1,222 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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"
+ },
+ "createMode": "Default",
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 8,
+ "backupStorageRedundancy": "Geo"
+ }
+ },
+ "cors": [
+ {
+ "allowedOrigins": "https://test"
+ }
+ ],
+ "networkAclBypass": "AzureServices",
+ "networkAclBypassResourceIds": [
+ "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName"
+ ],
+ "capacity": {
+ "totalThroughputLimit": 2000
+ }
+ }
+ }
+ },
+ "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"
+ },
+ "createMode": "Default",
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 8,
+ "backupStorageRedundancy": "Geo"
+ }
+ },
+ "cors": [
+ {
+ "allowedOrigins": "https://test"
+ }
+ ],
+ "networkAclBypass": "AzureServices",
+ "networkAclBypassResourceIds": [
+ "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName"
+ ],
+ "capacity": {
+ "totalThroughputLimit": 2000
+ }
+ },
+ "systemData": {
+ "createdAt": "2021-03-12T22:05:09Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountCreateMin.json
new file mode 100644
index 000000000000..27d2c44935b4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountCreateMin.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid",
+ "createUpdateParameters": {
+ "location": "westus",
+ "properties": {
+ "databaseAccountOfferType": "Standard",
+ "createMode": "Default",
+ "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": [],
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "createMode": "Default",
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720,
+ "backupStorageRedundancy": "Geo"
+ }
+ }
+ },
+ "systemData": {
+ "createdAt": "2021-03-12T22:05:09Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountDelete.json
new file mode 100644
index 000000000000..4ca542defa41
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
new file mode 100644
index 000000000000..07ca599fdc42
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "accountName": "ddb1-failover",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGet.json
new file mode 100644
index 000000000000..f973f40efe55
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGet.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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"
+ },
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "createMode": "Default",
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 8,
+ "backupStorageRedundancy": "Geo"
+ },
+ "migrationState": {
+ "status": "InProgress",
+ "targetType": "Continuous",
+ "startTime": "2021-06-09T21:07:16Z"
+ }
+ },
+ "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-10-15/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
new file mode 100644
index 000000000000..da6ddcf7130e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGetMetrics.json
new file mode 100644
index 000000000000..6f393c23c023
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGetMetrics.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGetUsages.json
new file mode 100644
index 000000000000..4341c6cbb9d7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountGetUsages.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountList.json
new file mode 100644
index 000000000000..ca3367e7b4ad
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountList.json
@@ -0,0 +1,116 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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"
+ },
+ "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"
+ },
+ "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-10-15/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListByResourceGroup.json
new file mode 100644
index 000000000000..0c0a415abd81
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListByResourceGroup.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListConnectionStrings.json
new file mode 100644
index 000000000000..9476ec634f68
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListConnectionStrings.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
new file mode 100644
index 000000000000..e25d6487396e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "accountName": "mongo-ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListKeys.json
new file mode 100644
index 000000000000..92ce33ec21f3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListKeys.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
new file mode 100644
index 000000000000..9e1675013464
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountOfflineRegion.json
new file mode 100644
index 000000000000..9d2c27f29ef8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountOfflineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountOnlineRegion.json
new file mode 100644
index 000000000000..72a6f833f84a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountOnlineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountPatch.json
new file mode 100644
index 000000000000..1f4b544ab846
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountPatch.json
@@ -0,0 +1,185 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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,
+ "backupStorageRedundancy": "Local"
+ }
+ },
+ "networkAclBypass": "AzureServices",
+ "networkAclBypassResourceIds": [
+ "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName"
+ ],
+ "capacity": {
+ "totalThroughputLimit": 2000
+ }
+ }
+ }
+ },
+ "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,
+ "backupStorageRedundancy": "Local"
+ }
+ },
+ "networkAclBypass": "AzureServices",
+ "networkAclBypassResourceIds": [
+ "/subscriptions/subId/resourcegroups/rgName/providers/Microsoft.Synapse/workspaces/workspaceName"
+ ],
+ "capacity": {
+ "totalThroughputLimit": 2000
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountRegenerateKey.json
new file mode 100644
index 000000000000..b50f4668f635
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountRegenerateKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid",
+ "keyToRegenerate": {
+ "keyKind": "primary"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
new file mode 100644
index 000000000000..8bb7d1173094
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseGetMetricDefinitions.json
new file mode 100644
index 000000000000..d4a7fd991eb0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseGetMetricDefinitions.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseGetMetrics.json
new file mode 100644
index 000000000000..7a1876bf2885
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseGetUsages.json
new file mode 100644
index 000000000000..ba14a11ddcf7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBDatabaseGetUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..8d6ac37b737c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseDelete.json
new file mode 100644
index 000000000000..12f6864e3f12
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseGet.json
new file mode 100644
index 000000000000..96063846445a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseList.json
new file mode 100644
index 000000000000..96fc1a6193cb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..97b36fdad6f8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..086f8fd89505
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseThroughputGet.json
new file mode 100644
index 000000000000..78687a29c0fc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..fddd5966fc37
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphCreateUpdate.json
new file mode 100644
index 000000000000..cbe2b866e27e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphDelete.json
new file mode 100644
index 000000000000..b8e4928304cc
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphGet.json
new file mode 100644
index 000000000000..2c0a56a13205
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphGet.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphList.json
new file mode 100644
index 000000000000..17b27ec7a0c8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphList.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBGremlinGraphMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphMigrateToAutoscale.json
new file mode 100644
index 000000000000..a088633a92a6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json
new file mode 100644
index 000000000000..c2dda9ec6489
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphThroughputGet.json
new file mode 100644
index 000000000000..35a2b743af3f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphThroughputUpdate.json
new file mode 100644
index 000000000000..bbf997f95914
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBGremlinGraphThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBLocationGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBLocationGet.json
new file mode 100644
index 000000000000..cbbed0c083f2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBLocationGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15",
+ "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": {
+ "supportsAvailabilityZone": true,
+ "isResidencyRestricted": true,
+ "backupStorageRedundancies": [
+ "Local",
+ "Geo"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBLocationList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBLocationList.json
new file mode 100644
index 000000000000..04faaf3df6ef
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBLocationList.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15",
+ "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": {
+ "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": {
+ "supportsAvailabilityZone": true,
+ "isResidencyRestricted": false,
+ "backupStorageRedundancies": [
+ "Zone",
+ "Geo"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterCreate.json
new file mode 100644
index 000000000000..eaa32d00a6eb
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterCreate.json
@@ -0,0 +1,155 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15",
+ "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/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterDeallocate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterDeallocate.json
new file mode 100644
index 000000000000..5312276b665e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterDeallocate.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10",
+ "clusterName": "cassandra-prod"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterDelete.json
new file mode 100644
index 000000000000..a40588702ae2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15",
+ "clusterName": "cassandra-prod"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterGet.json
new file mode 100644
index 000000000000..21f2ecb3e964
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterGet.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15",
+ "clusterName": "cassandra-prod"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/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/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json
new file mode 100644
index 000000000000..2063f554fe6e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterListByResourceGroup.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/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/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterListBySubscription.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterListBySubscription.json
new file mode 100644
index 000000000000..fd24f1cfa748
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterListBySubscription.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "api-version": "2021-10-15"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/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/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterPatch.json
new file mode 100644
index 000000000000..55115ee3a764
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterPatch.json
@@ -0,0 +1,163 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15",
+ "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/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterStart.json
new file mode 100644
index 000000000000..a9ceaa328be0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraClusterStart.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15",
+ "clusterName": "cassandra-prod"
+ },
+ "responses": {
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraCommand.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraCommand.json
new file mode 100644
index 000000000000..2485a2eb26c9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraCommand.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15",
+ "clusterName": "cassandra-prod",
+ "body": {
+ "command": "nodetool status",
+ "host": "10.0.1.12"
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "commandOutput": "Datacenter: datacenter1\n=======================\n"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterCreate.json
new file mode 100644
index 000000000000..0c4be18f925d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterCreate.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15",
+ "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/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterDelete.json
new file mode 100644
index 000000000000..a507d67999f5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15",
+ "clusterName": "cassandra-prod",
+ "dataCenterName": "dc1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterGet.json
new file mode 100644
index 000000000000..5a90ed6bdaea
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterGet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15",
+ "clusterName": "cassandra-prod",
+ "dataCenterName": "dc1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/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/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterList.json
new file mode 100644
index 000000000000..03079aa4eead
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterList.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15",
+ "clusterName": "cassandra-prod"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/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/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterPatch.json
new file mode 100644
index 000000000000..2211bcc31c79
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraDataCenterPatch.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15",
+ "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/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/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/stable/2021-10-15/examples/CosmosDBManagedCassandraStatus.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraStatus.json
new file mode 100644
index 000000000000..0fcbca49eb54
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBManagedCassandraStatus.json
@@ -0,0 +1,140 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "cassandra-prod-rg",
+ "api-version": "2021-10-15",
+ "clusterName": "cassandra-prod"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "eTag": "A350A2CE7E91B6D5A102A5E5EC222B882D981092",
+ "reaperStatus": {
+ "healthy": true,
+ "repairRunIds": {},
+ "repairSchedules": {
+ "00000000-0000-0001-0000-000000000000": "ACTIVE"
+ }
+ },
+ "connectionErrors": [],
+ "dataCenters": [
+ {
+ "name": "cassandra-westus2-vmss",
+ "seedNodes": [
+ "10.0.8.10",
+ "10.0.8.11",
+ "10.0.8.12"
+ ],
+ "nodes": [
+ {
+ "address": "10.0.8.10",
+ "state": "",
+ "status": "",
+ "load": "84.61 MiB",
+ "tokens": [
+ "-7785254003841681178",
+ "-6756518164561476165",
+ "-4269720020504480060",
+ "-2697657908817852783",
+ "-2622387897201218249",
+ "-2177258200443022948",
+ "-129203941752875603",
+ "1738406920822650025",
+ "2598053056312400240",
+ "3227346424117996872",
+ "3644347038875498376",
+ "4823546474906050895",
+ "5293156680707616627",
+ "5485806686603256557",
+ "6250058817756969464",
+ "7991328665766267709"
+ ],
+ "size": 16,
+ "hostID": "8ccc00a7-9e22-4ac2-aa63-e5327aa0dc51",
+ "rack": "rack1",
+ "timestamp": "10/05/2021, 14:35:20.028",
+ "diskUsedKB": 749836,
+ "diskFreeKB": 1001260056,
+ "memoryUsedKB": 11061032,
+ "memoryBuffersAndCachedKB": 10817580,
+ "memoryFreeKB": 35731832,
+ "memoryTotalKB": 57610444,
+ "cpuUsage": 0.9
+ },
+ {
+ "address": "10.0.8.11",
+ "state": "",
+ "status": "",
+ "load": "59.67 MiB",
+ "tokens": [
+ "-8726238055665903210",
+ "-6687985003871487470",
+ "-5269140854976433359",
+ "-3989177686905645288",
+ "-3957362495277148220",
+ "-2539287458896988944",
+ "-2460716365393303466",
+ "-1848370030729221440",
+ "137707733677015122",
+ "579467328507000597",
+ "1698264534774619627",
+ "1904235159942090722",
+ "3312208865519999146",
+ "4035940456270983993",
+ "4412314431151736777",
+ "8232565668795426078"
+ ],
+ "size": 16,
+ "hostID": "14092117-4f77-4ec0-8984-c5b860b88a47",
+ "rack": "rack2",
+ "timestamp": "10/05/2021, 14:35:20.028",
+ "diskUsedKB": 726864,
+ "diskFreeKB": 1001283028,
+ "memoryUsedKB": 11055676,
+ "memoryBuffersAndCachedKB": 10691520,
+ "memoryFreeKB": 35863248,
+ "memoryTotalKB": 57610444,
+ "cpuUsage": 1.2
+ },
+ {
+ "address": "10.0.8.12",
+ "state": "",
+ "status": "",
+ "load": "93.2 MiB",
+ "tokens": [
+ "-5679481051867296621",
+ "-4574115287969297989",
+ "-3444578133211470522",
+ "-2755931580714972271",
+ "-2304431590844389550",
+ "-1961946736975068713",
+ "-940120277889446704",
+ "554469308917912318",
+ "1030447162050118004",
+ "2745632329542596589",
+ "4564547712926446283",
+ "5185613478135944116",
+ "7280237939830623824",
+ "7504213835759531710",
+ "7631994478195429959",
+ "8139769477321226157"
+ ],
+ "size": 16,
+ "hostID": "e16ada14-39db-462b-9f9e-5b5f6beb8bbd",
+ "rack": "rack3",
+ "timestamp": "10/05/2021, 14:35:20.028",
+ "diskUsedKB": 757540,
+ "diskFreeKB": 1001252352,
+ "memoryUsedKB": 11051608,
+ "memoryBuffersAndCachedKB": 10453856,
+ "memoryFreeKB": 36104980,
+ "memoryTotalKB": 57610444,
+ "cpuUsage": 0.4
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionBackupInformation.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionBackupInformation.json
new file mode 100644
index 000000000000..63543ff34bea
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionBackupInformation.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rgName",
+ "accountName": "ddb1",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName",
+ "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/stable/2021-10-15/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionCreateUpdate.json
new file mode 100644
index 000000000000..370799f79af6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionCreateUpdate.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionDelete.json
new file mode 100644
index 000000000000..6c0d0cbd082c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionGet.json
new file mode 100644
index 000000000000..648e27ac86c3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionList.json
new file mode 100644
index 000000000000..db4d61b96508
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json
new file mode 100644
index 000000000000..c6130a24df0e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json
new file mode 100644
index 000000000000..b85de747c670
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionThroughputGet.json
new file mode 100644
index 000000000000..b99b63588318
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
new file mode 100644
index 000000000000..cccd9db1dbf6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..d4ae327cfe4b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseDelete.json
new file mode 100644
index 000000000000..12f6864e3f12
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseGet.json
new file mode 100644
index 000000000000..1d2d0768367e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseList.json
new file mode 100644
index 000000000000..431ef6fc3d7c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..97b36fdad6f8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..086f8fd89505
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseThroughputGet.json
new file mode 100644
index 000000000000..461a6a4b6ee5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..75d039aa43d7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBNotebookWorkspaceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceCreate.json
new file mode 100644
index 000000000000..4d9784cdee8a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceCreate.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBNotebookWorkspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceDelete.json
new file mode 100644
index 000000000000..89f1025a831f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceGet.json
new file mode 100644
index 000000000000..7150f778cc93
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBNotebookWorkspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceList.json
new file mode 100644
index 000000000000..b50348991147
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json
new file mode 100644
index 000000000000..62130915755e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json
new file mode 100644
index 000000000000..8d561cbc529e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceStart.json
new file mode 100644
index 000000000000..8d561cbc529e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBNotebookWorkspaceStart.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBOperationsList.json
new file mode 100644
index 000000000000..6eb5f19249a1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPKeyRangeIdGetMetrics.json
new file mode 100644
index 000000000000..702208c13060
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPKeyRangeIdGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
new file mode 100644
index 000000000000..086821d662a7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPercentileGetMetrics.json
new file mode 100644
index 000000000000..4eb411017a39
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPercentileGetMetrics.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPercentileSourceTargetGetMetrics.json
new file mode 100644
index 000000000000..55261a9b944e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPercentileSourceTargetGetMetrics.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPercentileTargetGetMetrics.json
new file mode 100644
index 000000000000..bf4d32f61b2f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPercentileTargetGetMetrics.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBPrivateEndpointConnectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionDelete.json
new file mode 100644
index 000000000000..d3e18d046d6f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-10-15",
+ "privateEndpointConnectionName": "privateEndpointConnectionName"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionGet.json
new file mode 100644
index 000000000000..c926930829d2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBPrivateEndpointConnectionListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionListGet.json
new file mode 100644
index 000000000000..b3f80140c296
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionListGet.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBPrivateEndpointConnectionUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionUpdate.json
new file mode 100644
index 000000000000..31a78abee84b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateEndpointConnectionUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBPrivateLinkResourceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateLinkResourceGet.json
new file mode 100644
index 000000000000..f8329726918e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateLinkResourceGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBPrivateLinkResourceListGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateLinkResourceListGet.json
new file mode 100644
index 000000000000..75c4dee5f3b9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBPrivateLinkResourceListGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRegionCollectionGetMetrics.json
new file mode 100644
index 000000000000..43c076120ae3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRegionCollectionGetMetrics.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBRestorableDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableDatabaseAccountGet.json
new file mode 100644
index 000000000000..2f5de717c89c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableDatabaseAccountGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15",
+ "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/stable/2021-10-15/examples/CosmosDBRestorableDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableDatabaseAccountList.json
new file mode 100644
index 000000000000..56d2f3f2e371
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableDatabaseAccountList.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15",
+ "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/stable/2021-10-15/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json
new file mode 100644
index 000000000000..369818198338
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15",
+ "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/stable/2021-10-15/examples/CosmosDBRestorableMongodbCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableMongodbCollectionList.json
new file mode 100644
index 000000000000..e5a06318f0fe
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableMongodbCollectionList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15",
+ "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/stable/2021-10-15/examples/CosmosDBRestorableMongodbDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableMongodbDatabaseList.json
new file mode 100644
index 000000000000..2bf2b90d2ed3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableMongodbDatabaseList.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15",
+ "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/stable/2021-10-15/examples/CosmosDBRestorableMongodbResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableMongodbResourceList.json
new file mode 100644
index 000000000000..e3ae5c2c7aa9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableMongodbResourceList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15",
+ "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/stable/2021-10-15/examples/CosmosDBRestorableSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableSqlContainerList.json
new file mode 100644
index 000000000000..874749bd5fb4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableSqlContainerList.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15",
+ "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/stable/2021-10-15/examples/CosmosDBRestorableSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableSqlDatabaseList.json
new file mode 100644
index 000000000000..e255d0ab9a38
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableSqlDatabaseList.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15",
+ "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/stable/2021-10-15/examples/CosmosDBRestorableSqlResourceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableSqlResourceList.json
new file mode 100644
index 000000000000..7e3261f0f655
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestorableSqlResourceList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15",
+ "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/stable/2021-10-15/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json
new file mode 100644
index 000000000000..b3e6ba3bdbb2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15",
+ "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/stable/2021-10-15/examples/CosmosDBSqlContainerBackupInformation.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerBackupInformation.json
new file mode 100644
index 000000000000..dbfabfe6a849
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerBackupInformation.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2021-10-15",
+ "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/stable/2021-10-15/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerCreateUpdate.json
new file mode 100644
index 000000000000..f4bbdf10b787
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerDelete.json
new file mode 100644
index 000000000000..5976f669ce65
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerGet.json
new file mode 100644
index 000000000000..772663ca4246
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerGet.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerList.json
new file mode 100644
index 000000000000..8dba37096b56
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerList.json
@@ -0,0 +1,192 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlContainerMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerMigrateToAutoscale.json
new file mode 100644
index 000000000000..bf351118fc6c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlContainerMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerMigrateToManualThroughput.json
new file mode 100644
index 000000000000..0ea4f2b5133d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerThroughputGet.json
new file mode 100644
index 000000000000..0581a13e5976
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerThroughputUpdate.json
new file mode 100644
index 000000000000..57d61253f430
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlContainerThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..7dccefcd766e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseDelete.json
new file mode 100644
index 000000000000..12f6864e3f12
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseGet.json
new file mode 100644
index 000000000000..8d2a6b125859
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseList.json
new file mode 100644
index 000000000000..c8d731807c33
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..97b36fdad6f8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..086f8fd89505
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseThroughputGet.json
new file mode 100644
index 000000000000..2744ba7bb7bd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..e1b281676e2c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json
new file mode 100644
index 000000000000..244417c29535
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentCreateUpdate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "roleAssignmentId": "myRoleAssignmentId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlRoleAssignmentDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentDelete.json
new file mode 100644
index 000000000000..e38c9103fa8c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "roleAssignmentId": "myRoleAssignmentId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-15"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentGet.json
new file mode 100644
index 000000000000..da35cd250866
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "roleAssignmentId": "myRoleAssignmentId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlRoleAssignmentList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentList.json
new file mode 100644
index 000000000000..e6a0beb2704e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleAssignmentList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json
new file mode 100644
index 000000000000..ff5859f41d6f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionCreateUpdate.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "roleDefinitionId": "myRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlRoleDefinitionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionDelete.json
new file mode 100644
index 000000000000..da3fa5deadc4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "roleDefinitionId": "myRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-15"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionGet.json
new file mode 100644
index 000000000000..69889ad20194
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "roleDefinitionId": "myRoleDefinitionId",
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlRoleDefinitionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionList.json
new file mode 100644
index 000000000000..f8bf45e26def
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlRoleDefinitionList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "accountName": "myAccountName",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlStoredProcedureCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
new file mode 100644
index 000000000000..dd1306aeeca7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlStoredProcedureDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureDelete.json
new file mode 100644
index 000000000000..36ca28d6ee4b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "storedProcedureName": "storedProcedureName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureGet.json
new file mode 100644
index 000000000000..85d2fa4d1faa
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlStoredProcedureList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureList.json
new file mode 100644
index 000000000000..7fbfbab041d6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlStoredProcedureList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlTriggerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerCreateUpdate.json
new file mode 100644
index 000000000000..6b2152600c47
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerCreateUpdate.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlTriggerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerDelete.json
new file mode 100644
index 000000000000..d39536e48255
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "triggerName": "triggerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerGet.json
new file mode 100644
index 000000000000..d09e41bafe50
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlTriggerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerList.json
new file mode 100644
index 000000000000..47130b23aeb9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlTriggerList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
new file mode 100644
index 000000000000..e23ecde0e880
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlUserDefinedFunctionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionDelete.json
new file mode 100644
index 000000000000..885ba9ae92f1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "userDefinedFunctionName": "userDefinedFunctionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionGet.json
new file mode 100644
index 000000000000..482a108c376f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBSqlUserDefinedFunctionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionList.json
new file mode 100644
index 000000000000..11540ca36822
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBSqlUserDefinedFunctionList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableCreateUpdate.json
new file mode 100644
index 000000000000..67d423373ce8
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableCreateUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableDelete.json
new file mode 100644
index 000000000000..87fe4945cc73
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-15",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableGet.json
new file mode 100644
index 000000000000..ffa290b50f6c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableList.json
new file mode 100644
index 000000000000..433b68b6df13
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-15/examples/CosmosDBTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableMigrateToAutoscale.json
new file mode 100644
index 000000000000..231b0d94efdd
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableMigrateToManualThroughput.json
new file mode 100644
index 000000000000..1f1630a8c188
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableThroughputGet.json
new file mode 100644
index 000000000000..35ffb86c662e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableThroughputUpdate.json
new file mode 100644
index 000000000000..e3d214e659de
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/examples/CosmosDBTableThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2021-10-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-10-15/managedCassandra.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/managedCassandra.json
new file mode 100644
index 000000000000..13ff8f80e1c3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/managedCassandra.json
@@ -0,0 +1,1307 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB - Managed Cassandra",
+ "description": "Azure Cosmos DB Database Service Managed Cassandra REST API",
+ "version": "2021-10-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}/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}/invokeCommand": {
+ "post": {
+ "operationId": "CassandraClusters_InvokeCommand",
+ "description": "Invoke a command like nodetool for cassandra maintenance ",
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraCommand": {
+ "$ref": "./examples/CosmosDBManagedCassandraCommand.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/CommandPostBody"
+ },
+ "description": "Specification which command to run where"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Success. The command operation will begin as soon as possible.",
+ "schema": {
+ "$ref": "#/definitions/CommandOutput"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/cassandraClusters/{clusterName}/deallocate": {
+ "post": {
+ "operationId": "CassandraClusters_Deallocate",
+ "description": "Deallocate the Managed Cassandra Cluster and Associated Data Centers. Deallocation will deallocate the host virtual machine of this cluster, and reserved the data disk. This won't do anything on an already deallocated cluster. Use Start to restart the cluster.",
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraClusterDeallocate": {
+ "$ref": "./examples/CosmosDBManagedCassandraClusterDeallocate.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"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Cluster deallocated."
+ },
+ "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}/start": {
+ "post": {
+ "operationId": "CassandraClusters_Start",
+ "description": "Start the Managed Cassandra Cluster and Associated Data Centers. Start will start the host virtual machine of this cluster with reserved data disk. This won't do anything on an already running cluster. Use Deallocate to deallocate the cluster.",
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraClusterStart": {
+ "$ref": "./examples/CosmosDBManagedCassandraClusterStart.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"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Enqueued Operation to start the cluster."
+ },
+ "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}/status": {
+ "get": {
+ "operationId": "CassandraClusters_Status",
+ "description": "Gets the CPU, memory, and disk usage statistics for each Cassandra node in a cluster.",
+ "x-ms-examples": {
+ "CosmosDBManagedCassandraStatus": {
+ "$ref": "./examples/CosmosDBManagedCassandraStatus.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 fetched the usage statistics of all nodes in the cluster.",
+ "schema": {
+ "$ref": "#/definitions/CassandraClusterPublicStatus"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "ManagedCassandraARMResourceProperties": {
+ "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": "cosmos-db.json#/definitions/Tags"
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedCassandraManagedServiceIdentity"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ManagedCassandraManagedServiceIdentity": {
+ "description": "Identity for the resource.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The object id of the identity resource."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the resource.",
+ "enum": [
+ "SystemAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedCassandraResourceIdentityType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "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": "#/definitions/ManagedCassandraARMResourceProperties"
+ }
+ ],
+ "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"
+ },
+ "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."
+ },
+ "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."
+ },
+ "deallocated": {
+ "type": "boolean",
+ "description": "Whether the cluster and associated data centers has been deallocated."
+ },
+ "cassandraAuditLoggingEnabled": {
+ "type": "boolean",
+ "description": "Whether Cassandra audit logging is enabled"
+ }
+ }
+ }
+ }
+ },
+ "ManagedCassandraNodeStatus": {
+ "type": "string",
+ "description": "Indicates whether the node is functioning or not.",
+ "enum": [
+ "Up",
+ "Down"
+ ],
+ "x-ms-enum": {
+ "name": "NodeStatus",
+ "modelAsString": true
+ }
+ },
+ "ManagedCassandraNodeState": {
+ "type": "string",
+ "description": "The state of the node in Cassandra ring.",
+ "enum": [
+ "Normal",
+ "Leaving",
+ "Joining",
+ "Moving",
+ "Stopped"
+ ],
+ "x-ms-enum": {
+ "name": "NodeState",
+ "modelAsString": true
+ }
+ },
+ "CassandraClusterPublicStatus": {
+ "type": "object",
+ "description": "Properties of a managed Cassandra cluster public status.",
+ "properties": {
+ "eTag": {
+ "type": "string"
+ },
+ "reaperStatus": {
+ "$ref": "#/definitions/ManagedCassandraReaperStatus"
+ },
+ "connectionErrors": {
+ "type": "array",
+ "description": "List relevant information about any connection errors to the Datacenters.",
+ "items": {
+ "$ref": "#/definitions/ConnectionError"
+ }
+ },
+ "dataCenters": {
+ "type": "array",
+ "description": "List of the status of each datacenter in this cluster.",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of this Datacenter."
+ },
+ "seedNodes": {
+ "type": "array",
+ "description": "A list of all seed nodes in the cluster, managed and unmanaged.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "nodes": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "address": {
+ "type": "string",
+ "description": "The node's IP address."
+ },
+ "state": {
+ "$ref": "#/definitions/ManagedCassandraNodeState"
+ },
+ "status": {
+ "type": "string"
+ },
+ "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 cells or tombstones) is counted."
+ },
+ "tokens": {
+ "type": "array",
+ "description": "List of tokens this node covers.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "size": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "hostID": {
+ "description": "The network ID of the node.",
+ "type": "string"
+ },
+ "rack": {
+ "description": "The rack this node is part of.",
+ "type": "string"
+ },
+ "timestamp": {
+ "description": "The timestamp when these statistics were captured.",
+ "type": "string"
+ },
+ "diskUsedKB": {
+ "description": "The amount of disk used, in kB, of the directory /var/lib/cassandra.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "diskFreeKB": {
+ "description": "The amount of disk free, in kB, of the directory /var/lib/cassandra.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memoryUsedKB": {
+ "description": "Used memory (calculated as total - free - buffers - cache), in kB.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memoryBuffersAndCachedKB": {
+ "description": "Memory used by kernel buffers (Buffers in /proc/meminfo) and page cache and slabs (Cached and SReclaimable in /proc/meminfo), in kB.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memoryFreeKB": {
+ "description": "Unused memory (MemFree and SwapFree in /proc/meminfo), in kB.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "memoryTotalKB": {
+ "description": "Total installed memory (MemTotal and SwapTotal in /proc/meminfo), in kB.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "cpuUsage": {
+ "description": "A float representing the current system-wide CPU utilization as a percentage.",
+ "type": "number",
+ "format": "double"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "ManagedCassandraReaperStatus": {
+ "type": "object",
+ "properties": {
+ "healthy": {
+ "type": "boolean"
+ },
+ "repairRunIds": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "repairSchedules": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ConnectionError": {
+ "type": "object",
+ "properties": {
+ "connectionState": {
+ "description": "The kind of connection error that occurred.",
+ "type": "string",
+ "enum": [
+ "Unknown",
+ "OK",
+ "OperatorToDataCenterNetworkError",
+ "DatacenterToDatacenterNetworkError",
+ "InternalOperatorToDataCenterCertificateError",
+ "InternalError"
+ ],
+ "x-ms-enum": {
+ "name": "ConnectionState",
+ "modelAsString": true
+ }
+ },
+ "iPFrom": {
+ "description": "The IP of host that originated the failed connection.",
+ "type": "string"
+ },
+ "iPTo": {
+ "description": "The IP that the connection attempted to reach.",
+ "type": "string"
+ },
+ "port": {
+ "description": "The TCP port the connection was attempted on.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "exception": {
+ "description": "Detailed error message about the failed connection.",
+ "type": "string"
+ }
+ }
+ },
+ "CommandPostBody": {
+ "description": "Specification of which command to run where",
+ "type": "object",
+ "required": [
+ "command",
+ "host"
+ ],
+ "properties": {
+ "command": {
+ "type": "string",
+ "description": "The command which should be run"
+ },
+ "arguments": {
+ "type": "object",
+ "description": "The arguments for the command to be run",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "host": {
+ "type": "string",
+ "description": "IP address of the cassandra host to run the command on"
+ },
+ "cassandra-stop-start": {
+ "type": "boolean",
+ "description": "If true, stops cassandra before executing the command and then start it again"
+ },
+ "readwrite": {
+ "type": "boolean",
+ "description": "If true, allows the command to *write* to the cassandra directory, otherwise read-only."
+ }
+ }
+ },
+ "CommandOutput": {
+ "description": "Response of /command api",
+ "type": "object",
+ "properties": {
+ "commandOutput": {
+ "type": "string",
+ "description": "Output of the command."
+ }
+ }
+ },
+ "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."
+ },
+ "managedDiskCustomerKeyUri": {
+ "type": "string",
+ "description": "Key uri to use for encryption of managed disks. Ensure the system assigned identity of the cluster has been assigned appropriate permissions(key get/wrap/unwrap permissions) on the key."
+ },
+ "backupStorageCustomerKeyUri": {
+ "type": "string",
+ "description": "Indicates the Key Uri of the customer key to use for encryption of the backup storage account."
+ },
+ "sku": {
+ "type": "string",
+ "description": "Virtual Machine SKU used for data centers. Default value is Standard_DS14_v2"
+ },
+ "diskSku": {
+ "type": "string",
+ "description": "Disk SKU used for data centers. Default value is P30."
+ },
+ "diskCapacity": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of disk used for data centers. Default value is 4."
+ },
+ "availabilityZone": {
+ "type": "boolean",
+ "description": "If the azure data center has Availability Zone support, apply it to the Virtual Machine ScaleSet that host the cassandra data center virtual machines."
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/notebook.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/notebook.json
new file mode 100644
index 000000000000..f87b5d1579d2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-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-10-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-10-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-10-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-10-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-10-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-10-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-10-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-10-15/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NotebookWorkspaceCreateUpdateParameters": {
+ "description": "Parameters to create a notebook workspace resource",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../stable/2021-10-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-10-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-10-15/privateEndpointConnection.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/privateEndpointConnection.json
new file mode 100644
index 000000000000..68b7650f832e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-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-10-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-10-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-10-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-10-15/privateLinkResources.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/privateLinkResources.json
new file mode 100644
index 000000000000..0592b65ece67
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-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-10-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-10-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-10-15/rbac.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/rbac.json
new file mode 100644
index 000000000000..6c9dc9b87f62
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-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-10-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-10-15/restorable.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/restorable.json
new file mode 100644
index 000000000000..cc57615fdf00
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2021-10-15/restorable.json
@@ -0,0 +1,1181 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2021-10-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}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts": {
+ "get": {
+ "operationId": "RestorableDatabaseAccounts_ListByLocation",
+ "x-ms-examples": {
+ "CosmosDBRestorableDatabaseAccountList": {
+ "$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": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/restorableDatabaseAccounts": {
+ "get": {
+ "operationId": "RestorableDatabaseAccounts_List",
+ "x-ms-examples": {
+ "CosmosDBRestorableDatabaseAccountNoLocationList": {
+ "$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": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}": {
+ "get": {
+ "operationId": "RestorableDatabaseAccounts_GetByLocation",
+ "x-ms-examples": {
+ "CosmosDBRestorableDatabaseAccountGet": {
+ "$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": "cosmos-db.json#/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/CosmosDBSqlContainerBackupInformation.json"
+ }
+ },
+ "description": "Retrieves continuous backup information for a container resource.",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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": "cosmos-db.json#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/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."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/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": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/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": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/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": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/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}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/retrieveContinuousBackupInformation": {
+ "post": {
+ "operationId": "MongoDBResources_RetrieveContinuousBackupInformation",
+ "x-ms-examples": {
+ "CosmosDBMongoDBCollectionBackupInformation": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionBackupInformation.json"
+ }
+ },
+ "description": "Retrieves continuous backup information for a Mongodb collection.",
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "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": "cosmos-db.json#/parameters/databaseNameParameter"
+ },
+ {
+ "$ref": "cosmos-db.json#/parameters/collectionNameParameter"
+ },
+ {
+ "$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 Mongodb collection retrieve backup information operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/BackupInformation"
+ }
+ },
+ "202": {
+ "description": "The Mongodb collection retrieve backup information operation will complete asynchronously."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "cosmos-db.json#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/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": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/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": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/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": "#/parameters/locationParameter"
+ },
+ {
+ "$ref": "#/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": {
+ "RestorableDatabaseAccountsListResult": {
+ "type": "object",
+ "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"
+ }
+ }
+ }
+ },
+ "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)."
+ }
+ }
+ },
+ "RestorableSqlDatabasesListResult": {
+ "type": "object",
+ "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": "../../stable/2021-10-15/cosmos-db.json#/definitions/SqlDatabaseResource"
+ },
+ {
+ "$ref": "../../stable/2021-10-15/cosmos-db.json#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "RestorableSqlContainersListResult": {
+ "type": "object",
+ "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": "../../stable/2021-10-15/cosmos-db.json#/definitions/SqlContainerResource"
+ },
+ {
+ "$ref": "../../stable/2021-10-15/cosmos-db.json#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "RestorableSqlResourcesListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "../../stable/2021-10-15/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": {
+ "type": "object",
+ "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": {
+ "type": "object",
+ "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": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "../../stable/2021-10-15/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
+ }
+ },
+ "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": {
+ "description": "Information about the status of continuous backups.",
+ "type": "object",
+ "$ref": "#/definitions/ContinuousBackupInformation"
+ }
+ }
+ },
+ "ContinuousBackupInformation": {
+ "description": "Information about the status of continuous backups.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "latestRestorableTimestamp": {
+ "type": "string",
+ "description": "The latest restorable timestamp for a resource."
+ }
+ }
+ }
+ },
+ "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."
+ },
+ "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/readme.go.md b/specification/cosmos-db/resource-manager/readme.go.md
index a37eadd0b3d5..87814591a12d 100644
--- a/specification/cosmos-db/resource-manager/readme.go.md
+++ b/specification/cosmos-db/resource-manager/readme.go.md
@@ -11,7 +11,7 @@ go:
``` yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/cosmos/armcosmos
+module-name: sdk/resourcemanager/cosmos/armcosmos
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
@@ -21,6 +21,7 @@ azure-arm: true
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-10
- tag: package-2021-07-preview
- tag: package-2021-06
- tag: package-2021-05
@@ -39,6 +40,15 @@ batch:
- tag: package-2015-04
```
+### Tag: package-2021-10 and go
+
+These settings apply only when `--tag=package-2021-10 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-10' && $(go)
+output-folder: $(go-sdk-folder)/services/cosmos-db/mgmt/2021-10-15/$(namespace)
+```
+
### Tag: package-2021-07-preview and go
These settings apply only when `--tag=package-2021-07-preview --go` is specified on the command line.
diff --git a/specification/cosmos-db/resource-manager/readme.md b/specification/cosmos-db/resource-manager/readme.md
index c830ba4ecc63..22ba6ccd0ce1 100644
--- a/specification/cosmos-db/resource-manager/readme.md
+++ b/specification/cosmos-db/resource-manager/readme.md
@@ -27,9 +27,44 @@ These are the global settings for the Cosmos-DB API.
``` yaml
title: CosmosDBManagementClient
openapi-type: arm
-tag: package-2021-07-preview
+tag: package-2021-10
```
+### Tag: package-2021-10
+
+These settings apply only when `--tag=package-2021-10` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-10'
+input-file:
+ - Microsoft.DocumentDB/stable/2021-10-15/cosmos-db.json
+ - Microsoft.DocumentDB/stable/2021-10-15/notebook.json
+ - Microsoft.DocumentDB/stable/2021-10-15/privateEndpointConnection.json
+ - Microsoft.DocumentDB/stable/2021-10-15/privateLinkResources.json
+ - Microsoft.DocumentDB/stable/2021-10-15/rbac.json
+ - Microsoft.DocumentDB/stable/2021-10-15/restorable.json
+ - Microsoft.DocumentDB/stable/2021-10-15/managedCassandra.json
+modelerfour:
+ lenient-model-deduplication: true
+```
+
+
+### Tag: package-preview-2021-10
+
+These settings apply only when `--tag=package-preview-2021-10` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2021-10'
+input-file:
+ - Microsoft.DocumentDB/preview/2021-10-15-preview/cosmos-db.json
+ - Microsoft.DocumentDB/preview/2021-10-15-preview/managedCassandra.json
+ - Microsoft.DocumentDB/preview/2021-10-15-preview/notebook.json
+ - Microsoft.DocumentDB/preview/2021-10-15-preview/privateEndpointConnection.json
+ - Microsoft.DocumentDB/preview/2021-10-15-preview/privateLinkResources.json
+ - Microsoft.DocumentDB/preview/2021-10-15-preview/rbac.json
+ - Microsoft.DocumentDB/preview/2021-10-15-preview/restorable.json
+ - Microsoft.DocumentDB/preview/2021-10-15-preview/services.json
+ - Microsoft.DocumentDB/preview/2021-10-15-preview/mongorbac.json
+ - Microsoft.DocumentDB/preview/2021-10-15-preview/dataTransferService.json
+```
### Tag: package-2021-07-preview
These settings apply only when `--tag=package-2021-07-preview` is specified on the command line.
@@ -52,7 +87,7 @@ modelerfour:
These settings apply only when `--tag=package-2021-06` is specified on the command line.
-```yaml $(tag) == 'package-2021-06'
+``` yaml $(tag) == 'package-2021-06'
input-file:
- Microsoft.DocumentDB/stable/2021-06-15/cosmos-db.json
- Microsoft.DocumentDB/stable/2021-06-15/notebook.json
@@ -451,44 +486,3 @@ See configuration in [readme.go.md](./readme.go.md)
## Java
See configuration in [readme.java.md](./readme.java.md)
-
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` 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.DocumentDB/preview/2020-06-01-preview/cosmos-db.json
- - $(this-folder)/Microsoft.DocumentDB/preview/2020-06-01-preview/notebook.json
- - $(this-folder)/Microsoft.DocumentDB/preview/2020-06-01-preview/rbac.json
- - $(this-folder)/Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json
- - $(this-folder)/Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json
- - $(this-folder)/Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json
- - $(this-folder)/Microsoft.DocumentDB/stable/2020-04-01/notebook.json
- - $(this-folder)/Microsoft.DocumentDB/stable/2020-03-01/cosmos-db.json
- - $(this-folder)/Microsoft.DocumentDB/stable/2020-03-01/notebook.json
- - $(this-folder)/Microsoft.DocumentDB/stable/2019-12-12/cosmos-db.json
- - $(this-folder)/Microsoft.DocumentDB/stable/2019-12-12/notebook.json
- - $(this-folder)/Microsoft.DocumentDB/stable/2019-08-01/cosmos-db.json
- - $(this-folder)/Microsoft.DocumentDB/stable/2019-08-01/notebook.json
- - $(this-folder)/Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json
- - $(this-folder)/Microsoft.DocumentDB/stable/2014-04-01/cosmos-db.json
- - $(this-folder)/Microsoft.DocumentDB/stable/2015-11-06/cosmos-db.json
- - $(this-folder)/Microsoft.DocumentDB/stable/2016-03-19/cosmos-db.json
- - $(this-folder)/Microsoft.DocumentDB/stable/2016-03-31/cosmos-db.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/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 1f6d3933e194..48b87c9ddd6e 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
@@ -2713,10 +2713,6 @@
"modelAsString": true
}
},
- "configuration": {
- "description": "Has configuration information for the data in the export. The configuration will be ignored if aggregation and grouping are provided.",
- "$ref": "#/definitions/QueryDatasetConfiguration"
- },
"aggregation": {
"type": "object",
"description": "Dictionary of aggregation expression to use in the query. The key of each item in the dictionary is the alias for the aggregated column. Query can have up to 2 aggregation clauses.",
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.exports.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.exports.json
new file mode 100644
index 000000000000..da3344170e25
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.exports.json
@@ -0,0 +1,892 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-10-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.",
+ "type": "object",
+ "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.",
+ "type": "object",
+ "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.",
+ "type": "object",
+ "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-10-01/costmanagement.generatedetailedcostreport.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.generatedetailedcostreport.json
new file mode 100644
index 000000000000..656b7609d1ff
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.generatedetailedcostreport.json
@@ -0,0 +1,408 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-10-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.",
+ "type": "object",
+ "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-10-01/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.json
new file mode 100644
index 000000000000..11c3cb13429c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/costmanagement.json
@@ -0,0 +1,2650 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-10-01",
+ "title": "CostManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.CostManagement/views": {
+ "get": {
+ "tags": [
+ "Views"
+ ],
+ "operationId": "Views_List",
+ "description": "Lists all views by tenant and object.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "PrivateViewList": {
+ "$ref": "./examples/PrivateViewList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ViewListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/views": {
+ "get": {
+ "tags": [
+ "Views"
+ ],
+ "operationId": "Views_ListByScope",
+ "description": "Lists all views at the given scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ResourceGroupViewList": {
+ "$ref": "./examples/ViewListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeViewParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ViewListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/views/{viewName}": {
+ "get": {
+ "tags": [
+ "Views"
+ ],
+ "operationId": "Views_Get",
+ "description": "Gets the view by view name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "PrivateView": {
+ "$ref": "./examples/PrivateView.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/viewNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/View"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Views"
+ ],
+ "operationId": "Views_CreateOrUpdate",
+ "description": "The operation to create or update a view. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "CreateOrUpdatePrivateView": {
+ "$ref": "./examples/PrivateViewCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/viewNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/View"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate View operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/View"
+ }
+ },
+ "201": {
+ "description": "Created.",
+ "schema": {
+ "$ref": "#/definitions/View"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Views"
+ ],
+ "operationId": "Views_Delete",
+ "description": "The operation to delete a view.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "DeletePrivateView": {
+ "$ref": "./examples/PrivateViewDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/viewNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "204": {
+ "description": "NoContent. Resource is not available."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/views/{viewName}": {
+ "get": {
+ "tags": [
+ "Views"
+ ],
+ "operationId": "Views_GetByScope",
+ "description": "Gets the view for the defined scope by view name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ResourceGroupView": {
+ "$ref": "./examples/ViewByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeViewParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/viewNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/View"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Views"
+ ],
+ "operationId": "Views_CreateOrUpdateByScope",
+ "description": "The operation to create or update a view. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ResourceGroupCreateOrUpdateView": {
+ "$ref": "./examples/ViewCreateOrUpdateByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeViewParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/viewNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/View"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate View operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/View"
+ }
+ },
+ "201": {
+ "description": "Created.",
+ "schema": {
+ "$ref": "#/definitions/View"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Views"
+ ],
+ "operationId": "Views_DeleteByScope",
+ "description": "The operation to delete a view.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ResourceGroupDeleteView": {
+ "$ref": "./examples/ViewDeleteByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeViewParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/viewNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "204": {
+ "description": "NoContent. Resource is not available."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/alerts": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_List",
+ "description": "Lists the alerts for scope defined.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "BillingAccountAlerts": {
+ "$ref": "./examples/BillingAccountAlerts.json"
+ },
+ "BillingProfileAlerts": {
+ "$ref": "./examples/BillingProfileAlerts.json"
+ },
+ "InvoiceSectionAlerts": {
+ "$ref": "./examples/InvoiceSectionAlerts.json"
+ },
+ "EnrollmentAccountAlerts": {
+ "$ref": "./examples/EnrollmentAccountAlerts.json"
+ },
+ "DepartmentAlerts": {
+ "$ref": "./examples/DepartmentAlerts.json"
+ },
+ "SubscriptionAlerts": {
+ "$ref": "./examples/SubscriptionAlerts.json"
+ },
+ "ResourceGroupAlerts": {
+ "$ref": "./examples/ResourceGroupAlerts.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/scopeAlertParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/AlertsResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/alerts/{alertId}": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_Get",
+ "description": "Gets the alert for the scope by alert ID.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SingleSubscriptionAlerts": {
+ "$ref": "./examples/SingleSubscriptionAlert.json"
+ },
+ "SingleResourceGroupAlerts": {
+ "$ref": "./examples/SingleResourceGroupAlert.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/scopeAlertParameter"
+ },
+ {
+ "$ref": "#/parameters/alertIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_Dismiss",
+ "description": "Dismisses the specified alert",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "PatchSubscriptionAlerts": {
+ "$ref": "./examples/DismissSubscriptionAlerts.json"
+ },
+ "PatchResourceGroupAlerts": {
+ "$ref": "./examples/DismissResourceGroupAlerts.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/scopeAlertParameter"
+ },
+ {
+ "$ref": "#/parameters/alertIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DismissAlertPayload"
+ },
+ "description": "Parameters supplied to the Dismiss Alert operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/alerts": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_ListExternal",
+ "description": "Lists the Alerts for external cloud provider type defined.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExternalBillingAccountAlerts": {
+ "$ref": "./examples/ExternalBillingAccountAlerts.json"
+ },
+ "ExternalSubscriptionAlerts": {
+ "$ref": "./examples/ExternalSubscriptionAlerts.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/externalCloudProviderTypeParameter"
+ },
+ {
+ "$ref": "#/parameters/externalCloudProviderIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/AlertsResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/forecast": {
+ "post": {
+ "tags": [
+ "Forecast"
+ ],
+ "operationId": "Forecast_Usage",
+ "description": "Lists the forecast charges for scope defined.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "BillingAccountForecast": {
+ "$ref": "./examples/BillingAccountForecast.json"
+ },
+ "BillingProfileForecast": {
+ "$ref": "./examples/BillingProfileForecast.json"
+ },
+ "InvoiceSectionForecast": {
+ "$ref": "./examples/InvoiceSectionForecast.json"
+ },
+ "EnrollmentAccountForecast": {
+ "$ref": "./examples/EnrollmentAccountForecast.json"
+ },
+ "DepartmentForecast": {
+ "$ref": "./examples/DepartmentForecast.json"
+ },
+ "SubscriptionForecast": {
+ "$ref": "./examples/SubscriptionForecast.json"
+ },
+ "ResourceGroupForecast": {
+ "$ref": "./examples/ResourceGroupForecast.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "description": "May be used to filter forecasts by properties/usageDate (Utc time), properties/chargeType or properties/grain. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/scopeForecastParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ForecastDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Forecast Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "204": {
+ "description": "No Content. Resource is not available."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/forecast": {
+ "post": {
+ "tags": [
+ "Forecast"
+ ],
+ "operationId": "Forecast_ExternalCloudProviderUsage",
+ "description": "Lists the forecast charges for external cloud provider type defined.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExternalBillingAccountForecast": {
+ "$ref": "./examples/ExternalBillingAccountForecast.json"
+ },
+ "ExternalSubscriptionForecast": {
+ "$ref": "./examples/ExternalSubscriptionForecast.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "description": "May be used to filter forecasts by properties/usageDate (Utc time), properties/chargeType or properties/grain. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/externalCloudProviderTypeParameter"
+ },
+ {
+ "$ref": "#/parameters/externalCloudProviderIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ForecastDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Forecast Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/dimensions": {
+ "get": {
+ "tags": [
+ "Dimensions"
+ ],
+ "x-ms-odata": "#/definitions/Dimension",
+ "operationId": "Dimensions_List",
+ "description": "Lists the dimensions by the defined scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionDimensionsList-Legacy": {
+ "$ref": "./examples/SubscriptionDimensionsList.json"
+ },
+ "ResourceGroupDimensionsList-Legacy": {
+ "$ref": "./examples/ResourceGroupDimensionsList.json"
+ },
+ "ManagementGroupDimensionsList-Legacy": {
+ "$ref": "./examples/ManagementGroupDimensionsList.json"
+ },
+ "ManagementGroupDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/ManagementGroupDimensionsListExpandAndTop.json"
+ },
+ "ManagementGroupDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/ManagementGroupDimensionsListWithFilter.json"
+ },
+ "DepartmentDimensionsList-Legacy": {
+ "$ref": "./examples/DepartmentDimensionsList.json"
+ },
+ "DepartmentDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/DepartmentDimensionsListExpandAndTop.json"
+ },
+ "DepartmentDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/DepartmentDimensionsListWithFilter.json"
+ },
+ "EnrollmentAccountDimensionsList-Legacy": {
+ "$ref": "./examples/EnrollmentAccountDimensionsList.json"
+ },
+ "EnrollmentAccountDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/EnrollmentAccountDimensionsListExpandAndTop.json"
+ },
+ "EnrollmentAccountDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/EnrollmentAccountDimensionsListWithFilter.json"
+ },
+ "BillingAccountDimensionsList-Legacy": {
+ "$ref": "./examples/BillingAccountDimensionsList.json"
+ },
+ "BillingAccountDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/BillingAccountDimensionsListExpandAndTop.json"
+ },
+ "BillingAccountDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/BillingAccountDimensionsListWithFilter.json"
+ },
+ "BillingAccountDimensionsList-Modern": {
+ "$ref": "./examples/MCABillingAccountDimensionsList.json"
+ },
+ "BillingAccountDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCABillingAccountDimensionsListExpandAndTop.json"
+ },
+ "BillingAccountDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCABillingAccountDimensionsListWithFilter.json"
+ },
+ "BillingProfileDimensionsList-Modern": {
+ "$ref": "./examples/MCABillingProfileDimensionsList.json"
+ },
+ "BillingProfileDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCABillingProfileDimensionsListExpandAndTop.json"
+ },
+ "BillingProfileDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCABillingProfileDimensionsListWithFilter.json"
+ },
+ "InvoiceSectionDimensionsList-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionDimensionsList.json"
+ },
+ "InvoiceSectionDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionDimensionsListExpandAndTop.json"
+ },
+ "InvoiceSectionDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionDimensionsListWithFilter.json"
+ },
+ "CustomerDimensionsList-Modern": {
+ "$ref": "./examples/MCACustomerDimensionsList.json"
+ },
+ "CustomerDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCACustomerDimensionsListExpandAndTop.json"
+ },
+ "CustomerDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCACustomerDimensionsListWithFilter.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeDimensionParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skiptoken",
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N dimension data.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000,
+ "format": "int32"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DimensionsListResult"
+ }
+ },
+ "204": {
+ "description": "No Content. Resource is not available."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/dimensions": {
+ "get": {
+ "tags": [
+ "Dimensions"
+ ],
+ "x-ms-odata": "#/definitions/Dimension",
+ "operationId": "Dimensions_ByExternalCloudProviderType",
+ "description": "Lists the dimensions by the external cloud provider type.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExternalBillingAccountDimensionList": {
+ "$ref": "./examples/ExternalBillingAccountsDimensions.json"
+ },
+ "ExternalSubscriptionDimensionList": {
+ "$ref": "./examples/ExternalSubscriptionsDimensions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/externalCloudProviderTypeParameter"
+ },
+ {
+ "$ref": "#/parameters/externalCloudProviderIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skiptoken",
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N dimension data.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000,
+ "format": "int32"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DimensionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/query": {
+ "post": {
+ "tags": [
+ "Query"
+ ],
+ "operationId": "Query_Usage",
+ "description": "Query the usage data for scope defined.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionQuery-Legacy": {
+ "$ref": "./examples/SubscriptionQuery.json"
+ },
+ "SubscriptionQueryGrouping-Legacy": {
+ "$ref": "./examples/SubscriptionQueryGrouping.json"
+ },
+ "ResourceGroupQuery-Legacy": {
+ "$ref": "./examples/ResourceGroupQuery.json"
+ },
+ "ResourceGroupQueryGrouping-Legacy": {
+ "$ref": "./examples/ResourceGroupQueryGrouping.json"
+ },
+ "BillingAccountQuery-Legacy": {
+ "$ref": "./examples/BillingAccountQuery.json"
+ },
+ "BillingAccountQueryGrouping-Legacy": {
+ "$ref": "./examples/BillingAccountQueryGrouping.json"
+ },
+ "EnrollmentAccountQuery-Legacy": {
+ "$ref": "./examples/EnrollmentAccountQuery.json"
+ },
+ "EnrollmentAccountQueryGrouping-Legacy": {
+ "$ref": "./examples/EnrollmentAccountQueryGrouping.json"
+ },
+ "DepartmentQuery-Legacy": {
+ "$ref": "./examples/DepartmentQuery.json"
+ },
+ "DepartmentQueryGrouping-Legacy": {
+ "$ref": "./examples/DepartmentQueryGrouping.json"
+ },
+ "ManagementGroupQuery-Legacy": {
+ "$ref": "./examples/ManagementGroupQuery.json"
+ },
+ "ManagementGroupQueryGrouping-Legacy": {
+ "$ref": "./examples/ManagementGroupQueryGrouping.json"
+ },
+ "BillingAccountQuery-Modern": {
+ "$ref": "./examples/MCABillingAccountQuery.json"
+ },
+ "BillingAccountQueryGrouping-Modern": {
+ "$ref": "./examples/MCABillingAccountQueryGrouping.json"
+ },
+ "BillingProfileQuery-Modern": {
+ "$ref": "./examples/MCABillingProfileQuery.json"
+ },
+ "BillingProfileQueryGrouping-Modern": {
+ "$ref": "./examples/MCABillingProfileQueryGrouping.json"
+ },
+ "InvoiceSectionQuery-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionQuery.json"
+ },
+ "InvoiceSectionQueryGrouping-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionQueryGrouping.json"
+ },
+ "CustomerQuery-Modern": {
+ "$ref": "./examples/MCACustomerQuery.json"
+ },
+ "CustomerQueryGrouping-Modern": {
+ "$ref": "./examples/MCACustomerQueryGrouping.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/QueryDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Query Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "204": {
+ "description": "No Content. Resource is not available."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/query": {
+ "post": {
+ "tags": [
+ "Query"
+ ],
+ "operationId": "Query_UsageByExternalCloudProviderType",
+ "description": "Query the usage data for external cloud provider type defined.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExternalBillingAccountQueryList": {
+ "$ref": "./examples/ExternalBillingAccountsQuery.json"
+ },
+ "ExternalSubscriptionsQuery": {
+ "$ref": "./examples/ExternalSubscriptionsQuery.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/externalCloudProviderTypeParameter"
+ },
+ {
+ "$ref": "#/parameters/externalCloudProviderIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/QueryDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Query Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Lists all of the available cost management REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ReportConfigDefinition": {
+ "description": "The definition of a report config.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the report. Usage represents actual usage, forecast represents forecasted data and UsageAndForecast represents both usage and forecasted data. Actual usage and forecasted data can be differentiated based on dates.",
+ "type": "string",
+ "enum": [
+ "Usage"
+ ],
+ "x-ms-enum": {
+ "name": "ReportType",
+ "modelAsString": true
+ }
+ },
+ "timeframe": {
+ "description": "The time frame for pulling data for the report. If custom, then a specific time period must be provided.",
+ "type": "string",
+ "enum": [
+ "WeekToDate",
+ "MonthToDate",
+ "YearToDate",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "ReportTimeframeType",
+ "modelAsString": true
+ }
+ },
+ "timePeriod": {
+ "description": "Has time period for pulling data for the report.",
+ "$ref": "#/definitions/ReportConfigTimePeriod"
+ },
+ "dataSet": {
+ "description": "Has definition for data in this report config.",
+ "$ref": "#/definitions/ReportConfigDataset"
+ },
+ "includeMonetaryCommitment": {
+ "description": "If true, report includes monetary commitment.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "type",
+ "timeframe"
+ ]
+ },
+ "ReportConfigTimePeriod": {
+ "description": "The start and end date for pulling data for the report.",
+ "type": "object",
+ "properties": {
+ "from": {
+ "description": "The start date to pull data from.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "to": {
+ "description": "The end date to pull data to.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "from",
+ "to"
+ ]
+ },
+ "ReportConfigDataset": {
+ "description": "The definition of data present in the report.",
+ "type": "object",
+ "properties": {
+ "granularity": {
+ "description": "The granularity of rows in the report.",
+ "type": "string",
+ "enum": [
+ "Daily",
+ "Monthly"
+ ],
+ "x-ms-enum": {
+ "name": "ReportGranularityType",
+ "modelAsString": true
+ }
+ },
+ "configuration": {
+ "description": "Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided.",
+ "$ref": "#/definitions/ReportConfigDatasetConfiguration"
+ },
+ "aggregation": {
+ "type": "object",
+ "description": "Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses.",
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/ReportConfigAggregation"
+ },
+ "maxItems": 2
+ },
+ "grouping": {
+ "description": "Array of group by expression to use in the report. Report can have up to 2 group by clauses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigGrouping"
+ },
+ "maxItems": 2
+ },
+ "sorting": {
+ "description": "Array of order by expression to use in the report.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigSorting"
+ }
+ },
+ "filter": {
+ "type": "object",
+ "description": "Has filter expression to use in the report.",
+ "$ref": "#/definitions/ReportConfigFilter"
+ }
+ }
+ },
+ "ReportConfigDatasetConfiguration": {
+ "description": "The configuration of dataset in the report.",
+ "type": "object",
+ "properties": {
+ "columns": {
+ "description": "Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ReportConfigAggregation": {
+ "description": "The aggregation expression to be used in the report.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the column to aggregate.",
+ "type": "string"
+ },
+ "function": {
+ "description": "The name of the aggregation function to use.",
+ "type": "string",
+ "enum": [
+ "Sum"
+ ],
+ "x-ms-enum": {
+ "name": "FunctionType",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name",
+ "function"
+ ]
+ },
+ "ReportConfigSorting": {
+ "description": "The order by expression to be used in the report.",
+ "type": "object",
+ "properties": {
+ "direction": {
+ "description": "Direction of sort.",
+ "type": "string",
+ "enum": [
+ "Ascending",
+ "Descending"
+ ]
+ },
+ "name": {
+ "description": "The name of the column to sort.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "ReportConfigGrouping": {
+ "description": "The group by expression to be used in the report.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Has type of the column to group.",
+ "$ref": "#/definitions/ReportConfigColumnType"
+ },
+ "name": {
+ "description": "The name of the column to group. This version supports subscription lowest possible grain.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "name"
+ ]
+ },
+ "ReportConfigFilter": {
+ "description": "The filter expression to be used in the report.",
+ "type": "object",
+ "properties": {
+ "and": {
+ "description": "The logical \"AND\" expression. Must have at least 2 items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigFilter"
+ },
+ "minItems": 2
+ },
+ "or": {
+ "description": "The logical \"OR\" expression. Must have at least 2 items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigFilter"
+ },
+ "minItems": 2
+ },
+ "not": {
+ "description": "The logical \"NOT\" expression.",
+ "$ref": "#/definitions/ReportConfigFilter"
+ },
+ "dimension": {
+ "description": "Has comparison expression for a dimension",
+ "$ref": "#/definitions/ReportConfigComparisonExpression"
+ },
+ "tag": {
+ "description": "Has comparison expression for a tag",
+ "$ref": "#/definitions/ReportConfigComparisonExpression"
+ }
+ }
+ },
+ "ReportConfigColumnType": {
+ "description": "The type of the column in the report.",
+ "type": "string",
+ "enum": [
+ "Tag",
+ "Dimension"
+ ],
+ "x-ms-enum": {
+ "name": "ReportConfigColumnType",
+ "modelAsString": true
+ }
+ },
+ "ReportConfigComparisonExpression": {
+ "description": "The comparison expression to be used in the report.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the column to use in comparison.",
+ "type": "string"
+ },
+ "operator": {
+ "description": "The operator to use for comparison.",
+ "type": "string",
+ "enum": [
+ "In",
+ "Contains"
+ ],
+ "x-ms-enum": {
+ "name": "OperatorType",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "description": "Array of values to use for comparison",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1
+ }
+ },
+ "required": [
+ "name",
+ "operator",
+ "values"
+ ]
+ },
+ "ViewListResult": {
+ "description": "Result of listing views. It contains a list of available views.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of views.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/View"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "View": {
+ "description": "States and configurations of Cost Analysis.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ViewProperties",
+ "title": "View properties"
+ }
+ }
+ },
+ "ViewProperties": {
+ "type": "object",
+ "description": "The properties of the view.",
+ "properties": {
+ "displayName": {
+ "description": "User input name of the view. Required.",
+ "type": "string"
+ },
+ "scope": {
+ "description": "Cost Management scope to save the view on. This includes 'subscriptions/{subscriptionId}' for subscription scope, 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for ExternalBillingAccount scope, and '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for ExternalSubscription scope.",
+ "type": "string"
+ },
+ "createdOn": {
+ "description": "Date the user created this view.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "modifiedOn": {
+ "description": "Date when the user last modified this view.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "dateRange": {
+ "description": "Date range of the current view.",
+ "type": "string",
+ "readOnly": true
+ },
+ "currency": {
+ "description": "Currency of the current view.",
+ "type": "string",
+ "readOnly": true
+ },
+ "query": {
+ "description": "Query body configuration. Required.",
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ReportConfigDefinition"
+ },
+ "chart": {
+ "description": "Chart type of the main view in Cost Analysis. Required.",
+ "type": "string",
+ "enum": [
+ "Area",
+ "Line",
+ "StackedColumn",
+ "GroupedColumn",
+ "Table"
+ ],
+ "x-ms-enum": {
+ "name": "ChartType",
+ "modelAsString": true
+ }
+ },
+ "accumulated": {
+ "description": "Show costs accumulated over time.",
+ "type": "string",
+ "enum": [
+ "true",
+ "false"
+ ],
+ "x-ms-enum": {
+ "name": "AccumulatedType",
+ "modelAsString": true
+ }
+ },
+ "metric": {
+ "description": "Metric to use when displaying costs.",
+ "type": "string",
+ "enum": [
+ "ActualCost",
+ "AmortizedCost",
+ "AHUB"
+ ],
+ "x-ms-enum": {
+ "name": "MetricType",
+ "modelAsString": true
+ }
+ },
+ "kpis": {
+ "description": "List of KPIs to show in Cost Analysis UI.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KpiProperties"
+ }
+ },
+ "pivots": {
+ "description": "Configuration of 3 sub-views in the Cost Analysis UI.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PivotProperties"
+ }
+ }
+ }
+ },
+ "KpiProperties": {
+ "description": "Each KPI must contain a 'type' and 'enabled' key.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "KPI type (Forecast, Budget).",
+ "type": "string",
+ "enum": [
+ "Forecast",
+ "Budget"
+ ],
+ "x-ms-enum": {
+ "name": "KpiTypeType",
+ "modelAsString": true
+ }
+ },
+ "id": {
+ "description": "ID of resource related to metric (budget).",
+ "type": "string"
+ },
+ "enabled": {
+ "description": "show the KPI in the UI?",
+ "type": "boolean"
+ }
+ }
+ },
+ "PivotProperties": {
+ "description": "Each pivot must contain a 'type' and 'name'.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Data type to show in view.",
+ "type": "string",
+ "enum": [
+ "Dimension",
+ "TagKey"
+ ],
+ "x-ms-enum": {
+ "name": "PivotTypeType",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "Data field to show in view.",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "The details of the error.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. \n\nSome Error responses: \n\n * 429 TooManyRequests - Request is throttled. Retry after waiting for the time specified in the \"x-ms-ratelimit-microsoft.consumption-retry-after\" header. \n\n * 503 ServiceUnavailable - Service is temporarily unavailable. Retry after waiting for the time specified in the \"Retry-After\" header.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The details of the error.",
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "type": "object",
+ "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": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Location of the resource."
+ },
+ "sku": {
+ "readOnly": true,
+ "type": "string",
+ "description": "SKU of the resource."
+ },
+ "eTag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "ETag of the resource."
+ },
+ "tags": {
+ "readOnly": true,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ProxyResource": {
+ "description": "The Resource model definition.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "eTag": {
+ "type": "string",
+ "description": "eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DimensionsListResult": {
+ "description": "Result of listing dimensions. It contains a list of available dimensions.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of dimensions.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ }
+ }
+ }
+ },
+ "Dimension": {
+ "description": "List of Dimension.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DimensionProperties",
+ "title": "Dimension properties"
+ }
+ }
+ },
+ "DimensionProperties": {
+ "description": "Dimension properties.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Dimension description.",
+ "type": "string",
+ "readOnly": true
+ },
+ "filterEnabled": {
+ "description": "Filter enabled.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "groupingEnabled": {
+ "description": "Grouping enabled.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "data": {
+ "description": "Dimension data.",
+ "type": "array",
+ "items": {
+ "description": "Dimension data item.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "total": {
+ "description": "Total number of data for the dimension.",
+ "format": "int32",
+ "type": "integer",
+ "readOnly": true
+ },
+ "category": {
+ "description": "Dimension category.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageStart": {
+ "description": "Usage start.",
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageEnd": {
+ "description": "Usage end.",
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AlertsResult": {
+ "description": "Result of alerts.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of alerts.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of alerts results if there are any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Alert": {
+ "description": "An individual alert.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AlertProperties",
+ "title": "Alert properties"
+ }
+ }
+ },
+ "AlertProperties": {
+ "description": "Alert properties.",
+ "type": "object",
+ "properties": {
+ "definition": {
+ "description": "defines the type of alert",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "type of alert",
+ "type": "string",
+ "enum": [
+ "Budget",
+ "Invoice",
+ "Credit",
+ "Quota",
+ "General",
+ "xCloud",
+ "BudgetForecast"
+ ],
+ "x-ms-enum": {
+ "name": "AlertType",
+ "modelAsString": true
+ }
+ },
+ "category": {
+ "description": "Alert category",
+ "type": "string",
+ "enum": [
+ "Cost",
+ "Usage",
+ "Billing",
+ "System"
+ ],
+ "x-ms-enum": {
+ "name": "AlertCategory",
+ "modelAsString": true
+ }
+ },
+ "criteria": {
+ "description": "Criteria that triggered alert",
+ "type": "string",
+ "enum": [
+ "CostThresholdExceeded",
+ "UsageThresholdExceeded",
+ "CreditThresholdApproaching",
+ "CreditThresholdReached",
+ "QuotaThresholdApproaching",
+ "QuotaThresholdReached",
+ "MultiCurrency",
+ "ForecastCostThresholdExceeded",
+ "ForecastUsageThresholdExceeded",
+ "InvoiceDueDateApproaching",
+ "InvoiceDueDateReached",
+ "CrossCloudNewDataAvailable",
+ "CrossCloudCollectionError",
+ "GeneralThresholdError"
+ ],
+ "x-ms-enum": {
+ "name": "AlertCriteria",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "description": {
+ "description": "Alert description",
+ "type": "string"
+ },
+ "source": {
+ "description": "Source of alert",
+ "type": "string",
+ "enum": [
+ "Preset",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "AlertSource",
+ "modelAsString": true
+ }
+ },
+ "details": {
+ "description": "Alert details",
+ "type": "object",
+ "properties": {
+ "timeGrainType": {
+ "description": "Type of timegrain cadence",
+ "type": "string",
+ "enum": [
+ "None",
+ "Monthly",
+ "Quarterly",
+ "Annually",
+ "BillingMonth",
+ "BillingQuarter",
+ "BillingAnnual"
+ ],
+ "x-ms-enum": {
+ "name": "AlertTimeGrainType",
+ "modelAsString": true
+ }
+ },
+ "periodStartDate": {
+ "description": "datetime of periodStartDate",
+ "type": "string"
+ },
+ "triggeredBy": {
+ "description": "notificationId that triggered this alert",
+ "type": "string"
+ },
+ "resourceGroupFilter": {
+ "description": "array of resourceGroups to filter by",
+ "type": "array",
+ "items": {}
+ },
+ "resourceFilter": {
+ "description": "array of resources to filter by",
+ "type": "array",
+ "items": {}
+ },
+ "meterFilter": {
+ "description": "array of meters to filter by",
+ "type": "array",
+ "items": {}
+ },
+ "tagFilter": {
+ "description": "tags to filter by",
+ "type": "object",
+ "properties": {}
+ },
+ "threshold": {
+ "description": "notification threshold percentage as a decimal which activated this alert",
+ "type": "number",
+ "format": "decimal"
+ },
+ "operator": {
+ "description": "operator used to compare currentSpend with amount",
+ "type": "string",
+ "enum": [
+ "None",
+ "EqualTo",
+ "GreaterThan",
+ "GreaterThanOrEqualTo",
+ "LessThan",
+ "LessThanOrEqualTo"
+ ],
+ "x-ms-enum": {
+ "name": "AlertOperator",
+ "modelAsString": true
+ }
+ },
+ "amount": {
+ "description": "budget threshold amount",
+ "type": "number",
+ "format": "decimal"
+ },
+ "unit": {
+ "description": "unit of currency being used",
+ "type": "string"
+ },
+ "currentSpend": {
+ "description": "current spend",
+ "type": "number",
+ "format": "decimal"
+ },
+ "contactEmails": {
+ "description": "list of emails to contact",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "contactGroups": {
+ "description": "list of action groups to broadcast to",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "contactRoles": {
+ "description": "list of contact roles",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "overridingAlert": {
+ "description": "overriding alert",
+ "type": "string"
+ }
+ }
+ },
+ "costEntityId": {
+ "description": "related budget",
+ "type": "string"
+ },
+ "status": {
+ "description": "alert status",
+ "type": "string",
+ "enum": [
+ "None",
+ "Active",
+ "Overridden",
+ "Resolved",
+ "Dismissed"
+ ],
+ "x-ms-enum": {
+ "name": "AlertStatus",
+ "modelAsString": true
+ }
+ },
+ "creationTime": {
+ "description": "dateTime in which alert was created",
+ "type": "string"
+ },
+ "closeTime": {
+ "description": "dateTime in which alert was closed",
+ "type": "string"
+ },
+ "modificationTime": {
+ "description": "dateTime in which alert was last modified",
+ "type": "string"
+ },
+ "statusModificationUserName": {
+ "description": "User who last modified the alert",
+ "type": "string"
+ },
+ "statusModificationTime": {
+ "description": "dateTime in which the alert status was last modified",
+ "type": "string"
+ }
+ }
+ },
+ "DismissAlertPayload": {
+ "description": "The request payload to update an alert",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AlertProperties",
+ "title": "Alert properties"
+ }
+ }
+ },
+ "QueryResult": {
+ "description": "Result of query. It contains all columns listed under groupings and aggregation.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/QueryProperties",
+ "title": "Query properties"
+ }
+ }
+ },
+ "QueryProperties": {
+ "description": "Query properties",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string"
+ },
+ "columns": {
+ "description": "Array of columns",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryColumn"
+ }
+ },
+ "rows": {
+ "description": "Array of rows",
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {}
+ }
+ }
+ }
+ },
+ "QueryColumn": {
+ "description": "QueryColumn properties",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of column.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of column.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of listing cost management operations. It contains a list of operations and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of cost management operations supported by the Microsoft.CostManagement resource provider.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of operation list results if there are any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Operation": {
+ "description": "A Cost management REST API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft.CostManagement.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed: Dimensions, Query.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "Operation type: Read, write, delete, etc.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ }
+ },
+ "ForecastDefinition": {
+ "description": "The definition of a forecast.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the forecast.",
+ "type": "string",
+ "enum": [
+ "Usage",
+ "ActualCost",
+ "AmortizedCost"
+ ],
+ "x-ms-enum": {
+ "name": "ForecastType",
+ "modelAsString": true
+ }
+ },
+ "timeframe": {
+ "description": "The time frame for pulling data for the forecast. If custom, then a specific time period must be provided.",
+ "type": "string",
+ "enum": [
+ "MonthToDate",
+ "BillingMonthToDate",
+ "TheLastMonth",
+ "TheLastBillingMonth",
+ "WeekToDate",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "ForecastTimeframeType",
+ "modelAsString": true
+ }
+ },
+ "timePeriod": {
+ "description": "Has time period for pulling data for the forecast.",
+ "$ref": "#/definitions/QueryTimePeriod"
+ },
+ "dataset": {
+ "description": "Has definition for data in this forecast.",
+ "$ref": "#/definitions/ForecastDataset"
+ },
+ "includeActualCost": {
+ "description": "a boolean determining if actualCost will be included",
+ "type": "boolean"
+ },
+ "includeFreshPartialCost": {
+ "description": "a boolean determining if FreshPartialCost will be included",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "type",
+ "timeframe",
+ "dataset"
+ ]
+ },
+ "ForecastDataset": {
+ "description": "The definition of data present in the forecast.",
+ "type": "object",
+ "properties": {
+ "granularity": {
+ "description": "The granularity of rows in the forecast.",
+ "type": "string",
+ "enum": [
+ "Daily"
+ ],
+ "x-ms-enum": {
+ "name": "GranularityType",
+ "modelAsString": true
+ }
+ },
+ "configuration": {
+ "description": "Has configuration information for the data in the export. The configuration will be ignored if aggregation and grouping are provided.",
+ "$ref": "#/definitions/QueryDatasetConfiguration"
+ },
+ "aggregation": {
+ "type": "object",
+ "description": "Dictionary of aggregation expression to use in the forecast. The key of each item in the dictionary is the alias for the aggregated column. forecast can have up to 2 aggregation clauses.",
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/QueryAggregation"
+ },
+ "maxItems": 2
+ },
+ "filter": {
+ "type": "object",
+ "description": "Has filter expression to use in the forecast.",
+ "$ref": "#/definitions/QueryFilter"
+ }
+ }
+ },
+ "QueryDefinition": {
+ "description": "The definition of a query.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the query.",
+ "type": "string",
+ "enum": [
+ "Usage",
+ "ActualCost",
+ "AmortizedCost"
+ ],
+ "x-ms-enum": {
+ "name": "ExportType",
+ "modelAsString": true
+ }
+ },
+ "timeframe": {
+ "description": "The time frame for pulling data for the query. If custom, then a specific time period must be provided.",
+ "type": "string",
+ "enum": [
+ "MonthToDate",
+ "BillingMonthToDate",
+ "TheLastMonth",
+ "TheLastBillingMonth",
+ "WeekToDate",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "TimeframeType",
+ "modelAsString": true
+ }
+ },
+ "timePeriod": {
+ "description": "Has time period for pulling data for the query.",
+ "$ref": "#/definitions/QueryTimePeriod"
+ },
+ "dataset": {
+ "description": "Has definition for data in this query.",
+ "$ref": "#/definitions/QueryDataset"
+ }
+ },
+ "required": [
+ "type",
+ "timeframe",
+ "dataset"
+ ]
+ },
+ "QueryTimePeriod": {
+ "description": "The start and end date for pulling data for the query.",
+ "type": "object",
+ "properties": {
+ "from": {
+ "description": "The start date to pull data from.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "to": {
+ "description": "The end date to pull data to.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "from",
+ "to"
+ ]
+ },
+ "QueryDataset": {
+ "description": "The definition of data present in the query.",
+ "type": "object",
+ "properties": {
+ "granularity": {
+ "description": "The granularity of rows in the query.",
+ "type": "string",
+ "enum": [
+ "Daily"
+ ],
+ "x-ms-enum": {
+ "name": "GranularityType",
+ "modelAsString": true
+ }
+ },
+ "configuration": {
+ "description": "Has configuration information for the data in the export. The configuration will be ignored if aggregation and grouping are provided.",
+ "$ref": "#/definitions/QueryDatasetConfiguration"
+ },
+ "aggregation": {
+ "type": "object",
+ "description": "Dictionary of aggregation expression to use in the query. The key of each item in the dictionary is the alias for the aggregated column. Query can have up to 2 aggregation clauses.",
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/QueryAggregation"
+ },
+ "maxItems": 2
+ },
+ "grouping": {
+ "description": "Array of group by expression to use in the query. Query can have up to 2 group by clauses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryGrouping"
+ },
+ "maxItems": 2
+ },
+ "filter": {
+ "type": "object",
+ "description": "The filter expression to use in the query. Please reference our Query API REST documentation for how to properly format the filter.",
+ "$ref": "#/definitions/QueryFilter"
+ }
+ }
+ },
+ "QueryDatasetConfiguration": {
+ "description": "The configuration of dataset in the query.",
+ "type": "object",
+ "properties": {
+ "columns": {
+ "description": "Array of column names to be included in the query. Any valid query column name is allowed. If not provided, then query includes all columns.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "QueryAggregation": {
+ "description": "The aggregation expression to be used in the query.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the column to aggregate.",
+ "type": "string"
+ },
+ "function": {
+ "description": "The name of the aggregation function to use.",
+ "type": "string",
+ "enum": [
+ "Sum"
+ ],
+ "x-ms-enum": {
+ "name": "FunctionType",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name",
+ "function"
+ ]
+ },
+ "QueryGrouping": {
+ "description": "The group by expression to be used in the query.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Has type of the column to group.",
+ "$ref": "#/definitions/QueryColumnType"
+ },
+ "name": {
+ "description": "The name of the column to group.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "name"
+ ]
+ },
+ "QueryFilter": {
+ "description": "The filter expression to be used in the export.",
+ "type": "object",
+ "properties": {
+ "and": {
+ "description": "The logical \"AND\" expression. Must have at least 2 items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryFilter"
+ },
+ "minItems": 2
+ },
+ "or": {
+ "description": "The logical \"OR\" expression. Must have at least 2 items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryFilter"
+ },
+ "minItems": 2
+ },
+ "not": {
+ "description": "The logical \"NOT\" expression.",
+ "$ref": "#/definitions/QueryFilter"
+ },
+ "dimension": {
+ "description": "Has comparison expression for a dimension",
+ "$ref": "#/definitions/QueryComparisonExpression"
+ },
+ "tag": {
+ "description": "Has comparison expression for a tag",
+ "$ref": "#/definitions/QueryComparisonExpression"
+ }
+ }
+ },
+ "QueryColumnType": {
+ "description": "The type of the column in the export.",
+ "type": "string",
+ "enum": [
+ "Tag",
+ "Dimension"
+ ],
+ "x-ms-enum": {
+ "name": "QueryColumnType",
+ "modelAsString": true
+ }
+ },
+ "QueryComparisonExpression": {
+ "description": "The comparison expression to be used in the query.",
+ "type": "object",
+ "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": "QueryOperatorType",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "description": "Array of values to use for comparison",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1
+ }
+ },
+ "required": [
+ "name",
+ "operator",
+ "values"
+ ]
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request."
+ },
+ "viewNameParameter": {
+ "name": "viewName",
+ "in": "path",
+ "description": "View name",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "scopeViewParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with view operations. This includes 'subscriptions/{subscriptionId}' for subscription scope, 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for External Billing Account scope and 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for External Subscription scope.",
+ "x-ms-parameter-location": "method"
+ },
+ "scopeDimensionParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with dimension operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, and 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeAlertParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with alerts operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeForecastParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with forecast operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeQueryParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with query and export operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Azure Subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Azure Resource Group Name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "billingAccountIdParameter": {
+ "name": "billingAccountId",
+ "in": "path",
+ "description": "BillingAccount ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "managementGroupIdParameter": {
+ "name": "managementGroupId",
+ "in": "path",
+ "description": "ManagementGroup ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "departmentIdParameter": {
+ "name": "departmentId",
+ "in": "path",
+ "description": "Department ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "enrollmentAccountIdParameter": {
+ "name": "enrollmentAccountId",
+ "in": "path",
+ "description": "Enrollment Account ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "externalCloudProviderTypeParameter": {
+ "name": "externalCloudProviderType",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "externalSubscriptions",
+ "externalBillingAccounts"
+ ],
+ "x-ms-enum": {
+ "name": "externalCloudProviderType",
+ "modelAsString": true
+ },
+ "description": "The external cloud provider type associated with dimension/query operations. This includes 'externalSubscriptions' for linked account and 'externalBillingAccounts' for consolidated account.",
+ "x-ms-parameter-location": "method"
+ },
+ "externalCloudProviderIdParameter": {
+ "name": "externalCloudProviderId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "This can be '{externalSubscriptionId}' for linked account or '{externalBillingAccountId}' for consolidated account used with dimension/query operations.",
+ "x-ms-parameter-location": "method"
+ },
+ "alertIdParameter": {
+ "name": "alertId",
+ "in": "path",
+ "description": "Alert ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountAlerts.json
new file mode 100644
index 000000000000..92e85a187afc
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountAlerts.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01-preview",
+ "billingAccountId": "12345:6789",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-111111111111",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "11111111-1111-1111-111111111111_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 171000.32,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2019-06-24T05:51:52.8713179Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2019-08-31T17:51:55.1808807Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountDimensionsList.json
new file mode 100644
index 000000000000..3a0b12d378b4
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountDimensionsList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "100",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..34c0efbeedf4
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountDimensionsListExpandAndTop.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "100",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/100"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountDimensionsListWithFilter.json
new file mode 100644
index 000000000000..79382668a3d6
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountDimensionsListWithFilter.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "100",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountForecast.json
new file mode 100644
index 000000000000..08585cf1cc42
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountForecast.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "12345:6789",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "includeActualCost": false,
+ "includeFreshPartialCost": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Forecast?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.14384913581657052,
+ 20180401,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.009865586851323632,
+ 20180429,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountQuery.json
new file mode 100644
index 000000000000..deb3ebfa7a9e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountQuery.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "70664866",
+ "scope": "providers/Microsoft.Billing/billingAccounts/70664866",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountQueryGrouping.json
new file mode 100644
index 000000000000..88006102fe55
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingAccountQueryGrouping.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "70664866",
+ "scope": "providers/Microsoft.Billing/billingAccounts/70664866",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingProfileAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingProfileAlerts.json
new file mode 100644
index 000000000000..62dc930b9a7f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingProfileAlerts.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01-preview",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-111111111111",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "11111111-1111-1111-111111111111_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 171000.32,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2019-06-24T05:51:52.8713179Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2019-08-31T17:51:55.1808807Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingProfileForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingProfileForecast.json
new file mode 100644
index 000000000000..ac61887000ed
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/BillingProfileForecast.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "includeActualCost": false,
+ "includeFreshPartialCost": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Forecast?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.14384913581657052,
+ 20180401,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.009865586851323632,
+ 20180429,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentAlerts.json
new file mode 100644
index 000000000000..a274d64fcd98
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentAlerts.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01-preview",
+ "billingAccountId": "12345:6789",
+ "departmentId": "123",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-111111111111",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "11111111-1111-1111-111111111111_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 171000.32,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2019-06-24T05:51:52.8713179Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2019-08-31T17:51:55.1808807Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentDimensionsList.json
new file mode 100644
index 000000000000..041eeed53578
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentDimensionsList.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "100",
+ "departmentId": "123",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..e9d8435a14ba
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentDimensionsListExpandAndTop.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "100",
+ "departmentId": "123",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentDimensionsListWithFilter.json
new file mode 100644
index 000000000000..c30e2c6a89a9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentDimensionsListWithFilter.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "100",
+ "departmentId": "123",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentForecast.json
new file mode 100644
index 000000000000..fd96fd5d8c82
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentForecast.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "12345:6789",
+ "departmentId": "123",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "includeActualCost": false,
+ "includeFreshPartialCost": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123/providers/Microsoft.CostManagement/Forecast?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.14384913581657052,
+ 20180401,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.009865586851323632,
+ 20180429,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentQuery.json
new file mode 100644
index 000000000000..bc3213d3f007
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentQuery.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "70664866",
+ "departmentId": "123",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentQueryGrouping.json
new file mode 100644
index 000000000000..ad8e4e324e7c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DepartmentQueryGrouping.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "70664866",
+ "departmentId": "123",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DismissResourceGroupAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DismissResourceGroupAlerts.json
new file mode 100644
index 000000000000..5cd608f81392
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DismissResourceGroupAlerts.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "ScreenSharingTest-peer",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer",
+ "alertId": "22222222-2222-2222-2222-222222222222",
+ "parameters": {
+ "properties": {
+ "status": "Dismissed"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/alerts/22222222-2222-2222-2222-222222222222",
+ "name": "22222222-2222-2222-2222-222222222222",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "22222222-2222-2222-2222-222222222222_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Dismissed",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DismissSubscriptionAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DismissSubscriptionAlerts.json
new file mode 100644
index 000000000000..863ac58f95b8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/DismissSubscriptionAlerts.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "alertId": "22222222-2222-2222-2222-222222222222",
+ "parameters": {
+ "properties": {
+ "status": "Dismissed"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/alerts/22222222-2222-2222-2222-222222222222",
+ "name": "22222222-2222-2222-2222-222222222222",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "22222222-2222-2222-2222-222222222222_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Dismissed",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountAlerts.json
new file mode 100644
index 000000000000..3a6b90445694
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountAlerts.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01-preview",
+ "billingAccountId": "12345:6789",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-111111111111",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "11111111-1111-1111-111111111111_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 171000.32,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2019-06-24T05:51:52.8713179Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2019-08-31T17:51:55.1808807Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountDimensionsList.json
new file mode 100644
index 000000000000..4219114de7bd
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountDimensionsList.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..0611011ef86b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountDimensionsListWithFilter.json
new file mode 100644
index 000000000000..8d2f3a997657
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountDimensionsListWithFilter.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountForecast.json
new file mode 100644
index 000000000000..862d334ccb84
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountForecast.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "12345:6789",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "includeActualCost": false,
+ "includeFreshPartialCost": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456/providers/Microsoft.CostManagement/Forecast?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.14384913581657052,
+ 20180401,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.009865586851323632,
+ 20180429,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountQuery.json
new file mode 100644
index 000000000000..96202b49ea60
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountQuery.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "70664866",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountQueryGrouping.json
new file mode 100644
index 000000000000..caa6d869a95f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/EnrollmentAccountQueryGrouping.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "70664866",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByBillingAccount.json
new file mode 100644
index 000000000000..9522bd10c082
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByBillingAccount.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportCreateOrUpdateByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByDepartment.json
new file mode 100644
index 000000000000..2886327683d3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByDepartment.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json
new file mode 100644
index 000000000000..73db9d1999f4
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportCreateOrUpdateByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByManagementGroup.json
new file mode 100644
index 000000000000..5875e7dd1847
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByManagementGroup.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportCreateOrUpdateByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByResourceGroup.json
new file mode 100644
index 000000000000..f96e525c094e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateByResourceGroup.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportCreateOrUpdateBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateBySubscription.json
new file mode 100644
index 000000000000..320ba0d6394b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportCreateOrUpdateBySubscription.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportDeleteByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByBillingAccount.json
new file mode 100644
index 000000000000..10e0fd2d11ce
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByBillingAccount.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportDeleteByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByDepartment.json
new file mode 100644
index 000000000000..315fe9a132bb
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByDepartment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportDeleteByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByEnrollmentAccount.json
new file mode 100644
index 000000000000..07202bf92840
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByEnrollmentAccount.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportDeleteByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByManagementGroup.json
new file mode 100644
index 000000000000..2324f01d9620
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByManagementGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportDeleteByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByResourceGroup.json
new file mode 100644
index 000000000000..93c67cfc12b8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteByResourceGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportDeleteBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteBySubscription.json
new file mode 100644
index 000000000000..a264cec984a8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportDeleteBySubscription.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportGetByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByBillingAccount.json
new file mode 100644
index 000000000000..3bb0d67d34c7
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByBillingAccount.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportGetByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByDepartment.json
new file mode 100644
index 000000000000..bda822605a25
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByDepartment.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportGetByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByEnrollmentAccount.json
new file mode 100644
index 000000000000..c43e495aa240
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByEnrollmentAccount.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportGetByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByManagementGroup.json
new file mode 100644
index 000000000000..d283bba38890
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByManagementGroup.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportGetByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByResourceGroup.json
new file mode 100644
index 000000000000..3ace5d6989ff
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetByResourceGroup.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportGetBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetBySubscription.json
new file mode 100644
index 000000000000..fcf05bf5421e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportGetBySubscription.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportRunByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByBillingAccount.json
new file mode 100644
index 000000000000..10e0fd2d11ce
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByBillingAccount.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportRunByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByDepartment.json
new file mode 100644
index 000000000000..315fe9a132bb
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByDepartment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportRunByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByEnrollmentAccount.json
new file mode 100644
index 000000000000..07202bf92840
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByEnrollmentAccount.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportRunByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByManagementGroup.json
new file mode 100644
index 000000000000..2324f01d9620
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByManagementGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportRunByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByResourceGroup.json
new file mode 100644
index 000000000000..93c67cfc12b8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunByResourceGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportRunBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunBySubscription.json
new file mode 100644
index 000000000000..a264cec984a8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunBySubscription.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportRunHistoryGetByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByBillingAccount.json
new file mode 100644
index 000000000000..fed4f1c7fcbd
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByBillingAccount.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportRunHistoryGetByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByDepartment.json
new file mode 100644
index 000000000000..f6919dece732
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByDepartment.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportRunHistoryGetByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByEnrollmentAccount.json
new file mode 100644
index 000000000000..413c16405db8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByEnrollmentAccount.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportRunHistoryGetByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByManagementGroup.json
new file mode 100644
index 000000000000..866e8a0d9b29
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByManagementGroup.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportRunHistoryGetByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByResourceGroup.json
new file mode 100644
index 000000000000..19bca544cfaf
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetByResourceGroup.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportRunHistoryGetBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetBySubscription.json
new file mode 100644
index 000000000000..70d9ec79f68a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportRunHistoryGetBySubscription.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportsGetByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByBillingAccount.json
new file mode 100644
index 000000000000..ef67bcacd666
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByBillingAccount.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportsGetByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByDepartment.json
new file mode 100644
index 000000000000..0b0074c23981
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByDepartment.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportsGetByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByEnrollmentAccount.json
new file mode 100644
index 000000000000..60486c1ce1f8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByEnrollmentAccount.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/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-10-01/examples/ExportsGetByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByManagementGroup.json
new file mode 100644
index 000000000000..848f52e3ec91
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByManagementGroup.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportsGetByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByResourceGroup.json
new file mode 100644
index 000000000000..28213e0c7c61
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetByResourceGroup.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExportsGetBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetBySubscription.json
new file mode 100644
index 000000000000..8e895333d073
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExportsGetBySubscription.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-01/examples/ExternalBillingAccountAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountAlerts.json
new file mode 100644
index 000000000000..d69d7a968e57
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountAlerts.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01-preview",
+ "externalCloudProviderId": "100",
+ "externalCloudProviderType": "externalBillingAccounts"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ },
+ {
+ "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-111111111111",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "11111111-1111-1111-111111111111_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 171000.32,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2019-06-24T05:51:52.8713179Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2019-08-31T17:51:55.1808807Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountForecast.json
new file mode 100644
index 000000000000..f8b57efe04b8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountForecast.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "externalCloudProviderId": "100",
+ "externalCloudProviderType": "externalBillingAccounts",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/query/6dc7b06a-d90a-4df5-b655-ce6cf1c0814d",
+ "name": "6dc7b06a-d90a-4df5-b655-ce6cf1c0814d",
+ "type": "Microsoft.CostManagement/query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 0.0,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 30.2572751438,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.076757602000000022,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 50.430964190400012,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountsDimensions.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountsDimensions.json
new file mode 100644
index 000000000000..705d4fcd3fb4
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountsDimensions.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "externalCloudProviderId": "100",
+ "externalCloudProviderType": "externalBillingAccounts"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/dimensions_ResourceType_2019-12-01_2019-12-31",
+ "name": "dimensions_ResourceType_2019-12-01_2019-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 0,
+ "category": "ResourceType",
+ "description": "Resource type",
+ "usageStart": "2019-12-01T00:00:00Z",
+ "usageEnd": "2019-12-31T00:00:00Z",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/dimensions_ResourceId_2019-12-01_2019-12-31",
+ "name": "dimensions_ResourceId_2019-12-01_2019-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 0,
+ "category": "ResourceId",
+ "description": "Resource ID",
+ "usageStart": "2019-12-01T00:00:00Z",
+ "usageEnd": "2019-12-31T00:00:00Z",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountsQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountsQuery.json
new file mode 100644
index 000000000000..4d0437c1bbca
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalBillingAccountsQuery.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "externalCloudProviderId": "100",
+ "externalCloudProviderType": "externalBillingAccounts",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/query/6dc7b06a-d90a-4df5-b655-ce6cf1c0814d",
+ "name": "6dc7b06a-d90a-4df5-b655-ce6cf1c0814d",
+ "type": "Microsoft.CostManagement/query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ServiceName",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 0.0,
+ "abc db",
+ "USD"
+ ],
+ [
+ 30.2572751438,
+ "abc compute cloud",
+ "USD"
+ ],
+ [
+ 0.076757602000000022,
+ "abc file system",
+ "USD"
+ ],
+ [
+ 50.430964190400012,
+ "abc elasticache",
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionAlerts.json
new file mode 100644
index 000000000000..92436a022d8f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionAlerts.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01-preview",
+ "externalCloudProviderId": "100",
+ "externalCloudProviderType": "externalSubscriptions"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.CostManagement/externalSubscriptions/100/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ },
+ {
+ "id": "providers/Microsoft.CostManagement/externalSubscriptions/100/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-111111111111",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "11111111-1111-1111-111111111111_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 171000.32,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2019-06-24T05:51:52.8713179Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2019-08-31T17:51:55.1808807Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionForecast.json
new file mode 100644
index 000000000000..d42c1749ebd0
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionForecast.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "externalCloudProviderId": "100",
+ "externalCloudProviderType": "externalSubscriptions",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.CostManagement/externalSubscriptions/100/query/d99477af-7510-40ee-aca2-e59bdca0d10d",
+ "name": "d99477af-7510-40ee-aca2-e59bdca0d10d",
+ "type": "Microsoft.CostManagement/query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionsDimensions.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionsDimensions.json
new file mode 100644
index 000000000000..7f2217ebf526
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionsDimensions.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "externalCloudProviderId": "100",
+ "externalCloudProviderType": "externalSubscriptions"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.CostManagement/externalSubscriptions/123/dimensions_ResourceType_2019-12-01_2019-12-31",
+ "name": "dimensions_ResourceType_2019-12-01_2019-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 0,
+ "category": "ResourceType",
+ "description": "Resource type",
+ "usageStart": "2019-12-01T00:00:00Z",
+ "usageEnd": "2019-12-31T00:00:00Z",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.CostManagement/externalSubscriptions/123/dimensions_ResourceId_2019-12-01_2019-12-31",
+ "name": "dimensions_ResourceId_2019-12-01_2019-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 0,
+ "category": "ResourceId",
+ "description": "Resource ID",
+ "usageStart": "2019-12-01T00:00:00Z",
+ "usageEnd": "2019-12-31T00:00:00Z",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionsQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionsQuery.json
new file mode 100644
index 000000000000..9afcaed157ad
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ExternalSubscriptionsQuery.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "externalCloudProviderId": "100",
+ "externalCloudProviderType": "externalSubscriptions",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.CostManagement/externalSubscriptions/100/query/d99477af-7510-40ee-aca2-e59bdca0d10d",
+ "name": "d99477af-7510-40ee-aca2-e59bdca0d10d",
+ "type": "Microsoft.CostManagement/query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByBillingAccountLegacyAndBillingPeriod.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByBillingAccountLegacyAndBillingPeriod.json
new file mode 100644
index 000000000000..03382991d21d
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByBillingAccountLegacyAndBillingPeriod.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-01",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByBillingProfileAndInvoiceId.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByBillingProfileAndInvoiceId.json
new file mode 100644
index 000000000000..81bd78090deb
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByBillingProfileAndInvoiceId.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-01",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByBillingProfileAndInvoiceIdAndCustomerId.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByBillingProfileAndInvoiceIdAndCustomerId.json
new file mode 100644
index 000000000000..82834e322fe2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByBillingProfileAndInvoiceIdAndCustomerId.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-01",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByCustomerAndTimePeriod.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByCustomerAndTimePeriod.json
new file mode 100644
index 000000000000..c94cee264bdd
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportByCustomerAndTimePeriod.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-01",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportBySubscriptionAndTimePeriod.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportBySubscriptionAndTimePeriod.json
new file mode 100644
index 000000000000..5dcd8278c9f7
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportBySubscriptionAndTimePeriod.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-01",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportOperationResultsBySubscriptionScope.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportOperationResultsBySubscriptionScope.json
new file mode 100644
index 000000000000..cd7dab16ecda
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportOperationResultsBySubscriptionScope.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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-10-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-10-01",
+ "Retry-After": "60"
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportOperationStatusBySubscriptionScope.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportOperationStatusBySubscriptionScope.json
new file mode 100644
index 000000000000..65b905ffbf11
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/GenerateDetailedCostReportOperationStatusBySubscriptionScope.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-10-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/Microsoft.CostManagement/stable/2021-10-01/examples/InvoiceSectionAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/InvoiceSectionAlerts.json
new file mode 100644
index 000000000000..d90fc5a57b18
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/InvoiceSectionAlerts.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01-preview",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-111111111111",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "11111111-1111-1111-111111111111_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 171000.32,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2019-06-24T05:51:52.8713179Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2019-08-31T17:51:55.1808807Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/InvoiceSectionForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/InvoiceSectionForecast.json
new file mode 100644
index 000000000000..f64328b6b5d5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/InvoiceSectionForecast.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "includeActualCost": false,
+ "includeFreshPartialCost": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Forecast?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.14384913581657052,
+ 20180401,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.009865586851323632,
+ 20180429,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountDimensionsList.json
new file mode 100644
index 000000000000..7a30ed852d58
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountDimensionsList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "12345:6789",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..12a93024cf15
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountDimensionsListExpandAndTop.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountDimensionsListWithFilter.json
new file mode 100644
index 000000000000..f8c6a0ddb4b5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountDimensionsListWithFilter.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceId_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountQuery.json
new file mode 100644
index 000000000000..5443581a37ae
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountQuery.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "12345:6789",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountQueryGrouping.json
new file mode 100644
index 000000000000..31f0ffbf4ad9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingAccountQueryGrouping.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "12345:6789",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileDimensionsList.json
new file mode 100644
index 000000000000..61a209e80977
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileDimensionsList.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..fca61ffb8f2d
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileDimensionsListExpandAndTop.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileDimensionsListWithFilter.json
new file mode 100644
index 000000000000..946a0fe6665d
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileDimensionsListWithFilter.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceId_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileQuery.json
new file mode 100644
index 000000000000..4c8c1770e432
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileQuery.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileQueryGrouping.json
new file mode 100644
index 000000000000..e110931544a8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCABillingProfileQueryGrouping.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerDimensionsList.json
new file mode 100644
index 000000000000..d085114ab90d
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerDimensionsList.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "5678",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..638b70eb595b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerDimensionsListExpandAndTop.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "5678",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerDimensionsListWithFilter.json
new file mode 100644
index 000000000000..3ecc017c6f8e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerDimensionsListWithFilter.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "13579",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceId_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerQuery.json
new file mode 100644
index 000000000000..052e6127fe6c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerQuery.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "5678",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerQueryGrouping.json
new file mode 100644
index 000000000000..a2da465d67e3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCACustomerQueryGrouping.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "5678",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionDimensionsList.json
new file mode 100644
index 000000000000..529439b0acbf
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionDimensionsList.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..4a1cca2dea2a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionDimensionsListExpandAndTop.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionDimensionsListWithFilter.json
new file mode 100644
index 000000000000..3d737cf438d1
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionDimensionsListWithFilter.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceId_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionQuery.json
new file mode 100644
index 000000000000..a629d81ace06
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionQuery.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionQueryGrouping.json
new file mode 100644
index 000000000000..8c4f73f459bf
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/MCAInvoiceSectionQueryGrouping.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupDimensionsList.json
new file mode 100644
index 000000000000..381dd37759c6
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupDimensionsList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "managementGroupId": "MyMgId",
+ "scope": "providers/Microsoft.Management/managementGroups/MyMgId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..f0d980973533
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupDimensionsListExpandAndTop.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "managementGroupId": "MyMgId",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Management/managementGroups/MyMgId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupDimensionsListWithFilter.json
new file mode 100644
index 000000000000..121645f857ba
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupDimensionsListWithFilter.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "managementGroupId": "MyMgId",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Management/managementGroups/MyMgId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupQuery.json
new file mode 100644
index 000000000000..bf984b923bc8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupQuery.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "managementGroupId": "MyMgId",
+ "scope": "providers/Microsoft.Management/managementGroups/MyMgId",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupQueryGrouping.json
new file mode 100644
index 000000000000..6765ec668659
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ManagementGroupQueryGrouping.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "managementGroupId": "MyMgId",
+ "scope": "providers/Microsoft.Management/managementGroups/MyMgId",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query?api-version=2021-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateView.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateView.json
new file mode 100644
index 000000000000..4c5a6ee3e54b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateView.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "viewName": "swaggerExample"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ff9fe66f1d10\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateViewCreateOrUpdate.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateViewCreateOrUpdate.json
new file mode 100644
index 000000000000..13fce4b9f5aa
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateViewCreateOrUpdate.json
@@ -0,0 +1,185 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "viewName": "swaggerExample",
+ "parameters": {
+ "eTag": "\"1d4ff9fe66f1d10\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ffa5a9c2430c\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ffa5a9c2430c\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateViewDelete.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateViewDelete.json
new file mode 100644
index 000000000000..3e6638272399
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateViewDelete.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "viewName": "TestView"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateViewList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateViewList.json
new file mode 100644
index 000000000000..6fc6bfdf7a68
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/PrivateViewList.json
@@ -0,0 +1,131 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ff9fe66f1d10\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/providers/Microsoft.CostManagement/views/swaggerExample2",
+ "name": "swaggerExample2",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ffa5a9c2430c\"",
+ "properties": {
+ "displayName": "swagger Example 2",
+ "scope": "",
+ "query": {
+ "type": "Usage",
+ "timeframe": "LastMonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "GroupedColumn",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupAlerts.json
new file mode 100644
index 000000000000..d6b7e3e6eb4a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupAlerts.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "ScreenSharingTest-peer",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-111111111111",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "11111111-1111-1111-111111111111_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 171000.32,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2019-06-24T05:51:52.8713179Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2019-08-31T17:51:55.1808807Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupDimensionsList.json
new file mode 100644
index 000000000000..b8f59b39981d
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupDimensionsList.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "system.orlando",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/system.orlando"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/system.orlando/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.storage/storageaccounts"
+ ],
+ "total": 1,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/system.orlando/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/authprod",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/systemevents",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/armadminprod",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/publicsystemportal"
+ ],
+ "total": 27,
+ "category": "ResourceId",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupForecast.json
new file mode 100644
index 000000000000..d06799dcc8dc
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupForecast.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "ScreenSharingTest-peer",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "includeActualCost": false,
+ "includeFreshPartialCost": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/query/00000000-0000-0000-0000-000000000000",
+ "name": "55312978-ba1b-415c-9304-cfd9c43c0481",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ 20180331,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupQuery.json
new file mode 100644
index 000000000000..f9c74b989b4a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupQuery.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "55312978-ba1b-415c-9304-c4b9c43c0481",
+ "resourceGroupName": "ScreenSharingTest-peer",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/55312978-ba1b-415c-9304-c4b9c43c0481/resourcegroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/Query/9af9459d-441d-4055-9ed0-83d4c4a363fb",
+ "name": "9af9459d-441d-4055-9ed0-83d4c4a363fb",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ "ScreenSharingTest-peer",
+ 20180417,
+ "USD"
+ ],
+ [
+ 20.10333307059661,
+ "ScreenSharingTest-peer",
+ 20180418,
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupQueryGrouping.json
new file mode 100644
index 000000000000..ec3b75e7a4fd
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ResourceGroupQueryGrouping.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "ScreenSharingTest-peer",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceType"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/Query/9af9459d-441d-4055-9ed0-83d4c4a363fb",
+ "name": "9af9459d-441d-4055-9ed0-83d4c4a363fb",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceType",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ "Microsoft.SqlServer",
+ 20180417,
+ "USD"
+ ],
+ [
+ 20.10333307059661,
+ "Microsoft.Compute",
+ 20180418,
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SingleResourceGroupAlert.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SingleResourceGroupAlert.json
new file mode 100644
index 000000000000..0e43a5319f88
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SingleResourceGroupAlert.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "ScreenSharingTest-peer",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer",
+ "alertId": "22222222-2222-2222-2222-222222222222"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/alerts/22222222-2222-2222-2222-222222222222",
+ "name": "22222222-2222-2222-2222-222222222222",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "22222222-2222-2222-2222-222222222222_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SingleSubscriptionAlert.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SingleSubscriptionAlert.json
new file mode 100644
index 000000000000..4c2a74b2f55c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SingleSubscriptionAlert.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "alertId": "22222222-2222-2222-2222-222222222222"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/alerts/22222222-2222-2222-2222-222222222222",
+ "name": "22222222-2222-2222-2222-222222222222",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "22222222-2222-2222-2222-222222222222_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionAlerts.json
new file mode 100644
index 000000000000..76075cc1225c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionAlerts.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-111111111111",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "11111111-1111-1111-111111111111_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 171000.32,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2019-06-24T05:51:52.8713179Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2019-08-31T17:51:55.1808807Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionDimensionsList.json
new file mode 100644
index 000000000000..7ea7c1d89059
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionDimensionsList.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$top": 5,
+ "$expand": "properties/data",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "dcrg",
+ "rg",
+ "offlinegalleryrg",
+ "system.orlando.adminkeyvault",
+ "system.orlando.keyvault"
+ ],
+ "total": 68,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.storage/storageaccounts",
+ "microsoft.web.admin/role",
+ "microsoft.sql/servers",
+ "microsoft.compute/virtualmachines"
+ ],
+ "total": 4,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionForecast.json
new file mode 100644
index 000000000000..9a66a788f0c7
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionForecast.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "includeActualCost": false,
+ "includeFreshPartialCost": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query/00000000-0000-0000-0000-000000000000",
+ "name": "55312978-ba1b-415c-9304-cfd9c43c0481",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.14384913581657052,
+ 20180401,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.009865586851323632,
+ 20180429,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionQuery.json
new file mode 100644
index 000000000000..087ae0864b64
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionQuery.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/Query/00000000-0000-0000-0000-000000000000",
+ "name": "55312978-ba1b-415c-9304-cfd9c43c0481",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ "ScreenSharingTest-peer",
+ 20180331,
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ "Ict_StratAndPlan_GoldSprova_Prod",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.14384913581657052,
+ "ssbciotelement01",
+ 20180401,
+ "USD"
+ ],
+ [
+ 0.009865586851323632,
+ "ict_stratandplan_goldsprova_prod",
+ 20180429,
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionQueryGrouping.json
new file mode 100644
index 000000000000..41803cc11041
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/SubscriptionQueryGrouping.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/Query/00000000-0000-0000-0000-000000000000",
+ "name": "55312978-ba1b-415c-9304-cfd9c43c0481",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 0.009865586851323632,
+ "Ict_StratAndPlan_GoldSprova_Prod_0",
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ "Ict_StratAndPlan_GoldSprova_Prod_1",
+ "USD"
+ ],
+ [
+ 2.10333307059661,
+ "ScreenSharingTest-peer1",
+ "USD"
+ ],
+ [
+ 0.14384913581657052,
+ "Ssbciotelement01",
+ "USD"
+ ]
+ ]
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewByResourceGroup.json
new file mode 100644
index 000000000000..e6ad7bccb6db
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewByResourceGroup.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "viewName": "swaggerExample",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ff9fe66f1d10\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewCreateOrUpdateByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewCreateOrUpdateByResourceGroup.json
new file mode 100644
index 000000000000..797191b41bee
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewCreateOrUpdateByResourceGroup.json
@@ -0,0 +1,186 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "viewName": "swaggerExample",
+ "parameters": {
+ "eTag": "\"1d4ff9fe66f1d10\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ffa5a9c2430c\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ffa5a9c2430c\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewDeleteByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewDeleteByResourceGroup.json
new file mode 100644
index 000000000000..2ebf54df8ad3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewDeleteByResourceGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "viewName": "TestView"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewListByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewListByResourceGroup.json
new file mode 100644
index 000000000000..6cbb6c7431b9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2021-10-01/examples/ViewListByResourceGroup.json
@@ -0,0 +1,132 @@
+{
+ "parameters": {
+ "api-version": "2021-10-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ff9fe66f1d10\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample2",
+ "name": "swaggerExample2",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ffa5a9c2430c\"",
+ "properties": {
+ "displayName": "swagger Example 2",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "query": {
+ "type": "Usage",
+ "timeframe": "LastMonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "GroupedColumn",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/readme.azureresourceschema.md b/specification/cost-management/resource-manager/readme.azureresourceschema.md
deleted file mode 100644
index ca57f5675564..000000000000
--- a/specification/cost-management/resource-manager/readme.azureresourceschema.md
+++ /dev/null
@@ -1,172 +0,0 @@
-## AzureResourceSchema
-
-These settings apply only when `--azureresourceschema` is specified on the command line.
-
-### AzureResourceSchema multi-api
-
-``` yaml $(azureresourceschema) && $(multiapi)
-batch:
- - tag: schema-costmanagement-2020-12-01-preview
- - tag: schema-costmanagement-2020-06-01
- - tag: schema-costmanagement-2020-03-01-preview
- - tag: schema-costmanagement-2019-11-01
- - tag: schema-costmanagement-2019-10-01
- - tag: schema-costmanagement-2019-09-01
- - tag: schema-costmanagement-2019-04-01-preview
- - tag: schema-costmanagement-2019-03-01-preview
- - tag: schema-costmanagement-2019-01-01
- - tag: schema-costmanagement-2018-12-01-preview
- - tag: schema-costmanagement-2018-08-01-preview
- - tag: schema-costmanagement-2018-05-31
-
-```
-
-Please also specify `--azureresourceschema-folder=`.
-
-### Tag: schema-costmanagement-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)
-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
-
-```
-
-### Tag: schema-costmanagement-2020-06-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-costmanagement-2020-06-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.CostManagement/stable/2020-06-01/costmanagement.json
- - Microsoft.CostManagement/stable/2020-06-01/costmanagement.exports.json
-
-```
-
-### Tag: schema-costmanagement-2020-03-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-costmanagement-2020-03-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json
-
-```
-
-### Tag: schema-costmanagement-2019-11-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-costmanagement-2019-11-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.CostManagement/stable/2019-11-01/costmanagement.json
- - Microsoft.CostManagement/stable/2019-11-01/costmanagement.exports.json
-
-```
-
-### Tag: schema-costmanagement-2019-10-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-costmanagement-2019-10-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.CostManagement/stable/2019-10-01/costmanagement.json
-
-```
-
-### Tag: schema-costmanagement-2019-09-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-costmanagement-2019-09-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.CostManagement/stable/2019-09-01/costmanagement.json
-
-```
-
-### Tag: schema-costmanagement-2019-04-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-costmanagement-2019-04-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.CostManagement/preview/2019-04-01-preview/costmanagement.json
-
-```
-
-### Tag: schema-costmanagement-2019-03-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-costmanagement-2019-03-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.CostManagement/preview/2019-03-01-preview/costmanagement.json
-
-```
-
-### Tag: schema-costmanagement-2019-01-01 and azureresourceschema
-
-``` yaml $(tag) == 'schema-costmanagement-2019-01-01' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.CostManagement/stable/2019-01-01/costmanagement.json
-
-```
-
-### Tag: schema-costmanagement-2018-12-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-costmanagement-2018-12-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.CostManagement/preview/2018-12-01-preview/costmanagement.json
-
-```
-
-### Tag: schema-costmanagement-2018-08-01-preview and azureresourceschema
-
-``` yaml $(tag) == 'schema-costmanagement-2018-08-01-preview' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.CostManagement/preview/2018-08-01-preview/costmanagement.json
-
-```
-
-### Tag: schema-costmanagement-2018-05-31 and azureresourceschema
-
-``` yaml $(tag) == 'schema-costmanagement-2018-05-31' && $(azureresourceschema)
-output-folder: $(azureresourceschema-folder)/schemas
-
-# all the input files in this apiVersion
-input-file:
- - Microsoft.CostManagement/stable/2018-05-31/costmanagement.json
-
-```
diff --git a/specification/cost-management/resource-manager/readme.md b/specification/cost-management/resource-manager/readme.md
index 4cbe311bdc14..a0d96803628a 100644
--- a/specification/cost-management/resource-manager/readme.md
+++ b/specification/cost-management/resource-manager/readme.md
@@ -26,23 +26,34 @@ These are the global settings for the Cost Management API.
``` yaml
openapi-type: arm
-tag: package-2019-11
+tag: package-2021-10
azure-validator: false
```
---
+### Tag: package-2021-10
+
+These settings apply only when `--tag=package-2021-10` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-10'
+input-file:
+ - Microsoft.CostManagement/stable/2021-10-01/costmanagement.exports.json
+ - Microsoft.CostManagement/stable/2021-10-01/costmanagement.generatedetailedcostreport.json
+ - Microsoft.CostManagement/stable/2021-10-01/costmanagement.json
+```
### Tag: package-2021-01
These settings apply only when `--tag=package-2021-01` is specified on the command line.
-```yaml $(tag) == 'package-2021-01'
+``` 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.
@@ -142,6 +153,44 @@ input-file:
``` yaml
directive:
+ - suppress: R4011
+ from: costmanagement.exports.json
+ reason: 'API change needed, The delete operation is defined without a 200 or 204 error response implementation,please add it'
+ - suppress: R3023
+ from: costmanagement.generatedetailedcostreport.json
+ reason: 'API change needed, Operations API must be implemented for operations'
+ - suppress: R4018
+ from: costmanagement.json
+ reason: 'API change needed, Response schema of OperatioAPI does not match Arm Schema'
+ - suppress: R4037
+ from: costmanagement.generatedetailedcostreport.json
+ reason: 'This needs api change - MissingTypeObject'
+ - suppress: R4009
+ from: costmanagement.exports.json
+ reason: API change needed, we do not yet support systemdata
+ - suppress: R4009
+ from: costmanagement.json
+ reason: API change needed, we do not yet support systemdata
+ - suppress: EnumInsteadOfBoolean
+ from: costmanagement.exports.json
+ where: $.definitions.CommonExportProperties.properties.partitionData
+ reason: 'API change needed'
+ - suppress: EnumInsteadOfBoolean
+ from: costmanagement.json
+ where: $.definitions.DimensionProperties.properties.filterEnabled
+ reason: 'API change needed'
+ - suppress: EnumInsteadOfBoolean
+ from: costmanagement.json
+ where: $.definitions.DimensionProperties.properties.groupingEnabled
+ reason: 'API change needed'
+ - suppress: EnumInsteadOfBoolean
+ from: costmanagement.json
+ where: $.definitions.ForecastDefinition.properties.includeFreshPartialCost
+ reason: 'API change needed'
+ - suppress: EnumInsteadOfBoolean
+ from: costmanagement.json
+ where: $.definitions.ForecastDefinition.properties.includeActualCost
+ reason: 'API change needed'
- suppress: R2059
from: costmanagement.json
where: $.paths
@@ -361,5 +410,3 @@ java:
regenerate-manager: true
generate-interface: true
```
-
-
diff --git a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.json b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.json
index baf26422c623..62cfd112c61a 100644
--- a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.json
+++ b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.json
@@ -52,6 +52,102 @@
}
}
},
+ "/providers/Microsoft.CustomerLockbox/tenantOptedIn/{tenantId}": {
+ "get": {
+ "tags": [
+ "Requests"
+ ],
+ "description": "Get Customer Lockbox request",
+ "operationId": "Get_TenantOptedIn",
+ "x-ms-examples": {
+ "check if a TenantId is Optedin": {
+ "$ref": "./examples/TenantOptedIn.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/TenantIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Retrieval of Opt-in status for Tenant successful.",
+ "schema": {
+ "$ref": "#/definitions/TenantOptInResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.CustomerLockbox/enableLockbox": {
+ "post": {
+ "tags": [
+ "Requests"
+ ],
+ "description": "Enable Tenant for Lockbox ",
+ "operationId": "Post_EnableLockbox",
+ "x-ms-examples": {
+ "Enable Tenant in Lockbox": {
+ "$ref": "./examples/EnableLockbox.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Enabling Tenant for Lockbox successful"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.CustomerLockbox/disableLockbox": {
+ "post": {
+ "tags": [
+ "Requests"
+ ],
+ "description": "Disable Tenant for Lockbox ",
+ "operationId": "Post_DisableLockbox",
+ "x-ms-examples": {
+ "Disable a tenant in Lockbox": {
+ "$ref": "./examples/DisableLockbox.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Disabling Tenant for Lockbox successful"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/providers/Microsoft.CustomerLockbox/requests/{requestId}": {
"get": {
"tags": [
@@ -91,7 +187,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.CustomerLockbox/requests/{requestId}/UpdateApproval": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.CustomerLockbox/requests/{requestId}/updateApproval": {
"post": {
"tags": [
"Requests"
@@ -189,6 +285,7 @@
"definitions": {
"OperationListResult": {
"description": "Result of the request to list Customer Lockbox operations. It contains a list of operations.",
+ "type": "object",
"properties": {
"value": {
"description": "List of Customer Lockbox operations supported by the Microsoft.StreamAnalytics resource provider.",
@@ -222,6 +319,7 @@
},
"display": {
"description": "Contains the localized display information for this particular operation / action.",
+ "type": "object",
"readOnly": true,
"properties": {
"provider": {
@@ -258,8 +356,20 @@
}
}
},
+ "TenantOptInResponse": {
+ "description": "TenantOptIn Response object",
+ "type": "object",
+ "properties": {
+ "isOptedIn": {
+ "type": "boolean",
+ "description": "True if tenant is opted in, false otherwise ",
+ "readOnly": true
+ }
+ }
+ },
"RequestListResult": {
"description": "Object containing a list of streaming jobs.",
+ "type": "object",
"properties": {
"value": {
"type": "array",
@@ -356,7 +466,7 @@
"description": "The url of the support case.",
"readOnly": true
},
- "workItemSource": {
+ "workitemsource": {
"type": "string",
"description": "The support case system that was used to initiate the request.",
"readOnly": true
@@ -365,6 +475,11 @@
"type": "string",
"description": "The subscription ID.",
"readOnly": true
+ },
+ "accessLevel": {
+ "type": "string",
+ "description": "Access level for requested resource",
+ "readOnly": true
}
}
},
@@ -416,6 +531,7 @@
"ErrorResponse": {
"x-ms-external": true,
"description": "An error response from the Lockbox service.",
+ "type": "object",
"properties": {
"error": {
"$ref": "#/definitions/ErrorBody",
@@ -426,6 +542,7 @@
"ErrorBody": {
"x-ms-external": true,
"description": "An error response body from the Lockbox service.",
+ "type": "object",
"properties": {
"code": {
"type": "string",
@@ -451,6 +568,7 @@
"ErrorAdditionalInfo": {
"x-ms-external": true,
"description": "An error additional info for the Lockbox service.",
+ "type": "object",
"properties": {
"type": {
"type": "string",
@@ -478,6 +596,14 @@
"type": "string",
"x-ms-parameter-location": "method"
},
+ "TenantIdParameter": {
+ "name": "tenantId",
+ "in": "path",
+ "description": "The Azure tenant ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
"ApiVersionParameter": {
"name": "api-version",
"in": "query",
diff --git a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/DisableLockbox.json b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/DisableLockbox.json
new file mode 100644
index 000000000000..55decedc9588
--- /dev/null
+++ b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/DisableLockbox.json
@@ -0,0 +1,8 @@
+{
+ "parameters": {
+ "api-version": "2018-10-11-preview"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/EnableLockbox.json b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/EnableLockbox.json
new file mode 100644
index 000000000000..55decedc9588
--- /dev/null
+++ b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/EnableLockbox.json
@@ -0,0 +1,8 @@
+{
+ "parameters": {
+ "api-version": "2018-10-11-preview"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_Get_InSubscription.json b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_Get_InSubscription.json
index 0bd93d6d17be..47f559e6d79e 100644
--- a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_Get_InSubscription.json
+++ b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_Get_InSubscription.json
@@ -21,7 +21,7 @@
"resourceType": "VMSS",
"supportRequest": "12345",
"supportCaseUrl": "https://portal.azure.com/#resource/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/microsoft.support/supporttickets/12345",
- "workItemSource": "Other",
+ "workitemsource": "Other",
"subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
diff --git a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_List.json b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_List.json
index 1ac1bb5686eb..8afa28c67e7e 100644
--- a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_List.json
+++ b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_List.json
@@ -24,7 +24,7 @@
"resourceType": "VMSS",
"supportRequest": "12345",
"supportCaseUrl": "https://portal.azure.com/#resource/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/microsoft.support/supporttickets/12345",
- "workItemSource": "Other",
+ "workitemsource": "Other",
"subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
},
@@ -43,7 +43,7 @@
"resourceType": "Subscription",
"supportRequest": "120101324000234",
"supportCaseUrl": "https://portal.azure.com/#resource/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/microsoft.support/supporttickets/120101324000234",
- "workItemSource": "SupportRequest",
+ "workitemsource": "SupportRequest",
"subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
},
@@ -62,7 +62,7 @@
"resourceType": "Subscription",
"supportRequest": "120101324000234",
"supportCaseUrl": "https://portal.azure.com/#resource/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/microsoft.support/supporttickets/120101324000234",
- "workItemSource": "SupportRequest",
+ "workitemsource": "SupportRequest",
"subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
diff --git a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_List_FilterByStatus.json b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_List_FilterByStatus.json
index 19fd3b56245b..b1f855f050f1 100644
--- a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_List_FilterByStatus.json
+++ b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/Requests_List_FilterByStatus.json
@@ -24,7 +24,7 @@
"resourceType": "VMSS",
"supportRequest": "12345",
"supportCaseUrl": "https://portal.azure.com/#resource/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/microsoft.support/supporttickets/12345",
- "workItemSource": "Other",
+ "workitemsource": "Other",
"subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
},
@@ -43,7 +43,7 @@
"resourceType": "Subscription",
"supportRequest": "120101324000234",
"supportCaseUrl": "https://portal.azure.com/#resource/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/microsoft.support/supporttickets/120101324000234",
- "workItemSource": "SupportRequest",
+ "workitemsource": "SupportRequest",
"subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
diff --git a/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/TenantOptedIn.json b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/TenantOptedIn.json
new file mode 100644
index 000000000000..4d796c2d8c57
--- /dev/null
+++ b/specification/customerlockbox/resource-manager/Microsoft.CustomerLockbox/preview/2018-02-28-preview/examples/TenantOptedIn.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
+ "api-version": "2018-10-11-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isOptedIn": true
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/databoxedge.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/databoxedge.json
new file mode 100644
index 000000000000..74b362105dec
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/databoxedge.json
@@ -0,0 +1,9259 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-06-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"
+ },
+ "DataBoxEdgeDeviceGetByNameWithDataResidency": {
+ "$ref": "./examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Creates or updates a Data Box Edge/Data Box Gateway resource.",
+ "operationId": "Devices_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "dataBoxEdgeDevice",
+ "in": "body",
+ "description": "The resource object.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDevice"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the resource.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDevice"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DataBoxEdgeDevicePut": {
+ "$ref": "./examples/DataBoxEdgeDevicePut.json"
+ },
+ "DataBoxEdgeDevicePutWithDataResidency": {
+ "$ref": "./examples/DataBoxEdgeDevicePutWithDataResidency.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Deletes the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the resource."
+ },
+ "202": {
+ "description": "Accepted the request to delete the resource."
+ },
+ "204": {
+ "description": "The resource is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DataBoxEdgeDeviceDelete": {
+ "$ref": "./examples/DataBoxEdgeDeviceDelete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Modifies a Data Box Edge/Data Box Gateway resource.",
+ "operationId": "Devices_Update",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The resource parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDevicePatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the resource.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDevice"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DataBoxEdgeDevicePatch": {
+ "$ref": "./examples/DataBoxEdgeDevicePatch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "description": "Gets all the alerts for a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Alerts_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of alerts.",
+ "schema": {
+ "$ref": "#/definitions/AlertList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "AlertGetAllInDevice": {
+ "$ref": "./examples/AlertGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts/{name}": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "summary": "Gets an alert by name.",
+ "operationId": "Alerts_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The alert name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The alert details.",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "AlertGet": {
+ "$ref": "./examples/AlertGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules": {
+ "get": {
+ "tags": [
+ "BandwidthSchedules"
+ ],
+ "description": "Gets all the bandwidth schedules for a Data Box Edge/Data Box Gateway device.",
+ "operationId": "BandwidthSchedules_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of bandwidth schedules.",
+ "schema": {
+ "$ref": "#/definitions/BandwidthSchedulesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "BandwidthScheduleGetAllInDevice": {
+ "$ref": "./examples/BandwidthScheduleGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules/{name}": {
+ "get": {
+ "tags": [
+ "BandwidthSchedules"
+ ],
+ "description": "Gets the properties of the specified bandwidth schedule.",
+ "operationId": "BandwidthSchedules_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The bandwidth schedule name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The bandwidth schedule.",
+ "schema": {
+ "$ref": "#/definitions/BandwidthSchedule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "BandwidthScheduleGet": {
+ "$ref": "./examples/BandwidthScheduleGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BandwidthSchedules"
+ ],
+ "description": "Creates or updates a bandwidth schedule.",
+ "operationId": "BandwidthSchedules_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The bandwidth schedule name which needs to be added/updated.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The bandwidth schedule to be added or updated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BandwidthSchedule"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the bandwidth schedule.",
+ "schema": {
+ "$ref": "#/definitions/BandwidthSchedule"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the bandwidth schedule."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "BandwidthSchedulePut": {
+ "$ref": "./examples/BandwidthSchedulePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "BandwidthSchedules"
+ ],
+ "description": "Deletes the specified bandwidth schedule.",
+ "operationId": "BandwidthSchedules_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The bandwidth schedule name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Accepted the request to delete the bandwidth schedule."
+ },
+ "204": {
+ "description": "Successfully deleted the bandwidth schedule."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "BandwidthScheduleDelete": {
+ "$ref": "./examples/BandwidthScheduleDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/diagnosticProactiveLogCollectionSettings/default": {
+ "get": {
+ "tags": [
+ "DiagnosticSettings"
+ ],
+ "description": "Gets the proactive log collection settings of the specified Data Box Edge/Data Box Gateway device.",
+ "operationId": "DiagnosticSettings_GetDiagnosticProactiveLogCollectionSettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The diagnostic proactive log collection settings.",
+ "schema": {
+ "$ref": "#/definitions/DiagnosticProactiveLogCollectionSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetDiagnosticProactiveLogCollectionSettings": {
+ "$ref": "./examples/GetDiagnosticProactiveLogCollectionSettings.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DiagnosticSettings"
+ ],
+ "description": "Updates the proactive log collection settings on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "DiagnosticSettings_UpdateDiagnosticProactiveLogCollectionSettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "proactiveLogCollectionSettings",
+ "in": "body",
+ "description": "The proactive log collection settings.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiagnosticProactiveLogCollectionSettings"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the proactive log collection settings.",
+ "schema": {
+ "$ref": "#/definitions/DiagnosticProactiveLogCollectionSettings"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to update the proactive log collection settings."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "UpdateDiagnosticProactiveLogCollectionSettings": {
+ "$ref": "./examples/UpdateDiagnosticProactiveLogCollectionSettings.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/diagnosticRemoteSupportSettings/default": {
+ "get": {
+ "tags": [
+ "DiagnosticSettings"
+ ],
+ "description": "Gets the diagnostic remote support settings of the specified Data Box Edge/Data Box Gateway device.",
+ "operationId": "DiagnosticSettings_GetDiagnosticRemoteSupportSettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The diagnostic remote support settings.",
+ "schema": {
+ "$ref": "#/definitions/DiagnosticRemoteSupportSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetDiagnosticRemoteSupportSettings": {
+ "$ref": "./examples/GetDiagnosticRemoteSupportSettings.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DiagnosticSettings"
+ ],
+ "description": "Updates the diagnostic remote support settings on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "DiagnosticSettings_UpdateDiagnosticRemoteSupportSettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "diagnosticRemoteSupportSettings",
+ "in": "body",
+ "description": "The diagnostic remote support settings.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiagnosticRemoteSupportSettings"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to update the diagnostic remote support settings."
+ },
+ "200": {
+ "description": "Successfully updated the diagnostic remote support settings.",
+ "schema": {
+ "$ref": "#/definitions/DiagnosticRemoteSupportSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "UpdateDiagnosticRemoteSupportSettings": {
+ "$ref": "./examples/UpdateDiagnosticRemoteSupportSettings.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/downloadUpdates": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "summary": "Downloads the updates on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_DownloadUpdates",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully downloaded the updates on the device."
+ },
+ "202": {
+ "description": "Accepted the request to download the updates on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DownloadUpdatesPost": {
+ "$ref": "./examples/DownloadUpdatesPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/generateCertificate": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Generates certificate for activation key.",
+ "operationId": "Devices_GenerateCertificate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully generated self signed certificate.",
+ "schema": {
+ "$ref": "#/definitions/GenerateCertResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GenerateCertificate": {
+ "$ref": "./examples/GenerateCertificate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/getExtendedInformation": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets additional information for the specified Azure Stack Edge/Data Box Gateway device.",
+ "operationId": "Devices_GetExtendedInformation",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The additional information.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfo"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExtendedInfoPost": {
+ "$ref": "./examples/ExtendedInfoPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/installUpdates": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "summary": "Installs the updates on the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_InstallUpdates",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully installed updates on the device."
+ },
+ "202": {
+ "description": "Accepted the request to install updates on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "InstallUpdatesPost": {
+ "$ref": "./examples/InstallUpdatesPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/jobs/{name}": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "summary": "Gets the details of a specified job on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Jobs_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The job name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The job details.",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "JobsGet": {
+ "$ref": "./examples/JobsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/networkSettings/default": {
+ "get": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets the network settings of the specified Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_GetNetworkSettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The device network settings.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NetworkSettingsGet": {
+ "$ref": "./examples/NetworkSettingsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/nodes": {
+ "get": {
+ "tags": [
+ "Nodes"
+ ],
+ "description": "Gets all the nodes currently configured under this Data Box Edge device",
+ "operationId": "Nodes_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all nodes on the device.",
+ "schema": {
+ "$ref": "#/definitions/NodeList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "NodesGetAllInDevice": {
+ "$ref": "./examples/NodeGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/operationsStatus/{name}": {
+ "get": {
+ "tags": [
+ "OperationsStatus"
+ ],
+ "summary": "Gets the details of a specified job on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "OperationsStatus_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The job name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The job details.",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OperationsStatusGet": {
+ "$ref": "./examples/OperationsStatusGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders": {
+ "get": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Lists all the orders related to a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Orders_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists all the orders for the Data Box Edge Device",
+ "schema": {
+ "$ref": "#/definitions/OrderList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "OrderGetAllInDevice": {
+ "$ref": "./examples/OrderGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default": {
+ "get": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Gets a specific order by name.",
+ "operationId": "Orders_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The order details of a device.",
+ "schema": {
+ "$ref": "#/definitions/Order"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OrderGet": {
+ "$ref": "./examples/OrderGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Creates or updates an order.",
+ "operationId": "Orders_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The order details of a device.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "order",
+ "in": "body",
+ "description": "The order to be created or updated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Order"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the order.",
+ "schema": {
+ "$ref": "#/definitions/Order"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the order."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "OrderPut": {
+ "$ref": "./examples/OrderPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Deletes the order related to the device.",
+ "operationId": "Orders_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the order."
+ },
+ "202": {
+ "description": "Accepted the request to delete the order."
+ },
+ "204": {
+ "description": "The order is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "OrderDelete": {
+ "$ref": "./examples/OrderDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default/listDCAccessCode": {
+ "post": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Gets the DCAccess Code",
+ "operationId": "Orders_ListDCAccessCode",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "DC Access code for the device",
+ "schema": {
+ "$ref": "#/definitions/DCAccessCode"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetDCAccessCode": {
+ "$ref": "./examples/GetDCAccessCode.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles": {
+ "get": {
+ "tags": [
+ "Roles"
+ ],
+ "description": "Lists all the roles configured in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Roles_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of all the roles configured in the device.",
+ "schema": {
+ "$ref": "#/definitions/RoleList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "RoleGetAllInDevice": {
+ "$ref": "./examples/RoleGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{name}": {
+ "get": {
+ "tags": [
+ "Roles"
+ ],
+ "description": "Gets a specific role by name.",
+ "operationId": "Roles_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The role with the specified name in the given device.",
+ "schema": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RoleGet": {
+ "$ref": "./examples/RoleGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Roles"
+ ],
+ "description": "Create or update a role.",
+ "operationId": "Roles_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "role",
+ "in": "body",
+ "description": "The role properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the role.",
+ "schema": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the role."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "RolePut": {
+ "$ref": "./examples/RolePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Roles"
+ ],
+ "description": "Deletes the role on the device.",
+ "operationId": "Roles_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the role."
+ },
+ "202": {
+ "description": "Accepted the request to delete the role."
+ },
+ "204": {
+ "description": "The role is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "RoleDelete": {
+ "$ref": "./examples/RoleDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/addons": {
+ "get": {
+ "tags": [
+ "Addons"
+ ],
+ "description": "Lists all the addons configured in the role.",
+ "operationId": "Addons_ListByRole",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of all the addons configured in the role.",
+ "schema": {
+ "$ref": "#/definitions/AddonList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "RoleListAddOns": {
+ "$ref": "./examples/RoleListAddOns.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/addons/{addonName}": {
+ "get": {
+ "tags": [
+ "Addons"
+ ],
+ "description": "Gets a specific addon by name.",
+ "operationId": "Addons_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addonName",
+ "in": "path",
+ "description": "The addon name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The addon with the specified name in the role.",
+ "schema": {
+ "$ref": "#/definitions/Addon"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetAddOns": {
+ "$ref": "./examples/GetAddons.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Addons"
+ ],
+ "description": "Create or update a addon.",
+ "operationId": "Addons_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addonName",
+ "in": "path",
+ "description": "The addon name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addon",
+ "in": "body",
+ "description": "The addon properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Addon"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the addon.",
+ "schema": {
+ "$ref": "#/definitions/Addon"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the addon."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "PutAddOns": {
+ "$ref": "./examples/PutAddons.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Addons"
+ ],
+ "description": "Deletes the addon on the device.",
+ "operationId": "Addons_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addonName",
+ "in": "path",
+ "description": "The addon name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the addon."
+ },
+ "202": {
+ "description": "Accepted the request to delete the addon."
+ },
+ "204": {
+ "description": "The addon is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DeleteAddOns": {
+ "$ref": "./examples/DeleteAddons.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/monitoringConfig": {
+ "get": {
+ "tags": [
+ "MonitoringConfig"
+ ],
+ "summary": "Lists metric configurations in a role.",
+ "operationId": "MonitoringConfig_List",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The monitoring config details.",
+ "schema": {
+ "$ref": "#/definitions/MonitoringMetricConfigurationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListMonitoringConfig": {
+ "$ref": "./examples/ListMonitoringConfig.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/monitoringConfig/default": {
+ "get": {
+ "tags": [
+ "MonitoringConfig"
+ ],
+ "summary": "Gets a metric configuration of a role.",
+ "operationId": "MonitoringConfig_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The monitoring config details.",
+ "schema": {
+ "$ref": "#/definitions/MonitoringMetricConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetMonitoringConfig": {
+ "$ref": "./examples/GetMonitoringConfig.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "MonitoringConfig"
+ ],
+ "summary": "Creates a new metric configuration or updates an existing one for a role.",
+ "operationId": "MonitoringConfig_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "monitoringMetricConfiguration",
+ "in": "body",
+ "description": "The metric configuration.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MonitoringMetricConfiguration"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the metrics configuration.",
+ "schema": {
+ "$ref": "#/definitions/MonitoringMetricConfiguration"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the metrics configuration."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "PutMonitoringConfig": {
+ "$ref": "./examples/PutMonitoringConfig.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "MonitoringConfig"
+ ],
+ "summary": "deletes a new metric configuration for a role.",
+ "operationId": "MonitoringConfig_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the metrics configuration."
+ },
+ "202": {
+ "description": "Accepted the request to delete the metrics configuration."
+ },
+ "204": {
+ "description": "The metrics configuration is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DeleteMonitoringConfig": {
+ "$ref": "./examples/DeleteMonitoringConfig.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/scanForUpdates": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "summary": "Scans for updates on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_ScanForUpdates",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully scanned the device for updates."
+ },
+ "202": {
+ "description": "Accepted the request to scan for updates on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ScanForUpdatesPost": {
+ "$ref": "./examples/ScanForUpdatesPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/securitySettings/default/update": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Updates the security settings on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_CreateOrUpdateSecuritySettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "securitySettings",
+ "in": "body",
+ "description": "The security settings.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SecuritySettings"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to update the security settings."
+ },
+ "204": {
+ "description": "Updated the security settings."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "CreateOrUpdateSecuritySettings": {
+ "$ref": "./examples/SecuritySettingsUpdatePost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares": {
+ "get": {
+ "tags": [
+ "Shares"
+ ],
+ "summary": "Lists all the shares in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Shares_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all the shares on the device.",
+ "schema": {
+ "$ref": "#/definitions/ShareList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ShareGetAllInDevice": {
+ "$ref": "./examples/ShareGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}": {
+ "get": {
+ "tags": [
+ "Shares"
+ ],
+ "summary": "Gets a share by name.",
+ "operationId": "Shares_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The share details.",
+ "schema": {
+ "$ref": "#/definitions/Share"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ShareGet": {
+ "$ref": "./examples/ShareGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Shares"
+ ],
+ "summary": "Creates a new share or updates an existing share on the device.",
+ "operationId": "Shares_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "share",
+ "in": "body",
+ "description": "The share properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Share"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the share.",
+ "schema": {
+ "$ref": "#/definitions/Share"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the share."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "SharePut": {
+ "$ref": "./examples/SharePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Shares"
+ ],
+ "description": "Deletes the share on the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Shares_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the share."
+ },
+ "202": {
+ "description": "Accepted the request to delete the share."
+ },
+ "204": {
+ "description": "The share is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ShareDelete": {
+ "$ref": "./examples/ShareDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}/refresh": {
+ "post": {
+ "tags": [
+ "Shares"
+ ],
+ "summary": "Refreshes the share metadata with the data from the cloud.",
+ "operationId": "Shares_Refresh",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully refreshed the share on the device."
+ },
+ "202": {
+ "description": "Accepted the request to refresh the share on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ShareRefreshPost": {
+ "$ref": "./examples/ShareRefreshPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials": {
+ "get": {
+ "tags": [
+ "StorageAccountCredentials"
+ ],
+ "summary": "Gets all the storage account credentials in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "StorageAccountCredentials_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of storage account credentials.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccountCredentialList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "SACGetAllInDevice": {
+ "$ref": "./examples/SACGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials/{name}": {
+ "get": {
+ "tags": [
+ "StorageAccountCredentials"
+ ],
+ "description": "Gets the properties of the specified storage account credential.",
+ "operationId": "StorageAccountCredentials_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The storage account credential name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The storage account credential properties.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccountCredential"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SACGet": {
+ "$ref": "./examples/SACGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "StorageAccountCredentials"
+ ],
+ "description": "Creates or updates the storage account credential.",
+ "operationId": "StorageAccountCredentials_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The storage account credential name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountCredential",
+ "in": "body",
+ "description": "The storage account credential.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StorageAccountCredential"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the storage account credential.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccountCredential"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the storage account credential."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "SACPut": {
+ "$ref": "./examples/SACPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "StorageAccountCredentials"
+ ],
+ "description": "Deletes the storage account credential.",
+ "operationId": "StorageAccountCredentials_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The storage account credential name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the storage account credential."
+ },
+ "202": {
+ "description": "Accepted the request to delete the storage account credential."
+ },
+ "204": {
+ "description": "The storage account credential is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "SACDelete": {
+ "$ref": "./examples/SACDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts": {
+ "get": {
+ "tags": [
+ "StorageAccounts"
+ ],
+ "summary": "Lists all the StorageAccounts in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "StorageAccounts_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all the StorageAccounts on the device.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccountList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "StorageAccountGetAllInDevice": {
+ "$ref": "./examples/StorageAccountGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}": {
+ "get": {
+ "tags": [
+ "StorageAccounts"
+ ],
+ "summary": "Gets a StorageAccount by name.",
+ "operationId": "StorageAccounts_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The storage account name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The storage account details.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "StorageAccountGet": {
+ "$ref": "./examples/StorageAccountGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "StorageAccounts"
+ ],
+ "summary": "Creates a new StorageAccount or updates an existing StorageAccount on the device.",
+ "operationId": "StorageAccounts_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The StorageAccount name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccount",
+ "in": "body",
+ "description": "The StorageAccount properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StorageAccount"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the StorageAccount.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccount"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the StorageAccount."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "StorageAccountPut": {
+ "$ref": "./examples/StorageAccountPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "StorageAccounts"
+ ],
+ "description": "Deletes the StorageAccount on the Data Box Edge/Data Box Gateway device.",
+ "operationId": "StorageAccounts_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The StorageAccount name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to delete the StorageAccount."
+ },
+ "204": {
+ "description": "The StorageAccount is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "StorageAccountDelete": {
+ "$ref": "./examples/StorageAccountDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers": {
+ "get": {
+ "tags": [
+ "Containers"
+ ],
+ "summary": "Lists all the containers of a storage Account in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Containers_ListByStorageAccount",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The storage Account name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all the containers on the device.",
+ "schema": {
+ "$ref": "#/definitions/ContainerList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ContainerListAllInDevice": {
+ "$ref": "./examples/ContainerListAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers/{containerName}": {
+ "get": {
+ "tags": [
+ "Containers"
+ ],
+ "summary": "Gets a container by name.",
+ "operationId": "Containers_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The container details.",
+ "schema": {
+ "$ref": "#/definitions/Container"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ContainerGet": {
+ "$ref": "./examples/ContainerGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Containers"
+ ],
+ "summary": "Creates a new container or updates an existing container on the device.",
+ "operationId": "Containers_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "container",
+ "in": "body",
+ "description": "The container properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Container"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the container.",
+ "schema": {
+ "$ref": "#/definitions/Container"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the container."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ContainerPut": {
+ "$ref": "./examples/ContainerPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Containers"
+ ],
+ "description": "Deletes the container on the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Containers_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to delete the container."
+ },
+ "204": {
+ "description": "The container is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ContainerDelete": {
+ "$ref": "./examples/ContainerDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers/{containerName}/refresh": {
+ "post": {
+ "tags": [
+ "Containers"
+ ],
+ "summary": "Refreshes the container metadata with the data from the cloud.",
+ "operationId": "Containers_Refresh",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully refreshed the container on the device."
+ },
+ "202": {
+ "description": "Accepted the request to refresh the container on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ContainerRefresh": {
+ "$ref": "./examples/ContainerRefresh.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers": {
+ "get": {
+ "tags": [
+ "Triggers"
+ ],
+ "description": "Lists all the triggers configured in the device.",
+ "operationId": "Triggers_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Specify $filter='CustomContextTag eq ' to filter on custom context tag property",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List all the triggers configured in the device",
+ "schema": {
+ "$ref": "#/definitions/TriggerList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "TriggerGetAllInDevice": {
+ "$ref": "./examples/TriggerGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers/{name}": {
+ "get": {
+ "tags": [
+ "Triggers"
+ ],
+ "description": "Get a specific trigger by name.",
+ "operationId": "Triggers_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The trigger name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The trigger.",
+ "schema": {
+ "$ref": "#/definitions/Trigger"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TriggerGet": {
+ "$ref": "./examples/TriggerGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Triggers"
+ ],
+ "description": "Creates or updates a trigger.",
+ "operationId": "Triggers_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "Creates or updates a trigger",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The trigger name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "trigger",
+ "in": "body",
+ "description": "The trigger.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Trigger"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the trigger.",
+ "schema": {
+ "$ref": "#/definitions/Trigger"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the trigger."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "TriggerPut": {
+ "$ref": "./examples/TriggerPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Triggers"
+ ],
+ "description": "Deletes the trigger on the gateway device.",
+ "operationId": "Triggers_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The trigger name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the trigger."
+ },
+ "202": {
+ "description": "Accepted the request to delete the trigger."
+ },
+ "204": {
+ "description": "The trigger is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "TriggerDelete": {
+ "$ref": "./examples/TriggerDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggerSupportPackage": {
+ "post": {
+ "tags": [
+ "SupportPackages"
+ ],
+ "summary": "Triggers support package on the device",
+ "operationId": "SupportPackages_TriggerSupportPackage",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "triggerSupportPackageRequest",
+ "in": "body",
+ "description": "The trigger support package request object",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TriggerSupportPackageRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully triggered support package on the device."
+ },
+ "202": {
+ "description": "Accepted the request to trigger support package on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "TriggerSupportPackage": {
+ "$ref": "./examples/TriggerSupportPackage.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/updateExtendedInformation": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets additional information for the specified Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_UpdateExtendedInformation",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The patch object.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfoPatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Modify additional information.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfo"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetUpdateExtendedInfo": {
+ "$ref": "./examples/GetUpdateExtendedInfo.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/updateSummary/default": {
+ "get": {
+ "tags": [
+ "Devices"
+ ],
+ "summary": "Gets information about the availability of updates based on the last scan of the device. It also gets information about any ongoing download or install jobs on the device.",
+ "operationId": "Devices_GetUpdateSummary",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The update summary.",
+ "schema": {
+ "$ref": "#/definitions/UpdateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateSummaryGet": {
+ "$ref": "./examples/UpdateSummaryGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/uploadCertificate": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Uploads registration certificate for the device.",
+ "operationId": "Devices_UploadCertificate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The upload certificate request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UploadCertificateRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully uploaded the registration certificate.",
+ "schema": {
+ "$ref": "#/definitions/UploadCertificateResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UploadCertificatePost": {
+ "$ref": "./examples/UploadCertificatePost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users": {
+ "get": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Gets all the users registered on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Users_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Specify $filter='Type eq ' to filter on user type property",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all users on the device.",
+ "schema": {
+ "$ref": "#/definitions/UserList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "UserGetAllInDevice": {
+ "$ref": "./examples/UserGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users/{name}": {
+ "get": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Gets the properties of the specified user.",
+ "operationId": "Users_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The user name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The user details.",
+ "schema": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UserGet": {
+ "$ref": "./examples/UserGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Creates a new user or updates an existing user's information on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Users_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The user name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "user",
+ "in": "body",
+ "description": "The user details.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the user.",
+ "schema": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the user."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "UserPut": {
+ "$ref": "./examples/UserPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Deletes the user on a databox edge/gateway device.",
+ "operationId": "Users_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The user name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the user."
+ },
+ "202": {
+ "description": "Accepted the request to delete the user."
+ },
+ "204": {
+ "description": "The user is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "UserDelete": {
+ "$ref": "./examples/UserDelete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Addon": {
+ "description": "Role Addon",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "description": "Addon type.",
+ "enum": [
+ "IotEdge",
+ "ArcForKubernetes"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AddonType",
+ "modelAsString": true
+ }
+ },
+ "systemData": {
+ "description": "Addon type",
+ "$ref": "#/definitions/SystemData"
+ }
+ },
+ "discriminator": "kind"
+ },
+ "AddonList": {
+ "description": "Collection of all the Role addon on the Azure Stack Edge device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Value.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Addon"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Address": {
+ "description": "The shipping address of the customer.",
+ "required": [
+ "country"
+ ],
+ "type": "object",
+ "properties": {
+ "addressLine1": {
+ "description": "The address line1.",
+ "type": "string"
+ },
+ "addressLine2": {
+ "description": "The address line2.",
+ "type": "string"
+ },
+ "addressLine3": {
+ "description": "The address line3.",
+ "type": "string"
+ },
+ "postalCode": {
+ "description": "The postal code.",
+ "type": "string"
+ },
+ "city": {
+ "description": "The city name.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The state name.",
+ "type": "string"
+ },
+ "country": {
+ "description": "The country name.",
+ "type": "string"
+ }
+ }
+ },
+ "Alert": {
+ "description": "Alert on the data box edge/gateway device.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Alert generated in the resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/AlertProperties",
+ "description": "Properties of alert.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "AlertErrorDetails": {
+ "description": "Error details for the alert.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessage": {
+ "description": "Error Message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "occurrences": {
+ "format": "int32",
+ "description": "Number of occurrences.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "AlertList": {
+ "description": "Collection of alerts.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Alert"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AlertProperties": {
+ "description": "Properties of alert.",
+ "type": "object",
+ "properties": {
+ "title": {
+ "description": "Alert title.",
+ "type": "string",
+ "readOnly": true
+ },
+ "alertType": {
+ "description": "Alert type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "appearedAtDateTime": {
+ "format": "date-time",
+ "description": "UTC time when the alert appeared.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendation": {
+ "description": "Alert recommendation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "severity": {
+ "description": "Severity of the alert.",
+ "enum": [
+ "Informational",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AlertSeverity",
+ "modelAsString": true
+ }
+ },
+ "errorDetails": {
+ "$ref": "#/definitions/AlertErrorDetails",
+ "description": "Error details of the alert.",
+ "readOnly": true
+ },
+ "detailedInformation": {
+ "description": "Alert details.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ArcAddon": {
+ "description": "Arc Addon.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Addon"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ArcAddonProperties",
+ "description": "Properties specific to Arc addon.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "ArcForKubernetes"
+ },
+ "ArcAddonProperties": {
+ "description": "Arc addon properties.",
+ "required": [
+ "subscriptionId",
+ "resourceGroupName",
+ "resourceName",
+ "resourceLocation"
+ ],
+ "type": "object",
+ "properties": {
+ "subscriptionId": {
+ "description": "Arc resource subscription Id",
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "description": "Arc resource group name",
+ "type": "string"
+ },
+ "resourceName": {
+ "description": "Arc resource Name",
+ "type": "string"
+ },
+ "resourceLocation": {
+ "description": "Arc resource location",
+ "type": "string"
+ },
+ "version": {
+ "description": "Arc resource version",
+ "type": "string",
+ "readOnly": true
+ },
+ "hostPlatform": {
+ "description": "Host OS supported by the Arc addon.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PlatformType",
+ "modelAsString": true
+ }
+ },
+ "hostPlatformType": {
+ "description": "Platform where the runtime is hosted.",
+ "enum": [
+ "KubernetesCluster",
+ "LinuxVM"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "HostPlatformType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "Addon Provisioning State",
+ "enum": [
+ "Invalid",
+ "Creating",
+ "Created",
+ "Updating",
+ "Reconfiguring",
+ "Failed",
+ "Deleting"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AddonState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ARMBaseModel": {
+ "description": "Represents the base class for all object models.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "AsymmetricEncryptedSecret": {
+ "description": "Represent the secrets intended for encryption with asymmetric key pair.",
+ "required": [
+ "value",
+ "encryptionAlgorithm"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value of the secret.",
+ "type": "string"
+ },
+ "encryptionCertThumbprint": {
+ "description": "Thumbprint certificate used to encrypt \\\"Value\\\". If the value is unencrypted, it will be null.",
+ "x-ms-secret": true,
+ "type": "string"
+ },
+ "encryptionAlgorithm": {
+ "description": "The algorithm used to encrypt \"Value\".",
+ "enum": [
+ "None",
+ "AES256",
+ "RSAES_PKCS1_v_1_5"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EncryptionAlgorithm",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Authentication": {
+ "description": "Authentication mechanism for IoT devices.",
+ "type": "object",
+ "properties": {
+ "symmetricKey": {
+ "$ref": "#/definitions/SymmetricKey",
+ "description": "Symmetric key for authentication."
+ }
+ }
+ },
+ "AzureContainerInfo": {
+ "description": "Azure container mapping of the endpoint.",
+ "required": [
+ "storageAccountCredentialId",
+ "containerName",
+ "dataFormat"
+ ],
+ "type": "object",
+ "properties": {
+ "storageAccountCredentialId": {
+ "description": "ID of the storage account credential used to access storage.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Container name (Based on the data format specified, this represents the name of Azure Files/Page blob/Block blob).",
+ "type": "string"
+ },
+ "dataFormat": {
+ "description": "Storage format used for the file represented by the share.",
+ "enum": [
+ "BlockBlob",
+ "PageBlob",
+ "AzureFile"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AzureContainerDataFormat",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "BandwidthSchedule": {
+ "description": "The bandwidth schedule details.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Bandwidth object related to ASE resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/BandwidthScheduleProperties",
+ "description": "The properties of the bandwidth schedule.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "BandwidthScheduleProperties": {
+ "description": "The properties of the bandwidth schedule.",
+ "required": [
+ "start",
+ "stop",
+ "rateInMbps",
+ "days"
+ ],
+ "type": "object",
+ "properties": {
+ "start": {
+ "description": "The start time of the schedule in UTC.",
+ "type": "string"
+ },
+ "stop": {
+ "description": "The stop time of the schedule in UTC.",
+ "type": "string"
+ },
+ "rateInMbps": {
+ "format": "int32",
+ "description": "The bandwidth rate in Mbps.",
+ "type": "integer"
+ },
+ "days": {
+ "description": "The days of the week when this schedule is applicable.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "BandwidthSchedulesList": {
+ "description": "The collection of bandwidth schedules.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of bandwidth schedules.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BandwidthSchedule"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ClientAccessRight": {
+ "description": "The mapping between a particular client IP and the type of access client has on the NFS share.",
+ "required": [
+ "client",
+ "accessPermission"
+ ],
+ "type": "object",
+ "properties": {
+ "client": {
+ "description": "IP of the client.",
+ "type": "string"
+ },
+ "accessPermission": {
+ "description": "Type of access to be allowed for the client.",
+ "enum": [
+ "NoAccess",
+ "ReadOnly",
+ "ReadWrite"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ClientPermissionType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CloudEdgeManagementRole": {
+ "description": "CloudEdgeManagementRole role.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Role"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CloudEdgeManagementRoleProperties",
+ "description": "Properties specific to CloudEdgeManagementRole role.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "CloudEdgeManagement"
+ },
+ "CloudEdgeManagementRoleProperties": {
+ "description": "CloudEdgeManagement Role properties.",
+ "required": [
+ "roleStatus"
+ ],
+ "type": "object",
+ "properties": {
+ "localManagementStatus": {
+ "description": "Local Edge Management Status",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ },
+ "edgeProfile": {
+ "$ref": "#/definitions/EdgeProfile",
+ "description": "Edge Profile of the resource",
+ "readOnly": true
+ },
+ "roleStatus": {
+ "description": "Role status.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CloudError": {
+ "description": "An error response from the service.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "The error details."
+ }
+ },
+ "x-ms-external": true
+ },
+ "CloudErrorBody": {
+ "description": "An error response from the service.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A message describing the error, intended to be suitable for display in a user interface.",
+ "type": "string"
+ },
+ "details": {
+ "description": "A list of additional details about the error.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ }
+ },
+ "x-ms-external": true
+ },
+ "CniConfig": {
+ "description": "Cni configuration",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Cni type",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "Cni version",
+ "type": "string",
+ "readOnly": true
+ },
+ "podSubnet": {
+ "description": "Pod Subnet",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceSubnet": {
+ "description": "Service subnet",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ComputeResource": {
+ "description": "Compute infrastructure Resource",
+ "required": [
+ "processorCount",
+ "memoryInGB"
+ ],
+ "type": "object",
+ "properties": {
+ "processorCount": {
+ "format": "int32",
+ "description": "Processor count",
+ "type": "integer"
+ },
+ "memoryInGB": {
+ "format": "int64",
+ "description": "Memory in GB",
+ "type": "integer"
+ }
+ }
+ },
+ "ContactDetails": {
+ "description": "Contains all the contact details of the customer.",
+ "required": [
+ "contactPerson",
+ "companyName",
+ "phone",
+ "emailList"
+ ],
+ "type": "object",
+ "properties": {
+ "contactPerson": {
+ "description": "The contact person name.",
+ "type": "string"
+ },
+ "companyName": {
+ "description": "The name of the company.",
+ "type": "string"
+ },
+ "phone": {
+ "description": "The phone number.",
+ "type": "string"
+ },
+ "emailList": {
+ "description": "The email list.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Container": {
+ "description": "Represents a container on the Data Box Edge/Gateway device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Container in DataBoxEdge Resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/ContainerProperties",
+ "description": "The container properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ContainerList": {
+ "description": "Collection of all the containers on the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of containers.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Container"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ContainerProperties": {
+ "description": "The container properties.",
+ "required": [
+ "dataFormat"
+ ],
+ "type": "object",
+ "properties": {
+ "containerStatus": {
+ "description": "Current status of the container.",
+ "enum": [
+ "OK",
+ "Offline",
+ "Unknown",
+ "Updating",
+ "NeedsAttention"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ContainerStatus",
+ "modelAsString": true
+ }
+ },
+ "dataFormat": {
+ "description": "DataFormat for Container",
+ "enum": [
+ "BlockBlob",
+ "PageBlob",
+ "AzureFile"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AzureContainerDataFormat",
+ "modelAsString": true
+ }
+ },
+ "refreshDetails": {
+ "$ref": "#/definitions/RefreshDetails",
+ "description": "Details of the refresh job on this container.",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "The UTC time when container got created.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeDevice": {
+ "description": "The Data Box Edge/Gateway device.",
+ "required": [
+ "location"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "The location of the device. This is a supported and registered Azure geographical region (for example, West US, East US, or Southeast Asia). The geographical region of a device cannot be changed once it is created, but if an identical geographical region is specified on update, the request will succeed.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "The list of tags that describe the device. These tags can be used to view and group this device (across resource groups).",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU type."
+ },
+ "etag": {
+ "description": "The etag for the devices.",
+ "type": "string"
+ },
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "Msi identity of the resource"
+ },
+ "kind": {
+ "description": "The kind of the device.",
+ "enum": [
+ "AzureDataBoxGateway",
+ "AzureStackEdge",
+ "AzureStackHub",
+ "AzureModularDataCentre"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataBoxEdgeDeviceKind",
+ "modelAsString": true
+ }
+ },
+ "systemData": {
+ "description": "DataBoxEdge Resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceProperties",
+ "description": "The properties of the Data Box Edge/Gateway device.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DataBoxEdgeDeviceExtendedInfo": {
+ "description": "The extended Info of the Data Box Edge/Gateway device.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfoProperties",
+ "description": "The extended info properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DataBoxEdgeDeviceExtendedInfoPatch": {
+ "description": "The Data Box Edge/Gateway device extended info patch.",
+ "type": "object",
+ "properties": {
+ "clientSecretStoreId": {
+ "description": "The Key Vault ARM Id for client secrets",
+ "type": "string"
+ },
+ "clientSecretStoreUrl": {
+ "description": "The url to access the Client Key Vault",
+ "type": "string"
+ },
+ "channelIntegrityKeyName": {
+ "description": "The name for Channel Integrity Key stored in the Client Key Vault",
+ "type": "string"
+ },
+ "channelIntegrityKeyVersion": {
+ "description": "The version of Channel Integrity Key stored in the Client Key Vault",
+ "type": "string"
+ },
+ "syncStatus": {
+ "description": "For changing or to initiate the resync to key-vault set the status to KeyVaultSyncPending, rest of the status will not be applicable.",
+ "enum": [
+ "KeyVaultSynced",
+ "KeyVaultSyncFailed",
+ "KeyVaultNotConfigured",
+ "KeyVaultSyncPending",
+ "KeyVaultSyncing",
+ "KeyVaultNotSynced"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "KeyVaultSyncStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "DataBoxEdgeDeviceExtendedInfoProperties": {
+ "description": "The properties of the Data Box Edge/Gateway device extended info.",
+ "type": "object",
+ "properties": {
+ "encryptionKeyThumbprint": {
+ "description": "The digital signature of encrypted certificate.",
+ "type": "string"
+ },
+ "encryptionKey": {
+ "description": "The public part of the encryption certificate. Client uses this to encrypt any secret.",
+ "type": "string"
+ },
+ "resourceKey": {
+ "description": "The Resource ID of the Resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "clientSecretStoreId": {
+ "description": "The Key Vault ARM Id for client secrets",
+ "type": "string"
+ },
+ "clientSecretStoreUrl": {
+ "description": "The url to access the Client Key Vault",
+ "type": "string"
+ },
+ "channelIntegrityKeyName": {
+ "description": "The name of Channel Integrity Key stored in the Client Key Vault",
+ "type": "string"
+ },
+ "channelIntegrityKeyVersion": {
+ "description": "The version of Channel Integrity Key stored in the Client Key Vault",
+ "type": "string"
+ },
+ "keyVaultSyncStatus": {
+ "description": "Key vault sync status",
+ "enum": [
+ "KeyVaultSynced",
+ "KeyVaultSyncFailed",
+ "KeyVaultNotConfigured",
+ "KeyVaultSyncPending",
+ "KeyVaultSyncing",
+ "KeyVaultNotSynced"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "KeyVaultSyncStatus",
+ "modelAsString": true
+ }
+ },
+ "deviceSecrets": {
+ "description": "Device secrets, will be returned only with ODataFilter $expand=deviceSecrets",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/Secret"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeDeviceList": {
+ "description": "The collection of Data Box Edge/Gateway devices.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of Data Box Edge/Gateway devices.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxEdgeDevice"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeDevicePatch": {
+ "description": "The Data Box Edge/Gateway device patch.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags attached to the Data Box Edge/Gateway resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "Msi identity of the resource"
+ },
+ "properties": {
+ "$ref": "#/definitions/DataBoxEdgeDevicePropertiesPatch",
+ "description": "The properties associated with the Data Box Edge/Gateway resource",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DataBoxEdgeDeviceProperties": {
+ "description": "The properties of the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "systemData": {
+ "description": "DataBoxEdge Device Properties",
+ "$ref": "#/definitions/SystemData"
+ },
+ "dataBoxEdgeDeviceStatus": {
+ "description": "The status of the Data Box Edge/Gateway device.",
+ "enum": [
+ "ReadyToSetup",
+ "Online",
+ "Offline",
+ "NeedsAttention",
+ "Disconnected",
+ "PartiallyDisconnected",
+ "Maintenance"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataBoxEdgeDeviceStatus",
+ "modelAsString": true
+ }
+ },
+ "serialNumber": {
+ "description": "The Serial Number of Data Box Edge/Gateway device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The Description of the Data Box Edge/Gateway device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "modelDescription": {
+ "description": "The description of the Data Box Edge/Gateway device model.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceType": {
+ "description": "The type of the Data Box Edge/Gateway device.",
+ "enum": [
+ "DataBoxEdgeDevice"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DeviceType",
+ "modelAsString": true
+ }
+ },
+ "friendlyName": {
+ "description": "The Data Box Edge/Gateway device name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "culture": {
+ "description": "The Data Box Edge/Gateway device culture.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceModel": {
+ "description": "The Data Box Edge/Gateway device model.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceSoftwareVersion": {
+ "description": "The Data Box Edge/Gateway device software version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceLocalCapacity": {
+ "format": "int64",
+ "description": "The Data Box Edge/Gateway device local capacity in MB.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "timeZone": {
+ "description": "The Data Box Edge/Gateway device timezone.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceHcsVersion": {
+ "description": "The device software version number of the device (eg: 1.2.18105.6).",
+ "type": "string",
+ "readOnly": true
+ },
+ "configuredRoleTypes": {
+ "description": "Type of compute roles configured.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "IOT",
+ "ASA",
+ "Functions",
+ "Cognitive",
+ "MEC",
+ "CloudEdgeManagement",
+ "Kubernetes"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleTypes",
+ "modelAsString": true
+ }
+ },
+ "readOnly": true
+ },
+ "nodeCount": {
+ "format": "int32",
+ "description": "The number of nodes in the cluster.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resourceMoveDetails": {
+ "$ref": "#/definitions/ResourceMoveDetails",
+ "description": "The details of the move operation on this resource.",
+ "readOnly": true
+ },
+ "edgeProfile": {
+ "$ref": "#/definitions/EdgeProfile",
+ "description": "The details of Edge Profile for this resource",
+ "readOnly": true
+ },
+ "dataResidency": {
+ "$ref": "#/definitions/DataResidency",
+ "description": "The details of data-residency related properties for this resource"
+ }
+ }
+ },
+ "DataBoxEdgeDevicePropertiesPatch": {
+ "description": "The Data Box Edge/Gateway device properties patch.",
+ "type": "object",
+ "properties": {
+ "edgeProfile": {
+ "$ref": "#/definitions/EdgeProfilePatch",
+ "description": "Edge Profile property of the Data Box Edge/Gateway device"
+ }
+ }
+ },
+ "DataBoxEdgeMoveRequest": {
+ "description": "Resource Move details",
+ "required": [
+ "targetResourceGroup",
+ "resources"
+ ],
+ "type": "object",
+ "properties": {
+ "targetResourceGroup": {
+ "description": "Target resource group ARMId",
+ "type": "string"
+ },
+ "resources": {
+ "description": "List of resources to be moved",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DataBoxEdgeSku": {
+ "description": "The Sku information.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The Sku name.",
+ "enum": [
+ "Gateway",
+ "Edge",
+ "TEA_1Node",
+ "TEA_1Node_UPS",
+ "TEA_1Node_Heater",
+ "TEA_1Node_UPS_Heater",
+ "TEA_4Node_Heater",
+ "TEA_4Node_UPS_Heater",
+ "TMA",
+ "TDC",
+ "TCA_Small",
+ "GPU",
+ "TCA_Large",
+ "EdgeP_Base",
+ "EdgeP_High",
+ "EdgePR_Base",
+ "EdgePR_Base_UPS",
+ "EP2_64_1VPU_W",
+ "EP2_128_1T4_Mx1_W",
+ "EP2_256_2T4_W",
+ "EdgeMR_Mini",
+ "RCA_Small",
+ "RCA_Large",
+ "RDC",
+ "Management"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "kind": {
+ "description": "The Sku kind.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tier": {
+ "description": "The Sku tier.",
+ "enum": [
+ "Standard"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ },
+ "size": {
+ "description": "The Sku kind.",
+ "type": "string",
+ "readOnly": true
+ },
+ "family": {
+ "description": "The Sku family.",
+ "type": "string",
+ "readOnly": true
+ },
+ "locations": {
+ "description": "Availability of the Sku for the region.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "apiVersions": {
+ "description": "The API versions in which Sku is available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "locationInfo": {
+ "description": "Availability of the Sku for the location/zone/site.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuLocationInfo"
+ },
+ "readOnly": true
+ },
+ "costs": {
+ "description": "The pricing info of the Sku.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCost"
+ },
+ "readOnly": true
+ },
+ "signupOption": {
+ "description": "Sku can be signed up by customer or not.",
+ "enum": [
+ "None",
+ "Available"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuSignupOption",
+ "modelAsString": true
+ }
+ },
+ "version": {
+ "description": "Availability of the Sku as preview/stable.",
+ "enum": [
+ "Stable",
+ "Preview"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuVersion",
+ "modelAsString": true
+ }
+ },
+ "availability": {
+ "description": "Links to the next set of results",
+ "enum": [
+ "Available",
+ "Unavailable"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuAvailability",
+ "modelAsString": true
+ }
+ },
+ "shipmentTypes": {
+ "description": "List of Shipment Types supported by this SKU",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "NotApplicable",
+ "ShippedToCustomer",
+ "SelfPickup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShipmentType",
+ "modelAsString": true
+ }
+ },
+ "readOnly": true
+ },
+ "capabilities": {
+ "description": "The capability info of the SKU.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCapability"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeSkuList": {
+ "description": "List of SKU Information objects.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of ResourceType Sku",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxEdgeSku"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Links to the next set of results",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataResidency": {
+ "description": "Wraps data-residency related information for edge-resource and this should be used with ARM layer.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "DataResidencyType enum",
+ "enum": [
+ "GeoZoneReplication",
+ "ZoneReplication"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataResidencyType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "DCAccessCode": {
+ "description": "DC Access code in the case of Self Managed Shipping.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DCAccessCodeProperties",
+ "description": "DCAccessCode properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DCAccessCodeProperties": {
+ "description": "DCAccessCode Properties.",
+ "type": "object",
+ "properties": {
+ "authCode": {
+ "description": "DCAccess Code for the Self Managed shipment.",
+ "type": "string"
+ }
+ }
+ },
+ "DiagnosticProactiveLogCollectionSettings": {
+ "description": "The diagnostic proactive log collection settings of a device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "DiagnosticProactiveLogCollectionSettings",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/ProactiveLogCollectionSettingsProperties",
+ "description": "Properties of the diagnostic proactive log collection settings.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DiagnosticRemoteSupportSettings": {
+ "description": "The remote support settings of a device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "DiagnosticRemoteSupportSettings",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/DiagnosticRemoteSupportSettingsProperties",
+ "description": "Properties of the remote support settings.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DiagnosticRemoteSupportSettingsProperties": {
+ "description": "The properties of remote support settings.",
+ "type": "object",
+ "properties": {
+ "remoteSupportSettingsList": {
+ "description": "Remote support settings list according to the RemoteApplicationType",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RemoteSupportSettings"
+ }
+ }
+ }
+ },
+ "EdgeProfile": {
+ "description": "Details about Edge Profile for the resource",
+ "type": "object",
+ "properties": {
+ "subscription": {
+ "$ref": "#/definitions/EdgeProfileSubscription",
+ "description": "Edge Profile Subscription"
+ }
+ }
+ },
+ "EdgeProfilePatch": {
+ "description": "The Data Box Edge/Gateway Edge Profile patch.",
+ "type": "object",
+ "properties": {
+ "subscription": {
+ "$ref": "#/definitions/EdgeProfileSubscriptionPatch",
+ "description": "The Data Box Edge/Gateway Edge Profile Subscription patch"
+ }
+ }
+ },
+ "EdgeProfileSubscription": {
+ "description": "Subscription details for the Edge Profile",
+ "type": "object",
+ "properties": {
+ "registrationId": {
+ "description": "Edge Subscription Registration ID",
+ "type": "string"
+ },
+ "id": {
+ "description": "ARM ID of the subscription",
+ "type": "string"
+ },
+ "state": {
+ "enum": [
+ "Registered",
+ "Warned",
+ "Suspended",
+ "Deleted",
+ "Unregistered"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SubscriptionState",
+ "modelAsString": true
+ }
+ },
+ "registrationDate": {
+ "type": "string"
+ },
+ "subscriptionId": {
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/SubscriptionProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "EdgeProfileSubscriptionPatch": {
+ "description": "The Data Box Edge/Gateway Edge Profile Subscription patch.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The path ID that uniquely identifies the subscription of the edge profile.",
+ "type": "string"
+ }
+ }
+ },
+ "EtcdInfo": {
+ "description": "Etcd configuration",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Etcd type",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "Etcd version",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "FileEventTrigger": {
+ "description": "Trigger details.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Trigger"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FileTriggerProperties",
+ "description": "File trigger properties.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "FileEvent"
+ },
+ "FileSourceInfo": {
+ "description": "File source details.",
+ "required": [
+ "shareId"
+ ],
+ "type": "object",
+ "properties": {
+ "shareId": {
+ "description": "File share ID.",
+ "type": "string"
+ }
+ }
+ },
+ "FileTriggerProperties": {
+ "description": "File trigger properties.",
+ "required": [
+ "sourceInfo",
+ "sinkInfo"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceInfo": {
+ "$ref": "#/definitions/FileSourceInfo",
+ "description": "File event source details."
+ },
+ "sinkInfo": {
+ "$ref": "#/definitions/RoleSinkInfo",
+ "description": "Role sink info."
+ },
+ "customContextTag": {
+ "description": "A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module.",
+ "maxLength": 192,
+ "type": "string"
+ }
+ }
+ },
+ "GenerateCertResponse": {
+ "description": "Used in activation key generation flow.",
+ "type": "object",
+ "properties": {
+ "publicKey": {
+ "description": "Gets or sets base64 encoded certificate raw data,\r\nthis is the public part needed to be uploaded to cert vault",
+ "type": "string"
+ },
+ "privateKey": {
+ "description": "Gets or sets base64 encoded private part of the certificate,\r\nneeded to form the activation key",
+ "x-ms-secret": true,
+ "type": "string"
+ },
+ "expiryTimeInUTC": {
+ "description": "Gets or sets expiry time in UTC",
+ "type": "string"
+ }
+ }
+ },
+ "ImageRepositoryCredential": {
+ "description": "Image repository credential.",
+ "required": [
+ "imageRepositoryUrl",
+ "userName"
+ ],
+ "type": "object",
+ "properties": {
+ "imageRepositoryUrl": {
+ "description": "Image repository url (e.g.: mcr.microsoft.com).",
+ "type": "string"
+ },
+ "userName": {
+ "description": "Repository user name.",
+ "type": "string"
+ },
+ "password": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Repository user password."
+ }
+ }
+ },
+ "IoTAddon": {
+ "description": "IoT Addon.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Addon"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/IoTAddonProperties",
+ "description": "Properties specific to IOT addon.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "IotEdge"
+ },
+ "IoTAddonProperties": {
+ "description": "IoT addon properties.",
+ "required": [
+ "ioTDeviceDetails",
+ "ioTEdgeDeviceDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "ioTDeviceDetails": {
+ "$ref": "#/definitions/IoTDeviceInfo",
+ "description": "IoT device metadata to which appliance needs to be connected."
+ },
+ "ioTEdgeDeviceDetails": {
+ "$ref": "#/definitions/IoTDeviceInfo",
+ "description": "IoT edge device to which the IoT Addon needs to be configured."
+ },
+ "version": {
+ "description": "Version of IoT running on the appliance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "hostPlatform": {
+ "description": "Host OS supported by the IoT addon.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PlatformType",
+ "modelAsString": true
+ }
+ },
+ "hostPlatformType": {
+ "description": "Platform where the runtime is hosted.",
+ "enum": [
+ "KubernetesCluster",
+ "LinuxVM"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "HostPlatformType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "Addon Provisioning State",
+ "enum": [
+ "Invalid",
+ "Creating",
+ "Created",
+ "Updating",
+ "Reconfiguring",
+ "Failed",
+ "Deleting"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AddonState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "IoTDeviceInfo": {
+ "description": "Metadata of IoT device/IoT Edge device to be configured.",
+ "required": [
+ "deviceId",
+ "ioTHostHub"
+ ],
+ "type": "object",
+ "properties": {
+ "deviceId": {
+ "description": "ID of the IoT device/edge device.",
+ "type": "string"
+ },
+ "ioTHostHub": {
+ "description": "Host name for the IoT hub associated to the device.",
+ "type": "string"
+ },
+ "ioTHostHubId": {
+ "description": "Id for the IoT hub associated to the device.",
+ "type": "string"
+ },
+ "authentication": {
+ "$ref": "#/definitions/Authentication",
+ "description": "Encrypted IoT device/IoT edge device connection string."
+ }
+ }
+ },
+ "IoTEdgeAgentInfo": {
+ "description": "IoT edge agent details is optional, this will be used for download system Agent module while bootstrapping IoT Role if specified.",
+ "required": [
+ "imageName",
+ "tag"
+ ],
+ "type": "object",
+ "properties": {
+ "imageName": {
+ "description": "Name of the IoT edge agent image.",
+ "type": "string"
+ },
+ "tag": {
+ "description": "Image Tag.",
+ "type": "string"
+ },
+ "imageRepository": {
+ "$ref": "#/definitions/ImageRepositoryCredential",
+ "description": "Image repository details."
+ }
+ }
+ },
+ "IoTRole": {
+ "description": "Compute role.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Role"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/IoTRoleProperties",
+ "description": "Properties specific to IoT role.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "IOT"
+ },
+ "IoTRoleProperties": {
+ "description": "IoT role properties.",
+ "required": [
+ "hostPlatform",
+ "ioTDeviceDetails",
+ "ioTEdgeDeviceDetails",
+ "roleStatus"
+ ],
+ "type": "object",
+ "properties": {
+ "hostPlatform": {
+ "description": "Host OS supported by the IoT role.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PlatformType",
+ "modelAsString": true
+ }
+ },
+ "ioTDeviceDetails": {
+ "$ref": "#/definitions/IoTDeviceInfo",
+ "description": "IoT device metadata to which data box edge device needs to be connected."
+ },
+ "ioTEdgeDeviceDetails": {
+ "$ref": "#/definitions/IoTDeviceInfo",
+ "description": "IoT edge device to which the IoT role needs to be configured."
+ },
+ "shareMappings": {
+ "description": "Mount points of shares in role(s).",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MountPointMap"
+ }
+ },
+ "ioTEdgeAgentInfo": {
+ "$ref": "#/definitions/IoTEdgeAgentInfo",
+ "description": "Iot edge agent details to download the agent and bootstrap iot runtime."
+ },
+ "hostPlatformType": {
+ "description": "Platform where the Iot runtime is hosted.",
+ "enum": [
+ "KubernetesCluster",
+ "LinuxVM"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "HostPlatformType",
+ "modelAsString": true
+ }
+ },
+ "computeResource": {
+ "$ref": "#/definitions/ComputeResource",
+ "description": "Resource allocation"
+ },
+ "roleStatus": {
+ "description": "Role status.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Ipv4Config": {
+ "description": "Details related to the IPv4 address configuration.",
+ "type": "object",
+ "properties": {
+ "ipAddress": {
+ "description": "The IPv4 address of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subnet": {
+ "description": "The IPv4 subnet of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "gateway": {
+ "description": "The IPv4 gateway of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Ipv6Config": {
+ "description": "Details related to the IPv6 address configuration.",
+ "type": "object",
+ "properties": {
+ "ipAddress": {
+ "description": "The IPv6 address of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "prefixLength": {
+ "format": "int32",
+ "description": "The IPv6 prefix of the network adapter.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "gateway": {
+ "description": "The IPv6 gateway of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Job": {
+ "description": "A device job.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The current status of the job.",
+ "enum": [
+ "Invalid",
+ "Running",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Paused",
+ "Scheduled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": true
+ }
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The UTC date and time at which the job started.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The UTC date and time at which the job completed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "percentComplete": {
+ "format": "int32",
+ "description": "The percentage of the job that is complete.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "#/definitions/JobErrorDetails",
+ "description": "The error details.",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/JobProperties",
+ "description": "The properties of the job.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "JobErrorDetails": {
+ "description": "The job error information containing the list of job errors.",
+ "type": "object",
+ "properties": {
+ "errorDetails": {
+ "description": "The error details.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobErrorItem"
+ },
+ "readOnly": true
+ },
+ "code": {
+ "description": "The code intended for programmatic access.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The message that describes the error in detail.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobErrorItem": {
+ "description": "The job error items.",
+ "type": "object",
+ "properties": {
+ "recommendations": {
+ "description": "The recommended actions.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "code": {
+ "description": "The code intended for programmatic access.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The message that describes the error in detail.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobProperties": {
+ "description": "The properties for the job.",
+ "type": "object",
+ "properties": {
+ "jobType": {
+ "description": "The type of the job.",
+ "enum": [
+ "Invalid",
+ "ScanForUpdates",
+ "DownloadUpdates",
+ "InstallUpdates",
+ "RefreshShare",
+ "RefreshContainer",
+ "Backup",
+ "Restore",
+ "TriggerSupportPackage"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobType",
+ "modelAsString": true
+ }
+ },
+ "currentStage": {
+ "description": "Current stage of the update operation.",
+ "enum": [
+ "Unknown",
+ "Initial",
+ "ScanStarted",
+ "ScanComplete",
+ "ScanFailed",
+ "DownloadStarted",
+ "DownloadComplete",
+ "DownloadFailed",
+ "InstallStarted",
+ "InstallComplete",
+ "InstallFailed",
+ "RebootInitiated",
+ "Success",
+ "Failure",
+ "RescanStarted",
+ "RescanComplete",
+ "RescanFailed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "UpdateOperationStage",
+ "modelAsString": true
+ }
+ },
+ "downloadProgress": {
+ "$ref": "#/definitions/UpdateDownloadProgress",
+ "description": "The download progress.",
+ "readOnly": true
+ },
+ "installProgress": {
+ "$ref": "#/definitions/UpdateInstallProgress",
+ "description": "The install progress.",
+ "readOnly": true
+ },
+ "totalRefreshErrors": {
+ "format": "int32",
+ "description": "Total number of errors encountered during the refresh process.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "errorManifestFile": {
+ "description": "Local share/remote container relative path to the error manifest file of the refresh.",
+ "type": "string",
+ "readOnly": true
+ },
+ "refreshedEntityId": {
+ "description": "ARM ID of the entity that was refreshed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "folder": {
+ "description": "If only subfolders need to be refreshed, then the subfolder path inside the share or container. (The path is empty if there are no subfolders.)",
+ "type": "string"
+ }
+ }
+ },
+ "KubernetesClusterInfo": {
+ "description": "Kubernetes cluster configuration",
+ "required": [
+ "version"
+ ],
+ "type": "object",
+ "properties": {
+ "etcdInfo": {
+ "$ref": "#/definitions/EtcdInfo",
+ "description": "Etcd configuration",
+ "readOnly": true
+ },
+ "nodes": {
+ "description": "Kubernetes cluster nodes",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeInfo"
+ },
+ "readOnly": true
+ },
+ "version": {
+ "description": "Kubernetes cluster version",
+ "type": "string"
+ }
+ }
+ },
+ "KubernetesIPConfiguration": {
+ "description": "Kubernetes node IP configuration",
+ "type": "object",
+ "properties": {
+ "port": {
+ "description": "Port of the Kubernetes node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "ipAddress": {
+ "description": "IP address of the Kubernetes node.",
+ "type": "string"
+ }
+ }
+ },
+ "KubernetesRole": {
+ "description": "Kubernetes role.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Role"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/KubernetesRoleProperties",
+ "description": "Properties specific to Kubernetes role.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "Kubernetes"
+ },
+ "KubernetesRoleCompute": {
+ "description": "Kubernetes role compute resource",
+ "required": [
+ "vmProfile"
+ ],
+ "type": "object",
+ "properties": {
+ "vmProfile": {
+ "description": "VM profile",
+ "type": "string"
+ },
+ "memoryInBytes": {
+ "format": "int64",
+ "description": "Memory in bytes",
+ "type": "integer",
+ "readOnly": true
+ },
+ "processorCount": {
+ "format": "int32",
+ "description": "Processor count",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "KubernetesRoleNetwork": {
+ "description": "Kubernetes role network resource",
+ "type": "object",
+ "properties": {
+ "cniConfig": {
+ "$ref": "#/definitions/CniConfig",
+ "description": "Cni configuration",
+ "readOnly": true
+ },
+ "loadBalancerConfig": {
+ "$ref": "#/definitions/LoadBalancerConfig",
+ "description": "Load balancer configuration",
+ "readOnly": true
+ }
+ }
+ },
+ "KubernetesRoleProperties": {
+ "description": "Kubernetes role properties.",
+ "required": [
+ "hostPlatform",
+ "kubernetesClusterInfo",
+ "kubernetesRoleResources",
+ "roleStatus"
+ ],
+ "type": "object",
+ "properties": {
+ "hostPlatform": {
+ "description": "Host OS supported by the Kubernetes role.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PlatformType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "State of Kubernetes deployment",
+ "enum": [
+ "Invalid",
+ "Creating",
+ "Created",
+ "Updating",
+ "Reconfiguring",
+ "Failed",
+ "Deleting"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "KubernetesState",
+ "modelAsString": true
+ }
+ },
+ "hostPlatformType": {
+ "description": "Platform where the runtime is hosted.",
+ "enum": [
+ "KubernetesCluster",
+ "LinuxVM"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "HostPlatformType",
+ "modelAsString": true
+ }
+ },
+ "kubernetesClusterInfo": {
+ "$ref": "#/definitions/KubernetesClusterInfo",
+ "description": "Kubernetes cluster configuration"
+ },
+ "kubernetesRoleResources": {
+ "$ref": "#/definitions/KubernetesRoleResources",
+ "description": "Kubernetes role resources"
+ },
+ "roleStatus": {
+ "description": "Role status.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "KubernetesRoleResources": {
+ "description": "Kubernetes role resources",
+ "required": [
+ "compute"
+ ],
+ "type": "object",
+ "properties": {
+ "storage": {
+ "$ref": "#/definitions/KubernetesRoleStorage",
+ "description": "Kubernetes role storage resource"
+ },
+ "compute": {
+ "$ref": "#/definitions/KubernetesRoleCompute",
+ "description": "Kubernetes role compute resource"
+ },
+ "network": {
+ "$ref": "#/definitions/KubernetesRoleNetwork",
+ "description": "Kubernetes role network resource",
+ "readOnly": true
+ }
+ }
+ },
+ "KubernetesRoleStorage": {
+ "description": "Kubernetes role storage resource",
+ "type": "object",
+ "properties": {
+ "storageClasses": {
+ "description": "Kubernetes storage class info.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KubernetesRoleStorageClassInfo"
+ },
+ "readOnly": true
+ },
+ "endpoints": {
+ "description": "Mount points of shares in role(s).",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MountPointMap"
+ }
+ }
+ }
+ },
+ "KubernetesRoleStorageClassInfo": {
+ "description": "Kubernetes storage class info.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Storage class name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Storage class type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "posixCompliant": {
+ "description": "If provisioned storage is posix compliant.",
+ "enum": [
+ "Invalid",
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PosixComplianceStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "LoadBalancerConfig": {
+ "description": "Load balancer configuration",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Load balancer type",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "Load balancer version",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "MECRole": {
+ "description": "MEC role.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Role"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MECRoleProperties",
+ "description": "Properties specific to MEC role.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "MEC"
+ },
+ "MECRoleProperties": {
+ "description": "MEC role properties.",
+ "required": [
+ "roleStatus"
+ ],
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Activation key of the MEC."
+ },
+ "controllerEndpoint": {
+ "description": "Controller Endpoint.",
+ "type": "string"
+ },
+ "resourceUniqueId": {
+ "description": "Unique Id of the Resource.",
+ "type": "string"
+ },
+ "roleStatus": {
+ "description": "Role status.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "MetricConfiguration": {
+ "description": "Metric configuration.",
+ "required": [
+ "resourceId",
+ "counterSets"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Resource ID on which the metrics should be pushed.",
+ "type": "string"
+ },
+ "mdmAccount": {
+ "description": "The MDM account to which the counters should be pushed.",
+ "type": "string"
+ },
+ "metricNameSpace": {
+ "description": "The MDM namespace to which the counters should be pushed. This is required if MDMAccount is specified",
+ "type": "string"
+ },
+ "counterSets": {
+ "description": "Host name for the IoT hub associated to the device.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricCounterSet"
+ }
+ }
+ }
+ },
+ "MetricCounter": {
+ "description": "The metric counter",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The counter name.",
+ "type": "string"
+ },
+ "instance": {
+ "description": "The instance from which counter should be collected.",
+ "type": "string"
+ },
+ "dimensionFilter": {
+ "description": "The dimension filter.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricDimension"
+ }
+ },
+ "additionalDimensions": {
+ "description": "The additional dimensions to be added to metric.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricDimension"
+ }
+ }
+ }
+ },
+ "MetricCounterSet": {
+ "description": "The metric counter set",
+ "required": [
+ "counters"
+ ],
+ "type": "object",
+ "properties": {
+ "counters": {
+ "description": "The counters that should be collected in this set.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricCounter"
+ }
+ }
+ }
+ },
+ "MetricDimension": {
+ "description": "The metric dimension",
+ "required": [
+ "sourceType",
+ "sourceName"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceType": {
+ "description": "The dimension type.",
+ "type": "string"
+ },
+ "sourceName": {
+ "description": "The dimension value.",
+ "type": "string"
+ }
+ }
+ },
+ "MetricDimension_V1": {
+ "description": "Metric Dimension v1.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the metrics dimension.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Display name of the metrics dimension.",
+ "type": "string"
+ },
+ "toBeExportedForShoebox": {
+ "description": "To be exported to shoe box.",
+ "type": "boolean"
+ }
+ }
+ },
+ "MetricSpecification_V1": {
+ "description": "Metric specification version 1.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the metric.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Display name of the metric.",
+ "type": "string"
+ },
+ "displayDescription": {
+ "description": "Description of the metric to be displayed.",
+ "type": "string"
+ },
+ "unit": {
+ "description": "Metric units.",
+ "enum": [
+ "NotSpecified",
+ "Percent",
+ "Count",
+ "Seconds",
+ "Milliseconds",
+ "Bytes",
+ "BytesPerSecond",
+ "CountPerSecond"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricUnit",
+ "modelAsString": true
+ }
+ },
+ "aggregationType": {
+ "description": "Metric aggregation type.",
+ "enum": [
+ "NotSpecified",
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricAggregationType",
+ "modelAsString": true
+ }
+ },
+ "dimensions": {
+ "description": "Metric dimensions, other than default dimension which is resource.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricDimension_V1"
+ }
+ },
+ "fillGapWithZero": {
+ "description": "Set true to fill the gaps with zero.",
+ "type": "boolean"
+ },
+ "category": {
+ "description": "Metric category.",
+ "enum": [
+ "Capacity",
+ "Transaction"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricCategory",
+ "modelAsString": true
+ }
+ },
+ "resourceIdDimensionNameOverride": {
+ "description": "Resource name override.",
+ "type": "string"
+ },
+ "supportedTimeGrainTypes": {
+ "description": "Support granularity of metrics.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "PT1M",
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "PT1D"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TimeGrain",
+ "modelAsString": true
+ }
+ }
+ },
+ "supportedAggregationTypes": {
+ "description": "Support metric aggregation type.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "NotSpecified",
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricAggregationType",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "MonitoringMetricConfiguration": {
+ "description": "The metric setting details for the role",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "MonitoringConfiguration on ASE device",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/MonitoringMetricConfigurationProperties",
+ "description": "The metric setting properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "MonitoringMetricConfigurationList": {
+ "description": "Collection of metric configurations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of metric configurations.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MonitoringMetricConfiguration"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "MonitoringMetricConfigurationProperties": {
+ "description": "Metrics properties",
+ "required": [
+ "metricConfigurations"
+ ],
+ "type": "object",
+ "properties": {
+ "metricConfigurations": {
+ "description": "The metrics configuration details",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricConfiguration"
+ }
+ }
+ }
+ },
+ "MountPointMap": {
+ "description": "The share mount point.",
+ "required": [
+ "shareId"
+ ],
+ "type": "object",
+ "properties": {
+ "shareId": {
+ "description": "ID of the share mounted to the role VM.",
+ "type": "string"
+ },
+ "roleId": {
+ "description": "ID of the role to which share is mounted.",
+ "type": "string",
+ "readOnly": true
+ },
+ "mountPoint": {
+ "description": "Mount point for the share.",
+ "type": "string",
+ "readOnly": true
+ },
+ "mountType": {
+ "description": "Mounting type.",
+ "enum": [
+ "Volume",
+ "HostPath"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "MountType",
+ "modelAsString": true
+ }
+ },
+ "roleType": {
+ "description": "Role type.",
+ "enum": [
+ "IOT",
+ "ASA",
+ "Functions",
+ "Cognitive",
+ "MEC",
+ "CloudEdgeManagement",
+ "Kubernetes"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RoleTypes",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "NetworkAdapter": {
+ "description": "Represents the networkAdapter on a device.",
+ "type": "object",
+ "properties": {
+ "adapterId": {
+ "description": "Instance ID of network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "adapterPosition": {
+ "$ref": "#/definitions/NetworkAdapterPosition",
+ "description": "Hardware position of network adapter.",
+ "readOnly": true
+ },
+ "index": {
+ "format": "int32",
+ "description": "Logical index of the adapter.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "nodeId": {
+ "description": "Node ID of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "networkAdapterName": {
+ "description": "Network adapter name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "label": {
+ "description": "Hardware label for the adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "macAddress": {
+ "description": "MAC address.",
+ "type": "string",
+ "readOnly": true
+ },
+ "linkSpeed": {
+ "format": "int64",
+ "description": "Link speed.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Value indicating whether this adapter is valid.",
+ "enum": [
+ "Inactive",
+ "Active"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "NetworkAdapterStatus",
+ "modelAsString": true
+ }
+ },
+ "rdmaStatus": {
+ "description": "Value indicating whether this adapter is RDMA capable.",
+ "enum": [
+ "Incapable",
+ "Capable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NetworkAdapterRDMAStatus",
+ "modelAsString": true
+ }
+ },
+ "dhcpStatus": {
+ "description": "Value indicating whether this adapter has DHCP enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NetworkAdapterDHCPStatus",
+ "modelAsString": true
+ }
+ },
+ "ipv4Configuration": {
+ "$ref": "#/definitions/Ipv4Config",
+ "description": "The IPv4 configuration of the network adapter.",
+ "readOnly": true
+ },
+ "ipv6Configuration": {
+ "$ref": "#/definitions/Ipv6Config",
+ "description": "The IPv6 configuration of the network adapter.",
+ "readOnly": true
+ },
+ "ipv6LinkLocalAddress": {
+ "description": "The IPv6 local address.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dnsServers": {
+ "description": "The list of DNS Servers of the device.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "NetworkAdapterPosition": {
+ "description": "The network adapter position.",
+ "type": "object",
+ "properties": {
+ "networkGroup": {
+ "description": "The network group.",
+ "enum": [
+ "None",
+ "NonRDMA",
+ "RDMA"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "NetworkGroup",
+ "modelAsString": true
+ }
+ },
+ "port": {
+ "format": "int32",
+ "description": "The port.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "NetworkSettings": {
+ "description": "The network settings of a device.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "NetworkSettings on ASE device",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/NetworkSettingsProperties",
+ "description": "The properties of network settings of a device.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "NetworkSettingsProperties": {
+ "description": "The properties of network settings.",
+ "type": "object",
+ "properties": {
+ "networkAdapters": {
+ "description": "The network adapter list on the device.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkAdapter"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "Node": {
+ "description": "Represents a single node in a Data box Edge/Gateway device\r\nGateway devices, standalone Edge devices and a single node cluster Edge device will all have 1 node\r\nMulti-node Edge devices will have more than 1 nodes",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/NodeProperties",
+ "description": "The properties of the node",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "NodeInfo": {
+ "description": "Kubernetes node info",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Node name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Node type - Master/Worker",
+ "enum": [
+ "Invalid",
+ "Master",
+ "Worker"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "KubernetesNodeType",
+ "modelAsString": true
+ }
+ },
+ "ipConfiguration": {
+ "description": "IP Configuration of the Kubernetes node.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KubernetesIPConfiguration"
+ }
+ }
+ }
+ },
+ "NodeList": {
+ "description": "Collection of Nodes.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of Nodes.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Node"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "NodeProperties": {
+ "description": "This class represents the nodes in a highly available cluster",
+ "type": "object",
+ "properties": {
+ "nodeStatus": {
+ "description": "The current status of the individual node",
+ "enum": [
+ "Unknown",
+ "Up",
+ "Down",
+ "Rebooting",
+ "ShuttingDown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "NodeStatus",
+ "modelAsString": true
+ }
+ },
+ "nodeChassisSerialNumber": {
+ "description": "Serial number of the Chassis",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeSerialNumber": {
+ "description": "Serial number of the individual node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeDisplayName": {
+ "description": "Display Name of the individual node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeFriendlySoftwareVersion": {
+ "description": "Friendly software version name that is currently installed on the node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeHcsVersion": {
+ "description": "HCS version that is currently installed on the node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeInstanceId": {
+ "description": "Guid instance id of the node",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Operation": {
+ "description": "Operations.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation.",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Is data action.",
+ "type": "boolean"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Properties displayed for the operation."
+ },
+ "origin": {
+ "description": "Origin of the operation.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Operation properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display properties.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Provider name.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "The type of resource in which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation to be performed on the resource.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation to be performed.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Operation properties.",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ServiceSpecification",
+ "description": "Service specification."
+ }
+ }
+ },
+ "OperationsList": {
+ "description": "The list of operations used for the discovery of available provider operations.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string"
+ }
+ }
+ },
+ "Order": {
+ "description": "The order details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Order configured on ASE resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "kind": {
+ "description": "It specify the order api version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "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.",
+ "type": "object",
+ "properties": {
+ "orderId": {
+ "description": "It specify the order resource id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "contactInformation": {
+ "$ref": "#/definitions/ContactDetails",
+ "description": "The contact details."
+ },
+ "shippingAddress": {
+ "$ref": "#/definitions/Address",
+ "description": "The shipping address."
+ },
+ "currentStatus": {
+ "$ref": "#/definitions/OrderStatus",
+ "description": "Current status of the order.",
+ "readOnly": true
+ },
+ "orderHistory": {
+ "description": "List of status changes in the order.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OrderStatus"
+ },
+ "readOnly": true
+ },
+ "serialNumber": {
+ "description": "Serial number of the device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deliveryTrackingInfo": {
+ "description": "Tracking information for the package delivered to the customer whether it has an original or a replacement device.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackingInfo"
+ },
+ "readOnly": true
+ },
+ "returnTrackingInfo": {
+ "description": "Tracking information for the package returned from the customer whether it has an original or a replacement device.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackingInfo"
+ },
+ "readOnly": true
+ },
+ "shipmentType": {
+ "description": "ShipmentType of the order",
+ "enum": [
+ "NotApplicable",
+ "ShippedToCustomer",
+ "SelfPickup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShipmentType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "OrderStatus": {
+ "description": "Represents a single status change.",
+ "required": [
+ "status"
+ ],
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of the order as per the allowed status types.",
+ "enum": [
+ "Untracked",
+ "AwaitingFulfillment",
+ "AwaitingPreparation",
+ "AwaitingShipment",
+ "Shipped",
+ "Arriving",
+ "Delivered",
+ "ReplacementRequested",
+ "LostDevice",
+ "Declined",
+ "ReturnInitiated",
+ "AwaitingReturnShipment",
+ "ShippedBack",
+ "CollectedAtMicrosoft",
+ "AwaitingPickup",
+ "PickupCompleted",
+ "AwaitingDrop"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OrderState",
+ "modelAsString": true
+ }
+ },
+ "updateDateTime": {
+ "format": "date-time",
+ "description": "Time of status update.",
+ "type": "string",
+ "readOnly": true
+ },
+ "comments": {
+ "description": "Comments related to this status change.",
+ "type": "string"
+ },
+ "trackingInformation": {
+ "$ref": "#/definitions/TrackingInfo",
+ "description": "Tracking information related to the state in the ordering flow",
+ "readOnly": true
+ },
+ "additionalOrderDetails": {
+ "description": "Dictionary to hold generic information which is not stored\r\nby the already existing properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "PeriodicTimerEventTrigger": {
+ "description": "Trigger details.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Trigger"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PeriodicTimerProperties",
+ "description": "Periodic timer trigger properties.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "PeriodicTimerEvent"
+ },
+ "PeriodicTimerProperties": {
+ "description": "Periodic timer trigger properties.",
+ "required": [
+ "sourceInfo",
+ "sinkInfo"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceInfo": {
+ "$ref": "#/definitions/PeriodicTimerSourceInfo",
+ "description": "Periodic timer details."
+ },
+ "sinkInfo": {
+ "$ref": "#/definitions/RoleSinkInfo",
+ "description": "Role Sink information."
+ },
+ "customContextTag": {
+ "description": "A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module.",
+ "maxLength": 192,
+ "type": "string"
+ }
+ }
+ },
+ "PeriodicTimerSourceInfo": {
+ "description": "Periodic timer event source.",
+ "required": [
+ "startTime",
+ "schedule"
+ ],
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "format": "date-time",
+ "description": "The time of the day that results in a valid trigger. Schedule is computed with reference to the time specified upto seconds. If timezone is not specified the time will considered to be in device timezone. The value will always be returned as UTC time.",
+ "type": "string"
+ },
+ "schedule": {
+ "description": "Periodic frequency at which timer event needs to be raised. Supports daily, hourly, minutes, and seconds.",
+ "type": "string"
+ },
+ "topic": {
+ "description": "Topic where periodic events are published to IoT device.",
+ "type": "string"
+ }
+ }
+ },
+ "ProactiveLogCollectionSettingsProperties": {
+ "description": "The properties of proactive log collection settings.",
+ "required": [
+ "userConsent"
+ ],
+ "type": "object",
+ "properties": {
+ "userConsent": {
+ "description": "Proactive diagnostic collection consent flag",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProactiveDiagnosticsConsent",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RawCertificateData": {
+ "description": "Raw Certificate Data.",
+ "required": [
+ "certificate"
+ ],
+ "type": "object",
+ "properties": {
+ "authenticationType": {
+ "description": "The authentication type.",
+ "enum": [
+ "Invalid",
+ "AzureActiveDirectory"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "certificate": {
+ "description": "The base64 encoded certificate raw data.",
+ "type": "string"
+ }
+ }
+ },
+ "RefreshDetails": {
+ "description": "Fields for tracking refresh job on the share or container.",
+ "type": "object",
+ "properties": {
+ "inProgressRefreshJobId": {
+ "description": "If a refresh job is currently in progress on this share or container, this field indicates the ARM resource ID of that job. The field is empty if no job is in progress.",
+ "type": "string"
+ },
+ "lastCompletedRefreshJobTimeInUTC": {
+ "format": "date-time",
+ "description": "Indicates the completed time for the last refresh job on this particular share or container, if any.This could be a failed job or a successful job.",
+ "type": "string"
+ },
+ "errorManifestFile": {
+ "description": "Indicates the relative path of the error xml for the last refresh job on this particular share or container, if any. This could be a failed job or a successful job.",
+ "type": "string"
+ },
+ "lastJob": {
+ "description": "Indicates the id of the last refresh job on this particular share or container,if any. This could be a failed job or a successful job.",
+ "type": "string"
+ }
+ }
+ },
+ "RemoteSupportSettings": {
+ "description": "RemoteApplicationType for which remote support settings is being modified",
+ "type": "object",
+ "properties": {
+ "remoteApplicationType": {
+ "description": "Remote application type",
+ "enum": [
+ "Powershell",
+ "WAC",
+ "LocalUI",
+ "AllApplications"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RemoteApplicationType",
+ "modelAsString": true
+ }
+ },
+ "accessLevel": {
+ "description": "Access level allowed for this remote application type",
+ "enum": [
+ "None",
+ "ReadOnly",
+ "ReadWrite",
+ "FullAccess"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccessLevel",
+ "modelAsString": true
+ }
+ },
+ "expirationTimeStampInUTC": {
+ "format": "date-time",
+ "description": "Expiration time stamp",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceIdentity": {
+ "description": "Msi identity details of the resource",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Identity type",
+ "enum": [
+ "None",
+ "SystemAssigned",
+ "UserAssigned"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MsiIdentityType",
+ "modelAsString": true
+ }
+ },
+ "principalId": {
+ "description": "Service Principal Id backing the Msi",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "Home Tenant Id",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ResourceMoveDetails": {
+ "description": "Fields for tracking resource move",
+ "type": "object",
+ "properties": {
+ "operationInProgress": {
+ "description": "Denotes whether move operation is in progress",
+ "enum": [
+ "None",
+ "ResourceMoveInProgress",
+ "ResourceMoveFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceMoveStatus",
+ "modelAsString": true
+ }
+ },
+ "operationInProgressLockTimeoutInUTC": {
+ "format": "date-time",
+ "description": "Denotes the timeout of the operation to finish",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceTypeSku": {
+ "description": "Resource type Sku object",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The resource type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "skus": {
+ "description": "The skus.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuInformation"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "Role": {
+ "description": "Compute role.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "description": "Role type.",
+ "enum": [
+ "IOT",
+ "ASA",
+ "Functions",
+ "Cognitive",
+ "MEC",
+ "CloudEdgeManagement",
+ "Kubernetes"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleTypes",
+ "modelAsString": true
+ }
+ },
+ "systemData": {
+ "description": "Role configured on ASE resource",
+ "$ref": "#/definitions/SystemData"
+ }
+ },
+ "discriminator": "kind"
+ },
+ "RoleList": {
+ "description": "Collection of all the roles on the Data Box Edge device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Value.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Role"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "RoleSinkInfo": {
+ "description": "Compute role against which events will be raised.",
+ "required": [
+ "roleId"
+ ],
+ "type": "object",
+ "properties": {
+ "roleId": {
+ "description": "Compute role ID.",
+ "type": "string"
+ }
+ }
+ },
+ "Secret": {
+ "description": "Holds device secret either as a KeyVault reference or as an encrypted value.",
+ "type": "object",
+ "properties": {
+ "encryptedSecret": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Encrypted (using device public key) secret value."
+ },
+ "keyVaultId": {
+ "description": "Id of the Key-Vault where secret is stored (ex: secrets/AuthClientSecret/82ef4346187a4033a10d629cde07d740).",
+ "type": "string"
+ }
+ }
+ },
+ "SecuritySettings": {
+ "description": "The security settings of a device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SecuritySettingsProperties",
+ "description": "Properties of the security settings.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "SecuritySettingsProperties": {
+ "description": "The properties of security settings.",
+ "required": [
+ "deviceAdminPassword"
+ ],
+ "type": "object",
+ "properties": {
+ "deviceAdminPassword": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Device administrator password as an encrypted string (encrypted using RSA PKCS #1) is used to sign into the local web UI of the device. The Actual password should have at least 8 characters that are a combination of uppercase, lowercase, numeric, and special characters."
+ }
+ }
+ },
+ "ServiceSpecification": {
+ "description": "Service specification.",
+ "type": "object",
+ "properties": {
+ "metricSpecifications": {
+ "description": "Metric specification as defined by shoebox.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricSpecification_V1"
+ }
+ }
+ }
+ },
+ "Share": {
+ "description": "Represents a share on the Data Box Edge/Gateway device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Share on ASE device",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/ShareProperties",
+ "description": "The share properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ShareAccessRight": {
+ "description": "Specifies the mapping between this particular user and the type of access he has on shares on this device.",
+ "required": [
+ "shareId",
+ "accessType"
+ ],
+ "type": "object",
+ "properties": {
+ "shareId": {
+ "description": "The share ID.",
+ "type": "string"
+ },
+ "accessType": {
+ "description": "Type of access to be allowed on the share for this user.",
+ "enum": [
+ "Change",
+ "Read",
+ "Custom"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareAccessType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ShareList": {
+ "description": "Collection of all the shares on the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of shares.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Share"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ShareProperties": {
+ "description": "The share properties.",
+ "required": [
+ "shareStatus",
+ "monitoringStatus",
+ "accessProtocol"
+ ],
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description for the share.",
+ "type": "string"
+ },
+ "shareStatus": {
+ "description": "Current status of the share.",
+ "enum": [
+ "Offline",
+ "Unknown",
+ "OK",
+ "Updating",
+ "NeedsAttention"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareStatus",
+ "modelAsString": true
+ }
+ },
+ "monitoringStatus": {
+ "description": "Current monitoring status of the share.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MonitoringStatus",
+ "modelAsString": true
+ }
+ },
+ "azureContainerInfo": {
+ "$ref": "#/definitions/AzureContainerInfo",
+ "description": "Azure container mapping for the share."
+ },
+ "accessProtocol": {
+ "description": "Access protocol to be used by the share.",
+ "enum": [
+ "SMB",
+ "NFS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareAccessProtocol",
+ "modelAsString": true
+ }
+ },
+ "userAccessRights": {
+ "description": "Mapping of users and corresponding access rights on the share (required for SMB protocol).",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserAccessRight"
+ }
+ },
+ "clientAccessRights": {
+ "description": "List of IP addresses and corresponding access rights on the share(required for NFS protocol).",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClientAccessRight"
+ }
+ },
+ "refreshDetails": {
+ "$ref": "#/definitions/RefreshDetails",
+ "description": "Details of the refresh job on this share."
+ },
+ "shareMappings": {
+ "description": "Share mount point to the role.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MountPointMap"
+ },
+ "readOnly": true
+ },
+ "dataPolicy": {
+ "description": "Data policy of the share.",
+ "enum": [
+ "Cloud",
+ "Local"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataPolicy",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Sku": {
+ "description": "The SKU type.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "SKU name.",
+ "enum": [
+ "Gateway",
+ "Edge",
+ "TEA_1Node",
+ "TEA_1Node_UPS",
+ "TEA_1Node_Heater",
+ "TEA_1Node_UPS_Heater",
+ "TEA_4Node_Heater",
+ "TEA_4Node_UPS_Heater",
+ "TMA",
+ "TDC",
+ "TCA_Small",
+ "GPU",
+ "TCA_Large",
+ "EdgeP_Base",
+ "EdgeP_High",
+ "EdgePR_Base",
+ "EdgePR_Base_UPS",
+ "EP2_64_1VPU_W",
+ "EP2_128_1T4_Mx1_W",
+ "EP2_256_2T4_W",
+ "EdgeMR_Mini",
+ "RCA_Small",
+ "RCA_Large",
+ "RDC",
+ "Management"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "description": "The SKU tier. This is based on the SKU name.",
+ "enum": [
+ "Standard"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "SkuCapability": {
+ "description": "The metadata to describe the capability.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "An invariant to describe the feature.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "An invariant if the feature is measured by quantity.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuCost": {
+ "description": "The metadata for retrieving price info.",
+ "type": "object",
+ "properties": {
+ "meterId": {
+ "description": "Used for querying price from commerce.",
+ "type": "string",
+ "readOnly": true
+ },
+ "quantity": {
+ "format": "int64",
+ "description": "The cost quantity.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "extendedUnit": {
+ "description": "The extended unit.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuInformation": {
+ "description": "Sku information",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The sku name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tier": {
+ "description": "The sku tier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "kind": {
+ "description": "The sku kind.",
+ "type": "string",
+ "readOnly": true
+ },
+ "family": {
+ "description": "The Sku family.",
+ "type": "string",
+ "readOnly": true
+ },
+ "costs": {
+ "description": "The pricing info of the Sku.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCost"
+ },
+ "readOnly": true
+ },
+ "locations": {
+ "description": "The locations where Sku is available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "locationInfo": {
+ "description": "The locations where Sku is available with zones and sites info",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuLocationInfo"
+ },
+ "readOnly": true
+ },
+ "requiredQuotaIds": {
+ "description": "The required quotaIds for the sku to be available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredFeatures": {
+ "description": "The required features for the sku to be available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuInformationList": {
+ "description": "List of SKU Information objects",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of ResourceTypeSku objects",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceTypeSku"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Links to the next set of results",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuLocationInfo": {
+ "description": "The location info.",
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "The location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "zones": {
+ "description": "The zones.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "sites": {
+ "description": "The sites.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccount": {
+ "description": "Represents a Storage Account on the Data Box Edge/Gateway device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "StorageAccount object on ASE device",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/StorageAccountProperties",
+ "description": "The Storage Account properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "StorageAccountCredential": {
+ "description": "The storage account credential.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "StorageAccountCredential object",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/StorageAccountCredentialProperties",
+ "description": "The storage account credential properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "StorageAccountCredentialList": {
+ "description": "The collection of storage account credentials.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageAccountCredential"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccountCredentialProperties": {
+ "description": "The storage account credential properties.",
+ "required": [
+ "alias",
+ "sslStatus",
+ "accountType"
+ ],
+ "type": "object",
+ "properties": {
+ "alias": {
+ "description": "Alias for the storage account.",
+ "type": "string"
+ },
+ "userName": {
+ "description": "Username for the storage account.",
+ "type": "string"
+ },
+ "accountKey": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Encrypted storage key."
+ },
+ "connectionString": {
+ "description": "Connection string for the storage account. Use this string if username and account key are not specified.",
+ "type": "string"
+ },
+ "sslStatus": {
+ "description": "Signifies whether SSL needs to be enabled or not.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SSLStatus",
+ "modelAsString": true
+ }
+ },
+ "blobDomainName": {
+ "description": "Blob end point for private clouds.",
+ "type": "string"
+ },
+ "accountType": {
+ "description": "Type of storage accessed on the storage account.",
+ "enum": [
+ "GeneralPurposeStorage",
+ "BlobStorage"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccountType",
+ "modelAsString": true
+ }
+ },
+ "storageAccountId": {
+ "description": "Id of the storage account.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageAccountList": {
+ "description": "Collection of all the Storage Accounts on the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of storageAccounts.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageAccount"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccountProperties": {
+ "description": "The storage account properties.",
+ "required": [
+ "dataPolicy"
+ ],
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description for the storage Account.",
+ "type": "string"
+ },
+ "storageAccountStatus": {
+ "description": "Current status of the storage account",
+ "enum": [
+ "OK",
+ "Offline",
+ "Unknown",
+ "Updating",
+ "NeedsAttention"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageAccountStatus",
+ "modelAsString": true
+ }
+ },
+ "dataPolicy": {
+ "description": "Data policy of the storage Account.",
+ "enum": [
+ "Cloud",
+ "Local"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataPolicy",
+ "modelAsString": true
+ }
+ },
+ "storageAccountCredentialId": {
+ "description": "Storage Account Credential Id",
+ "type": "string"
+ },
+ "blobEndpoint": {
+ "description": "BlobEndpoint of Storage Account",
+ "type": "string",
+ "readOnly": true
+ },
+ "containerCount": {
+ "format": "int32",
+ "description": "The Container Count. Present only for Storage Accounts with DataPolicy set to Cloud.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "SubscriptionProperties": {
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "type": "string"
+ },
+ "locationPlacementId": {
+ "type": "string"
+ },
+ "quotaId": {
+ "type": "string"
+ },
+ "serializedDetails": {
+ "type": "string"
+ },
+ "registeredFeatures": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubscriptionRegisteredFeatures"
+ }
+ }
+ }
+ },
+ "SubscriptionRegisteredFeatures": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ }
+ }
+ },
+ "SupportPackageRequestProperties": {
+ "description": "The share properties.",
+ "type": "object",
+ "properties": {
+ "minimumTimeStamp": {
+ "format": "date-time",
+ "description": "Start of the timespan of the log collection",
+ "type": "string"
+ },
+ "maximumTimeStamp": {
+ "format": "date-time",
+ "description": "MaximumTimeStamp until where logs need to be collected",
+ "type": "string"
+ },
+ "include": {
+ "description": "Type of files, which need to be included in the logs\r\nThis will contain the type of logs (Default/DefaultWithDumps/None/All/DefaultWithArchived)\r\nor a comma separated list of log types that are required",
+ "type": "string"
+ }
+ }
+ },
+ "SymmetricKey": {
+ "description": "Symmetric key for authentication.",
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Connection string based on the symmetric key."
+ }
+ }
+ },
+ "SystemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "The identity that created the resource."
+ },
+ "createdByType": {
+ "type": "string",
+ "description": "The type of identity that created the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC)."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "The identity that last modified the resource."
+ },
+ "lastModifiedByType": {
+ "type": "string",
+ "description": "The type of identity that last modified the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The type of identity that last modified the resource."
+ }
+ }
+ },
+ "TrackingInfo": {
+ "description": "Tracking courier information.",
+ "type": "object",
+ "properties": {
+ "serialNumber": {
+ "description": "Serial number of the device being tracked.",
+ "type": "string"
+ },
+ "carrierName": {
+ "description": "Name of the carrier used in the delivery.",
+ "type": "string"
+ },
+ "trackingId": {
+ "description": "Tracking ID of the shipment.",
+ "type": "string"
+ },
+ "trackingUrl": {
+ "description": "Tracking URL of the shipment.",
+ "type": "string"
+ }
+ }
+ },
+ "Trigger": {
+ "description": "Trigger details.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Trigger in DataBoxEdge Resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "kind": {
+ "description": "Trigger Kind.",
+ "enum": [
+ "FileEvent",
+ "PeriodicTimerEvent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TriggerEventType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "kind"
+ },
+ "TriggerList": {
+ "description": "Collection of all trigger on the data box edge device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of triggers.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Trigger"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "TriggerSupportPackageRequest": {
+ "description": "The request object for trigger support package.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SupportPackageRequestProperties",
+ "description": "The TriggerSupportPackageRequest properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UpdateDetails": {
+ "description": "Update Specific attributes",
+ "type": "object",
+ "properties": {
+ "updateTitle": {
+ "description": "Title of the Update",
+ "type": "string"
+ },
+ "updateSize": {
+ "format": "double",
+ "description": "Size of the update(In Bytes)",
+ "type": "number"
+ },
+ "updateType": {
+ "description": "Type of the Update",
+ "enum": [
+ "Software",
+ "Kubernetes",
+ "Firmware"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UpdateType",
+ "modelAsString": true
+ }
+ },
+ "targetVersion": {
+ "description": "Target Version number",
+ "type": "string"
+ },
+ "friendlyVersionNumber": {
+ "description": "Friendly Version Number",
+ "type": "string"
+ },
+ "estimatedInstallTimeInMins": {
+ "format": "int32",
+ "description": "Estimated Install Time for the update",
+ "type": "integer"
+ },
+ "rebootBehavior": {
+ "description": "Indicates if updates are available and at least one of the updates needs a reboot.",
+ "enum": [
+ "NeverReboots",
+ "RequiresReboot",
+ "RequestReboot"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InstallRebootBehavior",
+ "modelAsString": true
+ }
+ },
+ "installationImpact": {
+ "description": "Impact of Installing an updateType",
+ "enum": [
+ "None",
+ "DeviceRebooted",
+ "KubernetesWorkloadsDown"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InstallationImpact",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "Status of the update.",
+ "enum": [
+ "DownloadPending",
+ "DownloadStarted",
+ "DownloadCompleted",
+ "InstallStarted",
+ "InstallCompleted"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UpdateStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "UpdateDownloadProgress": {
+ "description": "Details about the download progress of update.",
+ "type": "object",
+ "properties": {
+ "downloadPhase": {
+ "description": "The download phase.",
+ "enum": [
+ "Unknown",
+ "Initializing",
+ "Downloading",
+ "Verifying"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DownloadPhase",
+ "modelAsString": true
+ }
+ },
+ "percentComplete": {
+ "format": "int32",
+ "description": "Percentage of completion.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalBytesToDownload": {
+ "format": "double",
+ "description": "Total bytes to download.",
+ "type": "number",
+ "readOnly": true
+ },
+ "totalBytesDownloaded": {
+ "format": "double",
+ "description": "Total bytes downloaded.",
+ "type": "number",
+ "readOnly": true
+ },
+ "numberOfUpdatesToDownload": {
+ "format": "int32",
+ "description": "Number of updates to download.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "numberOfUpdatesDownloaded": {
+ "format": "int32",
+ "description": "Number of updates downloaded.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateInstallProgress": {
+ "description": "Progress details during installation of updates.",
+ "type": "object",
+ "properties": {
+ "percentComplete": {
+ "format": "int32",
+ "description": "Percentage completed.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "numberOfUpdatesToInstall": {
+ "format": "int32",
+ "description": "Number of updates to install.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "numberOfUpdatesInstalled": {
+ "format": "int32",
+ "description": "Number of updates installed.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateSummary": {
+ "description": "Details about ongoing updates and availability of updates on the device.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "UpdateSummary Result",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/UpdateSummaryProperties",
+ "description": "The device update information summary.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UpdateSummaryProperties": {
+ "description": "The device update information summary.",
+ "type": "object",
+ "properties": {
+ "deviceVersionNumber": {
+ "description": "The current version of the device in format: 1.2.17312.13.\",",
+ "type": "string"
+ },
+ "friendlyDeviceVersionName": {
+ "description": "The current version of the device in text format.",
+ "type": "string"
+ },
+ "deviceLastScannedDateTime": {
+ "format": "date-time",
+ "description": "The last time when a scan was done on the device.",
+ "type": "string"
+ },
+ "lastCompletedScanJobDateTime": {
+ "format": "date-time",
+ "description": "The time when the last scan job was completed (success/cancelled/failed) on the appliance.",
+ "type": "string"
+ },
+ "lastSuccessfulScanJobTime": {
+ "format": "date-time",
+ "description": "Time when the last scan job is successfully completed.",
+ "type": "string"
+ },
+ "lastCompletedDownloadJobDateTime": {
+ "format": "date-time",
+ "description": "The time when the last Download job was completed (success/cancelled/failed) on the appliance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastCompletedDownloadJobId": {
+ "description": "JobId of the last ran download job.(Can be success/cancelled/failed)",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastDownloadJobStatus": {
+ "description": "JobStatus of the last ran download job.",
+ "enum": [
+ "Invalid",
+ "Running",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Paused",
+ "Scheduled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": true
+ }
+ },
+ "lastSuccessfulInstallJobDateTime": {
+ "format": "date-time",
+ "description": "The time when the Last Install job was completed successfully on the appliance",
+ "type": "string"
+ },
+ "lastCompletedInstallJobDateTime": {
+ "format": "date-time",
+ "description": "The time when the last Install job was completed (success/cancelled/failed) on the appliance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastCompletedInstallJobId": {
+ "description": "JobId of the last ran install job.(Can be success/cancelled/failed)",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastInstallJobStatus": {
+ "description": "JobStatus of the last ran install job.",
+ "enum": [
+ "Invalid",
+ "Running",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Paused",
+ "Scheduled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": true
+ }
+ },
+ "totalNumberOfUpdatesAvailable": {
+ "format": "int32",
+ "description": "The number of updates available for the current device version as per the last device scan.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalNumberOfUpdatesPendingDownload": {
+ "format": "int32",
+ "description": "The total number of items pending download.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalNumberOfUpdatesPendingInstall": {
+ "format": "int32",
+ "description": "The total number of items pending install.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "rebootBehavior": {
+ "description": "Indicates if updates are available and at least one of the updates needs a reboot.",
+ "enum": [
+ "NeverReboots",
+ "RequiresReboot",
+ "RequestReboot"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "InstallRebootBehavior",
+ "modelAsString": true
+ }
+ },
+ "ongoingUpdateOperation": {
+ "description": "The current update operation.",
+ "enum": [
+ "None",
+ "Scan",
+ "Download",
+ "Install"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "UpdateOperation",
+ "modelAsString": true
+ }
+ },
+ "inProgressDownloadJobId": {
+ "description": "The job ID of the download job in progress.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inProgressInstallJobId": {
+ "description": "The job ID of the install job in progress.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inProgressDownloadJobStartedDateTime": {
+ "format": "date-time",
+ "description": "The time when the currently running download (if any) started.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inProgressInstallJobStartedDateTime": {
+ "format": "date-time",
+ "description": "The time when the currently running install (if any) started.",
+ "type": "string",
+ "readOnly": true
+ },
+ "updateTitles": {
+ "description": "The list of updates available for install.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "updates": {
+ "description": "The list of updates available for install.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpdateDetails"
+ },
+ "readOnly": true
+ },
+ "totalUpdateSizeInBytes": {
+ "format": "double",
+ "description": "The total size of updates available for download in bytes.",
+ "type": "number",
+ "readOnly": true
+ },
+ "totalTimeInMinutes": {
+ "format": "int32",
+ "description": "The total time in Minutes",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "UploadCertificateRequest": {
+ "description": "The upload certificate request.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RawCertificateData",
+ "description": "The Base 64 encoded certificate raw data.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UploadCertificateResponse": {
+ "description": "The upload registration certificate response.",
+ "type": "object",
+ "properties": {
+ "authType": {
+ "description": "Specifies authentication type.",
+ "enum": [
+ "Invalid",
+ "AzureActiveDirectory"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "resourceId": {
+ "description": "The resource ID of the Data Box Edge/Gateway device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "aadAuthority": {
+ "description": "Azure Active Directory tenant authority.",
+ "type": "string",
+ "readOnly": true
+ },
+ "aadTenantId": {
+ "description": "Azure Active Directory tenant ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "servicePrincipalClientId": {
+ "description": "Azure Active Directory service principal client ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "servicePrincipalObjectId": {
+ "description": "Azure Active Directory service principal object ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "azureManagementEndpointAudience": {
+ "description": "The azure management endpoint audience.",
+ "type": "string",
+ "readOnly": true
+ },
+ "aadAudience": {
+ "description": "Identifier of the target resource that is the recipient of the requested token.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "User": {
+ "description": "Represents a user who has access to one or more shares on the Data Box Edge/Gateway device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "User in DataBoxEdge Resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/UserProperties",
+ "description": "The storage account credential properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UserAccessRight": {
+ "description": "The mapping between a particular user and the access type on the SMB share.",
+ "required": [
+ "userId",
+ "accessType"
+ ],
+ "type": "object",
+ "properties": {
+ "userId": {
+ "description": "User ID (already existing in the device).",
+ "type": "string"
+ },
+ "accessType": {
+ "description": "Type of access to be allowed for the user.",
+ "enum": [
+ "Change",
+ "Read",
+ "Custom"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareAccessType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "UserList": {
+ "description": "Collection of users.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of users.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/User"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UserProperties": {
+ "description": "The user properties.",
+ "required": [
+ "userType"
+ ],
+ "type": "object",
+ "properties": {
+ "encryptedPassword": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "The password details."
+ },
+ "shareAccessRights": {
+ "description": "List of shares that the user has rights on. This field should not be specified during user creation.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareAccessRight"
+ },
+ "readOnly": true
+ },
+ "userType": {
+ "description": "Type of the user.",
+ "enum": [
+ "Share",
+ "LocalManagement",
+ "ARM"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UserType",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The API version.",
+ "required": true,
+ "type": "string"
+ },
+ "locationParameter": {
+ "name": "location",
+ "in": "path",
+ "description": "The location of the resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The resource group name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription ID.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "tags": []
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/AlertGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/AlertGet.json
new file mode 100644
index 000000000000..39fc26d82759
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/AlertGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/AlertGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/AlertGetAllInDevice.json
new file mode 100644
index 000000000000..f6aa0bd288a3
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/AlertGetAllInDevice.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/AvailableSkusList.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/AvailableSkusList.json
new file mode 100644
index 000000000000..25424cc9d016
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/AvailableSkusList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/BandwidthScheduleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthScheduleDelete.json
new file mode 100644
index 000000000000..c0cb0cdcf0e6
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthScheduleDelete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/BandwidthScheduleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthScheduleGet.json
new file mode 100644
index 000000000000..9c63f286b8c2
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthScheduleGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/BandwidthScheduleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthScheduleGetAllInDevice.json
new file mode 100644
index 000000000000..681c998bf618
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthScheduleGetAllInDevice.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/BandwidthSchedulePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthSchedulePut.json
new file mode 100644
index 000000000000..75ee120f3398
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/BandwidthSchedulePut.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/ContainerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerDelete.json
new file mode 100644
index 000000000000..1a618579f19c
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/ContainerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerGet.json
new file mode 100644
index 000000000000..08fab2369999
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/ContainerListAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerListAllInDevice.json
new file mode 100644
index 000000000000..73cbd00c3b57
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerListAllInDevice.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/ContainerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerPut.json
new file mode 100644
index 000000000000..93edb0c5aa47
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerPut.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/ContainerRefresh.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerRefresh.json
new file mode 100644
index 000000000000..9b7f89e11750
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ContainerRefresh.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/DataBoxEdgeDeviceDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceDelete.json
new file mode 100644
index 000000000000..4c9310ac7c29
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/DataBoxEdgeDeviceGetByName.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetByName.json
new file mode 100644
index 000000000000..3fd7546d81c9
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetByName.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json
new file mode 100644
index 000000000000..caeae5a148a1
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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"
+ }
+ },
+ "dataResidency": {
+ "type": "ZoneReplication"
+ }
+ },
+ "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-06-01-preview/examples/DataBoxEdgeDeviceGetByResourceGroup.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetByResourceGroup.json
new file mode 100644
index 000000000000..5244ebc55377
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetByResourceGroup.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/DataBoxEdgeDeviceGetBySubscription.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetBySubscription.json
new file mode 100644
index 000000000000..72d4cb2ef747
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDeviceGetBySubscription.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/DataBoxEdgeDevicePatch.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDevicePatch.json
new file mode 100644
index 000000000000..b2e3b86941a9
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDevicePatch.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/DataBoxEdgeDevicePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDevicePut.json
new file mode 100644
index 000000000000..e4d5e6b444a6
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDevicePut.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/DataBoxEdgeDevicePutWithDataResidency.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDevicePutWithDataResidency.json
new file mode 100644
index 000000000000..32ef534fdda8
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DataBoxEdgeDevicePutWithDataResidency.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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"
+ },
+ "properties": {
+ "dataResidency": {
+ "type": "ZoneReplication"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "name": "testedgedevice",
+ "properties": {
+ "dataResidency": {
+ "type": "ZoneReplication"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DeleteAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DeleteAddons.json
new file mode 100644
index 000000000000..1040d06caab6
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DeleteAddons.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/DeleteMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DeleteMonitoringConfig.json
new file mode 100644
index 000000000000..d69bfa85c5cf
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DeleteMonitoringConfig.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/DownloadUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DownloadUpdatesPost.json
new file mode 100644
index 000000000000..9a6dd5afa768
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/DownloadUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/ExtendedInfoPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ExtendedInfoPost.json
new file mode 100644
index 000000000000..f119b0ea23e0
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ExtendedInfoPost.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/GenerateCertificate.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GenerateCertificate.json
new file mode 100644
index 000000000000..332682aed760
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GenerateCertificate.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/GetAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetAddons.json
new file mode 100644
index 000000000000..b17bdaef7e99
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetAddons.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/GetDCAccessCode.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetDCAccessCode.json
new file mode 100644
index 000000000000..e1c1accfe527
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetDCAccessCode.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/GetDiagnosticProactiveLogCollectionSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetDiagnosticProactiveLogCollectionSettings.json
new file mode 100644
index 000000000000..95928c0e4502
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetDiagnosticProactiveLogCollectionSettings.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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"
+ ],
+ "diagnosticProactiveLogCollectionSettings": {
+ "properties": {
+ "userConsent": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "userConsent": "Enabled"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/diagnosticProactiveLogCollectionSettings/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/diagnosticSettings"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetDiagnosticRemoteSupportSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetDiagnosticRemoteSupportSettings.json
new file mode 100644
index 000000000000..1d4edafffb44
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetDiagnosticRemoteSupportSettings.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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": {
+ "remoteSupportSettingsList": [
+ {
+ "accessLevel": "ReadWrite",
+ "expirationTimeStampInUTC": "2021-07-07T00:00:00+00:00",
+ "remoteApplicationType": "LocalUI"
+ }
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/diagnosticRemoteSupportSettings/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/diagnosticSettings"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetMonitoringConfig.json
new file mode 100644
index 000000000000..f9000146dbdd
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetMonitoringConfig.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/GetUpdateExtendedInfo.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetUpdateExtendedInfo.json
new file mode 100644
index 000000000000..deb309f238b4
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/GetUpdateExtendedInfo.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/InstallUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/InstallUpdatesPost.json
new file mode 100644
index 000000000000..9a6dd5afa768
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/InstallUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/JobsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/JobsGet.json
new file mode 100644
index 000000000000..e5ca63a243db
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/JobsGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/ListMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ListMonitoringConfig.json
new file mode 100644
index 000000000000..17566be004ce
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ListMonitoringConfig.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/NetworkSettingsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/NetworkSettingsGet.json
new file mode 100644
index 000000000000..a4c6fd8c3bd5
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/NetworkSettingsGet.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/NodeGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/NodeGetAllInDevice.json
new file mode 100644
index 000000000000..1cf8b28390fa
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/NodeGetAllInDevice.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/OperationsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OperationsGet.json
new file mode 100644
index 000000000000..3fc72ce04a0d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OperationsGet.json
@@ -0,0 +1,675 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/OperationsStatusGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OperationsStatusGet.json
new file mode 100644
index 000000000000..85b56e3af7e8
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OperationsStatusGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/OrderDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderDelete.json
new file mode 100644
index 000000000000..4c9310ac7c29
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/OrderGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderGet.json
new file mode 100644
index 000000000000..3bad5dc4ed46
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderGet.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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": {
+ "kind": "V1",
+ "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-06-01-preview/examples/OrderGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderGetAllInDevice.json
new file mode 100644
index 000000000000..d2bca68e00af
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderGetAllInDevice.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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": [
+ {
+ "kind": "V1",
+ "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-06-01-preview/examples/OrderPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderPut.json
new file mode 100644
index 000000000000..c2153ecdedd6
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/OrderPut.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/PutAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/PutAddons.json
new file mode 100644
index 000000000000..a178c1c48677
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/PutAddons.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/PutMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/PutMonitoringConfig.json
new file mode 100644
index 000000000000..7ef3b88a19ae
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/PutMonitoringConfig.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/RoleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleDelete.json
new file mode 100644
index 000000000000..d8a30a823295
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleDelete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/RoleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleGet.json
new file mode 100644
index 000000000000..c273722b9395
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleGet.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/RoleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleGetAllInDevice.json
new file mode 100644
index 000000000000..f52333f16694
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleGetAllInDevice.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/RoleListAddOns.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleListAddOns.json
new file mode 100644
index 000000000000..18165268bcdc
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RoleListAddOns.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/RolePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RolePut.json
new file mode 100644
index 000000000000..17fcbecb568d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/RolePut.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/SACDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACDelete.json
new file mode 100644
index 000000000000..3d52780c446d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/SACGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACGet.json
new file mode 100644
index 000000000000..f6b655b45cb6
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/SACGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACGetAllInDevice.json
new file mode 100644
index 000000000000..9ae5826c55d2
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACGetAllInDevice.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/SACPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACPut.json
new file mode 100644
index 000000000000..cf8408764bce
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SACPut.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/ScanForUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ScanForUpdatesPost.json
new file mode 100644
index 000000000000..9a6dd5afa768
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ScanForUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/SecuritySettingsUpdatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SecuritySettingsUpdatePost.json
new file mode 100644
index 000000000000..1f3e36ebff5d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SecuritySettingsUpdatePost.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/ShareDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareDelete.json
new file mode 100644
index 000000000000..4bec4c1c3153
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/ShareGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareGet.json
new file mode 100644
index 000000000000..5ec7d9f093a2
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/ShareGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareGetAllInDevice.json
new file mode 100644
index 000000000000..b5df266f1f7f
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareGetAllInDevice.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/SharePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SharePut.json
new file mode 100644
index 000000000000..ecae8bf1b40a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/SharePut.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/ShareRefreshPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareRefreshPost.json
new file mode 100644
index 000000000000..317d232392c1
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/ShareRefreshPost.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/StorageAccountDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountDelete.json
new file mode 100644
index 000000000000..dae083e11c3a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/StorageAccountGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountGet.json
new file mode 100644
index 000000000000..d7f2891166c7
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/StorageAccountGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountGetAllInDevice.json
new file mode 100644
index 000000000000..36d3ede4b8a1
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountGetAllInDevice.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/StorageAccountPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountPut.json
new file mode 100644
index 000000000000..167ea677dc63
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/StorageAccountPut.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/TriggerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerDelete.json
new file mode 100644
index 000000000000..abb4fc77537e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/TriggerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerGet.json
new file mode 100644
index 000000000000..a267914370dc
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/TriggerGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerGetAllInDevice.json
new file mode 100644
index 000000000000..3c03459c0b84
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerGetAllInDevice.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/TriggerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerPut.json
new file mode 100644
index 000000000000..f333cdef6a39
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerPut.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/TriggerSupportPackage.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerSupportPackage.json
new file mode 100644
index 000000000000..4453218f45dd
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/TriggerSupportPackage.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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"
+ ],
+ "triggerSupportPackageRequest": {
+ "properties": {
+ "minimumTimeStamp": "2018-12-18T02:18:51.4270267Z",
+ "maximumTimeStamp": "2018-12-18T02:19:51.4270267Z",
+ "include": "DefaultWithDumps"
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UpdateDiagnosticProactiveLogCollectionSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UpdateDiagnosticProactiveLogCollectionSettings.json
new file mode 100644
index 000000000000..880f189c91bf
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UpdateDiagnosticProactiveLogCollectionSettings.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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"
+ ],
+ "proactiveLogCollectionSettings": {
+ "properties": {
+ "userConsent": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "userConsent": "Disabled"
+ },
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/dbe-autobot-5428209/diagnosticProactiveLogCollectionSettings/default",
+ "name": "default",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/diagnosticSettings"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UpdateDiagnosticRemoteSupportSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UpdateDiagnosticRemoteSupportSettings.json
new file mode 100644
index 000000000000..8f3b8ee9ba70
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UpdateDiagnosticRemoteSupportSettings.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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"
+ ],
+ "diagnosticRemoteSupportSettings": {
+ "properties": {
+ "remoteSupportSettingsList": [
+ {
+ "accessLevel": "ReadWrite",
+ "expirationTimeStampInUTC": "2021-07-07T00:00:00+00:00",
+ "remoteApplicationType": "Powershell"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "remoteSupportSettingsList": [
+ {
+ "remoteApplicationType": "Powershell",
+ "accessLevel": "ReadWrite",
+ "expirationTimeStampInUTC": "2500-09-14T00:00:00+00:00"
+ }
+ ]
+ },
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/dbe-autobot-154c8a4/diagnosticRemoteSupportSettings/default",
+ "name": "default",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/diagnosticSettings"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UpdateSummaryGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UpdateSummaryGet.json
new file mode 100644
index 000000000000..02dc6ad3809d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UpdateSummaryGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/UploadCertificatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UploadCertificatePost.json
new file mode 100644
index 000000000000..5e0030dc2cb1
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UploadCertificatePost.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/UserDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserDelete.json
new file mode 100644
index 000000000000..3bade24f2dcc
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserDelete.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/UserGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserGet.json
new file mode 100644
index 000000000000..5922e1a96672
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/UserGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserGetAllInDevice.json
new file mode 100644
index 000000000000..f8e4d9dfc1de
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserGetAllInDevice.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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-06-01-preview/examples/UserPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserPut.json
new file mode 100644
index 000000000000..0802e6eafbef
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2021-06-01-preview/examples/UserPut.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-06-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/Microsoft.DataBoxEdge/stable/2021-06-01/databoxedge.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/databoxedge.json
new file mode 100644
index 000000000000..82028fbb8fa6
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/databoxedge.json
@@ -0,0 +1,9252 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-06-01",
+ "title": "DataBoxEdgeManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.DataBoxEdge/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "List all the supported operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of supported operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "OperationsGet": {
+ "$ref": "./examples/OperationsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/availableSkus": {
+ "get": {
+ "tags": [
+ "AvailableSkus"
+ ],
+ "summary": "List all the available Skus and information related to them.",
+ "operationId": "AvailableSkus_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists the available Skus and information related to them.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeSkuList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "AvailableSkus": {
+ "$ref": "./examples/AvailableSkusList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices": {
+ "get": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets all the Data Box Edge/Data Box Gateway devices in a subscription.",
+ "operationId": "Devices_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of Data Box Edge/Data Box Gateway devices.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "DataBoxEdgeDeviceGetBySubscription": {
+ "$ref": "./examples/DataBoxEdgeDeviceGetBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices": {
+ "get": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets all the Data Box Edge/Data Box Gateway devices in a resource group.",
+ "operationId": "Devices_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of Data Box Edge/Data Box Gateway devices.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "DataBoxEdgeDeviceGetByResourceGroup": {
+ "$ref": "./examples/DataBoxEdgeDeviceGetByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}": {
+ "get": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets the properties of the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Data Box Edge/Data Box Gateway device.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDevice"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DataBoxEdgeDeviceGetByName": {
+ "$ref": "./examples/DataBoxEdgeDeviceGetByName.json"
+ },
+ "DataBoxEdgeDeviceGetByNameWithDataResidency": {
+ "$ref": "./examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Creates or updates a Data Box Edge/Data Box Gateway resource.",
+ "operationId": "Devices_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "dataBoxEdgeDevice",
+ "in": "body",
+ "description": "The resource object.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDevice"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the resource.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDevice"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DataBoxEdgeDevicePut": {
+ "$ref": "./examples/DataBoxEdgeDevicePut.json"
+ },
+ "DataBoxEdgeDevicePutWithDataResidency": {
+ "$ref": "./examples/DataBoxEdgeDevicePutWithDataResidency.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Deletes the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the resource."
+ },
+ "202": {
+ "description": "Accepted the request to delete the resource."
+ },
+ "204": {
+ "description": "The resource is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DataBoxEdgeDeviceDelete": {
+ "$ref": "./examples/DataBoxEdgeDeviceDelete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Modifies a Data Box Edge/Data Box Gateway resource.",
+ "operationId": "Devices_Update",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The resource parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDevicePatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the resource.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDevice"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DataBoxEdgeDevicePatch": {
+ "$ref": "./examples/DataBoxEdgeDevicePatch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "description": "Gets all the alerts for a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Alerts_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of alerts.",
+ "schema": {
+ "$ref": "#/definitions/AlertList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "AlertGetAllInDevice": {
+ "$ref": "./examples/AlertGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts/{name}": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "summary": "Gets an alert by name.",
+ "operationId": "Alerts_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The alert name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The alert details.",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "AlertGet": {
+ "$ref": "./examples/AlertGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules": {
+ "get": {
+ "tags": [
+ "BandwidthSchedules"
+ ],
+ "description": "Gets all the bandwidth schedules for a Data Box Edge/Data Box Gateway device.",
+ "operationId": "BandwidthSchedules_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of bandwidth schedules.",
+ "schema": {
+ "$ref": "#/definitions/BandwidthSchedulesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "BandwidthScheduleGetAllInDevice": {
+ "$ref": "./examples/BandwidthScheduleGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules/{name}": {
+ "get": {
+ "tags": [
+ "BandwidthSchedules"
+ ],
+ "description": "Gets the properties of the specified bandwidth schedule.",
+ "operationId": "BandwidthSchedules_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The bandwidth schedule name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The bandwidth schedule.",
+ "schema": {
+ "$ref": "#/definitions/BandwidthSchedule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "BandwidthScheduleGet": {
+ "$ref": "./examples/BandwidthScheduleGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BandwidthSchedules"
+ ],
+ "description": "Creates or updates a bandwidth schedule.",
+ "operationId": "BandwidthSchedules_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The bandwidth schedule name which needs to be added/updated.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The bandwidth schedule to be added or updated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BandwidthSchedule"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the bandwidth schedule.",
+ "schema": {
+ "$ref": "#/definitions/BandwidthSchedule"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the bandwidth schedule."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "BandwidthSchedulePut": {
+ "$ref": "./examples/BandwidthSchedulePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "BandwidthSchedules"
+ ],
+ "description": "Deletes the specified bandwidth schedule.",
+ "operationId": "BandwidthSchedules_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The bandwidth schedule name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "Accepted the request to delete the bandwidth schedule."
+ },
+ "204": {
+ "description": "Successfully deleted the bandwidth schedule."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "BandwidthScheduleDelete": {
+ "$ref": "./examples/BandwidthScheduleDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/diagnosticProactiveLogCollectionSettings/default": {
+ "get": {
+ "tags": [
+ "DiagnosticSettings"
+ ],
+ "description": "Gets the proactive log collection settings of the specified Data Box Edge/Data Box Gateway device.",
+ "operationId": "DiagnosticSettings_GetDiagnosticProactiveLogCollectionSettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The diagnostic proactive log collection settings.",
+ "schema": {
+ "$ref": "#/definitions/DiagnosticProactiveLogCollectionSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetDiagnosticProactiveLogCollectionSettings": {
+ "$ref": "./examples/GetDiagnosticProactiveLogCollectionSettings.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DiagnosticSettings"
+ ],
+ "description": "Updates the proactive log collection settings on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "DiagnosticSettings_UpdateDiagnosticProactiveLogCollectionSettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "proactiveLogCollectionSettings",
+ "in": "body",
+ "description": "The proactive log collection settings.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiagnosticProactiveLogCollectionSettings"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the proactive log collection settings.",
+ "schema": {
+ "$ref": "#/definitions/DiagnosticProactiveLogCollectionSettings"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to update the proactive log collection settings."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "UpdateDiagnosticProactiveLogCollectionSettings": {
+ "$ref": "./examples/UpdateDiagnosticProactiveLogCollectionSettings.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/diagnosticRemoteSupportSettings/default": {
+ "get": {
+ "tags": [
+ "DiagnosticSettings"
+ ],
+ "description": "Gets the diagnostic remote support settings of the specified Data Box Edge/Data Box Gateway device.",
+ "operationId": "DiagnosticSettings_GetDiagnosticRemoteSupportSettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The diagnostic remote support settings.",
+ "schema": {
+ "$ref": "#/definitions/DiagnosticRemoteSupportSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetDiagnosticRemoteSupportSettings": {
+ "$ref": "./examples/GetDiagnosticRemoteSupportSettings.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DiagnosticSettings"
+ ],
+ "description": "Updates the diagnostic remote support settings on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "DiagnosticSettings_UpdateDiagnosticRemoteSupportSettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "diagnosticRemoteSupportSettings",
+ "in": "body",
+ "description": "The diagnostic remote support settings.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiagnosticRemoteSupportSettings"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to update the diagnostic remote support settings."
+ },
+ "200": {
+ "description": "Successfully updated the diagnostic remote support settings.",
+ "schema": {
+ "$ref": "#/definitions/DiagnosticRemoteSupportSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "UpdateDiagnosticRemoteSupportSettings": {
+ "$ref": "./examples/UpdateDiagnosticRemoteSupportSettings.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/downloadUpdates": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "summary": "Downloads the updates on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_DownloadUpdates",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully downloaded the updates on the device."
+ },
+ "202": {
+ "description": "Accepted the request to download the updates on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DownloadUpdatesPost": {
+ "$ref": "./examples/DownloadUpdatesPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/generateCertificate": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Generates certificate for activation key.",
+ "operationId": "Devices_GenerateCertificate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully generated self signed certificate.",
+ "schema": {
+ "$ref": "#/definitions/GenerateCertResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GenerateCertificate": {
+ "$ref": "./examples/GenerateCertificate.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/getExtendedInformation": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets additional information for the specified Azure Stack Edge/Data Box Gateway device.",
+ "operationId": "Devices_GetExtendedInformation",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The additional information.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfo"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExtendedInfoPost": {
+ "$ref": "./examples/ExtendedInfoPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/installUpdates": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "summary": "Installs the updates on the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_InstallUpdates",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully installed updates on the device."
+ },
+ "202": {
+ "description": "Accepted the request to install updates on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "InstallUpdatesPost": {
+ "$ref": "./examples/InstallUpdatesPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/jobs/{name}": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "summary": "Gets the details of a specified job on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Jobs_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The job name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The job details.",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "JobsGet": {
+ "$ref": "./examples/JobsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/networkSettings/default": {
+ "get": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets the network settings of the specified Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_GetNetworkSettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The device network settings.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NetworkSettingsGet": {
+ "$ref": "./examples/NetworkSettingsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/nodes": {
+ "get": {
+ "tags": [
+ "Nodes"
+ ],
+ "description": "Gets all the nodes currently configured under this Data Box Edge device",
+ "operationId": "Nodes_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all nodes on the device.",
+ "schema": {
+ "$ref": "#/definitions/NodeList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "NodesGetAllInDevice": {
+ "$ref": "./examples/NodeGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/operationsStatus/{name}": {
+ "get": {
+ "tags": [
+ "OperationsStatus"
+ ],
+ "summary": "Gets the details of a specified job on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "OperationsStatus_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The job name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The job details.",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OperationsStatusGet": {
+ "$ref": "./examples/OperationsStatusGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders": {
+ "get": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Lists all the orders related to a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Orders_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists all the orders for the Data Box Edge Device",
+ "schema": {
+ "$ref": "#/definitions/OrderList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "OrderGetAllInDevice": {
+ "$ref": "./examples/OrderGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default": {
+ "get": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Gets a specific order by name.",
+ "operationId": "Orders_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The order details of a device.",
+ "schema": {
+ "$ref": "#/definitions/Order"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OrderGet": {
+ "$ref": "./examples/OrderGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Creates or updates an order.",
+ "operationId": "Orders_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The order details of a device.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "order",
+ "in": "body",
+ "description": "The order to be created or updated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Order"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the order.",
+ "schema": {
+ "$ref": "#/definitions/Order"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the order."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "OrderPut": {
+ "$ref": "./examples/OrderPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Deletes the order related to the device.",
+ "operationId": "Orders_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the order."
+ },
+ "202": {
+ "description": "Accepted the request to delete the order."
+ },
+ "204": {
+ "description": "The order is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "OrderDelete": {
+ "$ref": "./examples/OrderDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default/listDCAccessCode": {
+ "post": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Gets the DCAccess Code",
+ "operationId": "Orders_ListDCAccessCode",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "DC Access code for the device",
+ "schema": {
+ "$ref": "#/definitions/DCAccessCode"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetDCAccessCode": {
+ "$ref": "./examples/GetDCAccessCode.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles": {
+ "get": {
+ "tags": [
+ "Roles"
+ ],
+ "description": "Lists all the roles configured in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Roles_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of all the roles configured in the device.",
+ "schema": {
+ "$ref": "#/definitions/RoleList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "RoleGetAllInDevice": {
+ "$ref": "./examples/RoleGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{name}": {
+ "get": {
+ "tags": [
+ "Roles"
+ ],
+ "description": "Gets a specific role by name.",
+ "operationId": "Roles_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The role with the specified name in the given device.",
+ "schema": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RoleGet": {
+ "$ref": "./examples/RoleGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Roles"
+ ],
+ "description": "Create or update a role.",
+ "operationId": "Roles_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "role",
+ "in": "body",
+ "description": "The role properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the role.",
+ "schema": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the role."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "RolePut": {
+ "$ref": "./examples/RolePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Roles"
+ ],
+ "description": "Deletes the role on the device.",
+ "operationId": "Roles_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the role."
+ },
+ "202": {
+ "description": "Accepted the request to delete the role."
+ },
+ "204": {
+ "description": "The role is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "RoleDelete": {
+ "$ref": "./examples/RoleDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/addons": {
+ "get": {
+ "tags": [
+ "Addons"
+ ],
+ "description": "Lists all the addons configured in the role.",
+ "operationId": "Addons_ListByRole",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of all the addons configured in the role.",
+ "schema": {
+ "$ref": "#/definitions/AddonList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "RoleListAddOns": {
+ "$ref": "./examples/RoleListAddOns.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/addons/{addonName}": {
+ "get": {
+ "tags": [
+ "Addons"
+ ],
+ "description": "Gets a specific addon by name.",
+ "operationId": "Addons_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addonName",
+ "in": "path",
+ "description": "The addon name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The addon with the specified name in the role.",
+ "schema": {
+ "$ref": "#/definitions/Addon"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetAddOns": {
+ "$ref": "./examples/GetAddons.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Addons"
+ ],
+ "description": "Create or update a addon.",
+ "operationId": "Addons_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addonName",
+ "in": "path",
+ "description": "The addon name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addon",
+ "in": "body",
+ "description": "The addon properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Addon"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the addon.",
+ "schema": {
+ "$ref": "#/definitions/Addon"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the addon."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "PutAddOns": {
+ "$ref": "./examples/PutAddons.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Addons"
+ ],
+ "description": "Deletes the addon on the device.",
+ "operationId": "Addons_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "addonName",
+ "in": "path",
+ "description": "The addon name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the addon."
+ },
+ "202": {
+ "description": "Accepted the request to delete the addon."
+ },
+ "204": {
+ "description": "The addon is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DeleteAddOns": {
+ "$ref": "./examples/DeleteAddons.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/monitoringConfig": {
+ "get": {
+ "tags": [
+ "MonitoringConfig"
+ ],
+ "summary": "Lists metric configurations in a role.",
+ "operationId": "MonitoringConfig_List",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The monitoring config details.",
+ "schema": {
+ "$ref": "#/definitions/MonitoringMetricConfigurationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListMonitoringConfig": {
+ "$ref": "./examples/ListMonitoringConfig.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{roleName}/monitoringConfig/default": {
+ "get": {
+ "tags": [
+ "MonitoringConfig"
+ ],
+ "summary": "Gets a metric configuration of a role.",
+ "operationId": "MonitoringConfig_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The monitoring config details.",
+ "schema": {
+ "$ref": "#/definitions/MonitoringMetricConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetMonitoringConfig": {
+ "$ref": "./examples/GetMonitoringConfig.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "MonitoringConfig"
+ ],
+ "summary": "Creates a new metric configuration or updates an existing one for a role.",
+ "operationId": "MonitoringConfig_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "monitoringMetricConfiguration",
+ "in": "body",
+ "description": "The metric configuration.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MonitoringMetricConfiguration"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the metrics configuration.",
+ "schema": {
+ "$ref": "#/definitions/MonitoringMetricConfiguration"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the metrics configuration."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "PutMonitoringConfig": {
+ "$ref": "./examples/PutMonitoringConfig.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "MonitoringConfig"
+ ],
+ "summary": "deletes a new metric configuration for a role.",
+ "operationId": "MonitoringConfig_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the metrics configuration."
+ },
+ "202": {
+ "description": "Accepted the request to delete the metrics configuration."
+ },
+ "204": {
+ "description": "The metrics configuration is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DeleteMonitoringConfig": {
+ "$ref": "./examples/DeleteMonitoringConfig.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/scanForUpdates": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "summary": "Scans for updates on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_ScanForUpdates",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully scanned the device for updates."
+ },
+ "202": {
+ "description": "Accepted the request to scan for updates on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ScanForUpdatesPost": {
+ "$ref": "./examples/ScanForUpdatesPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/securitySettings/default/update": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Updates the security settings on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_CreateOrUpdateSecuritySettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "securitySettings",
+ "in": "body",
+ "description": "The security settings.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SecuritySettings"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to update the security settings."
+ },
+ "204": {
+ "description": "Updated the security settings."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "CreateOrUpdateSecuritySettings": {
+ "$ref": "./examples/SecuritySettingsUpdatePost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares": {
+ "get": {
+ "tags": [
+ "Shares"
+ ],
+ "summary": "Lists all the shares in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Shares_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all the shares on the device.",
+ "schema": {
+ "$ref": "#/definitions/ShareList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ShareGetAllInDevice": {
+ "$ref": "./examples/ShareGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}": {
+ "get": {
+ "tags": [
+ "Shares"
+ ],
+ "summary": "Gets a share by name.",
+ "operationId": "Shares_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The share details.",
+ "schema": {
+ "$ref": "#/definitions/Share"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ShareGet": {
+ "$ref": "./examples/ShareGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Shares"
+ ],
+ "summary": "Creates a new share or updates an existing share on the device.",
+ "operationId": "Shares_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "share",
+ "in": "body",
+ "description": "The share properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Share"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the share.",
+ "schema": {
+ "$ref": "#/definitions/Share"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the share."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "SharePut": {
+ "$ref": "./examples/SharePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Shares"
+ ],
+ "description": "Deletes the share on the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Shares_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the share."
+ },
+ "202": {
+ "description": "Accepted the request to delete the share."
+ },
+ "204": {
+ "description": "The share is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ShareDelete": {
+ "$ref": "./examples/ShareDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}/refresh": {
+ "post": {
+ "tags": [
+ "Shares"
+ ],
+ "summary": "Refreshes the share metadata with the data from the cloud.",
+ "operationId": "Shares_Refresh",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully refreshed the share on the device."
+ },
+ "202": {
+ "description": "Accepted the request to refresh the share on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ShareRefreshPost": {
+ "$ref": "./examples/ShareRefreshPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials": {
+ "get": {
+ "tags": [
+ "StorageAccountCredentials"
+ ],
+ "summary": "Gets all the storage account credentials in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "StorageAccountCredentials_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of storage account credentials.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccountCredentialList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "SACGetAllInDevice": {
+ "$ref": "./examples/SACGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials/{name}": {
+ "get": {
+ "tags": [
+ "StorageAccountCredentials"
+ ],
+ "description": "Gets the properties of the specified storage account credential.",
+ "operationId": "StorageAccountCredentials_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The storage account credential name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The storage account credential properties.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccountCredential"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SACGet": {
+ "$ref": "./examples/SACGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "StorageAccountCredentials"
+ ],
+ "description": "Creates or updates the storage account credential.",
+ "operationId": "StorageAccountCredentials_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The storage account credential name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountCredential",
+ "in": "body",
+ "description": "The storage account credential.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StorageAccountCredential"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the storage account credential.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccountCredential"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the storage account credential."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "SACPut": {
+ "$ref": "./examples/SACPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "StorageAccountCredentials"
+ ],
+ "description": "Deletes the storage account credential.",
+ "operationId": "StorageAccountCredentials_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The storage account credential name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the storage account credential."
+ },
+ "202": {
+ "description": "Accepted the request to delete the storage account credential."
+ },
+ "204": {
+ "description": "The storage account credential is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "SACDelete": {
+ "$ref": "./examples/SACDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts": {
+ "get": {
+ "tags": [
+ "StorageAccounts"
+ ],
+ "summary": "Lists all the StorageAccounts in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "StorageAccounts_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all the StorageAccounts on the device.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccountList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "StorageAccountGetAllInDevice": {
+ "$ref": "./examples/StorageAccountGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}": {
+ "get": {
+ "tags": [
+ "StorageAccounts"
+ ],
+ "summary": "Gets a StorageAccount by name.",
+ "operationId": "StorageAccounts_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The storage account name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The storage account details.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "StorageAccountGet": {
+ "$ref": "./examples/StorageAccountGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "StorageAccounts"
+ ],
+ "summary": "Creates a new StorageAccount or updates an existing StorageAccount on the device.",
+ "operationId": "StorageAccounts_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The StorageAccount name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccount",
+ "in": "body",
+ "description": "The StorageAccount properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StorageAccount"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the StorageAccount.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccount"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the StorageAccount."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "StorageAccountPut": {
+ "$ref": "./examples/StorageAccountPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "StorageAccounts"
+ ],
+ "description": "Deletes the StorageAccount on the Data Box Edge/Data Box Gateway device.",
+ "operationId": "StorageAccounts_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The StorageAccount name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to delete the StorageAccount."
+ },
+ "204": {
+ "description": "The StorageAccount is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "StorageAccountDelete": {
+ "$ref": "./examples/StorageAccountDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers": {
+ "get": {
+ "tags": [
+ "Containers"
+ ],
+ "summary": "Lists all the containers of a storage Account in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Containers_ListByStorageAccount",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The storage Account name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all the containers on the device.",
+ "schema": {
+ "$ref": "#/definitions/ContainerList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ContainerListAllInDevice": {
+ "$ref": "./examples/ContainerListAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers/{containerName}": {
+ "get": {
+ "tags": [
+ "Containers"
+ ],
+ "summary": "Gets a container by name.",
+ "operationId": "Containers_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The container details.",
+ "schema": {
+ "$ref": "#/definitions/Container"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ContainerGet": {
+ "$ref": "./examples/ContainerGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Containers"
+ ],
+ "summary": "Creates a new container or updates an existing container on the device.",
+ "operationId": "Containers_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "container",
+ "in": "body",
+ "description": "The container properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Container"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the container.",
+ "schema": {
+ "$ref": "#/definitions/Container"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the container."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ContainerPut": {
+ "$ref": "./examples/ContainerPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Containers"
+ ],
+ "description": "Deletes the container on the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Containers_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to delete the container."
+ },
+ "204": {
+ "description": "The container is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ContainerDelete": {
+ "$ref": "./examples/ContainerDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers/{containerName}/refresh": {
+ "post": {
+ "tags": [
+ "Containers"
+ ],
+ "summary": "Refreshes the container metadata with the data from the cloud.",
+ "operationId": "Containers_Refresh",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully refreshed the container on the device."
+ },
+ "202": {
+ "description": "Accepted the request to refresh the container on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ContainerRefresh": {
+ "$ref": "./examples/ContainerRefresh.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers": {
+ "get": {
+ "tags": [
+ "Triggers"
+ ],
+ "description": "Lists all the triggers configured in the device.",
+ "operationId": "Triggers_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Specify $filter='CustomContextTag eq ' to filter on custom context tag property",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List all the triggers configured in the device",
+ "schema": {
+ "$ref": "#/definitions/TriggerList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "TriggerGetAllInDevice": {
+ "$ref": "./examples/TriggerGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers/{name}": {
+ "get": {
+ "tags": [
+ "Triggers"
+ ],
+ "description": "Get a specific trigger by name.",
+ "operationId": "Triggers_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The trigger name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The trigger.",
+ "schema": {
+ "$ref": "#/definitions/Trigger"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TriggerGet": {
+ "$ref": "./examples/TriggerGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Triggers"
+ ],
+ "description": "Creates or updates a trigger.",
+ "operationId": "Triggers_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "Creates or updates a trigger",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The trigger name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "trigger",
+ "in": "body",
+ "description": "The trigger.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Trigger"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the trigger.",
+ "schema": {
+ "$ref": "#/definitions/Trigger"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the trigger."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "TriggerPut": {
+ "$ref": "./examples/TriggerPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Triggers"
+ ],
+ "description": "Deletes the trigger on the gateway device.",
+ "operationId": "Triggers_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The trigger name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the trigger."
+ },
+ "202": {
+ "description": "Accepted the request to delete the trigger."
+ },
+ "204": {
+ "description": "The trigger is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "TriggerDelete": {
+ "$ref": "./examples/TriggerDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggerSupportPackage": {
+ "post": {
+ "tags": [
+ "SupportPackages"
+ ],
+ "summary": "Triggers support package on the device",
+ "operationId": "SupportPackages_TriggerSupportPackage",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "triggerSupportPackageRequest",
+ "in": "body",
+ "description": "The trigger support package request object",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TriggerSupportPackageRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully triggered support package on the device."
+ },
+ "202": {
+ "description": "Accepted the request to trigger support package on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "TriggerSupportPackage": {
+ "$ref": "./examples/TriggerSupportPackage.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/updateExtendedInformation": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets additional information for the specified Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_UpdateExtendedInformation",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The patch object.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfoPatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Modify additional information.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfo"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetUpdateExtendedInfo": {
+ "$ref": "./examples/GetUpdateExtendedInfo.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/updateSummary/default": {
+ "get": {
+ "tags": [
+ "Devices"
+ ],
+ "summary": "Gets information about the availability of updates based on the last scan of the device. It also gets information about any ongoing download or install jobs on the device.",
+ "operationId": "Devices_GetUpdateSummary",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The update summary.",
+ "schema": {
+ "$ref": "#/definitions/UpdateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateSummaryGet": {
+ "$ref": "./examples/UpdateSummaryGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/uploadCertificate": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Uploads registration certificate for the device.",
+ "operationId": "Devices_UploadCertificate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The upload certificate request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UploadCertificateRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully uploaded the registration certificate.",
+ "schema": {
+ "$ref": "#/definitions/UploadCertificateResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UploadCertificatePost": {
+ "$ref": "./examples/UploadCertificatePost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users": {
+ "get": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Gets all the users registered on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Users_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Specify $filter='Type eq ' to filter on user type property",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all users on the device.",
+ "schema": {
+ "$ref": "#/definitions/UserList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "UserGetAllInDevice": {
+ "$ref": "./examples/UserGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users/{name}": {
+ "get": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Gets the properties of the specified user.",
+ "operationId": "Users_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The user name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The user details.",
+ "schema": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UserGet": {
+ "$ref": "./examples/UserGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Creates a new user or updates an existing user's information on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Users_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The user name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "user",
+ "in": "body",
+ "description": "The user details.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the user.",
+ "schema": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the user."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "UserPut": {
+ "$ref": "./examples/UserPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Deletes the user on a databox edge/gateway device.",
+ "operationId": "Users_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The user name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the user."
+ },
+ "202": {
+ "description": "Accepted the request to delete the user."
+ },
+ "204": {
+ "description": "The user is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "UserDelete": {
+ "$ref": "./examples/UserDelete.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Addon": {
+ "description": "Role Addon",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "description": "Addon type.",
+ "enum": [
+ "IotEdge",
+ "ArcForKubernetes"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AddonType",
+ "modelAsString": true
+ }
+ },
+ "systemData": {
+ "description": "Addon type",
+ "$ref": "#/definitions/SystemData"
+ }
+ },
+ "discriminator": "kind"
+ },
+ "AddonList": {
+ "description": "Collection of all the Role addon on the Azure Stack Edge device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Value.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Addon"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Address": {
+ "description": "The shipping address of the customer.",
+ "required": [
+ "country"
+ ],
+ "type": "object",
+ "properties": {
+ "addressLine1": {
+ "description": "The address line1.",
+ "type": "string"
+ },
+ "addressLine2": {
+ "description": "The address line2.",
+ "type": "string"
+ },
+ "addressLine3": {
+ "description": "The address line3.",
+ "type": "string"
+ },
+ "postalCode": {
+ "description": "The postal code.",
+ "type": "string"
+ },
+ "city": {
+ "description": "The city name.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The state name.",
+ "type": "string"
+ },
+ "country": {
+ "description": "The country name.",
+ "type": "string"
+ }
+ }
+ },
+ "Alert": {
+ "description": "Alert on the data box edge/gateway device.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Alert generated in the resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/AlertProperties",
+ "description": "Properties of alert.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "AlertErrorDetails": {
+ "description": "Error details for the alert.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessage": {
+ "description": "Error Message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "occurrences": {
+ "format": "int32",
+ "description": "Number of occurrences.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "AlertList": {
+ "description": "Collection of alerts.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Alert"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AlertProperties": {
+ "description": "Properties of alert.",
+ "type": "object",
+ "properties": {
+ "title": {
+ "description": "Alert title.",
+ "type": "string",
+ "readOnly": true
+ },
+ "alertType": {
+ "description": "Alert type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "appearedAtDateTime": {
+ "format": "date-time",
+ "description": "UTC time when the alert appeared.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendation": {
+ "description": "Alert recommendation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "severity": {
+ "description": "Severity of the alert.",
+ "enum": [
+ "Informational",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AlertSeverity",
+ "modelAsString": true
+ }
+ },
+ "errorDetails": {
+ "$ref": "#/definitions/AlertErrorDetails",
+ "description": "Error details of the alert.",
+ "readOnly": true
+ },
+ "detailedInformation": {
+ "description": "Alert details.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ArcAddon": {
+ "description": "Arc Addon.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Addon"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ArcAddonProperties",
+ "description": "Properties specific to Arc addon.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "ArcForKubernetes"
+ },
+ "ArcAddonProperties": {
+ "description": "Arc addon properties.",
+ "required": [
+ "subscriptionId",
+ "resourceGroupName",
+ "resourceName",
+ "resourceLocation"
+ ],
+ "type": "object",
+ "properties": {
+ "subscriptionId": {
+ "description": "Arc resource subscription Id",
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "description": "Arc resource group name",
+ "type": "string"
+ },
+ "resourceName": {
+ "description": "Arc resource Name",
+ "type": "string"
+ },
+ "resourceLocation": {
+ "description": "Arc resource location",
+ "type": "string"
+ },
+ "version": {
+ "description": "Arc resource version",
+ "type": "string",
+ "readOnly": true
+ },
+ "hostPlatform": {
+ "description": "Host OS supported by the Arc addon.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PlatformType",
+ "modelAsString": true
+ }
+ },
+ "hostPlatformType": {
+ "description": "Platform where the runtime is hosted.",
+ "enum": [
+ "KubernetesCluster",
+ "LinuxVM"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "HostPlatformType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "Addon Provisioning State",
+ "enum": [
+ "Invalid",
+ "Creating",
+ "Created",
+ "Updating",
+ "Reconfiguring",
+ "Failed",
+ "Deleting"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AddonState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ARMBaseModel": {
+ "description": "Represents the base class for all object models.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "AsymmetricEncryptedSecret": {
+ "description": "Represent the secrets intended for encryption with asymmetric key pair.",
+ "required": [
+ "value",
+ "encryptionAlgorithm"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value of the secret.",
+ "type": "string"
+ },
+ "encryptionCertThumbprint": {
+ "description": "Thumbprint certificate used to encrypt \\\"Value\\\". If the value is unencrypted, it will be null.",
+ "x-ms-secret": true,
+ "type": "string"
+ },
+ "encryptionAlgorithm": {
+ "description": "The algorithm used to encrypt \"Value\".",
+ "enum": [
+ "None",
+ "AES256",
+ "RSAES_PKCS1_v_1_5"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EncryptionAlgorithm",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Authentication": {
+ "description": "Authentication mechanism for IoT devices.",
+ "type": "object",
+ "properties": {
+ "symmetricKey": {
+ "$ref": "#/definitions/SymmetricKey",
+ "description": "Symmetric key for authentication."
+ }
+ }
+ },
+ "AzureContainerInfo": {
+ "description": "Azure container mapping of the endpoint.",
+ "required": [
+ "storageAccountCredentialId",
+ "containerName",
+ "dataFormat"
+ ],
+ "type": "object",
+ "properties": {
+ "storageAccountCredentialId": {
+ "description": "ID of the storage account credential used to access storage.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Container name (Based on the data format specified, this represents the name of Azure Files/Page blob/Block blob).",
+ "type": "string"
+ },
+ "dataFormat": {
+ "description": "Storage format used for the file represented by the share.",
+ "enum": [
+ "BlockBlob",
+ "PageBlob",
+ "AzureFile"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AzureContainerDataFormat",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "BandwidthSchedule": {
+ "description": "The bandwidth schedule details.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Bandwidth object related to ASE resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/BandwidthScheduleProperties",
+ "description": "The properties of the bandwidth schedule.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "BandwidthScheduleProperties": {
+ "description": "The properties of the bandwidth schedule.",
+ "required": [
+ "start",
+ "stop",
+ "rateInMbps",
+ "days"
+ ],
+ "type": "object",
+ "properties": {
+ "start": {
+ "description": "The start time of the schedule in UTC.",
+ "type": "string"
+ },
+ "stop": {
+ "description": "The stop time of the schedule in UTC.",
+ "type": "string"
+ },
+ "rateInMbps": {
+ "format": "int32",
+ "description": "The bandwidth rate in Mbps.",
+ "type": "integer"
+ },
+ "days": {
+ "description": "The days of the week when this schedule is applicable.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "BandwidthSchedulesList": {
+ "description": "The collection of bandwidth schedules.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of bandwidth schedules.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BandwidthSchedule"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ClientAccessRight": {
+ "description": "The mapping between a particular client IP and the type of access client has on the NFS share.",
+ "required": [
+ "client",
+ "accessPermission"
+ ],
+ "type": "object",
+ "properties": {
+ "client": {
+ "description": "IP of the client.",
+ "type": "string"
+ },
+ "accessPermission": {
+ "description": "Type of access to be allowed for the client.",
+ "enum": [
+ "NoAccess",
+ "ReadOnly",
+ "ReadWrite"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ClientPermissionType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CloudEdgeManagementRole": {
+ "description": "CloudEdgeManagementRole role.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Role"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CloudEdgeManagementRoleProperties",
+ "description": "Properties specific to CloudEdgeManagementRole role.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "CloudEdgeManagement"
+ },
+ "CloudEdgeManagementRoleProperties": {
+ "description": "CloudEdgeManagement Role properties.",
+ "required": [
+ "roleStatus"
+ ],
+ "type": "object",
+ "properties": {
+ "localManagementStatus": {
+ "description": "Local Edge Management Status",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ },
+ "edgeProfile": {
+ "$ref": "#/definitions/EdgeProfile",
+ "description": "Edge Profile of the resource",
+ "readOnly": true
+ },
+ "roleStatus": {
+ "description": "Role status.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CloudError": {
+ "description": "An error response from the service.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "The error details."
+ }
+ },
+ "x-ms-external": true
+ },
+ "CloudErrorBody": {
+ "description": "An error response from the service.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A message describing the error, intended to be suitable for display in a user interface.",
+ "type": "string"
+ },
+ "details": {
+ "description": "A list of additional details about the error.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ }
+ },
+ "x-ms-external": true
+ },
+ "CniConfig": {
+ "description": "Cni configuration",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Cni type",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "Cni version",
+ "type": "string",
+ "readOnly": true
+ },
+ "podSubnet": {
+ "description": "Pod Subnet",
+ "type": "string",
+ "readOnly": true
+ },
+ "serviceSubnet": {
+ "description": "Service subnet",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ComputeResource": {
+ "description": "Compute infrastructure Resource",
+ "required": [
+ "processorCount",
+ "memoryInGB"
+ ],
+ "type": "object",
+ "properties": {
+ "processorCount": {
+ "format": "int32",
+ "description": "Processor count",
+ "type": "integer"
+ },
+ "memoryInGB": {
+ "format": "int64",
+ "description": "Memory in GB",
+ "type": "integer"
+ }
+ }
+ },
+ "ContactDetails": {
+ "description": "Contains all the contact details of the customer.",
+ "required": [
+ "contactPerson",
+ "companyName",
+ "phone",
+ "emailList"
+ ],
+ "type": "object",
+ "properties": {
+ "contactPerson": {
+ "description": "The contact person name.",
+ "type": "string"
+ },
+ "companyName": {
+ "description": "The name of the company.",
+ "type": "string"
+ },
+ "phone": {
+ "description": "The phone number.",
+ "type": "string"
+ },
+ "emailList": {
+ "description": "The email list.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Container": {
+ "description": "Represents a container on the Data Box Edge/Gateway device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Container in DataBoxEdge Resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/ContainerProperties",
+ "description": "The container properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ContainerList": {
+ "description": "Collection of all the containers on the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of containers.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Container"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ContainerProperties": {
+ "description": "The container properties.",
+ "required": [
+ "dataFormat"
+ ],
+ "type": "object",
+ "properties": {
+ "containerStatus": {
+ "description": "Current status of the container.",
+ "enum": [
+ "OK",
+ "Offline",
+ "Unknown",
+ "Updating",
+ "NeedsAttention"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ContainerStatus",
+ "modelAsString": true
+ }
+ },
+ "dataFormat": {
+ "description": "DataFormat for Container",
+ "enum": [
+ "BlockBlob",
+ "PageBlob",
+ "AzureFile"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AzureContainerDataFormat",
+ "modelAsString": true
+ }
+ },
+ "refreshDetails": {
+ "$ref": "#/definitions/RefreshDetails",
+ "description": "Details of the refresh job on this container.",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "The UTC time when container got created.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeDevice": {
+ "description": "The Data Box Edge/Gateway device.",
+ "required": [
+ "location"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "The location of the device. This is a supported and registered Azure geographical region (for example, West US, East US, or Southeast Asia). The geographical region of a device cannot be changed once it is created, but if an identical geographical region is specified on update, the request will succeed.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "The list of tags that describe the device. These tags can be used to view and group this device (across resource groups).",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU type."
+ },
+ "etag": {
+ "description": "The etag for the devices.",
+ "type": "string"
+ },
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "Msi identity of the resource"
+ },
+ "kind": {
+ "description": "The kind of the device.",
+ "enum": [
+ "AzureDataBoxGateway",
+ "AzureStackEdge",
+ "AzureStackHub",
+ "AzureModularDataCentre"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataBoxEdgeDeviceKind",
+ "modelAsString": true
+ }
+ },
+ "systemData": {
+ "description": "DataBoxEdge Resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceProperties",
+ "description": "The properties of the Data Box Edge/Gateway device.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DataBoxEdgeDeviceExtendedInfo": {
+ "description": "The extended Info of the Data Box Edge/Gateway device.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfoProperties",
+ "description": "The extended info properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DataBoxEdgeDeviceExtendedInfoPatch": {
+ "description": "The Data Box Edge/Gateway device extended info patch.",
+ "type": "object",
+ "properties": {
+ "clientSecretStoreId": {
+ "description": "The Key Vault ARM Id for client secrets",
+ "type": "string"
+ },
+ "clientSecretStoreUrl": {
+ "description": "The url to access the Client Key Vault",
+ "type": "string"
+ },
+ "channelIntegrityKeyName": {
+ "description": "The name for Channel Integrity Key stored in the Client Key Vault",
+ "type": "string"
+ },
+ "channelIntegrityKeyVersion": {
+ "description": "The version of Channel Integrity Key stored in the Client Key Vault",
+ "type": "string"
+ },
+ "syncStatus": {
+ "description": "For changing or to initiate the resync to key-vault set the status to KeyVaultSyncPending, rest of the status will not be applicable.",
+ "enum": [
+ "KeyVaultSynced",
+ "KeyVaultSyncFailed",
+ "KeyVaultNotConfigured",
+ "KeyVaultSyncPending",
+ "KeyVaultSyncing",
+ "KeyVaultNotSynced"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "KeyVaultSyncStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "DataBoxEdgeDeviceExtendedInfoProperties": {
+ "description": "The properties of the Data Box Edge/Gateway device extended info.",
+ "type": "object",
+ "properties": {
+ "encryptionKeyThumbprint": {
+ "description": "The digital signature of encrypted certificate.",
+ "type": "string"
+ },
+ "encryptionKey": {
+ "description": "The public part of the encryption certificate. Client uses this to encrypt any secret.",
+ "type": "string"
+ },
+ "resourceKey": {
+ "description": "The Resource ID of the Resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "clientSecretStoreId": {
+ "description": "The Key Vault ARM Id for client secrets",
+ "type": "string"
+ },
+ "clientSecretStoreUrl": {
+ "description": "The url to access the Client Key Vault",
+ "type": "string"
+ },
+ "channelIntegrityKeyName": {
+ "description": "The name of Channel Integrity Key stored in the Client Key Vault",
+ "type": "string"
+ },
+ "channelIntegrityKeyVersion": {
+ "description": "The version of Channel Integrity Key stored in the Client Key Vault",
+ "type": "string"
+ },
+ "keyVaultSyncStatus": {
+ "description": "Key vault sync status",
+ "enum": [
+ "KeyVaultSynced",
+ "KeyVaultSyncFailed",
+ "KeyVaultNotConfigured",
+ "KeyVaultSyncPending",
+ "KeyVaultSyncing",
+ "KeyVaultNotSynced"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "KeyVaultSyncStatus",
+ "modelAsString": true
+ }
+ },
+ "deviceSecrets": {
+ "description": "Device secrets, will be returned only with ODataFilter $expand=deviceSecrets",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/Secret"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeDeviceList": {
+ "description": "The collection of Data Box Edge/Gateway devices.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of Data Box Edge/Gateway devices.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxEdgeDevice"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeDevicePatch": {
+ "description": "The Data Box Edge/Gateway device patch.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags attached to the Data Box Edge/Gateway resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "Msi identity of the resource"
+ },
+ "properties": {
+ "$ref": "#/definitions/DataBoxEdgeDevicePropertiesPatch",
+ "description": "The properties associated with the Data Box Edge/Gateway resource",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DataBoxEdgeDeviceProperties": {
+ "description": "The properties of the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "systemData": {
+ "description": "DataBoxEdge Device Properties",
+ "$ref": "#/definitions/SystemData"
+ },
+ "dataBoxEdgeDeviceStatus": {
+ "description": "The status of the Data Box Edge/Gateway device.",
+ "enum": [
+ "ReadyToSetup",
+ "Online",
+ "Offline",
+ "NeedsAttention",
+ "Disconnected",
+ "PartiallyDisconnected",
+ "Maintenance"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataBoxEdgeDeviceStatus",
+ "modelAsString": true
+ }
+ },
+ "serialNumber": {
+ "description": "The Serial Number of Data Box Edge/Gateway device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The Description of the Data Box Edge/Gateway device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "modelDescription": {
+ "description": "The description of the Data Box Edge/Gateway device model.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceType": {
+ "description": "The type of the Data Box Edge/Gateway device.",
+ "enum": [
+ "DataBoxEdgeDevice"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DeviceType",
+ "modelAsString": true
+ }
+ },
+ "friendlyName": {
+ "description": "The Data Box Edge/Gateway device name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "culture": {
+ "description": "The Data Box Edge/Gateway device culture.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceModel": {
+ "description": "The Data Box Edge/Gateway device model.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceSoftwareVersion": {
+ "description": "The Data Box Edge/Gateway device software version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceLocalCapacity": {
+ "format": "int64",
+ "description": "The Data Box Edge/Gateway device local capacity in MB.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "timeZone": {
+ "description": "The Data Box Edge/Gateway device timezone.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceHcsVersion": {
+ "description": "The device software version number of the device (eg: 1.2.18105.6).",
+ "type": "string",
+ "readOnly": true
+ },
+ "configuredRoleTypes": {
+ "description": "Type of compute roles configured.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "IOT",
+ "ASA",
+ "Functions",
+ "Cognitive",
+ "MEC",
+ "CloudEdgeManagement",
+ "Kubernetes"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleTypes",
+ "modelAsString": true
+ }
+ },
+ "readOnly": true
+ },
+ "nodeCount": {
+ "format": "int32",
+ "description": "The number of nodes in the cluster.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "resourceMoveDetails": {
+ "$ref": "#/definitions/ResourceMoveDetails",
+ "description": "The details of the move operation on this resource.",
+ "readOnly": true
+ },
+ "edgeProfile": {
+ "$ref": "#/definitions/EdgeProfile",
+ "description": "The details of Edge Profile for this resource",
+ "readOnly": true
+ },
+ "dataResidency": {
+ "$ref": "#/definitions/DataResidency",
+ "description": "The details of data-residency related properties for this resource"
+ }
+ }
+ },
+ "DataBoxEdgeDevicePropertiesPatch": {
+ "description": "The Data Box Edge/Gateway device properties patch.",
+ "type": "object",
+ "properties": {
+ "edgeProfile": {
+ "$ref": "#/definitions/EdgeProfilePatch",
+ "description": "Edge Profile property of the Data Box Edge/Gateway device"
+ }
+ }
+ },
+ "DataBoxEdgeMoveRequest": {
+ "description": "Resource Move details",
+ "required": [
+ "targetResourceGroup",
+ "resources"
+ ],
+ "type": "object",
+ "properties": {
+ "targetResourceGroup": {
+ "description": "Target resource group ARMId",
+ "type": "string"
+ },
+ "resources": {
+ "description": "List of resources to be moved",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DataBoxEdgeSku": {
+ "description": "The Sku information.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The Sku name.",
+ "enum": [
+ "Gateway",
+ "Edge",
+ "TEA_1Node",
+ "TEA_1Node_UPS",
+ "TEA_1Node_Heater",
+ "TEA_1Node_UPS_Heater",
+ "TEA_4Node_Heater",
+ "TEA_4Node_UPS_Heater",
+ "TMA",
+ "TDC",
+ "TCA_Small",
+ "GPU",
+ "TCA_Large",
+ "EdgeP_Base",
+ "EdgeP_High",
+ "EdgePR_Base",
+ "EdgePR_Base_UPS",
+ "EP2_64_1VPU_W",
+ "EP2_128_1T4_Mx1_W",
+ "EP2_256_2T4_W",
+ "EdgeMR_Mini",
+ "RCA_Small",
+ "RCA_Large",
+ "RDC",
+ "Management"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "kind": {
+ "description": "The Sku kind.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tier": {
+ "description": "The Sku tier.",
+ "enum": [
+ "Standard"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ },
+ "size": {
+ "description": "The Sku kind.",
+ "type": "string",
+ "readOnly": true
+ },
+ "family": {
+ "description": "The Sku family.",
+ "type": "string",
+ "readOnly": true
+ },
+ "locations": {
+ "description": "Availability of the Sku for the region.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "apiVersions": {
+ "description": "The API versions in which Sku is available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "locationInfo": {
+ "description": "Availability of the Sku for the location/zone/site.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuLocationInfo"
+ },
+ "readOnly": true
+ },
+ "costs": {
+ "description": "The pricing info of the Sku.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCost"
+ },
+ "readOnly": true
+ },
+ "signupOption": {
+ "description": "Sku can be signed up by customer or not.",
+ "enum": [
+ "None",
+ "Available"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuSignupOption",
+ "modelAsString": true
+ }
+ },
+ "version": {
+ "description": "Availability of the Sku as preview/stable.",
+ "enum": [
+ "Stable",
+ "Preview"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuVersion",
+ "modelAsString": true
+ }
+ },
+ "availability": {
+ "description": "Links to the next set of results",
+ "enum": [
+ "Available",
+ "Unavailable"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuAvailability",
+ "modelAsString": true
+ }
+ },
+ "shipmentTypes": {
+ "description": "List of Shipment Types supported by this SKU",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "NotApplicable",
+ "ShippedToCustomer",
+ "SelfPickup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShipmentType",
+ "modelAsString": true
+ }
+ },
+ "readOnly": true
+ },
+ "capabilities": {
+ "description": "The capability info of the SKU.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCapability"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeSkuList": {
+ "description": "List of SKU Information objects.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of ResourceType Sku",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxEdgeSku"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Links to the next set of results",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataResidency": {
+ "description": "Wraps data-residency related information for edge-resource and this should be used with ARM layer.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "DataResidencyType enum",
+ "enum": [
+ "GeoZoneReplication",
+ "ZoneReplication"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataResidencyType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "DCAccessCode": {
+ "description": "DC Access code in the case of Self Managed Shipping.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DCAccessCodeProperties",
+ "description": "DCAccessCode properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DCAccessCodeProperties": {
+ "description": "DCAccessCode Properties.",
+ "type": "object",
+ "properties": {
+ "authCode": {
+ "description": "DCAccess Code for the Self Managed shipment.",
+ "type": "string"
+ }
+ }
+ },
+ "DiagnosticProactiveLogCollectionSettings": {
+ "description": "The diagnostic proactive log collection settings of a device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "DiagnosticProactiveLogCollectionSettings",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/ProactiveLogCollectionSettingsProperties",
+ "description": "Properties of the diagnostic proactive log collection settings.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DiagnosticRemoteSupportSettings": {
+ "description": "The remote support settings of a device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "DiagnosticRemoteSupportSettings",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/DiagnosticRemoteSupportSettingsProperties",
+ "description": "Properties of the remote support settings.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DiagnosticRemoteSupportSettingsProperties": {
+ "description": "The properties of remote support settings.",
+ "type": "object",
+ "properties": {
+ "remoteSupportSettingsList": {
+ "description": "Remote support settings list according to the RemoteApplicationType",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RemoteSupportSettings"
+ }
+ }
+ }
+ },
+ "EdgeProfile": {
+ "description": "Details about Edge Profile for the resource",
+ "type": "object",
+ "properties": {
+ "subscription": {
+ "$ref": "#/definitions/EdgeProfileSubscription",
+ "description": "Edge Profile Subscription"
+ }
+ }
+ },
+ "EdgeProfilePatch": {
+ "description": "The Data Box Edge/Gateway Edge Profile patch.",
+ "type": "object",
+ "properties": {
+ "subscription": {
+ "$ref": "#/definitions/EdgeProfileSubscriptionPatch",
+ "description": "The Data Box Edge/Gateway Edge Profile Subscription patch"
+ }
+ }
+ },
+ "EdgeProfileSubscription": {
+ "description": "Subscription details for the Edge Profile",
+ "type": "object",
+ "properties": {
+ "registrationId": {
+ "description": "Edge Subscription Registration ID",
+ "type": "string"
+ },
+ "id": {
+ "description": "ARM ID of the subscription",
+ "type": "string"
+ },
+ "state": {
+ "enum": [
+ "Registered",
+ "Warned",
+ "Suspended",
+ "Deleted",
+ "Unregistered"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SubscriptionState",
+ "modelAsString": true
+ }
+ },
+ "registrationDate": {
+ "type": "string"
+ },
+ "subscriptionId": {
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/SubscriptionProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "EdgeProfileSubscriptionPatch": {
+ "description": "The Data Box Edge/Gateway Edge Profile Subscription patch.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The path ID that uniquely identifies the subscription of the edge profile.",
+ "type": "string"
+ }
+ }
+ },
+ "EtcdInfo": {
+ "description": "Etcd configuration",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Etcd type",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "Etcd version",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "FileEventTrigger": {
+ "description": "Trigger details.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Trigger"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FileTriggerProperties",
+ "description": "File trigger properties.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "FileEvent"
+ },
+ "FileSourceInfo": {
+ "description": "File source details.",
+ "required": [
+ "shareId"
+ ],
+ "type": "object",
+ "properties": {
+ "shareId": {
+ "description": "File share ID.",
+ "type": "string"
+ }
+ }
+ },
+ "FileTriggerProperties": {
+ "description": "File trigger properties.",
+ "required": [
+ "sourceInfo",
+ "sinkInfo"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceInfo": {
+ "$ref": "#/definitions/FileSourceInfo",
+ "description": "File event source details."
+ },
+ "sinkInfo": {
+ "$ref": "#/definitions/RoleSinkInfo",
+ "description": "Role sink info."
+ },
+ "customContextTag": {
+ "description": "A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module.",
+ "maxLength": 192,
+ "type": "string"
+ }
+ }
+ },
+ "GenerateCertResponse": {
+ "description": "Used in activation key generation flow.",
+ "type": "object",
+ "properties": {
+ "publicKey": {
+ "description": "Gets or sets base64 encoded certificate raw data,\r\nthis is the public part needed to be uploaded to cert vault",
+ "type": "string"
+ },
+ "privateKey": {
+ "description": "Gets or sets base64 encoded private part of the certificate,\r\nneeded to form the activation key",
+ "x-ms-secret": true,
+ "type": "string"
+ },
+ "expiryTimeInUTC": {
+ "description": "Gets or sets expiry time in UTC",
+ "type": "string"
+ }
+ }
+ },
+ "ImageRepositoryCredential": {
+ "description": "Image repository credential.",
+ "required": [
+ "imageRepositoryUrl",
+ "userName"
+ ],
+ "type": "object",
+ "properties": {
+ "imageRepositoryUrl": {
+ "description": "Image repository url (e.g.: mcr.microsoft.com).",
+ "type": "string"
+ },
+ "userName": {
+ "description": "Repository user name.",
+ "type": "string"
+ },
+ "password": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Repository user password."
+ }
+ }
+ },
+ "IoTAddon": {
+ "description": "IoT Addon.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Addon"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/IoTAddonProperties",
+ "description": "Properties specific to IOT addon.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "IotEdge"
+ },
+ "IoTAddonProperties": {
+ "description": "IoT addon properties.",
+ "required": [
+ "ioTDeviceDetails",
+ "ioTEdgeDeviceDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "ioTDeviceDetails": {
+ "$ref": "#/definitions/IoTDeviceInfo",
+ "description": "IoT device metadata to which appliance needs to be connected."
+ },
+ "ioTEdgeDeviceDetails": {
+ "$ref": "#/definitions/IoTDeviceInfo",
+ "description": "IoT edge device to which the IoT Addon needs to be configured."
+ },
+ "version": {
+ "description": "Version of IoT running on the appliance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "hostPlatform": {
+ "description": "Host OS supported by the IoT addon.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PlatformType",
+ "modelAsString": true
+ }
+ },
+ "hostPlatformType": {
+ "description": "Platform where the runtime is hosted.",
+ "enum": [
+ "KubernetesCluster",
+ "LinuxVM"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "HostPlatformType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "Addon Provisioning State",
+ "enum": [
+ "Invalid",
+ "Creating",
+ "Created",
+ "Updating",
+ "Reconfiguring",
+ "Failed",
+ "Deleting"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AddonState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "IoTDeviceInfo": {
+ "description": "Metadata of IoT device/IoT Edge device to be configured.",
+ "required": [
+ "deviceId",
+ "ioTHostHub"
+ ],
+ "type": "object",
+ "properties": {
+ "deviceId": {
+ "description": "ID of the IoT device/edge device.",
+ "type": "string"
+ },
+ "ioTHostHub": {
+ "description": "Host name for the IoT hub associated to the device.",
+ "type": "string"
+ },
+ "ioTHostHubId": {
+ "description": "Id for the IoT hub associated to the device.",
+ "type": "string"
+ },
+ "authentication": {
+ "$ref": "#/definitions/Authentication",
+ "description": "Encrypted IoT device/IoT edge device connection string."
+ }
+ }
+ },
+ "IoTEdgeAgentInfo": {
+ "description": "IoT edge agent details is optional, this will be used for download system Agent module while bootstrapping IoT Role if specified.",
+ "required": [
+ "imageName",
+ "tag"
+ ],
+ "type": "object",
+ "properties": {
+ "imageName": {
+ "description": "Name of the IoT edge agent image.",
+ "type": "string"
+ },
+ "tag": {
+ "description": "Image Tag.",
+ "type": "string"
+ },
+ "imageRepository": {
+ "$ref": "#/definitions/ImageRepositoryCredential",
+ "description": "Image repository details."
+ }
+ }
+ },
+ "IoTRole": {
+ "description": "Compute role.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Role"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/IoTRoleProperties",
+ "description": "Properties specific to IoT role.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "IOT"
+ },
+ "IoTRoleProperties": {
+ "description": "IoT role properties.",
+ "required": [
+ "hostPlatform",
+ "ioTDeviceDetails",
+ "ioTEdgeDeviceDetails",
+ "roleStatus"
+ ],
+ "type": "object",
+ "properties": {
+ "hostPlatform": {
+ "description": "Host OS supported by the IoT role.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PlatformType",
+ "modelAsString": true
+ }
+ },
+ "ioTDeviceDetails": {
+ "$ref": "#/definitions/IoTDeviceInfo",
+ "description": "IoT device metadata to which data box edge device needs to be connected."
+ },
+ "ioTEdgeDeviceDetails": {
+ "$ref": "#/definitions/IoTDeviceInfo",
+ "description": "IoT edge device to which the IoT role needs to be configured."
+ },
+ "shareMappings": {
+ "description": "Mount points of shares in role(s).",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MountPointMap"
+ }
+ },
+ "ioTEdgeAgentInfo": {
+ "$ref": "#/definitions/IoTEdgeAgentInfo",
+ "description": "Iot edge agent details to download the agent and bootstrap iot runtime."
+ },
+ "hostPlatformType": {
+ "description": "Platform where the Iot runtime is hosted.",
+ "enum": [
+ "KubernetesCluster",
+ "LinuxVM"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "HostPlatformType",
+ "modelAsString": true
+ }
+ },
+ "computeResource": {
+ "$ref": "#/definitions/ComputeResource",
+ "description": "Resource allocation"
+ },
+ "roleStatus": {
+ "description": "Role status.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Ipv4Config": {
+ "description": "Details related to the IPv4 address configuration.",
+ "type": "object",
+ "properties": {
+ "ipAddress": {
+ "description": "The IPv4 address of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subnet": {
+ "description": "The IPv4 subnet of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "gateway": {
+ "description": "The IPv4 gateway of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Ipv6Config": {
+ "description": "Details related to the IPv6 address configuration.",
+ "type": "object",
+ "properties": {
+ "ipAddress": {
+ "description": "The IPv6 address of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "prefixLength": {
+ "format": "int32",
+ "description": "The IPv6 prefix of the network adapter.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "gateway": {
+ "description": "The IPv6 gateway of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Job": {
+ "description": "A device job.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The current status of the job.",
+ "enum": [
+ "Invalid",
+ "Running",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Paused",
+ "Scheduled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": true
+ }
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The UTC date and time at which the job started.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The UTC date and time at which the job completed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "percentComplete": {
+ "format": "int32",
+ "description": "The percentage of the job that is complete.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "#/definitions/JobErrorDetails",
+ "description": "The error details.",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/JobProperties",
+ "description": "The properties of the job.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "JobErrorDetails": {
+ "description": "The job error information containing the list of job errors.",
+ "type": "object",
+ "properties": {
+ "errorDetails": {
+ "description": "The error details.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobErrorItem"
+ },
+ "readOnly": true
+ },
+ "code": {
+ "description": "The code intended for programmatic access.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The message that describes the error in detail.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobErrorItem": {
+ "description": "The job error items.",
+ "type": "object",
+ "properties": {
+ "recommendations": {
+ "description": "The recommended actions.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "code": {
+ "description": "The code intended for programmatic access.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The message that describes the error in detail.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobProperties": {
+ "description": "The properties for the job.",
+ "type": "object",
+ "properties": {
+ "jobType": {
+ "description": "The type of the job.",
+ "enum": [
+ "Invalid",
+ "ScanForUpdates",
+ "DownloadUpdates",
+ "InstallUpdates",
+ "RefreshShare",
+ "RefreshContainer",
+ "Backup",
+ "Restore",
+ "TriggerSupportPackage"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobType",
+ "modelAsString": true
+ }
+ },
+ "currentStage": {
+ "description": "Current stage of the update operation.",
+ "enum": [
+ "Unknown",
+ "Initial",
+ "ScanStarted",
+ "ScanComplete",
+ "ScanFailed",
+ "DownloadStarted",
+ "DownloadComplete",
+ "DownloadFailed",
+ "InstallStarted",
+ "InstallComplete",
+ "InstallFailed",
+ "RebootInitiated",
+ "Success",
+ "Failure",
+ "RescanStarted",
+ "RescanComplete",
+ "RescanFailed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "UpdateOperationStage",
+ "modelAsString": true
+ }
+ },
+ "downloadProgress": {
+ "$ref": "#/definitions/UpdateDownloadProgress",
+ "description": "The download progress.",
+ "readOnly": true
+ },
+ "installProgress": {
+ "$ref": "#/definitions/UpdateInstallProgress",
+ "description": "The install progress.",
+ "readOnly": true
+ },
+ "totalRefreshErrors": {
+ "format": "int32",
+ "description": "Total number of errors encountered during the refresh process.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "errorManifestFile": {
+ "description": "Local share/remote container relative path to the error manifest file of the refresh.",
+ "type": "string",
+ "readOnly": true
+ },
+ "refreshedEntityId": {
+ "description": "ARM ID of the entity that was refreshed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "folder": {
+ "description": "If only subfolders need to be refreshed, then the subfolder path inside the share or container. (The path is empty if there are no subfolders.)",
+ "type": "string"
+ }
+ }
+ },
+ "KubernetesClusterInfo": {
+ "description": "Kubernetes cluster configuration",
+ "required": [
+ "version"
+ ],
+ "type": "object",
+ "properties": {
+ "etcdInfo": {
+ "$ref": "#/definitions/EtcdInfo",
+ "description": "Etcd configuration",
+ "readOnly": true
+ },
+ "nodes": {
+ "description": "Kubernetes cluster nodes",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NodeInfo"
+ },
+ "readOnly": true
+ },
+ "version": {
+ "description": "Kubernetes cluster version",
+ "type": "string"
+ }
+ }
+ },
+ "KubernetesIPConfiguration": {
+ "description": "Kubernetes node IP configuration",
+ "type": "object",
+ "properties": {
+ "port": {
+ "description": "Port of the Kubernetes node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "ipAddress": {
+ "description": "IP address of the Kubernetes node.",
+ "type": "string"
+ }
+ }
+ },
+ "KubernetesRole": {
+ "description": "Kubernetes role.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Role"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/KubernetesRoleProperties",
+ "description": "Properties specific to Kubernetes role.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "Kubernetes"
+ },
+ "KubernetesRoleCompute": {
+ "description": "Kubernetes role compute resource",
+ "required": [
+ "vmProfile"
+ ],
+ "type": "object",
+ "properties": {
+ "vmProfile": {
+ "description": "VM profile",
+ "type": "string"
+ },
+ "memoryInBytes": {
+ "format": "int64",
+ "description": "Memory in bytes",
+ "type": "integer",
+ "readOnly": true
+ },
+ "processorCount": {
+ "format": "int32",
+ "description": "Processor count",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "KubernetesRoleNetwork": {
+ "description": "Kubernetes role network resource",
+ "type": "object",
+ "properties": {
+ "cniConfig": {
+ "$ref": "#/definitions/CniConfig",
+ "description": "Cni configuration",
+ "readOnly": true
+ },
+ "loadBalancerConfig": {
+ "$ref": "#/definitions/LoadBalancerConfig",
+ "description": "Load balancer configuration",
+ "readOnly": true
+ }
+ }
+ },
+ "KubernetesRoleProperties": {
+ "description": "Kubernetes role properties.",
+ "required": [
+ "hostPlatform",
+ "kubernetesClusterInfo",
+ "kubernetesRoleResources",
+ "roleStatus"
+ ],
+ "type": "object",
+ "properties": {
+ "hostPlatform": {
+ "description": "Host OS supported by the Kubernetes role.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PlatformType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "State of Kubernetes deployment",
+ "enum": [
+ "Invalid",
+ "Creating",
+ "Created",
+ "Updating",
+ "Reconfiguring",
+ "Failed",
+ "Deleting"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "KubernetesState",
+ "modelAsString": true
+ }
+ },
+ "hostPlatformType": {
+ "description": "Platform where the runtime is hosted.",
+ "enum": [
+ "KubernetesCluster",
+ "LinuxVM"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "HostPlatformType",
+ "modelAsString": true
+ }
+ },
+ "kubernetesClusterInfo": {
+ "$ref": "#/definitions/KubernetesClusterInfo",
+ "description": "Kubernetes cluster configuration"
+ },
+ "kubernetesRoleResources": {
+ "$ref": "#/definitions/KubernetesRoleResources",
+ "description": "Kubernetes role resources"
+ },
+ "roleStatus": {
+ "description": "Role status.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "KubernetesRoleResources": {
+ "description": "Kubernetes role resources",
+ "required": [
+ "compute"
+ ],
+ "type": "object",
+ "properties": {
+ "storage": {
+ "$ref": "#/definitions/KubernetesRoleStorage",
+ "description": "Kubernetes role storage resource"
+ },
+ "compute": {
+ "$ref": "#/definitions/KubernetesRoleCompute",
+ "description": "Kubernetes role compute resource"
+ },
+ "network": {
+ "$ref": "#/definitions/KubernetesRoleNetwork",
+ "description": "Kubernetes role network resource",
+ "readOnly": true
+ }
+ }
+ },
+ "KubernetesRoleStorage": {
+ "description": "Kubernetes role storage resource",
+ "type": "object",
+ "properties": {
+ "storageClasses": {
+ "description": "Kubernetes storage class info.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KubernetesRoleStorageClassInfo"
+ },
+ "readOnly": true
+ },
+ "endpoints": {
+ "description": "Mount points of shares in role(s).",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MountPointMap"
+ }
+ }
+ }
+ },
+ "KubernetesRoleStorageClassInfo": {
+ "description": "Kubernetes storage class info.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Storage class name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Storage class type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "posixCompliant": {
+ "description": "If provisioned storage is posix compliant.",
+ "enum": [
+ "Invalid",
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "PosixComplianceStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "LoadBalancerConfig": {
+ "description": "Load balancer configuration",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Load balancer type",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "Load balancer version",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "MECRole": {
+ "description": "MEC role.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Role"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MECRoleProperties",
+ "description": "Properties specific to MEC role.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "MEC"
+ },
+ "MECRoleProperties": {
+ "description": "MEC role properties.",
+ "required": [
+ "roleStatus"
+ ],
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Activation key of the MEC."
+ },
+ "controllerEndpoint": {
+ "description": "Controller Endpoint.",
+ "type": "string"
+ },
+ "resourceUniqueId": {
+ "description": "Unique Id of the Resource.",
+ "type": "string"
+ },
+ "roleStatus": {
+ "description": "Role status.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "MetricConfiguration": {
+ "description": "Metric configuration.",
+ "required": [
+ "resourceId",
+ "counterSets"
+ ],
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Resource ID on which the metrics should be pushed.",
+ "type": "string"
+ },
+ "mdmAccount": {
+ "description": "The MDM account to which the counters should be pushed.",
+ "type": "string"
+ },
+ "metricNameSpace": {
+ "description": "The MDM namespace to which the counters should be pushed. This is required if MDMAccount is specified",
+ "type": "string"
+ },
+ "counterSets": {
+ "description": "Host name for the IoT hub associated to the device.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricCounterSet"
+ }
+ }
+ }
+ },
+ "MetricCounter": {
+ "description": "The metric counter",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The counter name.",
+ "type": "string"
+ },
+ "instance": {
+ "description": "The instance from which counter should be collected.",
+ "type": "string"
+ },
+ "dimensionFilter": {
+ "description": "The dimension filter.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricDimension"
+ }
+ },
+ "additionalDimensions": {
+ "description": "The additional dimensions to be added to metric.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricDimension"
+ }
+ }
+ }
+ },
+ "MetricCounterSet": {
+ "description": "The metric counter set",
+ "required": [
+ "counters"
+ ],
+ "type": "object",
+ "properties": {
+ "counters": {
+ "description": "The counters that should be collected in this set.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricCounter"
+ }
+ }
+ }
+ },
+ "MetricDimension": {
+ "description": "The metric dimension",
+ "required": [
+ "sourceType",
+ "sourceName"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceType": {
+ "description": "The dimension type.",
+ "type": "string"
+ },
+ "sourceName": {
+ "description": "The dimension value.",
+ "type": "string"
+ }
+ }
+ },
+ "MetricDimension_V1": {
+ "description": "Metric Dimension v1.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the metrics dimension.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Display name of the metrics dimension.",
+ "type": "string"
+ },
+ "toBeExportedForShoebox": {
+ "description": "To be exported to shoe box.",
+ "type": "boolean"
+ }
+ }
+ },
+ "MetricSpecification_V1": {
+ "description": "Metric specification version 1.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the metric.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Display name of the metric.",
+ "type": "string"
+ },
+ "displayDescription": {
+ "description": "Description of the metric to be displayed.",
+ "type": "string"
+ },
+ "unit": {
+ "description": "Metric units.",
+ "enum": [
+ "NotSpecified",
+ "Percent",
+ "Count",
+ "Seconds",
+ "Milliseconds",
+ "Bytes",
+ "BytesPerSecond",
+ "CountPerSecond"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricUnit",
+ "modelAsString": true
+ }
+ },
+ "aggregationType": {
+ "description": "Metric aggregation type.",
+ "enum": [
+ "NotSpecified",
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricAggregationType",
+ "modelAsString": true
+ }
+ },
+ "dimensions": {
+ "description": "Metric dimensions, other than default dimension which is resource.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricDimension_V1"
+ }
+ },
+ "fillGapWithZero": {
+ "description": "Set true to fill the gaps with zero.",
+ "type": "boolean"
+ },
+ "category": {
+ "description": "Metric category.",
+ "enum": [
+ "Capacity",
+ "Transaction"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricCategory",
+ "modelAsString": true
+ }
+ },
+ "resourceIdDimensionNameOverride": {
+ "description": "Resource name override.",
+ "type": "string"
+ },
+ "supportedTimeGrainTypes": {
+ "description": "Support granularity of metrics.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "PT1M",
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "PT1D"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TimeGrain",
+ "modelAsString": true
+ }
+ }
+ },
+ "supportedAggregationTypes": {
+ "description": "Support metric aggregation type.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "enum": [
+ "NotSpecified",
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricAggregationType",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "MonitoringMetricConfiguration": {
+ "description": "The metric setting details for the role",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "MonitoringConfiguration on ASE device",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/MonitoringMetricConfigurationProperties",
+ "description": "The metric setting properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "MonitoringMetricConfigurationList": {
+ "description": "Collection of metric configurations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of metric configurations.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MonitoringMetricConfiguration"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "MonitoringMetricConfigurationProperties": {
+ "description": "Metrics properties",
+ "required": [
+ "metricConfigurations"
+ ],
+ "type": "object",
+ "properties": {
+ "metricConfigurations": {
+ "description": "The metrics configuration details",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricConfiguration"
+ }
+ }
+ }
+ },
+ "MountPointMap": {
+ "description": "The share mount point.",
+ "required": [
+ "shareId"
+ ],
+ "type": "object",
+ "properties": {
+ "shareId": {
+ "description": "ID of the share mounted to the role VM.",
+ "type": "string"
+ },
+ "roleId": {
+ "description": "ID of the role to which share is mounted.",
+ "type": "string",
+ "readOnly": true
+ },
+ "mountPoint": {
+ "description": "Mount point for the share.",
+ "type": "string",
+ "readOnly": true
+ },
+ "mountType": {
+ "description": "Mounting type.",
+ "enum": [
+ "Volume",
+ "HostPath"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "MountType",
+ "modelAsString": true
+ }
+ },
+ "roleType": {
+ "description": "Role type.",
+ "enum": [
+ "IOT",
+ "ASA",
+ "Functions",
+ "Cognitive",
+ "MEC",
+ "CloudEdgeManagement",
+ "Kubernetes"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RoleTypes",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "NetworkAdapter": {
+ "description": "Represents the networkAdapter on a device.",
+ "type": "object",
+ "properties": {
+ "adapterId": {
+ "description": "Instance ID of network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "adapterPosition": {
+ "$ref": "#/definitions/NetworkAdapterPosition",
+ "description": "Hardware position of network adapter.",
+ "readOnly": true
+ },
+ "index": {
+ "format": "int32",
+ "description": "Logical index of the adapter.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "nodeId": {
+ "description": "Node ID of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "networkAdapterName": {
+ "description": "Network adapter name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "label": {
+ "description": "Hardware label for the adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "macAddress": {
+ "description": "MAC address.",
+ "type": "string",
+ "readOnly": true
+ },
+ "linkSpeed": {
+ "format": "int64",
+ "description": "Link speed.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Value indicating whether this adapter is valid.",
+ "enum": [
+ "Inactive",
+ "Active"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "NetworkAdapterStatus",
+ "modelAsString": true
+ }
+ },
+ "rdmaStatus": {
+ "description": "Value indicating whether this adapter is RDMA capable.",
+ "enum": [
+ "Incapable",
+ "Capable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NetworkAdapterRDMAStatus",
+ "modelAsString": true
+ }
+ },
+ "dhcpStatus": {
+ "description": "Value indicating whether this adapter has DHCP enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NetworkAdapterDHCPStatus",
+ "modelAsString": true
+ }
+ },
+ "ipv4Configuration": {
+ "$ref": "#/definitions/Ipv4Config",
+ "description": "The IPv4 configuration of the network adapter.",
+ "readOnly": true
+ },
+ "ipv6Configuration": {
+ "$ref": "#/definitions/Ipv6Config",
+ "description": "The IPv6 configuration of the network adapter.",
+ "readOnly": true
+ },
+ "ipv6LinkLocalAddress": {
+ "description": "The IPv6 local address.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dnsServers": {
+ "description": "The list of DNS Servers of the device.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "NetworkAdapterPosition": {
+ "description": "The network adapter position.",
+ "type": "object",
+ "properties": {
+ "networkGroup": {
+ "description": "The network group.",
+ "enum": [
+ "None",
+ "NonRDMA",
+ "RDMA"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "NetworkGroup",
+ "modelAsString": true
+ }
+ },
+ "port": {
+ "format": "int32",
+ "description": "The port.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "NetworkSettings": {
+ "description": "The network settings of a device.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "NetworkSettings on ASE device",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/NetworkSettingsProperties",
+ "description": "The properties of network settings of a device.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "NetworkSettingsProperties": {
+ "description": "The properties of network settings.",
+ "type": "object",
+ "properties": {
+ "networkAdapters": {
+ "description": "The network adapter list on the device.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkAdapter"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "Node": {
+ "description": "Represents a single node in a Data box Edge/Gateway device\r\nGateway devices, standalone Edge devices and a single node cluster Edge device will all have 1 node\r\nMulti-node Edge devices will have more than 1 nodes",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/NodeProperties",
+ "description": "The properties of the node",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "NodeInfo": {
+ "description": "Kubernetes node info",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Node name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Node type - Master/Worker",
+ "enum": [
+ "Invalid",
+ "Master",
+ "Worker"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "KubernetesNodeType",
+ "modelAsString": true
+ }
+ },
+ "ipConfiguration": {
+ "description": "IP Configuration of the Kubernetes node.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KubernetesIPConfiguration"
+ }
+ }
+ }
+ },
+ "NodeList": {
+ "description": "Collection of Nodes.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of Nodes.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Node"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "NodeProperties": {
+ "description": "This class represents the nodes in a highly available cluster",
+ "type": "object",
+ "properties": {
+ "nodeStatus": {
+ "description": "The current status of the individual node",
+ "enum": [
+ "Unknown",
+ "Up",
+ "Down",
+ "Rebooting",
+ "ShuttingDown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "NodeStatus",
+ "modelAsString": true
+ }
+ },
+ "nodeChassisSerialNumber": {
+ "description": "Serial number of the Chassis",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeSerialNumber": {
+ "description": "Serial number of the individual node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeDisplayName": {
+ "description": "Display Name of the individual node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeFriendlySoftwareVersion": {
+ "description": "Friendly software version name that is currently installed on the node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeHcsVersion": {
+ "description": "HCS version that is currently installed on the node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeInstanceId": {
+ "description": "Guid instance id of the node",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Operation": {
+ "description": "Operations.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation.",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Is data action.",
+ "type": "boolean"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Properties displayed for the operation."
+ },
+ "origin": {
+ "description": "Origin of the operation.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Operation properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display properties.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Provider name.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "The type of resource in which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation to be performed on the resource.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation to be performed.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Operation properties.",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ServiceSpecification",
+ "description": "Service specification."
+ }
+ }
+ },
+ "OperationsList": {
+ "description": "The list of operations used for the discovery of available provider operations.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string"
+ }
+ }
+ },
+ "Order": {
+ "description": "The order details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Order configured on ASE resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/OrderProperties",
+ "description": "The order properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OrderList": {
+ "description": "List of order entities.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of orders.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Order"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OrderProperties": {
+ "description": "Order properties.",
+ "required": [
+ "contactInformation"
+ ],
+ "type": "object",
+ "properties": {
+ "contactInformation": {
+ "$ref": "#/definitions/ContactDetails",
+ "description": "The contact details."
+ },
+ "shippingAddress": {
+ "$ref": "#/definitions/Address",
+ "description": "The shipping address."
+ },
+ "currentStatus": {
+ "$ref": "#/definitions/OrderStatus",
+ "description": "Current status of the order.",
+ "readOnly": true
+ },
+ "orderHistory": {
+ "description": "List of status changes in the order.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OrderStatus"
+ },
+ "readOnly": true
+ },
+ "serialNumber": {
+ "description": "Serial number of the device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deliveryTrackingInfo": {
+ "description": "Tracking information for the package delivered to the customer whether it has an original or a replacement device.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackingInfo"
+ },
+ "readOnly": true
+ },
+ "returnTrackingInfo": {
+ "description": "Tracking information for the package returned from the customer whether it has an original or a replacement device.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackingInfo"
+ },
+ "readOnly": true
+ },
+ "shipmentType": {
+ "description": "ShipmentType of the order",
+ "enum": [
+ "NotApplicable",
+ "ShippedToCustomer",
+ "SelfPickup"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShipmentType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "OrderStatus": {
+ "description": "Represents a single status change.",
+ "required": [
+ "status"
+ ],
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of the order as per the allowed status types.",
+ "enum": [
+ "Untracked",
+ "AwaitingFulfillment",
+ "AwaitingPreparation",
+ "AwaitingShipment",
+ "Shipped",
+ "Arriving",
+ "Delivered",
+ "ReplacementRequested",
+ "LostDevice",
+ "Declined",
+ "ReturnInitiated",
+ "AwaitingReturnShipment",
+ "ShippedBack",
+ "CollectedAtMicrosoft",
+ "AwaitingPickup",
+ "PickupCompleted",
+ "AwaitingDrop"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OrderState",
+ "modelAsString": true
+ }
+ },
+ "updateDateTime": {
+ "format": "date-time",
+ "description": "Time of status update.",
+ "type": "string",
+ "readOnly": true
+ },
+ "comments": {
+ "description": "Comments related to this status change.",
+ "type": "string"
+ },
+ "trackingInformation": {
+ "$ref": "#/definitions/TrackingInfo",
+ "description": "Tracking information related to the state in the ordering flow",
+ "readOnly": true
+ },
+ "additionalOrderDetails": {
+ "description": "Dictionary to hold generic information which is not stored\r\nby the already existing properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "PeriodicTimerEventTrigger": {
+ "description": "Trigger details.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Trigger"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PeriodicTimerProperties",
+ "description": "Periodic timer trigger properties.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "PeriodicTimerEvent"
+ },
+ "PeriodicTimerProperties": {
+ "description": "Periodic timer trigger properties.",
+ "required": [
+ "sourceInfo",
+ "sinkInfo"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceInfo": {
+ "$ref": "#/definitions/PeriodicTimerSourceInfo",
+ "description": "Periodic timer details."
+ },
+ "sinkInfo": {
+ "$ref": "#/definitions/RoleSinkInfo",
+ "description": "Role Sink information."
+ },
+ "customContextTag": {
+ "description": "A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module.",
+ "maxLength": 192,
+ "type": "string"
+ }
+ }
+ },
+ "PeriodicTimerSourceInfo": {
+ "description": "Periodic timer event source.",
+ "required": [
+ "startTime",
+ "schedule"
+ ],
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "format": "date-time",
+ "description": "The time of the day that results in a valid trigger. Schedule is computed with reference to the time specified upto seconds. If timezone is not specified the time will considered to be in device timezone. The value will always be returned as UTC time.",
+ "type": "string"
+ },
+ "schedule": {
+ "description": "Periodic frequency at which timer event needs to be raised. Supports daily, hourly, minutes, and seconds.",
+ "type": "string"
+ },
+ "topic": {
+ "description": "Topic where periodic events are published to IoT device.",
+ "type": "string"
+ }
+ }
+ },
+ "ProactiveLogCollectionSettingsProperties": {
+ "description": "The properties of proactive log collection settings.",
+ "required": [
+ "userConsent"
+ ],
+ "type": "object",
+ "properties": {
+ "userConsent": {
+ "description": "Proactive diagnostic collection consent flag",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ProactiveDiagnosticsConsent",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "RawCertificateData": {
+ "description": "Raw Certificate Data.",
+ "required": [
+ "certificate"
+ ],
+ "type": "object",
+ "properties": {
+ "authenticationType": {
+ "description": "The authentication type.",
+ "enum": [
+ "Invalid",
+ "AzureActiveDirectory"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "certificate": {
+ "description": "The base64 encoded certificate raw data.",
+ "type": "string"
+ }
+ }
+ },
+ "RefreshDetails": {
+ "description": "Fields for tracking refresh job on the share or container.",
+ "type": "object",
+ "properties": {
+ "inProgressRefreshJobId": {
+ "description": "If a refresh job is currently in progress on this share or container, this field indicates the ARM resource ID of that job. The field is empty if no job is in progress.",
+ "type": "string"
+ },
+ "lastCompletedRefreshJobTimeInUTC": {
+ "format": "date-time",
+ "description": "Indicates the completed time for the last refresh job on this particular share or container, if any.This could be a failed job or a successful job.",
+ "type": "string"
+ },
+ "errorManifestFile": {
+ "description": "Indicates the relative path of the error xml for the last refresh job on this particular share or container, if any. This could be a failed job or a successful job.",
+ "type": "string"
+ },
+ "lastJob": {
+ "description": "Indicates the id of the last refresh job on this particular share or container,if any. This could be a failed job or a successful job.",
+ "type": "string"
+ }
+ }
+ },
+ "RemoteSupportSettings": {
+ "description": "RemoteApplicationType for which remote support settings is being modified",
+ "type": "object",
+ "properties": {
+ "remoteApplicationType": {
+ "description": "Remote application type",
+ "enum": [
+ "Powershell",
+ "WAC",
+ "LocalUI",
+ "AllApplications"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RemoteApplicationType",
+ "modelAsString": true
+ }
+ },
+ "accessLevel": {
+ "description": "Access level allowed for this remote application type",
+ "enum": [
+ "None",
+ "ReadOnly",
+ "ReadWrite",
+ "FullAccess"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccessLevel",
+ "modelAsString": true
+ }
+ },
+ "expirationTimeStampInUTC": {
+ "format": "date-time",
+ "description": "Expiration time stamp",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceIdentity": {
+ "description": "Msi identity details of the resource",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Identity type",
+ "enum": [
+ "None",
+ "SystemAssigned",
+ "UserAssigned"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MsiIdentityType",
+ "modelAsString": true
+ }
+ },
+ "principalId": {
+ "description": "Service Principal Id backing the Msi",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "Home Tenant Id",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ResourceMoveDetails": {
+ "description": "Fields for tracking resource move",
+ "type": "object",
+ "properties": {
+ "operationInProgress": {
+ "description": "Denotes whether move operation is in progress",
+ "enum": [
+ "None",
+ "ResourceMoveInProgress",
+ "ResourceMoveFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceMoveStatus",
+ "modelAsString": true
+ }
+ },
+ "operationInProgressLockTimeoutInUTC": {
+ "format": "date-time",
+ "description": "Denotes the timeout of the operation to finish",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceTypeSku": {
+ "description": "Resource type Sku object",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The resource type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "skus": {
+ "description": "The skus.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuInformation"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "Role": {
+ "description": "Compute role.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "description": "Role type.",
+ "enum": [
+ "IOT",
+ "ASA",
+ "Functions",
+ "Cognitive",
+ "MEC",
+ "CloudEdgeManagement",
+ "Kubernetes"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleTypes",
+ "modelAsString": true
+ }
+ },
+ "systemData": {
+ "description": "Role configured on ASE resource",
+ "$ref": "#/definitions/SystemData"
+ }
+ },
+ "discriminator": "kind"
+ },
+ "RoleList": {
+ "description": "Collection of all the roles on the Data Box Edge device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Value.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Role"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "RoleSinkInfo": {
+ "description": "Compute role against which events will be raised.",
+ "required": [
+ "roleId"
+ ],
+ "type": "object",
+ "properties": {
+ "roleId": {
+ "description": "Compute role ID.",
+ "type": "string"
+ }
+ }
+ },
+ "Secret": {
+ "description": "Holds device secret either as a KeyVault reference or as an encrypted value.",
+ "type": "object",
+ "properties": {
+ "encryptedSecret": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Encrypted (using device public key) secret value."
+ },
+ "keyVaultId": {
+ "description": "Id of the Key-Vault where secret is stored (ex: secrets/AuthClientSecret/82ef4346187a4033a10d629cde07d740).",
+ "type": "string"
+ }
+ }
+ },
+ "SecuritySettings": {
+ "description": "The security settings of a device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SecuritySettingsProperties",
+ "description": "Properties of the security settings.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "SecuritySettingsProperties": {
+ "description": "The properties of security settings.",
+ "required": [
+ "deviceAdminPassword"
+ ],
+ "type": "object",
+ "properties": {
+ "deviceAdminPassword": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Device administrator password as an encrypted string (encrypted using RSA PKCS #1) is used to sign into the local web UI of the device. The Actual password should have at least 8 characters that are a combination of uppercase, lowercase, numeric, and special characters."
+ }
+ }
+ },
+ "ServiceSpecification": {
+ "description": "Service specification.",
+ "type": "object",
+ "properties": {
+ "metricSpecifications": {
+ "description": "Metric specification as defined by shoebox.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricSpecification_V1"
+ }
+ }
+ }
+ },
+ "Share": {
+ "description": "Represents a share on the Data Box Edge/Gateway device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Share on ASE device",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/ShareProperties",
+ "description": "The share properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ShareAccessRight": {
+ "description": "Specifies the mapping between this particular user and the type of access he has on shares on this device.",
+ "required": [
+ "shareId",
+ "accessType"
+ ],
+ "type": "object",
+ "properties": {
+ "shareId": {
+ "description": "The share ID.",
+ "type": "string"
+ },
+ "accessType": {
+ "description": "Type of access to be allowed on the share for this user.",
+ "enum": [
+ "Change",
+ "Read",
+ "Custom"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareAccessType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ShareList": {
+ "description": "Collection of all the shares on the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of shares.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Share"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ShareProperties": {
+ "description": "The share properties.",
+ "required": [
+ "shareStatus",
+ "monitoringStatus",
+ "accessProtocol"
+ ],
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description for the share.",
+ "type": "string"
+ },
+ "shareStatus": {
+ "description": "Current status of the share.",
+ "enum": [
+ "Offline",
+ "Unknown",
+ "OK",
+ "Updating",
+ "NeedsAttention"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareStatus",
+ "modelAsString": true
+ }
+ },
+ "monitoringStatus": {
+ "description": "Current monitoring status of the share.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MonitoringStatus",
+ "modelAsString": true
+ }
+ },
+ "azureContainerInfo": {
+ "$ref": "#/definitions/AzureContainerInfo",
+ "description": "Azure container mapping for the share."
+ },
+ "accessProtocol": {
+ "description": "Access protocol to be used by the share.",
+ "enum": [
+ "SMB",
+ "NFS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareAccessProtocol",
+ "modelAsString": true
+ }
+ },
+ "userAccessRights": {
+ "description": "Mapping of users and corresponding access rights on the share (required for SMB protocol).",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserAccessRight"
+ }
+ },
+ "clientAccessRights": {
+ "description": "List of IP addresses and corresponding access rights on the share(required for NFS protocol).",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClientAccessRight"
+ }
+ },
+ "refreshDetails": {
+ "$ref": "#/definitions/RefreshDetails",
+ "description": "Details of the refresh job on this share."
+ },
+ "shareMappings": {
+ "description": "Share mount point to the role.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MountPointMap"
+ },
+ "readOnly": true
+ },
+ "dataPolicy": {
+ "description": "Data policy of the share.",
+ "enum": [
+ "Cloud",
+ "Local"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataPolicy",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Sku": {
+ "description": "The SKU type.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "SKU name.",
+ "enum": [
+ "Gateway",
+ "Edge",
+ "TEA_1Node",
+ "TEA_1Node_UPS",
+ "TEA_1Node_Heater",
+ "TEA_1Node_UPS_Heater",
+ "TEA_4Node_Heater",
+ "TEA_4Node_UPS_Heater",
+ "TMA",
+ "TDC",
+ "TCA_Small",
+ "GPU",
+ "TCA_Large",
+ "EdgeP_Base",
+ "EdgeP_High",
+ "EdgePR_Base",
+ "EdgePR_Base_UPS",
+ "EP2_64_1VPU_W",
+ "EP2_128_1T4_Mx1_W",
+ "EP2_256_2T4_W",
+ "EdgeMR_Mini",
+ "RCA_Small",
+ "RCA_Large",
+ "RDC",
+ "Management"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "description": "The SKU tier. This is based on the SKU name.",
+ "enum": [
+ "Standard"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "SkuCapability": {
+ "description": "The metadata to describe the capability.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "An invariant to describe the feature.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "An invariant if the feature is measured by quantity.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuCost": {
+ "description": "The metadata for retrieving price info.",
+ "type": "object",
+ "properties": {
+ "meterId": {
+ "description": "Used for querying price from commerce.",
+ "type": "string",
+ "readOnly": true
+ },
+ "quantity": {
+ "format": "int64",
+ "description": "The cost quantity.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "extendedUnit": {
+ "description": "The extended unit.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuInformation": {
+ "description": "Sku information",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The sku name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tier": {
+ "description": "The sku tier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "kind": {
+ "description": "The sku kind.",
+ "type": "string",
+ "readOnly": true
+ },
+ "family": {
+ "description": "The Sku family.",
+ "type": "string",
+ "readOnly": true
+ },
+ "costs": {
+ "description": "The pricing info of the Sku.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCost"
+ },
+ "readOnly": true
+ },
+ "locations": {
+ "description": "The locations where Sku is available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "locationInfo": {
+ "description": "The locations where Sku is available with zones and sites info",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuLocationInfo"
+ },
+ "readOnly": true
+ },
+ "requiredQuotaIds": {
+ "description": "The required quotaIds for the sku to be available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredFeatures": {
+ "description": "The required features for the sku to be available.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuInformationList": {
+ "description": "List of SKU Information objects",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of ResourceTypeSku objects",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceTypeSku"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Links to the next set of results",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuLocationInfo": {
+ "description": "The location info.",
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "The location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "zones": {
+ "description": "The zones.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "sites": {
+ "description": "The sites.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccount": {
+ "description": "Represents a Storage Account on the Data Box Edge/Gateway device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "StorageAccount object on ASE device",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/StorageAccountProperties",
+ "description": "The Storage Account properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "StorageAccountCredential": {
+ "description": "The storage account credential.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "StorageAccountCredential object",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/StorageAccountCredentialProperties",
+ "description": "The storage account credential properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "StorageAccountCredentialList": {
+ "description": "The collection of storage account credentials.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageAccountCredential"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccountCredentialProperties": {
+ "description": "The storage account credential properties.",
+ "required": [
+ "alias",
+ "sslStatus",
+ "accountType"
+ ],
+ "type": "object",
+ "properties": {
+ "alias": {
+ "description": "Alias for the storage account.",
+ "type": "string"
+ },
+ "userName": {
+ "description": "Username for the storage account.",
+ "type": "string"
+ },
+ "accountKey": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Encrypted storage key."
+ },
+ "connectionString": {
+ "description": "Connection string for the storage account. Use this string if username and account key are not specified.",
+ "type": "string"
+ },
+ "sslStatus": {
+ "description": "Signifies whether SSL needs to be enabled or not.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SSLStatus",
+ "modelAsString": true
+ }
+ },
+ "blobDomainName": {
+ "description": "Blob end point for private clouds.",
+ "type": "string"
+ },
+ "accountType": {
+ "description": "Type of storage accessed on the storage account.",
+ "enum": [
+ "GeneralPurposeStorage",
+ "BlobStorage"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccountType",
+ "modelAsString": true
+ }
+ },
+ "storageAccountId": {
+ "description": "Id of the storage account.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageAccountList": {
+ "description": "Collection of all the Storage Accounts on the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of storageAccounts.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageAccount"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccountProperties": {
+ "description": "The storage account properties.",
+ "required": [
+ "dataPolicy"
+ ],
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description for the storage Account.",
+ "type": "string"
+ },
+ "storageAccountStatus": {
+ "description": "Current status of the storage account",
+ "enum": [
+ "OK",
+ "Offline",
+ "Unknown",
+ "Updating",
+ "NeedsAttention"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageAccountStatus",
+ "modelAsString": true
+ }
+ },
+ "dataPolicy": {
+ "description": "Data policy of the storage Account.",
+ "enum": [
+ "Cloud",
+ "Local"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataPolicy",
+ "modelAsString": true
+ }
+ },
+ "storageAccountCredentialId": {
+ "description": "Storage Account Credential Id",
+ "type": "string"
+ },
+ "blobEndpoint": {
+ "description": "BlobEndpoint of Storage Account",
+ "type": "string",
+ "readOnly": true
+ },
+ "containerCount": {
+ "format": "int32",
+ "description": "The Container Count. Present only for Storage Accounts with DataPolicy set to Cloud.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "SubscriptionProperties": {
+ "type": "object",
+ "properties": {
+ "tenantId": {
+ "type": "string"
+ },
+ "locationPlacementId": {
+ "type": "string"
+ },
+ "quotaId": {
+ "type": "string"
+ },
+ "serializedDetails": {
+ "type": "string"
+ },
+ "registeredFeatures": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubscriptionRegisteredFeatures"
+ }
+ }
+ }
+ },
+ "SubscriptionRegisteredFeatures": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ }
+ }
+ },
+ "SupportPackageRequestProperties": {
+ "description": "The share properties.",
+ "type": "object",
+ "properties": {
+ "minimumTimeStamp": {
+ "format": "date-time",
+ "description": "Start of the timespan of the log collection",
+ "type": "string"
+ },
+ "maximumTimeStamp": {
+ "format": "date-time",
+ "description": "MaximumTimeStamp until where logs need to be collected",
+ "type": "string"
+ },
+ "include": {
+ "description": "Type of files, which need to be included in the logs\r\nThis will contain the type of logs (Default/DefaultWithDumps/None/All/DefaultWithArchived)\r\nor a comma separated list of log types that are required",
+ "type": "string"
+ }
+ }
+ },
+ "SymmetricKey": {
+ "description": "Symmetric key for authentication.",
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Connection string based on the symmetric key."
+ }
+ }
+ },
+ "SystemData": {
+ "description": "Metadata pertaining to creation and last modification of the resource.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "The identity that created the resource."
+ },
+ "createdByType": {
+ "type": "string",
+ "description": "The type of identity that created the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC)."
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "The identity that last modified the resource."
+ },
+ "lastModifiedByType": {
+ "type": "string",
+ "description": "The type of identity that last modified the resource.",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "createdByType",
+ "modelAsString": true
+ }
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The type of identity that last modified the resource."
+ }
+ }
+ },
+ "TrackingInfo": {
+ "description": "Tracking courier information.",
+ "type": "object",
+ "properties": {
+ "serialNumber": {
+ "description": "Serial number of the device being tracked.",
+ "type": "string"
+ },
+ "carrierName": {
+ "description": "Name of the carrier used in the delivery.",
+ "type": "string"
+ },
+ "trackingId": {
+ "description": "Tracking ID of the shipment.",
+ "type": "string"
+ },
+ "trackingUrl": {
+ "description": "Tracking URL of the shipment.",
+ "type": "string"
+ }
+ }
+ },
+ "Trigger": {
+ "description": "Trigger details.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Trigger in DataBoxEdge Resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "kind": {
+ "description": "Trigger Kind.",
+ "enum": [
+ "FileEvent",
+ "PeriodicTimerEvent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TriggerEventType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "kind"
+ },
+ "TriggerList": {
+ "description": "Collection of all trigger on the data box edge device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of triggers.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Trigger"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "TriggerSupportPackageRequest": {
+ "description": "The request object for trigger support package.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SupportPackageRequestProperties",
+ "description": "The TriggerSupportPackageRequest properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UpdateDetails": {
+ "description": "Update Specific attributes",
+ "type": "object",
+ "properties": {
+ "updateTitle": {
+ "description": "Title of the Update",
+ "type": "string"
+ },
+ "updateSize": {
+ "format": "double",
+ "description": "Size of the update(In Bytes)",
+ "type": "number"
+ },
+ "updateType": {
+ "description": "Type of the Update",
+ "enum": [
+ "Software",
+ "Kubernetes",
+ "Firmware"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UpdateType",
+ "modelAsString": true
+ }
+ },
+ "targetVersion": {
+ "description": "Target Version number",
+ "type": "string"
+ },
+ "friendlyVersionNumber": {
+ "description": "Friendly Version Number",
+ "type": "string"
+ },
+ "estimatedInstallTimeInMins": {
+ "format": "int32",
+ "description": "Estimated Install Time for the update",
+ "type": "integer"
+ },
+ "rebootBehavior": {
+ "description": "Indicates if updates are available and at least one of the updates needs a reboot.",
+ "enum": [
+ "NeverReboots",
+ "RequiresReboot",
+ "RequestReboot"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InstallRebootBehavior",
+ "modelAsString": true
+ }
+ },
+ "installationImpact": {
+ "description": "Impact of Installing an updateType",
+ "enum": [
+ "None",
+ "DeviceRebooted",
+ "KubernetesWorkloadsDown"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InstallationImpact",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "Status of the update.",
+ "enum": [
+ "DownloadPending",
+ "DownloadStarted",
+ "DownloadCompleted",
+ "InstallStarted",
+ "InstallCompleted"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UpdateStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "UpdateDownloadProgress": {
+ "description": "Details about the download progress of update.",
+ "type": "object",
+ "properties": {
+ "downloadPhase": {
+ "description": "The download phase.",
+ "enum": [
+ "Unknown",
+ "Initializing",
+ "Downloading",
+ "Verifying"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DownloadPhase",
+ "modelAsString": true
+ }
+ },
+ "percentComplete": {
+ "format": "int32",
+ "description": "Percentage of completion.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalBytesToDownload": {
+ "format": "double",
+ "description": "Total bytes to download.",
+ "type": "number",
+ "readOnly": true
+ },
+ "totalBytesDownloaded": {
+ "format": "double",
+ "description": "Total bytes downloaded.",
+ "type": "number",
+ "readOnly": true
+ },
+ "numberOfUpdatesToDownload": {
+ "format": "int32",
+ "description": "Number of updates to download.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "numberOfUpdatesDownloaded": {
+ "format": "int32",
+ "description": "Number of updates downloaded.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateInstallProgress": {
+ "description": "Progress details during installation of updates.",
+ "type": "object",
+ "properties": {
+ "percentComplete": {
+ "format": "int32",
+ "description": "Percentage completed.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "numberOfUpdatesToInstall": {
+ "format": "int32",
+ "description": "Number of updates to install.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "numberOfUpdatesInstalled": {
+ "format": "int32",
+ "description": "Number of updates installed.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateSummary": {
+ "description": "Details about ongoing updates and availability of updates on the device.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "UpdateSummary Result",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/UpdateSummaryProperties",
+ "description": "The device update information summary.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UpdateSummaryProperties": {
+ "description": "The device update information summary.",
+ "type": "object",
+ "properties": {
+ "deviceVersionNumber": {
+ "description": "The current version of the device in format: 1.2.17312.13.\",",
+ "type": "string"
+ },
+ "friendlyDeviceVersionName": {
+ "description": "The current version of the device in text format.",
+ "type": "string"
+ },
+ "deviceLastScannedDateTime": {
+ "format": "date-time",
+ "description": "The last time when a scan was done on the device.",
+ "type": "string"
+ },
+ "lastCompletedScanJobDateTime": {
+ "format": "date-time",
+ "description": "The time when the last scan job was completed (success/cancelled/failed) on the appliance.",
+ "type": "string"
+ },
+ "lastSuccessfulScanJobTime": {
+ "format": "date-time",
+ "description": "Time when the last scan job is successfully completed.",
+ "type": "string"
+ },
+ "lastCompletedDownloadJobDateTime": {
+ "format": "date-time",
+ "description": "The time when the last Download job was completed (success/cancelled/failed) on the appliance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastCompletedDownloadJobId": {
+ "description": "JobId of the last ran download job.(Can be success/cancelled/failed)",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastDownloadJobStatus": {
+ "description": "JobStatus of the last ran download job.",
+ "enum": [
+ "Invalid",
+ "Running",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Paused",
+ "Scheduled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": true
+ }
+ },
+ "lastSuccessfulInstallJobDateTime": {
+ "format": "date-time",
+ "description": "The time when the Last Install job was completed successfully on the appliance",
+ "type": "string"
+ },
+ "lastCompletedInstallJobDateTime": {
+ "format": "date-time",
+ "description": "The time when the last Install job was completed (success/cancelled/failed) on the appliance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastCompletedInstallJobId": {
+ "description": "JobId of the last ran install job.(Can be success/cancelled/failed)",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastInstallJobStatus": {
+ "description": "JobStatus of the last ran install job.",
+ "enum": [
+ "Invalid",
+ "Running",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Paused",
+ "Scheduled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": true
+ }
+ },
+ "totalNumberOfUpdatesAvailable": {
+ "format": "int32",
+ "description": "The number of updates available for the current device version as per the last device scan.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalNumberOfUpdatesPendingDownload": {
+ "format": "int32",
+ "description": "The total number of items pending download.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalNumberOfUpdatesPendingInstall": {
+ "format": "int32",
+ "description": "The total number of items pending install.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "rebootBehavior": {
+ "description": "Indicates if updates are available and at least one of the updates needs a reboot.",
+ "enum": [
+ "NeverReboots",
+ "RequiresReboot",
+ "RequestReboot"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "InstallRebootBehavior",
+ "modelAsString": true
+ }
+ },
+ "ongoingUpdateOperation": {
+ "description": "The current update operation.",
+ "enum": [
+ "None",
+ "Scan",
+ "Download",
+ "Install"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "UpdateOperation",
+ "modelAsString": true
+ }
+ },
+ "inProgressDownloadJobId": {
+ "description": "The job ID of the download job in progress.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inProgressInstallJobId": {
+ "description": "The job ID of the install job in progress.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inProgressDownloadJobStartedDateTime": {
+ "format": "date-time",
+ "description": "The time when the currently running download (if any) started.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inProgressInstallJobStartedDateTime": {
+ "format": "date-time",
+ "description": "The time when the currently running install (if any) started.",
+ "type": "string",
+ "readOnly": true
+ },
+ "updateTitles": {
+ "description": "The list of updates available for install.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "updates": {
+ "description": "The list of updates available for install.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpdateDetails"
+ },
+ "readOnly": true
+ },
+ "totalUpdateSizeInBytes": {
+ "format": "double",
+ "description": "The total size of updates available for download in bytes.",
+ "type": "number",
+ "readOnly": true
+ },
+ "totalTimeInMinutes": {
+ "format": "int32",
+ "description": "The total time in Minutes",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "UploadCertificateRequest": {
+ "description": "The upload certificate request.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RawCertificateData",
+ "description": "The Base 64 encoded certificate raw data.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UploadCertificateResponse": {
+ "description": "The upload registration certificate response.",
+ "type": "object",
+ "properties": {
+ "authType": {
+ "description": "Specifies authentication type.",
+ "enum": [
+ "Invalid",
+ "AzureActiveDirectory"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "resourceId": {
+ "description": "The resource ID of the Data Box Edge/Gateway device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "aadAuthority": {
+ "description": "Azure Active Directory tenant authority.",
+ "type": "string",
+ "readOnly": true
+ },
+ "aadTenantId": {
+ "description": "Azure Active Directory tenant ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "servicePrincipalClientId": {
+ "description": "Azure Active Directory service principal client ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "servicePrincipalObjectId": {
+ "description": "Azure Active Directory service principal object ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "azureManagementEndpointAudience": {
+ "description": "The azure management endpoint audience.",
+ "type": "string",
+ "readOnly": true
+ },
+ "aadAudience": {
+ "description": "Identifier of the target resource that is the recipient of the requested token.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "User": {
+ "description": "Represents a user who has access to one or more shares on the Data Box Edge/Gateway device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "User in DataBoxEdge Resource",
+ "$ref": "#/definitions/SystemData"
+ },
+ "properties": {
+ "$ref": "#/definitions/UserProperties",
+ "description": "The storage account credential properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UserAccessRight": {
+ "description": "The mapping between a particular user and the access type on the SMB share.",
+ "required": [
+ "userId",
+ "accessType"
+ ],
+ "type": "object",
+ "properties": {
+ "userId": {
+ "description": "User ID (already existing in the device).",
+ "type": "string"
+ },
+ "accessType": {
+ "description": "Type of access to be allowed for the user.",
+ "enum": [
+ "Change",
+ "Read",
+ "Custom"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareAccessType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "UserList": {
+ "description": "Collection of users.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of users.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/User"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UserProperties": {
+ "description": "The user properties.",
+ "required": [
+ "userType"
+ ],
+ "type": "object",
+ "properties": {
+ "encryptedPassword": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "The password details."
+ },
+ "shareAccessRights": {
+ "description": "List of shares that the user has rights on. This field should not be specified during user creation.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareAccessRight"
+ },
+ "readOnly": true
+ },
+ "userType": {
+ "description": "Type of the user.",
+ "enum": [
+ "Share",
+ "LocalManagement",
+ "ARM"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UserType",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The API version.",
+ "required": true,
+ "type": "string"
+ },
+ "locationParameter": {
+ "name": "location",
+ "in": "path",
+ "description": "The location of the resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The resource group name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription ID.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "tags": []
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/AlertGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/AlertGet.json
new file mode 100644
index 000000000000..9b25205846a4
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/AlertGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "title": "Could not scan for updates. Error message : 'An internal error has occurred. Please contact Microsoft Support.'.",
+ "alertType": "UpdateScanFailedEvent",
+ "appearedAtDateTime": "2018-12-18T02:18:51.4270267Z",
+ "recommendation": "Resolve the error : An internal error has occurred. Please contact Microsoft Support.",
+ "severity": "Critical",
+ "errorDetails": {
+ "errorCode": "",
+ "errorMessage": "",
+ "occurrences": 1
+ },
+ "detailedInformation": {}
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "type": "dataBoxEdgeDevices/alerts"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/AlertGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/AlertGetAllInDevice.json
new file mode 100644
index 000000000000..701487ecc53f
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/AlertGetAllInDevice.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "title": "Device password has changed",
+ "alertType": "PasswordChangedEvent",
+ "appearedAtDateTime": "2018-12-18T02:29:15.2325577Z",
+ "recommendation": "The device administrator password has changed. This is a required action as part of the first time device setup or regular password reset. No further action is required.",
+ "severity": "Informational",
+ "errorDetails": {
+ "errorCode": "",
+ "errorMessage": "",
+ "occurrences": 2
+ },
+ "detailedInformation": {}
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/83eccd0b-134b-40b0-ad62-b5f124d03790",
+ "name": "83eccd0b-134b-40b0-ad62-b5f124d03790",
+ "type": "dataBoxEdgeDevices/alerts"
+ },
+ {
+ "properties": {
+ "title": "Could not scan for updates. Error message : 'An internal error has occurred. Please contact Microsoft Support.'.",
+ "alertType": "UpdateScanFailedEvent",
+ "appearedAtDateTime": "2018-12-18T02:18:51.4270267Z",
+ "recommendation": "Resolve the error : An internal error has occurred. Please contact Microsoft Support.",
+ "severity": "Critical",
+ "errorDetails": {
+ "errorCode": "",
+ "errorMessage": "",
+ "occurrences": 1
+ },
+ "detailedInformation": {}
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "type": "dataBoxEdgeDevices/alerts"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/AvailableSkusList.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/AvailableSkusList.json
new file mode 100644
index 000000000000..17c40cddb758
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/AvailableSkusList.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "location": "westus",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "dataBoxEdgeDevices",
+ "name": "Gateway",
+ "availability": "Available",
+ "tier": "Standard",
+ "kind": "AzureDataBoxGateway",
+ "version": "Stable",
+ "signupOption": "Available",
+ "locations": [
+ "West US"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthScheduleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthScheduleDelete.json
new file mode 100644
index 000000000000..613e8a68ac71
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthScheduleDelete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "bandwidth-1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthScheduleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthScheduleGet.json
new file mode 100644
index 000000000000..c665a398b160
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthScheduleGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "bandwidth-1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "start": "00:00:00",
+ "stop": "13:59:00",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1",
+ "name": "bandwidth-1",
+ "type": "dataBoxEdgeDevices/bandwidthSchedules"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthScheduleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthScheduleGetAllInDevice.json
new file mode 100644
index 000000000000..2696d7db0e70
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthScheduleGetAllInDevice.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "start": "00:00:00",
+ "stop": "13:59:00",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1",
+ "name": "bandwidth-1",
+ "type": "dataBoxEdgeDevices/bandwidthSchedules"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthSchedulePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthSchedulePut.json
new file mode 100644
index 000000000000..facdd80a52a5
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/BandwidthSchedulePut.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "bandwidth-1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "properties": {
+ "start": "0:0:0",
+ "stop": "13:59:0",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "start": "00:00:00",
+ "stop": "13:59:00",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1",
+ "name": "bandwidth-1",
+ "type": "dataBoxEdgeDevices/bandwidthSchedules"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerDelete.json
new file mode 100644
index 000000000000..bb544af80117
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerGet.json
new file mode 100644
index 000000000000..466e17913e06
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:13:27.8545799Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/storageaccount1/containers/blobcontainer1",
+ "name": "blobcontainer1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerListAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerListAllInDevice.json
new file mode 100644
index 000000000000..bdfd0ca4837c
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerListAllInDevice.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:14:32.3016929Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer1",
+ "name": "blobcontainer1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ },
+ {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:15:38.0077675Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer2",
+ "name": "blobcontainer2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ },
+ {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:13:27.8545799Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer3",
+ "name": "blobcontainer3",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerPut.json
new file mode 100644
index 000000000000..448663137492
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerPut.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "container": {
+ "properties": {
+ "dataFormat": "BlockBlob"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:13:27.8545799Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/storageaccount1/containers/blobcontainer1",
+ "name": "blobcontainer-5e155efe",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerRefresh.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerRefresh.json
new file mode 100644
index 000000000000..a825111d78f4
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ContainerRefresh.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceDelete.json
new file mode 100644
index 000000000000..6054d2f27ac7
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetByName.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetByName.json
new file mode 100644
index 000000000000..5077422aa0e9
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetByName.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus2euap",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-09-29T18%3A50%3A31.1203818Z'\"_W/\"datetime'2020-09-29T18%3A50%3A31.1343914Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureStackEdge",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "Offline",
+ "serialNumber": "1D6QHQ2",
+ "deviceType": "DataBoxEdgeDevice",
+ "friendlyName": "DBE-1D6QHQ2",
+ "deviceModel": "Physical",
+ "deviceSoftwareVersion": "Azure Stack Edge 2009",
+ "deviceLocalCapacity": 8042259,
+ "timeZone": "Pacific Standard Time",
+ "deviceHcsVersion": "2.1.1361.23408",
+ "configuredRoleTypes": [
+ "CloudEdgeManagement"
+ ],
+ "nodeCount": 1,
+ "edgeProfile": {
+ "subscription": {
+ "registrationId": "91d8753b-af42-4908-9a5e-2a61f08b20de",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/VmMgmtTestPass/providers/Microsoft.AzureStack/edgeSubscriptions/daaac4b0-35c4-4008-bdc6-b72ca5890f16",
+ "state": "Registered"
+ }
+ }
+ },
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EdgeTestPassResource",
+ "name": "EdgeTestPassResource",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json
new file mode 100644
index 000000000000..570655398ac4
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetByNameWithDataResidency.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus2euap",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-09-29T18%3A50%3A31.1203818Z'\"_W/\"datetime'2020-09-29T18%3A50%3A31.1343914Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureStackEdge",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "Offline",
+ "serialNumber": "1D6QHQ2",
+ "deviceType": "DataBoxEdgeDevice",
+ "friendlyName": "DBE-1D6QHQ2",
+ "deviceModel": "Physical",
+ "deviceSoftwareVersion": "Azure Stack Edge 2009",
+ "deviceLocalCapacity": 8042259,
+ "timeZone": "Pacific Standard Time",
+ "deviceHcsVersion": "2.1.1361.23408",
+ "configuredRoleTypes": [
+ "CloudEdgeManagement"
+ ],
+ "nodeCount": 1,
+ "edgeProfile": {
+ "subscription": {
+ "registrationId": "91d8753b-af42-4908-9a5e-2a61f08b20de",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/VmMgmtTestPass/providers/Microsoft.AzureStack/edgeSubscriptions/daaac4b0-35c4-4008-bdc6-b72ca5890f16",
+ "state": "Registered"
+ }
+ },
+ "dataResidency": {
+ "type": "ZoneReplication"
+ }
+ },
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EdgeTestPassResource",
+ "name": "EdgeTestPassResource",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json
new file mode 100644
index 000000000000..fc729cfedaa5
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetByResourceGroup.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "eastus2euap",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-09-29T18%3A50%3A31.1203818Z'\"_W/\"datetime'2020-09-29T18%3A50%3A31.1343914Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureStackEdge",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EdgeTestPassResource",
+ "name": "EdgeTestPassResource",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "centraluseuap",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-11-18T23%3A31%3A30.3266766Z'\"_W/\"datetime'2020-11-18T23%3A31%3A30.3326804Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "d97a6de5-f5c0-485a-8f5e-b7f705d2dbc4",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureStackEdge",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/FPGAResource",
+ "name": "FPGAResource",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "centraluseuap",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-11-18T23%3A31%3A23.1715672Z'\"_W/\"datetime'2020-11-18T23%3A31%3A23.2396152Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "6f2b341b-aded-4ec2-a1bd-d09438d6cc8f",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureStackEdge",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/TestVMEdgeResource",
+ "name": "TestVMEdgeResource",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetBySubscription.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetBySubscription.json
new file mode 100644
index 000000000000..31bbf7b5ec67
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDeviceGetBySubscription.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "eastus2euap",
+ "tags": {},
+ "sku": {
+ "name": "Gateway",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-11-19T01%3A39%3A55.1270082Z'\"_W/\"datetime'2020-11-19T01%3A39%3A55.1320118Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "083df009-06d9-4e3c-ae72-f9249a814334",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureDataBoxGateway",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/abhudeda-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/linksub01",
+ "name": "linksub01",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "eastus2euap",
+ "tags": {},
+ "sku": {
+ "name": "Gateway",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-11-19T01%3A40%3A05.9246966Z'\"_W/\"datetime'2020-11-19T01%3A40%3A05.9317011Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "8536db30-78d2-4759-95b7-896a66e14c24",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureDataBoxGateway",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/abhudeda-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/mergeazstest",
+ "name": "mergeazstest",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "eastus2euap",
+ "tags": {},
+ "sku": {
+ "name": "Gateway",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-11-19T01%3A40%3A06.496102Z'\"_W/\"datetime'2020-11-19T01%3A40%3A06.503107Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "fc4c1205-35c8-4f35-abc7-f5a78945f676",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureDataBoxGateway",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/abhudeda-rg/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/mergeazstest2",
+ "name": "mergeazstest2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDevicePatch.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDevicePatch.json
new file mode 100644
index 000000000000..a7c23a75f607
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDevicePatch.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "properties": {
+ "edgeProfile": {
+ "subscription": {
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/rapvs-rg/providers/Microsoft.AzureStack/linkedSubscriptions/ca014ddc-5cf2-45f8-b390-e901e4a0ae87"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "eastus2euap",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2020-11-19T04%3A43%3A38.6457308Z'\"_W/\"datetime'2020-11-19T04%3A43%3A38.6507339Z'\"",
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "b3e34fcc-ab02-4ca4-9d22-5de115419091",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47"
+ },
+ "kind": "AzureStackEdge",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "ReadyToSetup",
+ "deviceType": "DataBoxEdgeDevice",
+ "deviceLocalCapacity": 0,
+ "timeZone": "Pacific Standard Time",
+ "nodeCount": 0,
+ "resourceMoveDetails": {
+ "operationInProgress": "None"
+ },
+ "edgeProfile": {
+ "subscription": {
+ "registrationId": "91d8753b-af42-4908-9a5e-2a61f08b20de",
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/VmMgmtTestPass/providers/Microsoft.AzureStack/edgeSubscriptions/daaac4b0-35c4-4008-bdc6-b72ca5890f16",
+ "state": "Registered"
+ }
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourcegroups/VmMgmtTestPass/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice",
+ "name": "testedgedevice",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDevicePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDevicePut.json
new file mode 100644
index 000000000000..4e69d2dc44eb
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDevicePut.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "dataBoxEdgeDevice": {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "name": "testedgedevice"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDevicePutWithDataResidency.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDevicePutWithDataResidency.json
new file mode 100644
index 000000000000..764d42d8d9ac
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DataBoxEdgeDevicePutWithDataResidency.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "dataBoxEdgeDevice": {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "properties": {
+ "dataResidency": {
+ "type": "ZoneReplication"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "name": "testedgedevice",
+ "properties": {
+ "dataResidency": {
+ "type": "ZoneReplication"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DeleteAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DeleteAddons.json
new file mode 100644
index 000000000000..51c9c9c31cec
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DeleteAddons.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "KubernetesRole",
+ "addonName": "arcName",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DeleteMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DeleteMonitoringConfig.json
new file mode 100644
index 000000000000..44a7ffaa768c
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DeleteMonitoringConfig.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "testrole",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DownloadUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DownloadUpdatesPost.json
new file mode 100644
index 000000000000..3baaf7d404d8
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/DownloadUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ExtendedInfoPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ExtendedInfoPost.json
new file mode 100644
index 000000000000..450d86a0be98
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ExtendedInfoPost.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resourceKey": "3482840729935603111",
+ "encryptionKeyThumbprint": "",
+ "encryptionKey": ""
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice",
+ "name": "testedgedevice",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GenerateCertificate.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GenerateCertificate.json
new file mode 100644
index 000000000000..6413e188b4c6
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GenerateCertificate.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "publicKey": "MIIEDjCCAnagAwIBAgIQEW4wrxj9+JdA4kFLDgegTTANBgkqhkiG9w0BAQUFADBDMUEwPwYDVQQDHjgAQwBCAF8AUABvAHIAdABhAGwAXwA2ADMANwA0ADEAMwA1ADkAMQA4ADAAMAA3ADAAOQAxADcANTAeFw0yMDExMTkwNDU2MjBaFw0yMDExMjIwNTA2MjBaMEMxQTA/BgNVBAMeOABDAEIAXwBQAG8AcgB0AGEAbABfADYAMwA3ADQAMQAzADUAOQAxADgAMAAwADcAMAA5ADEANwA1MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAqG617KAUc4gOoht527o6FGE/c97W/wZIXqKbx4G8vifljXWw3NGDDuSQfidE3MqSMMJ/AAlDhBH/Deo/PAgUWuWB2WgM+KFWrDS0oDBvLVeIIeiMx4LOsbz4J8IbcKrGWf+ulQyum7dE/yBLzPXcPTjhJP0oMfhGOMlVVWbiKaP78/WZk2PmBQaVv7PxAQnJAPqETH2qAyuc9bd0TaMlIER56WhX9+nzsoI0u7RmBEs8+BaudVroiiK/GpEczy73TCRlpVXGChdBHg+NvYRYz91ltCV9Ijo1bdvcUjdgDJZ4Tz7G8XVCQmxbd9ml6OBLgxQUpd9HSGTcIfFiv+rTUwHR7YkY+1UGHsDPOYnBVDTXs3RFm+c5uNnCKvtyTExDJgabT+FTNb3eyD/BSYsy6b/YZBRqPiO8BRFUsIhWhXtPaUjWOEx6XMeZRnGeF4Hi8iH8TR79kEJhfYy3piSPAc3JrhgoglpyyfZOgyPOje+8tAWS9FHUNyVXKKeksDoZAgMBAAEwDQYJKoZIhvcNAQEFBQADggGBACpfQt34mgr+WlFtY0tqaPAoF6XnVzyKB6XsVAoj1uKFTSCQnr0mWvUMWKSRFTu1bV1VdDokV5I+h92kBcO4ddtHhWtkt16j9XFDsGdDvoUWJeqecZVr9fBPC69wF/9R/2E6iJporR46Pui7gcilYGqb3IjJlh8RT/XBPamQrfDbS7G8eTe91ST5cHr89R6EtDwfyhyTZr2sRrvQrxY2AjEmdH5Zcl9q2Xf8DholZhZ9vwnuYBFfl6VCXWaDAzQWiPdxo1wgXxEpNNDstGFWJKnsnz9UCohNAiPf47B+csPqxjcTLVMhcGLdU/lwpzzkEOciijpYILscvPoU3IM6DmFROgU2z6CForpgwHPDJktyWU1MC7lFdfrSzwu/5b3ZAEQhnJf7rvrybULoYBQWJEuj26Is1S6kXpNUaHAc5HIyIoc2V2eRjasbPIqsU0smjPLS/1egjHxtw9u+v4qDDvDuOjhFJtC3NkPl06TfNgO9+5LgiB1JppXnkLyCQ9RQgw==",
+ "privateKey": null,
+ "expiryTimeInUTC": "2020-11-22T05:06:20.000Z"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetAddons.json
new file mode 100644
index 000000000000..514f08c953ae
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetAddons.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "KubernetesRole",
+ "addonName": "arcName",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "resourceName": "testedgedevice",
+ "resourceLocation": "EastUS",
+ "version": "0.2.18",
+ "hostPlatform": "Linux",
+ "hostPlatformType": "KubernetesCluster",
+ "provisioningState": "Created"
+ },
+ "kind": "ArcForKubernetes",
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourcegroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/addonExamples/roles/kubernetesRole/addons/arcName",
+ "name": "arcName",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addons"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetDCAccessCode.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetDCAccessCode.json
new file mode 100644
index 000000000000..75d5b20637c5
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetDCAccessCode.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "authCode": "_sv7-NY2"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetDiagnosticProactiveLogCollectionSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetDiagnosticProactiveLogCollectionSettings.json
new file mode 100644
index 000000000000..9553f12c7353
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetDiagnosticProactiveLogCollectionSettings.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "diagnosticProactiveLogCollectionSettings": {
+ "properties": {
+ "userConsent": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "userConsent": "Enabled"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/diagnosticProactiveLogCollectionSettings/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/diagnosticSettings"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetDiagnosticRemoteSupportSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetDiagnosticRemoteSupportSettings.json
new file mode 100644
index 000000000000..e87ca6c0dc18
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetDiagnosticRemoteSupportSettings.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "remoteSupportSettingsList": [
+ {
+ "accessLevel": "ReadWrite",
+ "expirationTimeStampInUTC": "2021-07-07T00:00:00+00:00",
+ "remoteApplicationType": "LocalUI"
+ }
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/diagnosticRemoteSupportSettings/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/diagnosticSettings"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetMonitoringConfig.json
new file mode 100644
index 000000000000..e4e0eb61a8e8
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetMonitoringConfig.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "testrole",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "metricConfigurations": [
+ {
+ "resourceId": "test",
+ "mdmAccount": "test",
+ "metricNameSpace": "test",
+ "counterSets": [
+ {
+ "counters": [
+ {
+ "name": "test"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetUpdateExtendedInfo.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetUpdateExtendedInfo.json
new file mode 100644
index 000000000000..88075750fe3d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/GetUpdateExtendedInfo.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "parameters": {},
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "clientSecretStoreId": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/arja-rg/providers/Microsoft.KeyVault/vaults/test-keyvault-ccy-523",
+ "clientSecretStoreUrl": "https://test-keyvault-ccy-523.vault.azure.net",
+ "channelIntegrityKeyName": "ase-cik-ab861822-21ea-4d31-96ec-89aa066f9a59",
+ "channelIntegrityKeyVersion": "95e9b619e65f433d82c9e1ead48214b9",
+ "keyVaultSyncStatus": "KeyVaultSynced",
+ "deviceSecrets": {
+ "HcsDataVolumeBitLockerExternalKey": {
+ "keyVaultId": "Id"
+ },
+ "HcsInternalVolumeBitLockerExternalKey": {
+ "keyVaultId": "Id"
+ },
+ "SystemVolumeBitLockerRecoveryKey": {
+ "keyVaultId": "Id"
+ },
+ "SEDEncryptionExternalKeyId": {},
+ "SEDEncryptionExternalKey": {},
+ "BMCDefaultUserPassword": {},
+ "RotateKeyForDataVolumeBitlocker": {},
+ "RotateKeysForSedDrivesSerialized": {}
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/InstallUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/InstallUpdatesPost.json
new file mode 100644
index 000000000000..3baaf7d404d8
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/InstallUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/JobsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/JobsGet.json
new file mode 100644
index 000000000000..8e3f1c402515
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/JobsGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/id/locations/westus/jobs/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "status": "Succeeded",
+ "startTime": "2018-12-18T02:18:51.4270267Z",
+ "endTime": "2018-12-18T03:18:51.4270267Z",
+ "percentComplete": 100,
+ "properties": {
+ "jobType": "DownloadUpdates",
+ "currentStage": "Success"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ListMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ListMonitoringConfig.json
new file mode 100644
index 000000000000..ee78eb32efb3
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ListMonitoringConfig.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "testrole",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "metricConfigurations": [
+ {
+ "resourceId": "test",
+ "mdmAccount": "test",
+ "metricNameSpace": "test",
+ "counterSets": [
+ {
+ "counters": [
+ {
+ "name": "test"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/NetworkSettingsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/NetworkSettingsGet.json
new file mode 100644
index 000000000000..975cf33afc87
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/NetworkSettingsGet.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "networkAdapters": [
+ {
+ "adapterId": "{47D0D0EC-AA8A-4221-AA2A-355B58082BA5}",
+ "adapterPosition": {
+ "networkGroup": "NonRDMA",
+ "port": 0
+ },
+ "index": 1,
+ "nodeId": "3fd54d9e-f7a0-45bf-bdf1-39b0977d1984",
+ "networkAdapterName": "DATA1",
+ "label": "DATA1",
+ "macAddress": "00155D4E265B",
+ "linkSpeed": 10000000000,
+ "status": "Inactive",
+ "rdmaStatus": "Incapable",
+ "dhcpStatus": "Disabled",
+ "ipv4Configuration": {
+ "ipAddress": "10.150.78.56",
+ "subnet": "255.255.252.0",
+ "gateway": "10.150.76.1"
+ },
+ "ipv6Configuration": {
+ "ipAddress": "2404:f801:4800:1e:d5c6:50a1:465b:1bbf",
+ "prefixLength": 64,
+ "gateway": "fe80::12f3:11ff:fe36:994b%5"
+ },
+ "ipv6LinkLocalAddress": "fe80::d5c6:50a1:465b:1bbf%5",
+ "dnsServers": [
+ "10.50.50.50",
+ "10.50.10.50"
+ ]
+ }
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/networkSettings/default",
+ "name": "default",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/networkSettings"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/NodeGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/NodeGetAllInDevice.json
new file mode 100644
index 000000000000..e2c50ecb2c46
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/NodeGetAllInDevice.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "nodeStatus": "Unknown",
+ "nodeChassisSerialNumber": "1D6QHQ2",
+ "nodeSerialNumber": "1D6QHQ2",
+ "nodeDisplayName": "Controller 1",
+ "nodeFriendlySoftwareVersion": "Data Box Edge 1908",
+ "nodeHcsVersion": "1.6.961.8307",
+ "nodeInstanceId": "ad051874-7d27-4ac4-a7b1-b6f231d8a035"
+ },
+ "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/testedgedevice/nodes/1D6QHQ2",
+ "name": "1D6QHQ2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/nodes"
+ },
+ {
+ "properties": {
+ "nodeStatus": "Unknown",
+ "nodeChassisSerialNumber": "1D6QHQ2",
+ "nodeSerialNumber": "1DCNHQ2",
+ "nodeDisplayName": "Controller 1",
+ "nodeFriendlySoftwareVersion": "Data Box Edge 1908",
+ "nodeHcsVersion": "1.6.961.8307",
+ "nodeInstanceId": "ddf3a76d-ada4-44af-99c6-a69a0e21bcb6"
+ },
+ "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/testedgedevice/nodes/1DCNHQ2",
+ "name": "1DCNHQ2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/nodes"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OperationsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OperationsGet.json
new file mode 100644
index 000000000000..743e8053c323
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OperationsGet.json
@@ -0,0 +1,675 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "List share users",
+ "description": "Lists or gets the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "List share users",
+ "description": "Lists or gets the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "Creates or updates share users",
+ "description": "Creates or updates the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "Delete share users",
+ "description": "Deletes the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "List bandwidth schedules",
+ "description": "Lists or gets the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "List bandwidth schedules",
+ "description": "Lists or gets the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "Creates or updates bandwidth schedules",
+ "description": "Creates or updates the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "Delete bandwidth schedules",
+ "description": "Deletes the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "List ArmApiRes_roles",
+ "description": "Lists or gets the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "List ArmApiRes_roles",
+ "description": "Lists or gets the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "Creates or updates ArmApiRes_roles",
+ "description": "Creates or updates the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "Delete ArmApiRes_roles",
+ "description": "Deletes the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "List shares",
+ "description": "Lists or gets the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "List shares",
+ "description": "Lists or gets the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "Creates or updates shares",
+ "description": "Creates or updates the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/refresh/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "ArmApiOp_action_refresh_shares",
+ "description": "ArmApiDesc_action_refresh_shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "Delete shares",
+ "description": "Deletes the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/uploadCertificate/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Upload certificates",
+ "description": "Upload certificate for device registration"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Creates or updates Data Box Edge devices",
+ "description": "Creates or updates the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "List Data Box Edge devices",
+ "description": "Lists or gets the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Delete Data Box Edge devices",
+ "description": "Deletes the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "List Data Box Edge devices",
+ "description": "Lists or gets the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "List Data Box Edge devices",
+ "description": "Lists or gets the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Creates or updates Data Box Edge devices",
+ "description": "Creates or updates the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/getExtendedInformation/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "ArmApiOp_action_getExtendedInformation_dataBoxEdgeDevices",
+ "description": "ArmApiDesc_action_getExtendedInformation_dataBoxEdgeDevices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/extendedInformation/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Gets resource extended information",
+ "description": "Retrieves resource extended information"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/networkSettings/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Device network settings",
+ "operation": "List Device network settings",
+ "description": "Lists or gets the Device network settings"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/securitySettings/update/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Device security settings",
+ "operation": "Update security settings",
+ "description": "Update security settings"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/updateSummary/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "update summary",
+ "operation": "List update summary",
+ "description": "Lists or gets the update summary"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/scanForUpdates/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Scan for updates",
+ "description": "Scan for updates"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/downloadUpdates/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Download Updates",
+ "description": "Download Updates in device"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/installUpdates/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Install Updates",
+ "description": "Install Updates on device"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/jobs/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "jobs",
+ "operation": "List jobs",
+ "description": "Lists or gets the jobs"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "Creates or updates storage account credentials",
+ "description": "Creates or updates the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "List storage account credentials",
+ "description": "Lists or gets the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "List storage account credentials",
+ "description": "Lists or gets the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "Delete storage account credentials",
+ "description": "Deletes the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/alerts/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "alerts",
+ "operation": "List alerts",
+ "description": "Lists or gets the alerts"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/alerts/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "alerts",
+ "operation": "List alerts",
+ "description": "Lists or gets the alerts"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge device",
+ "operation": "Read Data Box Edge device metric definition",
+ "description": "Gets the available Data Box Edge device level metrics"
+ },
+ "origin": "system",
+ "properties": {
+ "serviceSpecification": {
+ "metricSpecifications": [
+ {
+ "name": "NICReadThroughput",
+ "displayName": "Read Throughput (Network)",
+ "displayDescription": "The read throughput of the network interface on the device in the reporting period for all volumes in the gateway.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "InstanceName",
+ "displayName": "Name",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "NICWriteThroughput",
+ "displayName": "Write Throughput (Network)",
+ "displayDescription": "The write throughput of the network interface on the device in the reporting period for all volumes in the gateway.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "InstanceName",
+ "displayName": "Name",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudReadThroughputPerShare",
+ "displayName": "Cloud Download Throughput (Share)",
+ "displayDescription": "The download throughput to Azure from a share during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "Share",
+ "displayName": "Share",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudUploadThroughputPerShare",
+ "displayName": "Cloud Upload Throughput (Share)",
+ "displayDescription": "The upload throughput to Azure from a share during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "Share",
+ "displayName": "Share",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "BytesUploadedToCloudPerShare",
+ "displayName": "Cloud Bytes Uploaded (Share)",
+ "displayDescription": "The total number of bytes that is uploaded to Azure from a share during the reporting period.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "Share",
+ "displayName": "Share",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "TotalCapacity",
+ "displayName": "Total Capacity",
+ "displayDescription": "Total Capacity",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Capacity",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "AvailableCapacity",
+ "displayName": "Available Capacity",
+ "displayDescription": "The available capacity in bytes during the reporting period.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Capacity",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudUploadThroughput",
+ "displayName": "Cloud Upload Throughput",
+ "displayDescription": "The cloud upload throughput during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudReadThroughput",
+ "displayName": "Cloud Read Throughput",
+ "displayDescription": "The cloud download throughput during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "BytesUploadedToCloud",
+ "displayName": "Cloud Bytes Uploaded (Device)",
+ "displayDescription": "The total number of bytes that is uploaded to Azure from a device during the reporting period.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge device",
+ "operation": "Write diagnostics setting",
+ "description": "Creates or updates the diagnostics setting for the resource"
+ },
+ "origin": "system"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge device",
+ "operation": "Read diagnostics setting",
+ "description": "Gets the diagnostic setting for the resource"
+ },
+ "origin": "system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OperationsStatusGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OperationsStatusGet.json
new file mode 100644
index 000000000000..64890c97b052
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OperationsStatusGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/id/locations/westus/operationsStatus/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "status": "Succeeded",
+ "startTime": "2018-12-18T02:18:51.4270267Z",
+ "endTime": "2018-12-18T03:18:51.4270267Z",
+ "percentComplete": 100,
+ "properties": {
+ "jobType": "DownloadUpdates",
+ "currentStage": "Success"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderDelete.json
new file mode 100644
index 000000000000..6054d2f27ac7
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderGet.json
new file mode 100644
index 000000000000..0a46b20ffb9e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/orders",
+ "properties": {
+ "contactInformation": {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ },
+ "currentStatus": {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": ""
+ },
+ "orderHistory": [
+ {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": "lorem ipsum"
+ }
+ ],
+ "serialNumber": "UDS123NSDA123",
+ "deliveryTrackingInfo": [],
+ "returnTrackingInfo": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderGetAllInDevice.json
new file mode 100644
index 000000000000..029848abc321
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderGetAllInDevice.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/orders",
+ "properties": {
+ "contactInformation": {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ },
+ "currentStatus": {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": ""
+ },
+ "orderHistory": [
+ {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": "lorem ipsum"
+ }
+ ],
+ "serialNumber": "UDS123NSDA123",
+ "deliveryTrackingInfo": [],
+ "returnTrackingInfo": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderPut.json
new file mode 100644
index 000000000000..ee4cae7c9779
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/OrderPut.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "order": {
+ "properties": {
+ "contactInformation": {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/orders",
+ "properties": {
+ "contactInformation": {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ },
+ "currentStatus": {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": ""
+ },
+ "orderHistory": [
+ {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": "lorem ipsum"
+ }
+ ],
+ "serialNumber": "UDS123NSDA123",
+ "deliveryTrackingInfo": [],
+ "returnTrackingInfo": []
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/PutAddons.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/PutAddons.json
new file mode 100644
index 000000000000..42b3b623a3f5
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/PutAddons.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "KubernetesRole",
+ "addonName": "arcName",
+ "addon": {
+ "kind": "ArcForKubernetes",
+ "properties": {
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "resourceName": "testedgedevice",
+ "resourceLocation": "EastUS"
+ }
+ },
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "resourceName": "testedgedevice",
+ "resourceLocation": "EastUS",
+ "version": "0.2.18",
+ "hostPlatform": "Linux",
+ "hostPlatformType": "KubernetesCluster",
+ "provisioningState": "Created"
+ },
+ "kind": "ArcForKubernetes",
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourcegroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/addonExamples/roles/kubernetesRole/addons/arcName",
+ "name": "arcName",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addons"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/PutMonitoringConfig.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/PutMonitoringConfig.json
new file mode 100644
index 000000000000..ee3a7bce8378
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/PutMonitoringConfig.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "testrole",
+ "monitoringMetricConfiguration": {
+ "properties": {
+ "metricConfigurations": [
+ {
+ "resourceId": "test",
+ "mdmAccount": "test",
+ "metricNameSpace": "test",
+ "counterSets": [
+ {
+ "counters": [
+ {
+ "name": "test"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "metricConfigurations": [
+ {
+ "resourceId": "test",
+ "mdmAccount": "test",
+ "metricNameSpace": "test",
+ "counterSets": [
+ {
+ "counters": [
+ {
+ "name": "test"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleDelete.json
new file mode 100644
index 000000000000..54a98f8a4e6b
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleDelete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "IoTRole1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleGet.json
new file mode 100644
index 000000000000..c70897f02581
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleGet.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "IoTRole1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "shareMappings": [],
+ "roleStatus": "Enabled"
+ },
+ "kind": "IOT",
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1",
+ "name": "IoTRole1",
+ "type": "dataBoxEdgeDevices/roles"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleGetAllInDevice.json
new file mode 100644
index 000000000000..6f4cf64827c9
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleGetAllInDevice.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "shareMappings": [],
+ "roleStatus": "Enabled"
+ },
+ "kind": "IOT",
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1",
+ "name": "IoTRole1",
+ "type": "dataBoxEdgeDevices/roles"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleListAddOns.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleListAddOns.json
new file mode 100644
index 000000000000..53a141a2f80d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RoleListAddOns.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "roleName": "IoTRole1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "subscriptionId": "0d44739e-0563-474f-97e7-24a0cdb23b29",
+ "resourceGroupName": "testrg1",
+ "resourceName": "testresource1",
+ "resourceLocation": "EastUS",
+ "version": "0.2.18",
+ "hostPlatform": "Linux",
+ "hostPlatformType": "KubernetesCluster",
+ "provisioningState": "Created"
+ },
+ "kind": "ArcForKubernetes",
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourcegroups/prpare/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/addonExamples/roles/kubernetesRole/addons/arcName",
+ "name": "arcName",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/addons"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RolePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RolePut.json
new file mode 100644
index 000000000000..246e03bcbb93
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/RolePut.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "IoTRole1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "role": {
+ "kind": "IOT",
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {
+ "connectionString": {
+ "value": "Encrypted<>",
+ "encryptionCertThumbprint": "348586569999244",
+ "encryptionAlgorithm": "AES256"
+ }
+ }
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {
+ "connectionString": {
+ "value": "Encrypted<>",
+ "encryptionCertThumbprint": "1245475856069999244",
+ "encryptionAlgorithm": "AES256"
+ }
+ }
+ }
+ },
+ "shareMappings": [],
+ "roleStatus": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kind": "IOT",
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "shareMappings": [],
+ "roleStatus": "Enabled"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1",
+ "name": "IoTRole1",
+ "type": "dataBoxEdgeDevices/roles"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACDelete.json
new file mode 100644
index 000000000000..2029ee6b2458
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "sac1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACGet.json
new file mode 100644
index 000000000000..4e2c31be26b4
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "sac1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "alias": "sac1",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "name": "sac1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACGetAllInDevice.json
new file mode 100644
index 000000000000..8bc5eb420b19
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACGetAllInDevice.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "alias": "sac1128180128323",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "GeneralPurposeStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1128180128323",
+ "name": "sac1128180128323",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ },
+ {
+ "properties": {
+ "alias": "sac1128180128312",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1128180128312",
+ "name": "sac1128180128312",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACPut.json
new file mode 100644
index 000000000000..b501baea7364
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SACPut.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "sac1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "storageAccountCredential": {
+ "properties": {
+ "alias": "sac1",
+ "userName": "cisbvt",
+ "accountKey": {
+ "value": "lAeZEYi6rNP1/EyNaVUYmTSZEYyaIaWmwUsGwek0+xiZj54GM9Ue9/UA2ed/ClC03wuSit2XzM/cLRU5eYiFBwks23rGwiQOr3sruEL2a74EjPD050xYjA6M1I2hu/w2yjVHhn5j+DbXS4Xzi+rHHNZK3DgfDO3PkbECjPck+PbpSBjy9+6Mrjcld5DIZhUAeMlMHrFlg+WKRKB14o/og56u5/xX6WKlrMLEQ+y6E18dUwvWs2elTNoVO8PBE8SM/CfooX4AMNvaNdSObNBPdP+F6Lzc556nFNWXrBLRt0vC7s9qTiVRO4x/qCNaK/B4y7IqXMllwQFf4Np9UQ2ECA==",
+ "encryptionCertThumbprint": "2A9D8D6BE51574B5461230AEF02F162C5F01AD31",
+ "encryptionAlgorithm": "AES256"
+ },
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "alias": "sac1",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "name": "sac1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ScanForUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ScanForUpdatesPost.json
new file mode 100644
index 000000000000..3baaf7d404d8
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ScanForUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SecuritySettingsUpdatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SecuritySettingsUpdatePost.json
new file mode 100644
index 000000000000..ba93e0067bde
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SecuritySettingsUpdatePost.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "AzureVM",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "securitySettings": {
+ "properties": {
+ "deviceAdminPassword": {
+ "value": "",
+ "encryptionAlgorithm": "AES256",
+ "encryptionCertThumbprint": ""
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareDelete.json
new file mode 100644
index 000000000000..170c890965c3
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareGet.json
new file mode 100644
index 000000000000..153a5f80cd0a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Disabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "clientAccessRights": [],
+ "refreshDetails": {},
+ "shareMappings": [],
+ "dataPolicy": "Cloud"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare",
+ "name": "smbshare",
+ "type": "dataBoxEdgeDevices/shares"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareGetAllInDevice.json
new file mode 100644
index 000000000000..b6b72bd21ba0
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareGetAllInDevice.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Disabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "clientAccessRights": [],
+ "refreshDetails": {},
+ "shareMappings": [],
+ "dataPolicy": "Cloud"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare",
+ "name": "smbshare",
+ "type": "dataBoxEdgeDevices/shares"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SharePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SharePut.json
new file mode 100644
index 000000000000..8aa26e99cadc
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/SharePut.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "share": {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Enabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "dataPolicy": "Cloud"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Disabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "clientAccessRights": [],
+ "refreshDetails": {},
+ "shareMappings": [],
+ "dataPolicy": "Cloud"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare",
+ "name": "smbshare",
+ "type": "dataBoxEdgeDevices/shares"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareRefreshPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareRefreshPost.json
new file mode 100644
index 000000000000..55a350d48724
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/ShareRefreshPost.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountDelete.json
new file mode 100644
index 000000000000..0043d5304e67
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountGet.json
new file mode 100644
index 000000000000..609cc2e00476
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "blobstorageaccount1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt",
+ "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/",
+ "containerCount": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1",
+ "name": "blobstorageaccount1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountGetAllInDevice.json
new file mode 100644
index 000000000000..7395d7063872
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountGetAllInDevice.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt",
+ "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/",
+ "containerCount": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1",
+ "name": "blobstorageaccount1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountPut.json
new file mode 100644
index 000000000000..e00836f9bf0e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/StorageAccountPut.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "blobstorageaccount1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "storageAccount": {
+ "properties": {
+ "description": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt",
+ "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/",
+ "containerCount": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1",
+ "name": "blobstorageaccount1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerDelete.json
new file mode 100644
index 000000000000..7cf69ce940be
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "trigger1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerGet.json
new file mode 100644
index 000000000000..285e508abbfa
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "trigger1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1",
+ "name": "trigger1",
+ "type": "dataBoxEdgeDevices/triggers",
+ "kind": "FileEvent"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerGetAllInDevice.json
new file mode 100644
index 000000000000..2e63f50931ef
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerGetAllInDevice.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1",
+ "name": "trigger1",
+ "type": "dataBoxEdgeDevices/triggers",
+ "kind": "FileEvent"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerPut.json
new file mode 100644
index 000000000000..1d4beed71e40
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerPut.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "trigger1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "trigger": {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "kind": "FileEvent"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1",
+ "name": "trigger1",
+ "type": "dataBoxEdgeDevices/triggers",
+ "kind": "FileEvent"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerSupportPackage.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerSupportPackage.json
new file mode 100644
index 000000000000..397257153133
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/TriggerSupportPackage.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "triggerSupportPackageRequest": {
+ "properties": {
+ "minimumTimeStamp": "2018-12-18T02:18:51.4270267Z",
+ "maximumTimeStamp": "2018-12-18T02:19:51.4270267Z",
+ "include": "DefaultWithDumps"
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UpdateDiagnosticProactiveLogCollectionSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UpdateDiagnosticProactiveLogCollectionSettings.json
new file mode 100644
index 000000000000..066405f5102b
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UpdateDiagnosticProactiveLogCollectionSettings.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "proactiveLogCollectionSettings": {
+ "properties": {
+ "userConsent": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "userConsent": "Disabled"
+ },
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/dbe-autobot-5428209/diagnosticProactiveLogCollectionSettings/default",
+ "name": "default",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/diagnosticSettings"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UpdateDiagnosticRemoteSupportSettings.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UpdateDiagnosticRemoteSupportSettings.json
new file mode 100644
index 000000000000..7d8f2e0c88b7
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UpdateDiagnosticRemoteSupportSettings.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "diagnosticRemoteSupportSettings": {
+ "properties": {
+ "remoteSupportSettingsList": [
+ {
+ "accessLevel": "ReadWrite",
+ "expirationTimeStampInUTC": "2021-07-07T00:00:00+00:00",
+ "remoteApplicationType": "Powershell"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "200": {
+ "body": {
+ "properties": {
+ "remoteSupportSettingsList": [
+ {
+ "remoteApplicationType": "Powershell",
+ "accessLevel": "ReadWrite",
+ "expirationTimeStampInUTC": "2500-09-14T00:00:00+00:00"
+ }
+ ]
+ },
+ "id": "/subscriptions/0d44739e-0563-474f-97e7-24a0cdb23b29/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/dbe-autobot-154c8a4/diagnosticRemoteSupportSettings/default",
+ "name": "default",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/diagnosticSettings"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UpdateSummaryGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UpdateSummaryGet.json
new file mode 100644
index 000000000000..e99757921d34
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UpdateSummaryGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "properties": {
+ "certificate": "MIIC9DCCAdygAwIBAgIQWJae7GNjiI9Mcv/gJyrOPTANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdXaW5kb3dzMB4XDTE4MTEyNzAwMTA0NVoXDTIxMTEyODAwMTA0NVowEjEQMA4GA1UEAwwHV2luZG93czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxkRExqxf0qH1avnyORptIbRC2yQwqe3EIbJ2FPKr5jtAppGeX/dGKrFSnX+7/0HFr77aJHafdpEAtOiLyJ4zCAVs0obZCCIq4qJdmjYUTU0UXH/w/YzXfQA0d9Zh9AN+NJBX9xj05NzgsT24fkgsK2v6mWJQXT7YcWAsl5sEYPnx1e+MrupNyVSL/RUJmrS+etJSysHtFeWRhsUhVAs1DD5ExJvBLU3WH0IsojEvpXcjrutB5/MDQNrd/StGI6WovoSSPH7FyT9tgERx+q+Yg3YUGzfaIPCctlrRGehcdtzdNoKd0rsX62yCq0U6POoSfwe22NJu41oAUMd7e6R8cCAwEAAaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFDd0VxnS3LnMIfwc7xW4b4IZWG5GMA4GA1UdDwEB/wQEAwIFIDANBgkqhkiG9w0BAQUFAAOCAQEAPQRby2u9celvtvL/DLEb5Vt3/tPStRQC5MyTD62L5RT/q8E6EMCXVZNkXF5WlWucLJi/18tY+9PNgP9xWLJh7kpSWlWdi9KPtwMqKDlEH8L2TnQdjimt9XuiCrTnoFy/1X2BGLY/rCaUJNSd15QCkz2xeW+Z+YSk2GwAc/A/4YfNpqSIMfNuPrT76o02VdD9WmJUA3fS/HY0sU9qgQRS/3F5/0EPS+HYQ0SvXCK9tggcCd4O050ytNBMJC9qMOJ7yE0iOrFfOJSCfDAuPhn/rHFh79Kn1moF+/CE+nc0/2RPiLC8r54/rt5dYyyxJDfXg0a3VrrX39W69WZGW5OXiw=="
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "deviceVersionNumber": "2.1.1377.2170",
+ "friendlyDeviceVersionName": "Azure Stack Edge 2010",
+ "deviceLastScannedDateTime": "2021-03-17T19:51:51.7864634Z",
+ "lastCompletedScanJobDateTime": "2021-03-17T19:47:46.1595547Z",
+ "lastDownloadJobStatus": "Invalid",
+ "lastInstallJobStatus": "Invalid",
+ "totalNumberOfUpdatesAvailable": 1,
+ "totalNumberOfUpdatesPendingDownload": 1,
+ "totalNumberOfUpdatesPendingInstall": 1,
+ "rebootBehavior": "NeverReboots",
+ "ongoingUpdateOperation": "Install",
+ "updateTitles": [
+ "Azure Stack Edge Update 2101 Package 1 of 2 for Pro-GPU, Pro R, Mini R"
+ ],
+ "totalUpdateSizeInBytes": 4260898192.0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/updateSummary/default",
+ "name": "default",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/updateSummary"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UploadCertificatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UploadCertificatePost.json
new file mode 100644
index 000000000000..73c4115f65f7
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UploadCertificatePost.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "properties": {
+ "certificate": "MIIC9DCCAdygAwIBAgIQWJae7GNjiI9Mcv/gJyrOPTANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdXaW5kb3dzMB4XDTE4MTEyNzAwMTA0NVoXDTIxMTEyODAwMTA0NVowEjEQMA4GA1UEAwwHV2luZG93czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxkRExqxf0qH1avnyORptIbRC2yQwqe3EIbJ2FPKr5jtAppGeX/dGKrFSnX+7/0HFr77aJHafdpEAtOiLyJ4zCAVs0obZCCIq4qJdmjYUTU0UXH/w/YzXfQA0d9Zh9AN+NJBX9xj05NzgsT24fkgsK2v6mWJQXT7YcWAsl5sEYPnx1e+MrupNyVSL/RUJmrS+etJSysHtFeWRhsUhVAs1DD5ExJvBLU3WH0IsojEvpXcjrutB5/MDQNrd/StGI6WovoSSPH7FyT9tgERx+q+Yg3YUGzfaIPCctlrRGehcdtzdNoKd0rsX62yCq0U6POoSfwe22NJu41oAUMd7e6R8cCAwEAAaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFDd0VxnS3LnMIfwc7xW4b4IZWG5GMA4GA1UdDwEB/wQEAwIFIDANBgkqhkiG9w0BAQUFAAOCAQEAPQRby2u9celvtvL/DLEb5Vt3/tPStRQC5MyTD62L5RT/q8E6EMCXVZNkXF5WlWucLJi/18tY+9PNgP9xWLJh7kpSWlWdi9KPtwMqKDlEH8L2TnQdjimt9XuiCrTnoFy/1X2BGLY/rCaUJNSd15QCkz2xeW+Z+YSk2GwAc/A/4YfNpqSIMfNuPrT76o02VdD9WmJUA3fS/HY0sU9qgQRS/3F5/0EPS+HYQ0SvXCK9tggcCd4O050ytNBMJC9qMOJ7yE0iOrFfOJSCfDAuPhn/rHFh79Kn1moF+/CE+nc0/2RPiLC8r54/rt5dYyyxJDfXg0a3VrrX39W69WZGW5OXiw=="
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "authType": "AzureActiveDirectory",
+ "resourceId": "392799901267771",
+ "aadAuthority": "https://login.windows.net",
+ "aadTenantId": "100b019d-4626-4a9e-a83c-9cff8fe41909",
+ "servicePrincipalClientId": "ffd8a688-82b1-4e5a-a4c1-7ede8c928e68",
+ "servicePrincipalObjectId": "cef6d40c-24e6-4a6f-bb9e-3ec60b4adec4",
+ "azureManagementEndpointAudience": "https://wus-bvtgateway.ext.trafficmanager.net/"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserDelete.json
new file mode 100644
index 000000000000..d39c45a3a333
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserDelete.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "user1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserGet.json
new file mode 100644
index 000000000000..2b1ec92736ca
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "user1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "userType": "Share"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1",
+ "name": "user1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ },
+ "202": {}
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserGetAllInDevice.json
new file mode 100644
index 000000000000..08acb99170a8
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserGetAllInDevice.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "userType": "Share"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "name": "user2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ },
+ {
+ "properties": {
+ "userType": "Share"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1",
+ "name": "user1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserPut.json
new file mode 100644
index 000000000000..302a0c9bb1bf
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2021-06-01/examples/UserPut.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-06-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "user1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "user": {
+ "properties": {
+ "encryptedPassword": {
+ "value": "",
+ "encryptionAlgorithm": "None",
+ "encryptionCertThumbprint": "blah"
+ },
+ "userType": "Share"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "userType": "Share"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1",
+ "name": "user1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/readme.md b/specification/databoxedge/resource-manager/readme.md
index 8568a6f83a69..754290d39557 100644
--- a/specification/databoxedge/resource-manager/readme.md
+++ b/specification/databoxedge/resource-manager/readme.md
@@ -26,7 +26,23 @@ These are the global settings for the DataBox Edge API.
``` yaml
openapi-type: arm
-tag: package-2021-02-01
+tag: package-2021-06-01
+```
+### Tag: package-2021-06-01
+
+These settings apply only when `--tag=package-2021-06-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-06-01'
+input-file:
+- Microsoft.DataBoxEdge/stable/2021-06-01/databoxedge.json
+```
+### Tag: package-2021-06-01-preview
+
+These settings apply only when `--tag=package-2021-06-01-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-06-01-preview'
+input-file:
+- Microsoft.DataBoxEdge/preview/2021-06-01-preview/databoxedge.json
```
### Tag: package-2021-02-01
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/databricks.json b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/databricks.json
index 9ed69d22aadb..9562eb609ca5 100644
--- a/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/databricks.json
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/preview/2021-04-01-preview/databricks.json
@@ -364,7 +364,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateLinkResources": {
"get": {
"tags": [
- "GET"
+ "PrivateLinkResources"
],
"summary": "List private link resources",
"description": "List private link resources for a given workspace",
@@ -410,7 +410,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateLinkResources/{groupId}": {
"get": {
"tags": [
- "GET"
+ "PrivateLinkResources"
],
"summary": "Get the specified private link resource",
"description": "Get the specified private link resource for the given group id (sub-resource)",
@@ -456,7 +456,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateEndpointConnections": {
"get": {
"tags": [
- "GET"
+ "PrivateEndpointConnections"
],
"summary": "List private endpoint connections",
"description": "List private endpoint connections of the workspace",
@@ -502,7 +502,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
"get": {
"tags": [
- "GET"
+ "PrivateEndpointConnections"
],
"summary": "Get private endpoint connection",
"description": "Get a private endpoint connection properties for a workspace",
@@ -546,7 +546,7 @@
},
"put": {
"tags": [
- "PUT"
+ "PrivateEndpointConnections"
],
"summary": "Update private endpoint connection status",
"description": "Update the status of a private endpoint connection with the specified name",
@@ -606,7 +606,7 @@
},
"delete": {
"tags": [
- "DELETE"
+ "PrivateEndpointConnections"
],
"summary": "Remove private endpoint connection",
"description": "Remove private endpoint connection with the specified name",
@@ -656,7 +656,7 @@
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/outboundNetworkDependenciesEndpoints": {
"get": {
"tags": [
- "GET"
+ "OutboundNetworkDependenciesEndpoints"
],
"summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified Workspace.",
"description": "Gets the list of endpoints that VNET Injected Workspace calls Azure Databricks Control Plane. You must configure outbound access with these endpoints. For more information, see https://docs.microsoft.com/en-us/azure/databricks/administration-guide/cloud-configurations/azure/udr",
diff --git a/specification/databricks/resource-manager/readme.go.md b/specification/databricks/resource-manager/readme.go.md
index 867cec609286..dce6042a09ad 100644
--- a/specification/databricks/resource-manager/readme.go.md
+++ b/specification/databricks/resource-manager/readme.go.md
@@ -2,13 +2,21 @@
These settings apply only when `--go` is specified on the command line.
-``` yaml $(go)
+``` yaml $(go) && !$(track2)
go:
license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
namespace: databricks
```
+``` yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/resourcemanager/databricks/armdatabricks
+module: github.com/Azure/azure-sdk-for-go/$(module-name)
+output-folder: $(go-sdk-folder)/$(module-name)
+azure-arm: true
+```
+
### Go multi-api
``` yaml $(go) && $(multiapi)
diff --git a/specification/databricks/resource-manager/readme.md b/specification/databricks/resource-manager/readme.md
index 21278c58cff4..97e2aef9cb2a 100644
--- a/specification/databricks/resource-manager/readme.md
+++ b/specification/databricks/resource-manager/readme.md
@@ -113,6 +113,7 @@ swagger-to-sdk:
- repo: azure-powershell
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-resource-manager-schemas
diff --git a/specification/datadog/resource-manager/readme.md b/specification/datadog/resource-manager/readme.md
index 08c2573523b0..a5717a6d4a1c 100644
--- a/specification/datadog/resource-manager/readme.md
+++ b/specification/datadog/resource-manager/readme.md
@@ -100,27 +100,3 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.Datadog/stable/2021-03-01/datadog.json
- - $(this-folder)/Microsoft.Datadog/preview/2020-02-01-preview/datadog.json
-
-```
-
-If there are files that should not be in the `all-api-versions` set,
-uncomment the `exclude-file` section below and add the file paths.
-
-``` yaml $(tag) == 'all-api-versions'
-#exclude-file:
-# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
-```
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json
index 17ed134d46e4..6d71c9342240 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json
@@ -5815,7 +5815,7 @@
"readOnly": true
},
"status": {
- "description": "The status of a pipeline run.",
+ "description": "The status of a pipeline run. Possible values: Queued, InProgress, Succeeded, Failed, Canceling, Cancelled",
"type": "string",
"readOnly": true
},
@@ -6438,6 +6438,13 @@
"description": "Data flow instance.",
"$ref": "#/definitions/DataFlowDebugResource"
},
+ "dataFlows": {
+ "description": "List of Data flows",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataFlowDebugResource"
+ }
+ },
"datasets": {
"type": "array",
"description": "List of datasets.",
@@ -6697,6 +6704,10 @@
"datasetParameters": {
"type": "object",
"description": "Reference data flow parameters from dataset."
+ },
+ "parameters": {
+ "$ref": "#/definitions/ParameterValueSpecification",
+ "description": "Data flow parameters"
}
},
"additionalProperties": {
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json
index ded95ed5803a..b2627d72cbd9 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json
@@ -66,6 +66,23 @@
}
}
},
+ "Flowlet": {
+ "x-ms-discriminator-value": "Flowlet",
+ "description": "Data flow flowlet",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataFlow"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Flowlet type properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/FlowletTypeProperties"
+ }
+ }
+ },
"MappingDataFlowTypeProperties": {
"description": "Mapping data flow type properties.",
"properties": {
@@ -93,6 +110,13 @@
"script": {
"type": "string",
"description": "DataFlow script."
+ },
+ "scriptLines": {
+ "type": "array",
+ "description": "Data flow script lines.",
+ "items": {
+ "type": "string"
+ }
}
}
},
@@ -127,6 +151,48 @@
"script": {
"type": "string",
"description": "Power query mashup script."
+ },
+ "documentLocale": {
+ "type": "string",
+ "description": "Locale of the Power query mashup document."
+ }
+ }
+ },
+ "FlowletTypeProperties": {
+ "description": "Flowlet type properties.",
+ "type": "object",
+ "properties": {
+ "sources": {
+ "type": "array",
+ "description": "List of sources in Flowlet.",
+ "items": {
+ "$ref": "#/definitions/DataFlowSource"
+ }
+ },
+ "sinks": {
+ "type": "array",
+ "description": "List of sinks in Flowlet.",
+ "items": {
+ "$ref": "#/definitions/DataFlowSink"
+ }
+ },
+ "transformations": {
+ "type": "array",
+ "description": "List of transformations in Flowlet.",
+ "items": {
+ "$ref": "#/definitions/Transformation"
+ }
+ },
+ "script": {
+ "type": "string",
+ "description": "Flowlet script."
+ },
+ "scriptLines": {
+ "type": "array",
+ "description": "Flowlet script lines.",
+ "items": {
+ "type": "string"
+ }
}
}
},
@@ -141,6 +207,18 @@
"description": {
"description": "Transformation description.",
"type": "string"
+ },
+ "dataset": {
+ "description": "Dataset reference.",
+ "$ref": "../datafactory.json#/definitions/DatasetReference"
+ },
+ "linkedService": {
+ "description": "Linked service reference.",
+ "$ref": "../datafactory.json#/definitions/LinkedServiceReference"
+ },
+ "flowlet": {
+ "description": "Flowlet Reference",
+ "$ref": "../datafactory.json#/definitions/DataFlowReference"
}
},
"required": [
@@ -166,6 +244,10 @@
"schemaLinkedService": {
"description": "Schema linked service reference.",
"$ref": "../datafactory.json#/definitions/LinkedServiceReference"
+ },
+ "flowlet": {
+ "description": "Flowlet Reference",
+ "$ref": "../datafactory.json#/definitions/DataFlowReference"
}
}
},
@@ -188,6 +270,10 @@
"schemaLinkedService": {
"description": "Schema linked service reference.",
"$ref": "../datafactory.json#/definitions/LinkedServiceReference"
+ },
+ "flowlet": {
+ "description": "Flowlet Reference",
+ "$ref": "../datafactory.json#/definitions/DataFlowReference"
}
}
},
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 f04316733701..3d207499b2e7 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
@@ -446,13 +446,16 @@
]
},
"DatasetCompression": {
- "discriminator": "type",
"description": "The compression method used on a dataset.",
"type": "object",
"properties": {
"type": {
"type": "object",
"description": "Type of dataset compression. Type: string (or Expression with resultType string)."
+ },
+ "level": {
+ "type": "object",
+ "description": "The dataset compression level. Type: string (or Expression with resultType string)."
}
},
"additionalProperties": {
@@ -462,92 +465,6 @@
"type"
]
},
- "DatasetBZip2Compression": {
- "x-ms-discriminator-value": "BZip2",
- "description": "The BZip2 compression method used on a dataset.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DatasetCompression"
- }
- ],
- "properties": {}
- },
- "DatasetGZipCompression": {
- "x-ms-discriminator-value": "GZip",
- "description": "The GZip compression method used on a dataset.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DatasetCompression"
- }
- ],
- "properties": {
- "level": {
- "type": "object",
- "description": "The GZip compression level."
- }
- }
- },
- "DatasetDeflateCompression": {
- "x-ms-discriminator-value": "Deflate",
- "description": "The Deflate compression method used on a dataset.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DatasetCompression"
- }
- ],
- "properties": {
- "level": {
- "type": "object",
- "description": "The Deflate compression level."
- }
- }
- },
- "DatasetZipDeflateCompression": {
- "x-ms-discriminator-value": "ZipDeflate",
- "description": "The ZipDeflate compression method used on a dataset.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DatasetCompression"
- }
- ],
- "properties": {
- "level": {
- "type": "object",
- "description": "The ZipDeflate compression level."
- }
- }
- },
- "DatasetTarCompression": {
- "x-ms-discriminator-value": "Tar",
- "description": "The Tar archive method used on a dataset.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DatasetCompression"
- }
- ],
- "properties": {}
- },
- "DatasetTarGZipCompression": {
- "x-ms-discriminator-value": "TarGZip",
- "description": "The TarGZip compression method used on a dataset.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DatasetCompression"
- }
- ],
- "properties": {
- "level": {
- "type": "object",
- "description": "The TarGZip compression level."
- }
- }
- },
"CompressionLevel": {
"title": "Microsoft.Azure.Management.DataFactories.Models.CompressionLevel",
"description": "All available compression levels.",
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 13d3ea93b24a..5e26933b60db 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
@@ -789,6 +789,10 @@
"useBinaryTransfer": {
"type": "boolean",
"description": "Specify whether to use binary transfer mode for FTP stores."
+ },
+ "disableChunking": {
+ "type": "object",
+ "description": "If true, disable parallel reading within each file. Default is false. Type: boolean (or Expression with resultType boolean)."
}
}
},
@@ -836,6 +840,10 @@
"modifiedDatetimeEnd": {
"type": "object",
"description": "The end of file's modified datetime. Type: string (or Expression with resultType string)."
+ },
+ "disableChunking": {
+ "type": "object",
+ "description": "If true, disable parallel reading within each file. Default is false. Type: boolean (or Expression with resultType boolean)."
}
}
},
@@ -7286,10 +7294,34 @@
"properties": {
"sinks": {
"type": "object",
- "description": "List of Power Query activity sinks mapped to a queryName.",
+ "description": "(Deprecated. Please use Queries). List of Power Query activity sinks mapped to a queryName.",
"additionalProperties": {
"$ref": "./DataFlow.json#/definitions/PowerQuerySink"
}
+ },
+ "queries": {
+ "type": "array",
+ "description": "List of mapping for Power Query mashup query to sink dataset(s).",
+ "items": {
+ "$ref": "#/definitions/PowerQuerySinkMapping"
+ }
+ }
+ }
+ },
+ "PowerQuerySinkMapping": {
+ "description": "Map Power Query mashup query to sink dataset(s).",
+ "type": "object",
+ "properties": {
+ "queryName": {
+ "description": "Name of the query in Power Query mashup document.",
+ "type": "string"
+ },
+ "dataflowSinks": {
+ "type": "array",
+ "description": "List of sinks mapped to Power Query mashup query.",
+ "items": {
+ "$ref": "./DataFlow.json#/definitions/PowerQuerySink"
+ }
}
}
},
diff --git a/specification/datafactory/resource-manager/readme.go.md b/specification/datafactory/resource-manager/readme.go.md
index a3a1c9df2836..e6077df1bc58 100644
--- a/specification/datafactory/resource-manager/readme.go.md
+++ b/specification/datafactory/resource-manager/readme.go.md
@@ -11,7 +11,7 @@ go:
``` yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/datafactory/armdatafactory
+module-name: sdk/resourcemanager/datafactory/armdatafactory
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
diff --git a/specification/datafactory/resource-manager/readme.md b/specification/datafactory/resource-manager/readme.md
index 4508d4348157..7061c3b95061 100644
--- a/specification/datafactory/resource-manager/readme.md
+++ b/specification/datafactory/resource-manager/readme.md
@@ -70,6 +70,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-cli-extensions
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/account.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/account.json
index ce61db91715a..3e2cd51c23ba 100644
--- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/account.json
+++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/account.json
@@ -636,6 +636,9 @@
"200": {
"description": "Successfully removed the specified Azure Data Lake Store account information from the specified Azure Data Lake Analytics account."
},
+ "204": {
+ "description": "The specified datalake storage account does not exist or was already deleted."
+ },
"default": {
"schema": {
"$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
@@ -2124,6 +2127,12 @@
},
"description": "The results of the list operation."
},
+ "count": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The current number of data lake analytics accounts under this subscription."
+ },
"nextLink": {
"readOnly": true,
"type": "string",
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/examples/DataLakeStoreAccounts_Delete.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/examples/DataLakeStoreAccounts_Delete.json
index c4ec0f560ff7..e841d9d0c7b2 100644
--- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/examples/DataLakeStoreAccounts_Delete.json
+++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/preview/2019-11-01-preview/examples/DataLakeStoreAccounts_Delete.json
@@ -7,6 +7,7 @@
"dataLakeStoreAccountName": "test_adls_account"
},
"responses": {
- "200": {}
+ "200": {},
+ "204": {}
}
}
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json
index 8d9f688f27d3..630fa171719f 100644
--- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json
+++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json
@@ -636,6 +636,9 @@
"200": {
"description": "Successfully removed the specified Azure Data Lake Store account information from the specified Azure Data Lake Analytics account."
},
+ "204": {
+ "description": "The specified datalake storage account does not exist or was already deleted."
+ },
"default": {
"schema": {
"$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
@@ -2119,6 +2122,12 @@
},
"description": "The results of the list operation."
},
+ "count": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The current number of data lake analytics accounts under this subscription."
+ },
"nextLink": {
"readOnly": true,
"type": "string",
diff --git a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/DataLakeStoreAccounts_Delete.json b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/DataLakeStoreAccounts_Delete.json
index 81ea00b35fcf..4bd020a8aaf4 100644
--- a/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/DataLakeStoreAccounts_Delete.json
+++ b/specification/datalake-analytics/resource-manager/Microsoft.DataLakeAnalytics/stable/2016-11-01/examples/DataLakeStoreAccounts_Delete.json
@@ -7,6 +7,7 @@
"dataLakeStoreAccountName": "test_adls_account"
},
"responses": {
- "200": {}
+ "200": {},
+ "204": {}
}
}
diff --git a/specification/datalake-analytics/resource-manager/readme.go.md b/specification/datalake-analytics/resource-manager/readme.go.md
index c4f0b7e1a376..55edfdc3b28a 100644
--- a/specification/datalake-analytics/resource-manager/readme.go.md
+++ b/specification/datalake-analytics/resource-manager/readme.go.md
@@ -2,13 +2,21 @@
These settings apply only when `--go` is specified on the command line.
-``` yaml $(go)
+``` yaml $(go) && !$(track2)
go:
license-header: MICROSOFT_MIT_NO_VERSION
namespace: account
clear-output-folder: true
```
+``` yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/resourcemanager/datalake-analytics/armdatalakeanalytics
+module: github.com/Azure/azure-sdk-for-go/$(module-name)
+output-folder: $(go-sdk-folder)/$(module-name)
+azure-arm: true
+```
+
### Go multi-api
``` yaml $(go) && $(multiapi)
diff --git a/specification/datalake-analytics/resource-manager/readme.md b/specification/datalake-analytics/resource-manager/readme.md
index 11a2ba949b50..4e581f076b95 100644
--- a/specification/datalake-analytics/resource-manager/readme.md
+++ b/specification/datalake-analytics/resource-manager/readme.md
@@ -86,6 +86,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-node
- repo: azure-sdk-for-ruby
after_scripts:
diff --git a/specification/datalake-store/resource-manager/readme.go.md b/specification/datalake-store/resource-manager/readme.go.md
index 9c4ae20f0a49..b17bd352b460 100644
--- a/specification/datalake-store/resource-manager/readme.go.md
+++ b/specification/datalake-store/resource-manager/readme.go.md
@@ -11,7 +11,7 @@ go:
``` yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/datalake-store/armdatalakestore
+module-name: sdk/resourcemanager/datalake-store/armdatalakestore
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
diff --git a/specification/dataprotection/resource-manager/readme.md b/specification/dataprotection/resource-manager/readme.md
index 5ee7f5607149..c73bbdf176b4 100644
--- a/specification/dataprotection/resource-manager/readme.md
+++ b/specification/dataprotection/resource-manager/readme.md
@@ -102,7 +102,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
@@ -128,6 +128,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)
@@ -136,27 +140,3 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - Microsoft.DataProtection/stable/2021-01-01/dataprotection.json
- - Microsoft.DataProtection/preview/2021-02-01-preview/dataprotection.json
- - Microsoft.DataProtection/preview/2021-06-01-preview/dataprotection.json
-```
-
-If there are files that should not be in the `all-api-versions` set,
-uncomment the `exclude-file` section below and add the file paths.
-
-``` yaml $(tag) == 'all-api-versions'
-#exclude-file:
-# - $(this-folder)/Microsoft.Example/2010-01-01/somefile.json
-```
diff --git a/specification/dataprotection/resource-manager/readme.python.md b/specification/dataprotection/resource-manager/readme.python.md
index e9f977631a66..956d34fade65 100644
--- a/specification/dataprotection/resource-manager/readme.python.md
+++ b/specification/dataprotection/resource-manager/readme.python.md
@@ -4,24 +4,20 @@ 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.dataprotection
- package-name: azure-mgmt-dataprotection
- package-version: 1.0.0b1
- clear-output-folder: true
+``` yaml $(python) && $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.dataprotection
+package-name: azure-mgmt-dataprotection
+package-version: 1.0.0b1
+clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/dataprotection/azure-mgmt-dataprotection/azure/mgmt/dataprotection
+
+``` yaml $(python) && $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/dataprotection/azure-mgmt-dataprotection/azure/mgmt/dataprotection
```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/dataprotection/azure-mgmt-dataprotection
+``` yaml $(python) && $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/dataprotection/azure-mgmt-dataprotection
```
diff --git a/specification/datashare/resource-manager/readme.md b/specification/datashare/resource-manager/readme.md
index fc4537f05508..f2a798002cae 100644
--- a/specification/datashare/resource-manager/readme.md
+++ b/specification/datashare/resource-manager/readme.md
@@ -115,30 +115,3 @@ See configuration in [readme.python.md](./readme.python.md)
See configuration in [readme.go.md](./readme.go.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.DataShare/preview/2018-11-01-preview/DataShare.json
- - $(this-folder)/Microsoft.DataShare/stable/2019-11-01/DataShare.json
- - $(this-folder)/Microsoft.DataShare/stable/2020-09-01/DataShare.json
- - $(this-folder)/Microsoft.DataShare/preview/2020-10-01-preview/DataShare.json
- - $(this-folder)/Microsoft.DataShare/stable/2021-08-01/DataShare.json
-
-```
-
-If there are files that should not be in the `all-api-versions` set,
-uncomment the `exclude-file` section below and add the file paths.
-
-``` yaml $(tag) == 'all-api-versions'
-#exclude-file:
-# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
-```
\ No newline at end of file
diff --git a/specification/desktopvirtualization/resource-manager/readme.go.md b/specification/desktopvirtualization/resource-manager/readme.go.md
index 6afe6985300d..8446235b9ddc 100644
--- a/specification/desktopvirtualization/resource-manager/readme.go.md
+++ b/specification/desktopvirtualization/resource-manager/readme.go.md
@@ -23,6 +23,16 @@ batch:
- tag: package-2021-02-01-preview
- tag: package-2021-03-09-preview
- tag: package-2021-04-01-preview
+ - tag: package-preview-2021-09
+```
+
+### Tag: package-preview-2021-09 and go
+
+These settings apply only when `--tag=package-preview-2021-09 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-preview-2021-09' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-09-03-preview/$(namespace)
```
### Tag: package-2021-04-01-preview and go
diff --git a/specification/desktopvirtualization/resource-manager/readme.md b/specification/desktopvirtualization/resource-manager/readme.md
index dc825b87e53e..276a9c3df1db 100644
--- a/specification/desktopvirtualization/resource-manager/readme.md
+++ b/specification/desktopvirtualization/resource-manager/readme.md
@@ -149,7 +149,7 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-powershell
- repo: azure-sdk-for-csharp
- - 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
@@ -189,36 +189,3 @@ See configuration in [readme.node.md](./readme.node.md)
See configuration in [readme.ruby.md](./readme.ruby.md)
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
-# include the azure profile definitions from the standard location
-require: $(this-folder)/../../../profiles/readme.md
-
-# all the input files across all versions
-input-file:
- - $(this-folder)/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json
- - $(this-folder)/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json
- - $(this-folder)/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.json
- - $(this-folder)/Microsoft.DesktopVirtualization/preview/2020-09-21-preview/desktopvirtualization.json
- - $(this-folder)/Microsoft.DesktopVirtualization/preview/2020-10-19-preview/desktopvirtualization.json
- - $(this-folder)/Microsoft.DesktopVirtualization/preview/2020-11-02-preview/desktopvirtualization.json
- - $(this-folder)/Microsoft.DesktopVirtualization/preview/2020-11-10-preview/desktopvirtualization.json
- - $(this-folder)/Microsoft.DesktopVirtualization/preview/2021-01-14-preview/desktopvirtualization.json
- - $(this-folder)/Microsoft.DesktopVirtualization/preview/2021-02-01-preview/desktopvirtualization.json
- - $(this-folder)/Microsoft.DesktopVirtualization/preview/2021-03-09-preview/desktopvirtualization.json
- - $(this-folder)/Microsoft.DesktopVirtualization/preview/2021-04-01-preview/desktopvirtualization.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/desktopvirtualization/resource-manager/readme.python.md b/specification/desktopvirtualization/resource-manager/readme.python.md
index 454b0737ac27..1fb1b630a50c 100644
--- a/specification/desktopvirtualization/resource-manager/readme.python.md
+++ b/specification/desktopvirtualization/resource-manager/readme.python.md
@@ -2,26 +2,22 @@
These settings apply only when `--python` is specified on the command line.
Please also specify `--python-sdks-folder=`.
-Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-``` yaml $(python)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.desktopvirtualization
- package-name: azure-mgmt-desktopvirtualization
- package-version: 0.2.0
- clear-output-folder: true
+``` yaml $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-desktopvirtualization
+no-namespace-folders: true
+package-version: 1.0.0b1
+clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/azure-mgmt-desktopvirtualization/azure/mgmt/desktopvirtualization
+
+``` yaml $(python-mode) == 'update' && $(track2)
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/desktopvirtualization/azure-mgmt-desktopvirtualization/azure/mgmt/desktopvirtualization
```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/azure-mgmt-desktopvirtualization
+
+``` yaml $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/desktopvirtualization/azure-mgmt-desktopvirtualization
```
diff --git a/specification/desktopvirtualization/resource-manager/readme.typescript.md b/specification/desktopvirtualization/resource-manager/readme.typescript.md
index 1c42590f0e2b..58716fe39a3f 100644
--- a/specification/desktopvirtualization/resource-manager/readme.typescript.md
+++ b/specification/desktopvirtualization/resource-manager/readme.typescript.md
@@ -6,8 +6,8 @@ Please also specify `--typescript-sdks-folder=`.
+
+``` yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.Devices
+ output-folder: $(csharp-sdks-folder)/deviceprovisioningservices/management/Microsoft.Devices/Generated
+ clear-output-folder: true
+```
\ No newline at end of file
diff --git a/specification/deviceprovisioningservices/data-plane/readme.md b/specification/deviceprovisioningservices/data-plane/readme.md
new file mode 100644
index 000000000000..a85695dbea29
--- /dev/null
+++ b/specification/deviceprovisioningservices/data-plane/readme.md
@@ -0,0 +1,63 @@
+# Device Provisioning Service
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Device Provisioning Service.
+
+---
+
+## Getting Started
+
+To build the SDK for Device Provisioning Service, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
+
+> `autorest`
+
+To see additional help and options, run:
+
+> `autorest --help`
+
+---
+
+## Configuration
+
+### Basic Information
+
+These are the global settings for the IotHub API.
+
+``` yaml
+openapi-type: arm
+tag: package-2021-10-01
+```
+
+
+### Tag: package-2021-10-01
+
+These settings apply only when `--tag=package-2021-10-01` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-10-01'
+input-file:
+ - Microsoft.Devices/stable/2021-10-01/service.json
+```
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+``` yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-net
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-node
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_iot_hub_provisioning_services']
+ - repo: azure-resource-manager-schemas
+```
+
+## C#
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCertificateCreateOrUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCertificateCreateOrUpdate.json
new file mode 100644
index 000000000000..533f16904bf7
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCertificateCreateOrUpdate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "certificateDescription": {
+ "certificate": "############################################"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "certificate": "############################################",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/ProvisioningServices/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCheckNameAvailability.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCheckNameAvailability.json
new file mode 100644
index 000000000000..0e4aa5da3076
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCheckNameAvailability.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "arguments": {
+ "name": "test213123"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "Invalid",
+ "message": "name is valid"
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCreate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCreate.json
new file mode 100644
index 000000000000..bdd56117f3d4
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCreate.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "iotDpsDescription": {
+ "location": "East US",
+ "properties": {
+ "enableDataResidency": false
+ },
+ "sku": {
+ "name": "S1",
+ "capacity": 1
+ },
+ "tags": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "etag": "AAAAAAAADGk=",
+ "name": "myFirstProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012",
+ "authorizationPolicies": [],
+ "enableDataResidency": false
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "etag": "AAAAAAAADGk=",
+ "name": "myFirstProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012",
+ "authorizationPolicies": [],
+ "enableDataResidency": false
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCreateOrUpdatePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCreateOrUpdatePrivateEndpointConnection.json
new file mode 100644
index 000000000000..0f7bd6619300
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSCreateOrUpdatePrivateEndpointConnection.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection",
+ "privateEndpointConnection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSDelete.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSDelete.json
new file mode 100644
index 000000000000..df3ec6c19ac0
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {},
+ "204": {},
+ "202": {},
+ "404": {}
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSDeleteCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSDeleteCertificate.json
new file mode 100644
index 000000000000..05c0226c64d8
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSDeleteCertificate.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk="
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSDeletePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSDeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..a6e6b9903e7e
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSDeletePrivateEndpointConnection.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Disconnected",
+ "description": "Deleted",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Disconnected",
+ "description": "Deleted",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGenerateVerificationCode.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGenerateVerificationCode.json
new file mode 100644
index 000000000000..05954bec44c0
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGenerateVerificationCode.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cert",
+ "properties": {
+ "verificationCode": "##################################",
+ "subject": "CN=andbucdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "##############################",
+ "certificate": "###########################",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:26:56 GMT"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGet.json
new file mode 100644
index 000000000000..990419b2ff0d
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "etag": "AAAAAAAADGk=",
+ "name": "myFirstProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012",
+ "authorizationPolicies": []
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetCertificate.json
new file mode 100644
index 000000000000..6d42d08b748d
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetCertificate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "certificate": "######################################",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/ProvisioningServices/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetCertificates.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetCertificates.json
new file mode 100644
index 000000000000..0749e8b47528
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetCertificates.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/ProvisioningServices/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetKey.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetKey.json
new file mode 100644
index 000000000000..59cfd1dedda1
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "keyName": "testKey"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "keyName": "testKey",
+ "primaryKey": "##################################",
+ "secondaryKey": "################################",
+ "rights": "RegistrationStatusWrite"
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetOperationResult.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetOperationResult.json
new file mode 100644
index 000000000000..7b42073c8891
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetOperationResult.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "operationId": "MTY5OTNmZDctODI5Yy00N2E2LTkxNDQtMDU1NGIyYzY1ZjRl",
+ "asyncinfo": "1508265712453"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "Succeeded"
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetPrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetPrivateEndpointConnection.json
new file mode 100644
index 000000000000..f225fdfb3ed0
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetPrivateEndpointConnection.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request!",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetPrivateLinkResources.json
new file mode 100644
index 000000000000..7e5dd092b9fe
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetPrivateLinkResources.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "groupId": "iotDps"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateLinkResources/iotDps",
+ "name": "iotDps",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateLinkResources",
+ "properties": {
+ "groupId": "iotDps",
+ "requiredMembers": [
+ "iotDps"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azure-devices-provisioning.net"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetValidSku.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetValidSku.json
new file mode 100644
index 000000000000..bd7172404ce3
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSGetValidSku.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "S1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListByResourceGroup.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListByResourceGroup.json
new file mode 100644
index 000000000000..edcfab5f6c2d
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListByResourceGroup.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "etag": "AAAAAAAADGk=",
+ "name": "myFirstProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012"
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ },
+ {
+ "etag": "AAAAAAAADGk=",
+ "name": "mySecondProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "mySecondProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012"
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/mySecondProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListBySubscription.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListBySubscription.json
new file mode 100644
index 000000000000..10809ab99f65
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListBySubscription.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "etag": "AAAAAAAADGk=",
+ "name": "myFirstProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012"
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ },
+ {
+ "etag": "AAAAAAAADGk=",
+ "name": "mySecondProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012"
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/mySecondProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListKeys.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListKeys.json
new file mode 100644
index 000000000000..244001271379
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListKeys.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "keyName": "key1",
+ "primaryKey": "#####################################",
+ "secondaryKey": "###################################",
+ "rights": "ServiceConfig"
+ },
+ {
+ "keyName": "key2",
+ "primaryKey": "#######################################",
+ "secondaryKey": "####################################=",
+ "rights": "ServiceConfig"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListPrivateEndpointConnections.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListPrivateEndpointConnections.json
new file mode 100644
index 000000000000..44aedc7b3ca4
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListPrivateEndpointConnections.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request!",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListPrivateLinkResources.json
new file mode 100644
index 000000000000..a734845280ad
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSListPrivateLinkResources.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateLinkResources/iotDps",
+ "name": "iotDps",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateLinkResources",
+ "properties": {
+ "groupId": "iotDps",
+ "requiredMembers": [
+ "iotDps"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azure-devices-provisioning.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSOperations.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSOperations.json
new file mode 100644
index 000000000000..8803ccd6798c
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSOperations.json
@@ -0,0 +1,293 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Devices/register/action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Register Resource Provider"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Diagnostic Setting"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Set Diagnostic Setting"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read IotHub service metric definitions"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read IotHub service log definitions"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/operations/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get All ResourceProvider Operations"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/checkNameAvailability/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Check If IotHub name is available"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/usages/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Subscription Usages"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub(s)"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Create or update IotHub Resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Delete IotHub Resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/iotHubStats/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub Statistics"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/skus/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get valid IotHub Skus"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get all IotHub Keys"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/iotHubKeys/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub Key for the given name"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Create EventHub Consumer Group"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get EventHub Consumer Group(s)"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Delete EventHub Consumer Group"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/exportDevices/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Export Devices"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/importDevices/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Import Devices"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/jobs/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get the Job(s) on IotHub"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/quotaMetrics/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Quota Metrics"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routing/routes/$testall/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Routing Rule Test All"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routing/routes/$testnew/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Routing Rule Test Route"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routingEndpointsHealth/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Endpoint Health"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Diagnostic Setting"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Set Diagnostic Setting"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read DPS service metric definitions"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read DPS service log definitions"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/checkProvisioningServiceNameAvailability/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServives",
+ "operation": "Check If Provisioning Service name is available"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Get Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Create Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Delete Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/skus/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Delete Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "get security related metadata"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSPatch.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSPatch.json
new file mode 100644
index 000000000000..ac5169c58f33
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSPatch.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "location": "East US",
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "ProvisioningServiceTags": {
+ "tags": {
+ "foo": "bar"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "etag": "AAAAAAAADGk=",
+ "name": "myFirstProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012"
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService",
+ "tags": {
+ "foo": "bar"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSVerifyCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSVerifyCertificate.json
new file mode 100644
index 000000000000..0f919df7d2dd
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/examples/DPSVerifyCertificate.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk=",
+ "request": {
+ "certificate": "#####################################"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=andbucdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "certificate": "#####################################",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": true,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:26:56 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/ProvisioningServices/Certificates",
+ "etag": "AAAAAAExpTQ="
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/iotdps.json
new file mode 100644
index 000000000000..ed07f6780147
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2021-10-15/iotdps.json
@@ -0,0 +1,2546 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-10-15",
+ "x-ms-code-generation-settings": {
+ "host": "management.azure.com"
+ },
+ "title": "iotDpsClient",
+ "description": "API for using the Azure IoT Hub Device Provisioning Service features."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Devices/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "DPSOperations": {
+ "$ref": "./examples/DPSOperations.json"
+ }
+ },
+ "description": "Lists all of the available Microsoft.Devices REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "operationId": "DpsCertificate_Get",
+ "description": "Get the certificate from the provisioning service.",
+ "x-ms-examples": {
+ "DPSGetCertificate": {
+ "$ref": "./examples/DPSGetCertificate.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "certificateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the certificate to retrieve."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the provisioning service the certificate is associated with."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the certificate."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Metadata for the specified certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Upload the certificate to the provisioning service.",
+ "description": "Add new certificate or update an existing certificate.",
+ "operationId": "DpsCertificate_CreateOrUpdate",
+ "x-ms-examples": {
+ "DPSCreateOrUpdateCertificate": {
+ "$ref": "./examples/DPSCertificateCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Resource group identifier.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "description": "The name of the provisioning service.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateName",
+ "in": "path",
+ "description": "The name of the certificate create or update.",
+ "required": true,
+ "type": "string",
+ "maxLength": 256
+ },
+ {
+ "name": "certificateDescription",
+ "in": "body",
+ "description": "The certificate body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateBodyDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If certificate already exist and update was successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/CertificateResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "operationId": "DpsCertificate_Delete",
+ "summary": "Delete the Provisioning Service Certificate.",
+ "description": "Deletes the specified certificate associated with the Provisioning Service",
+ "x-ms-examples": {
+ "DPSDeleteCertificate": {
+ "$ref": "./examples/DPSDeleteCertificate.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the certificate"
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the provisioning service."
+ },
+ {
+ "name": "certificateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "This is a mandatory field, and is the logical name of the certificate that the provisioning service will access by."
+ },
+ {
+ "name": "certificate.name",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "This is optional, and it is the Common Name of the certificate."
+ },
+ {
+ "name": "certificate.rawBytes",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "byte",
+ "description": "Raw data within the certificate."
+ },
+ {
+ "name": "certificate.isVerified",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates if certificate has been verified by owner of the private key."
+ },
+ {
+ "name": "certificate.purpose",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "A description that mentions the purpose of the certificate.",
+ "enum": [
+ "clientAuthentication",
+ "serverAuthentication"
+ ],
+ "x-ms-enum": {
+ "name": "CertificatePurpose",
+ "modelAsString": true
+ }
+ },
+ {
+ "name": "certificate.created",
+ "in": "query",
+ "description": "Time the certificate is created.",
+ "required": false,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "certificate.lastUpdated",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Time the certificate is last updated.",
+ "format": "date-time"
+ },
+ {
+ "name": "certificate.hasPrivateKey",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates if the certificate contains a private key."
+ },
+ {
+ "name": "certificate.nonce",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Random number generated to indicate Proof of Possession."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the non-security related metadata of the provisioning service.",
+ "description": "Get the metadata of the provisioning service without SAS keys.",
+ "operationId": "IotDpsResource_Get",
+ "x-ms-examples": {
+ "DPSGet": {
+ "$ref": "./examples/DPSGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the provisioning service to retrieve."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group name."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Provisioning service description with no keys is included in the response.",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescription"
+ }
+ },
+ "default": {
+ "description": "Default error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Create or update the metadata of the provisioning service.",
+ "description": "Create or update the metadata of the provisioning service. The usual pattern to modify a property is to retrieve the provisioning service metadata and security metadata, and then combine them with the modified values in a new body to update the provisioning service.",
+ "x-ms-long-running-operation": true,
+ "operationId": "IotDpsResource_CreateOrUpdate",
+ "x-ms-examples": {
+ "DPSCreate": {
+ "$ref": "./examples/DPSCreate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service to create or update."
+ },
+ {
+ "name": "iotDpsDescription",
+ "in": "body",
+ "required": true,
+ "description": "Description of the provisioning service to create or update.",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescription"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains all the non-security properties of the provisioning service. Security-related properties are set to null.",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescription"
+ }
+ },
+ "201": {
+ "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescription"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "patch": {
+ "tags": [
+ "PATCH"
+ ],
+ "summary": "Update an existing provisioning service's tags.",
+ "description": "Update an existing provisioning service's tags. to update other fields use the CreateOrUpdate method",
+ "x-ms-long-running-operation": true,
+ "operationId": "IotDpsResource_Update",
+ "x-ms-examples": {
+ "DPSPatch": {
+ "$ref": "./examples/DPSPatch.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service to create or update."
+ },
+ {
+ "name": "ProvisioningServiceTags",
+ "in": "body",
+ "required": true,
+ "description": "Updated tag information to set into the provisioning service instance.",
+ "schema": {
+ "$ref": "#/definitions/TagsResource"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Provisioning Service was successfully updated",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescription"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete the Provisioning Service",
+ "description": "Deletes the Provisioning Service.",
+ "x-ms-long-running-operation": true,
+ "operationId": "IotDpsResource_Delete",
+ "x-ms-examples": {
+ "DPSDelete": {
+ "$ref": "./examples/DPSDelete.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service to delete."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The provisioning service resource provider always returns a 202 Accepted status code with valid Location and Retry-After headers. The resource provider also sets the Azure-AsyncOperation header with a URL that points to the operation resource for this operation. Subsequent GET attempts on the resource after a DELETE operation return a resource representation that indicates a transitional provisioning state (such as Terminating). To retrieve the status of the operation, a client can either poll the URL returned in the Location header after the Retry-After interval, get the provisioning service status directly, or query the operation resource."
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state."
+ },
+ "204": {
+ "description": "Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the provisioning service metadata in the service and the status of the delete operation is set to a completed state."
+ },
+ "404": {
+ "description": "After the long running delete operation completes successfully, a 404 Not Found is returned when the status polling request no longer finds the provisioning service metadata in the service."
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "operationId": "DpsCertificate_List",
+ "description": "Get all the certificates tied to the provisioning service.",
+ "x-ms-examples": {
+ "DPSGetCertificates": {
+ "$ref": "./examples/DPSGetCertificates.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of resource group."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service to retrieve certificates for."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of certificate descriptions in a JSON-serialized array.",
+ "schema": {
+ "$ref": "#/definitions/CertificateListDescription"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/provisioningServices": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get all the provisioning services in a subscription.",
+ "description": "List all the provisioning services for a given subscription id.",
+ "operationId": "IotDpsResource_ListBySubscription",
+ "x-ms-examples": {
+ "DPSListBySubscription": {
+ "$ref": "./examples/DPSListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the provisioning services in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "operationId": "IotDpsResource_ListByResourceGroup",
+ "description": "Get a list of all provisioning services in the given resource group.",
+ "x-ms-examples": {
+ "DPSListByResourceGroup": {
+ "$ref": "./examples/DPSListByResourceGroup.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of provisioning services in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/operationresults/{operationId}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "operationId": "IotDpsResource_GetOperationResult",
+ "description": "Gets the status of a long running operation, such as create, update or delete a provisioning service.",
+ "x-ms-examples": {
+ "DPSGetOperationResult": {
+ "$ref": "./examples/DPSGetOperationResult.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Operation id corresponding to long running operation. Use this to poll for the status."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service that the operation is running on."
+ },
+ {
+ "name": "asyncinfo",
+ "in": "query",
+ "description": "Async header used to poll on the status of the operation, obtained while creating the long running operation.",
+ "required": true,
+ "type": "string",
+ "default": "true"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The status of the long running operation.",
+ "schema": {
+ "$ref": "#/definitions/AsyncOperationResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/skus": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the list of valid SKUs for a provisioning service.",
+ "description": "Gets the list of valid SKUs and tiers for a provisioning service.",
+ "operationId": "IotDpsResource_listValidSkus",
+ "x-ms-examples": {
+ "DPSGetValidSku": {
+ "$ref": "./examples/DPSGetValidSku.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of resource group."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the valid SKUs for this provisioning service.",
+ "schema": {
+ "$ref": "#/definitions/IotDpsSkuDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/generateVerificationCode": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "DpsCertificate_GenerateVerificationCode",
+ "description": "Generate verification code for Proof of Possession.",
+ "x-ms-examples": {
+ "DPSGenerateVerificationCode": {
+ "$ref": "./examples/DPSGenerateVerificationCode.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "certificateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The mandatory logical name of the certificate, that the provisioning service uses to access."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "name of resource group."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service."
+ },
+ {
+ "name": "certificate.name",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Common Name for the certificate."
+ },
+ {
+ "name": "certificate.rawBytes",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "byte",
+ "description": "Raw data of certificate."
+ },
+ {
+ "name": "certificate.isVerified",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates if the certificate has been verified by owner of the private key."
+ },
+ {
+ "name": "certificate.purpose",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Description mentioning the purpose of the certificate.",
+ "enum": [
+ "clientAuthentication",
+ "serverAuthentication"
+ ],
+ "x-ms-enum": {
+ "name": "CertificatePurpose",
+ "modelAsString": true
+ }
+ },
+ {
+ "name": "certificate.created",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "Certificate creation time."
+ },
+ {
+ "name": "certificate.lastUpdated",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "Certificate last updated time."
+ },
+ {
+ "name": "certificate.hasPrivateKey",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates if the certificate contains private key."
+ },
+ {
+ "name": "certificate.nonce",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Random number generated to indicate Proof of Possession."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Generated verification code for that certificate is returned.",
+ "schema": {
+ "$ref": "#/definitions/VerificationCodeResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/verify": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "DpsCertificate_VerifyCertificate",
+ "summary": "Verify certificate's private key possession.",
+ "description": "Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.",
+ "x-ms-examples": {
+ "DPSVerifyCertificate": {
+ "$ref": "./examples/DPSVerifyCertificate.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "certificateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The mandatory logical name of the certificate, that the provisioning service uses to access."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the certificate."
+ },
+ {
+ "name": "request",
+ "in": "body",
+ "required": true,
+ "description": "The name of the certificate",
+ "schema": {
+ "$ref": "#/definitions/VerificationCodeRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group name."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Provisioning service name."
+ },
+ {
+ "name": "certificate.name",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Common Name for the certificate."
+ },
+ {
+ "name": "certificate.rawBytes",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "byte",
+ "description": "Raw data of certificate."
+ },
+ {
+ "name": "certificate.isVerified",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates if the certificate has been verified by owner of the private key."
+ },
+ {
+ "name": "certificate.purpose",
+ "in": "query",
+ "required": false,
+ "description": "Describe the purpose of the certificate.",
+ "type": "string",
+ "enum": [
+ "clientAuthentication",
+ "serverAuthentication"
+ ],
+ "x-ms-enum": {
+ "name": "CertificatePurpose",
+ "modelAsString": true
+ }
+ },
+ {
+ "name": "certificate.created",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "Certificate creation time."
+ },
+ {
+ "name": "certificate.lastUpdated",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "Certificate last updated time."
+ },
+ {
+ "name": "certificate.hasPrivateKey",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates if the certificate contains private key."
+ },
+ {
+ "name": "certificate.nonce",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Random number generated to indicate Proof of Possession."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CertificateResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotDpsResource_CheckProvisioningServiceNameAvailability",
+ "x-ms-examples": {
+ "DPSCheckName": {
+ "$ref": "./examples/DPSCheckNameAvailability.json"
+ }
+ },
+ "summary": "Check if a provisioning service name is available.",
+ "description": "Check if a provisioning service name is available. This will validate if the name is syntactically valid and if the name is usable",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "arguments",
+ "in": "body",
+ "required": true,
+ "description": "Set the name parameter in the OperationInputs structure to the name of the provisioning service to check.",
+ "schema": {
+ "$ref": "#/definitions/OperationInputs"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the provisioning service name is available. If the name is not available, the body contains the reason.",
+ "schema": {
+ "$ref": "#/definitions/NameAvailabilityInfo"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/listkeys": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotDpsResource_ListKeys",
+ "x-ms-examples": {
+ "DPSListKeys": {
+ "$ref": "./examples/DPSListKeys.json"
+ }
+ },
+ "summary": "Get the security metadata for a provisioning service.",
+ "description": "List the primary and secondary keys for a provisioning service.",
+ "parameters": [
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The provisioning service name to get the shared access keys for."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "resource group name"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of shared access policies, including keys, that you can use to access the provisioning service endpoints.",
+ "schema": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/keys/{keyName}/listkeys": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotDpsResource_ListKeysForKeyName",
+ "x-ms-examples": {
+ "DPSGetKey": {
+ "$ref": "./examples/DPSGetKey.json"
+ }
+ },
+ "summary": "Get a shared access policy by name from a provisioning service.",
+ "description": "List primary and secondary keys for a specific key name",
+ "parameters": [
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the provisioning service."
+ },
+ {
+ "name": "keyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Logical key name to get key-values for."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The name of the resource group that contains the provisioning service.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized shared access policy, including keys, that you can use to access one or more provisioning service endpoints.",
+ "schema": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule[AccessRightsDescription]"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "List private link resources",
+ "description": "List private link resources for the given provisioning service",
+ "operationId": "IotDpsResource_ListPrivateLinkResources",
+ "x-ms-examples": {
+ "PrivateLinkResources_List": {
+ "$ref": "./examples/DPSListPrivateLinkResources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the list of private link resources",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResources"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateLinkResources/{groupId}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the specified private link resource",
+ "description": "Get the specified private link resource for the given provisioning service",
+ "operationId": "IotDpsResource_GetPrivateLinkResources",
+ "x-ms-examples": {
+ "PrivateLinkResources_List": {
+ "$ref": "./examples/DPSGetPrivateLinkResources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/groupId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the specified of private link resource",
+ "schema": {
+ "$ref": "#/definitions/GroupIdInformation"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "List private endpoint connections",
+ "description": "List private endpoint connection properties",
+ "operationId": "IotDpsResource_ListPrivateEndpointConnections",
+ "x-ms-examples": {
+ "PrivateEndpointConnections_List": {
+ "$ref": "./examples/DPSListPrivateEndpointConnections.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the list of private endpoint connection properties",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionsList"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get private endpoint connection",
+ "description": "Get private endpoint connection properties",
+ "operationId": "IotDpsResource_GetPrivateEndpointConnection",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_Get": {
+ "$ref": "./examples/DPSGetPrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the private endpoint connection properties",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Create or update private endpoint connection",
+ "description": "Create or update the status of a private endpoint connection with the specified name",
+ "operationId": "IotDpsResource_CreateOrUpdatePrivateEndpointConnection",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_CreateOrUpdate": {
+ "$ref": "./examples/DPSCreateOrUpdatePrivateEndpointConnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ },
+ {
+ "name": "privateEndpointConnection",
+ "in": "body",
+ "description": "The private endpoint connection with updated properties",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the update operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete private endpoint connection",
+ "description": "Delete private endpoint connection with the specified name",
+ "operationId": "IotDpsResource_DeletePrivateEndpointConnection",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_Delete": {
+ "$ref": "./examples/DPSDeletePrivateEndpointConnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "This is a long running operation. The operation returns a 202 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the delete operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "204": {
+ "description": "PrivateEndpoint does not exist."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ }
+ },
+ "definitions": {
+ "AsyncOperationResult": {
+ "type": "object",
+ "description": "Result of a long running operation.",
+ "properties": {
+ "status": {
+ "description": "current status of a long running operation.",
+ "type": "string"
+ },
+ "error": {
+ "description": "Error message containing code, description and details",
+ "$ref": "#/definitions/ErrorMesssage"
+ }
+ }
+ },
+ "ErrorMesssage": {
+ "description": "Error response containing message and code.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "standard error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "standard error description",
+ "type": "string"
+ },
+ "details": {
+ "description": "detailed summary of error",
+ "type": "string"
+ }
+ }
+ },
+ "CertificateListDescription": {
+ "description": "The JSON-serialized array of Certificate objects.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of Certificate objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateResponse"
+ }
+ }
+ }
+ },
+ "CertificateBodyDescription": {
+ "description": "The JSON-serialized X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "certificate": {
+ "description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content.",
+ "type": "string"
+ },
+ "isVerified": {
+ "description": "True indicates that the certificate will be created in verified state and proof of possession will not be required.",
+ "type": "boolean"
+ }
+ }
+ },
+ "CertificateResponse": {
+ "description": "The X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "properties of a certificate",
+ "$ref": "#/definitions/CertificateProperties"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "description": "The name of the certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The entity tag.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "CertificateProperties": {
+ "description": "The description of an X509 CA Certificate.",
+ "type": "object",
+ "properties": {
+ "subject": {
+ "description": "The certificate's subject name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "expiry": {
+ "description": "The certificate's expiration date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "thumbprint": {
+ "description": "The certificate's thumbprint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isVerified": {
+ "description": "Determines whether certificate has been verified.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "certificate": {
+ "description": "base-64 representation of X509 certificate .cer file or just .pem file content.",
+ "type": "string",
+ "format": "byte",
+ "readOnly": true
+ },
+ "created": {
+ "description": "The certificate's creation date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "updated": {
+ "description": "The certificate's last update date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ }
+ }
+ },
+ "IotDpsSkuInfo": {
+ "type": "object",
+ "description": "List of possible provisioning service SKUs.",
+ "properties": {
+ "name": {
+ "description": "Sku name.",
+ "enum": [
+ "S1"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotDpsSku",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Pricing tier name of the provisioning service."
+ },
+ "capacity": {
+ "format": "int64",
+ "type": "integer",
+ "description": "The number of units to provision"
+ }
+ }
+ },
+ "ProvisioningServiceDescription": {
+ "description": "The description of the provisioning service.",
+ "type": "object",
+ "properties": {
+ "etag": {
+ "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Service specific properties for a provisioning service",
+ "$ref": "#/definitions/IotDpsPropertiesDescription"
+ },
+ "sku": {
+ "description": "Sku info for a provisioning Service.",
+ "$ref": "#/definitions/IotDpsSkuInfo"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "sku",
+ "properties"
+ ]
+ },
+ "IotDpsPropertiesDescription": {
+ "description": "the service specific properties of a provisioning service, including keys, linked iot hubs, current state, and system generated properties such as hostname and idScope",
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "Current state of the provisioning service.",
+ "enum": [
+ "Activating",
+ "Active",
+ "Deleting",
+ "Deleted",
+ "ActivationFailed",
+ "DeletionFailed",
+ "Transitioning",
+ "Suspending",
+ "Suspended",
+ "Resuming",
+ "FailingOver",
+ "FailoverFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "state",
+ "modelAsString": true
+ }
+ },
+ "publicNetworkAccess": {
+ "type": "string",
+ "description": "Whether requests from Public Network are allowed",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PublicNetworkAccess"
+ }
+ },
+ "ipFilterRules": {
+ "description": "The IP filter rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpFilterRule"
+ }
+ },
+ "privateEndpointConnections": {
+ "description": "Private endpoint connections created on this IotHub",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "provisioningState": {
+ "description": "The ARM provisioning state of the provisioning service.",
+ "type": "string"
+ },
+ "iotHubs": {
+ "type": "array",
+ "description": "List of IoT hubs associated with this provisioning service.",
+ "items": {
+ "$ref": "#/definitions/IotHubDefinitionDescription"
+ }
+ },
+ "allocationPolicy": {
+ "enum": [
+ "Hashed",
+ "GeoLatency",
+ "Static"
+ ],
+ "type": "string",
+ "description": "Allocation policy to be used by this provisioning service.",
+ "x-ms-enum": {
+ "name": "AllocationPolicy",
+ "modelAsString": true
+ }
+ },
+ "serviceOperationsHostName": {
+ "description": "Service endpoint for provisioning service.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceProvisioningHostName": {
+ "type": "string",
+ "description": "Device endpoint for this provisioning service.",
+ "readOnly": true
+ },
+ "idScope": {
+ "type": "string",
+ "description": "Unique identifier of this provisioning service.",
+ "readOnly": true
+ },
+ "authorizationPolicies": {
+ "description": "List of authorization keys for a provisioning service.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule[AccessRightsDescription]"
+ }
+ },
+ "enableDataResidency": {
+ "type": "boolean",
+ "description": "Optional.\nIndicates if the DPS instance has Data Residency enabled, removing the cross geo-pair disaster recovery."
+ }
+ }
+ },
+ "IotHubDefinitionDescription": {
+ "type": "object",
+ "description": "Description of the IoT hub.",
+ "properties": {
+ "applyAllocationPolicy": {
+ "description": "flag for applying allocationPolicy or not for a given iot hub.",
+ "type": "boolean"
+ },
+ "allocationWeight": {
+ "description": "weight to apply for a given iot h.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Host name of the IoT hub."
+ },
+ "connectionString": {
+ "type": "string",
+ "description": "Connection string of the IoT hub."
+ },
+ "location": {
+ "type": "string",
+ "description": "ARM region of the IoT hub."
+ }
+ },
+ "required": [
+ "connectionString",
+ "location"
+ ]
+ },
+ "IpFilterRule": {
+ "description": "The IP filter rules for a provisioning Service.",
+ "type": "object",
+ "properties": {
+ "filterName": {
+ "description": "The name of the IP filter rule.",
+ "type": "string"
+ },
+ "action": {
+ "description": "The desired action for requests captured by this rule.",
+ "enum": [
+ "Accept",
+ "Reject"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IpFilterActionType",
+ "modelAsString": false
+ }
+ },
+ "ipMask": {
+ "description": "A string that contains the IP address range in CIDR notation for the rule.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Target for requests captured by this rule.",
+ "enum": [
+ "all",
+ "serviceApi",
+ "deviceApi"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IpFilterTargetType",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "filterName",
+ "action",
+ "ipMask"
+ ]
+ },
+ "PrivateLinkResources": {
+ "description": "The available private link resources for a provisioning service",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of available private link resources for a provisioning service",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GroupIdInformation"
+ }
+ }
+ }
+ },
+ "GroupIdInformation": {
+ "description": "The group information for creating a private endpoint on a provisioning service",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "description": "The properties for a group information object",
+ "$ref": "#/definitions/GroupIdInformationProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "GroupIdInformationProperties": {
+ "description": "The properties for a group information object",
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "type": "string",
+ "description": "The group id"
+ },
+ "requiredMembers": {
+ "description": "The required members for a specific group id",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "requiredZoneNames": {
+ "description": "The required DNS zones for a specific group id",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnectionsList": {
+ "description": "The list of private endpoint connections for a provisioning service",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "The private endpoint connection of a provisioning service",
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "description": "The properties of a private endpoint connection",
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "The properties of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "description": "The private endpoint property of a private endpoint connection",
+ "$ref": "#/definitions/PrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "description": "The current state of a private endpoint connection",
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState"
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ]
+ },
+ "PrivateEndpoint": {
+ "description": "The private endpoint property of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The current state of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The status of a private endpoint connection",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PrivateLinkServiceConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The description for the current state of a private endpoint connection"
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "Actions required for a private endpoint connection"
+ }
+ },
+ "required": [
+ "status",
+ "description"
+ ]
+ },
+ "SharedAccessSignatureAuthorizationRule[AccessRightsDescription]": {
+ "type": "object",
+ "description": "Description of the shared access key.",
+ "properties": {
+ "keyName": {
+ "type": "string",
+ "description": "Name of the key."
+ },
+ "primaryKey": {
+ "type": "string",
+ "description": "Primary SAS key value."
+ },
+ "secondaryKey": {
+ "type": "string",
+ "description": "Secondary SAS key value."
+ },
+ "rights": {
+ "description": "Rights that this key has.",
+ "enum": [
+ "ServiceConfig",
+ "EnrollmentRead",
+ "EnrollmentWrite",
+ "DeviceConnect",
+ "RegistrationStatusRead",
+ "RegistrationStatusWrite"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccessRightsDescription",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "keyName",
+ "rights"
+ ]
+ },
+ "Resource": {
+ "description": "The common properties of an Azure resource.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "The resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ }
+ },
+ "x-ms-azure-resource": true,
+ "required": [
+ "location"
+ ]
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list provisioning service operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "description": "Provisioning service operations supported by the Microsoft.Devices resource provider.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "Operation": {
+ "description": "Provisioning Service REST API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operation name: {provider}/{resource}/{read | write | action | delete}"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Service provider: Microsoft Devices."
+ },
+ "resource": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Type: ProvisioningServices."
+ },
+ "operation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the operation."
+ }
+ }
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "Error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "httpStatusCode": {
+ "description": "The HTTP status code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "The error details.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SharedAccessSignatureAuthorizationRuleListResult": {
+ "type": "object",
+ "description": "List of shared access keys.",
+ "properties": {
+ "value": {
+ "description": "The list of shared access policies.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule[AccessRightsDescription]"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotDpsSkuDefinitionListResult": {
+ "type": "object",
+ "description": "List of available SKUs.",
+ "properties": {
+ "value": {
+ "description": "The list of SKUs",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotDpsSkuDefinition"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotDpsSkuDefinition": {
+ "type": "object",
+ "description": "Available SKUs of tier and units.",
+ "properties": {
+ "name": {
+ "description": "Sku name.",
+ "enum": [
+ "S1"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotDpsSku",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "OperationInputs": {
+ "description": "Input values for operation results call.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the Provisioning Service to check.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "NameAvailabilityInfo": {
+ "type": "object",
+ "description": "Description of name availability.",
+ "properties": {
+ "nameAvailable": {
+ "description": "specifies if a name is available or not",
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "specifies the reason a name is unavailable",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NameUnavailabilityReason",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "message containing a detailed reason name is unavailable",
+ "type": "string"
+ }
+ }
+ },
+ "TagsResource": {
+ "properties": {
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "A container holding only the Tags for a resource, allowing the user to update the tags on a Provisioning Service instance."
+ },
+ "ProvisioningServiceDescriptionListResult": {
+ "type": "object",
+ "description": "List of provisioning service descriptions.",
+ "properties": {
+ "value": {
+ "description": "List of provisioning service descriptions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProvisioningServiceDescription"
+ }
+ },
+ "nextLink": {
+ "description": "the next link",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "VerificationCodeResponse": {
+ "type": "object",
+ "description": "Description of the response of the verification code.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of certificate.",
+ "readOnly": true
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Request etag."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "verificationCode": {
+ "type": "string",
+ "description": "Verification code."
+ },
+ "subject": {
+ "type": "string",
+ "description": "Certificate subject."
+ },
+ "expiry": {
+ "type": "string",
+ "description": "Code expiry."
+ },
+ "thumbprint": {
+ "type": "string",
+ "description": "Certificate thumbprint."
+ },
+ "isVerified": {
+ "type": "boolean",
+ "description": "Indicate if the certificate is verified by owner of private key."
+ },
+ "certificate": {
+ "description": "base-64 representation of X509 certificate .cer file or just .pem file content.",
+ "type": "string",
+ "format": "byte"
+ },
+ "created": {
+ "type": "string",
+ "description": "Certificate created time."
+ },
+ "updated": {
+ "type": "string",
+ "description": "Certificate updated time."
+ }
+ }
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "VerificationCodeRequest": {
+ "type": "object",
+ "description": "The JSON-serialized leaf certificate",
+ "properties": {
+ "certificate": {
+ "description": "base-64 representation of X509 certificate .cer file or just .pem file content.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription identifier.",
+ "required": true,
+ "type": "string"
+ },
+ "api-version": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The version of the API.",
+ "required": true,
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "name": "resourceGroupName",
+ "description": "The name of the resource group that contains the provisioning service.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceName": {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the provisioning service.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "groupId": {
+ "name": "groupId",
+ "in": "path",
+ "description": "The name of the private link resource",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "privateEndpointConnectionName": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/readme.md b/specification/deviceprovisioningservices/resource-manager/readme.md
index d030b6c04dbd..9b2b8d726995 100644
--- a/specification/deviceprovisioningservices/resource-manager/readme.md
+++ b/specification/deviceprovisioningservices/resource-manager/readme.md
@@ -85,6 +85,17 @@ input-file:
---
+### Tag: package-2021-10
+
+These settings apply only when `--tag=package-2021-10` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-10'
+input-file:
+- Microsoft.Devices/stable/2021-10-15/iotdps.json
+```
+
+---
+
## Code Generation
### Swagger to SDK
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/deviceupdate.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/deviceupdate.json
index fc3fbfbe8030..59dbf1d5971a 100644
--- a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/deviceupdate.json
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/deviceupdate.json
@@ -936,6 +936,251 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeviceUpdate/accounts/{accountName}/privateEndpointConnectionProxies": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnectionProxies"
+ ],
+ "description": "(INTERNAL - DO NOT USE) List all private endpoint connection proxies in a device update account.",
+ "operationId": "PrivateEndpointConnectionProxies_ListByAccount",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProxyListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnectionProxyList": {
+ "$ref": "./examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_ListByAccount.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeviceUpdate/accounts/{accountName}/privateEndpointConnectionProxies/{privateEndpointConnectionProxyId}/validate": {
+ "post": {
+ "description": "(INTERNAL - DO NOT USE) Validates a private endpoint connection proxy object.",
+ "operationId": "PrivateEndpointConnectionProxies_Validate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionProxyIdParameter"
+ },
+ {
+ "name": "privateEndpointConnectionProxy",
+ "in": "body",
+ "description": "The parameters for creating a private endpoint connection proxy.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProxy"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Validate private endpoint connection proxy empty response."
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnectionProxyValidate": {
+ "$ref": "./examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Validate.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DeviceUpdate/accounts/{accountName}/privateEndpointConnectionProxies/{privateEndpointConnectionProxyId}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "(INTERNAL - DO NOT USE) Get the specified private endpoint connection proxy associated with the device update account.",
+ "operationId": "PrivateEndpointConnectionProxies_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionProxyIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProxy"
+ }
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnectionProxyGet": {
+ "$ref": "./examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnectionProxies"
+ ],
+ "description": "(INTERNAL - DO NOT USE) Creates or updates the specified private endpoint connection proxy resource associated with the device update account.",
+ "operationId": "PrivateEndpointConnectionProxies_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionProxyIdParameter"
+ },
+ {
+ "name": "privateEndpointConnectionProxy",
+ "in": "body",
+ "description": "The parameters for creating a private endpoint connection proxy.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProxy"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The request was successful; the operation will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProxy"
+ }
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnectionProxyCreateOrUpdate": {
+ "$ref": "./examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnectionProxies"
+ ],
+ "description": "(INTERNAL - DO NOT USE) Deletes the specified private endpoint connection proxy associated with the device update account.",
+ "operationId": "PrivateEndpointConnectionProxies_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateEndpointConnectionProxyIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the operation completed synchronously."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "The private endpoint connection does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error response describing the reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnectionProxyDelete": {
+ "$ref": "./examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
"/providers/Microsoft.DeviceUpdate/operations": {
"get": {
"description": "Returns list of operations for Microsoft.DeviceUpdate resource provider.",
@@ -1019,7 +1264,7 @@
}
},
"identity": {
- "$ref": "#/definitions/Identity",
+ "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity",
"description": "The type of identity used for the resource."
}
}
@@ -1087,6 +1332,9 @@
"enableDiagnostics": {
"description": "Enables or Disables the diagnostic logs collection",
"type": "boolean"
+ },
+ "diagnosticStorageProperties": {
+ "$ref": "#/definitions/DiagnosticStorageProperties"
}
}
}
@@ -1095,6 +1343,37 @@
"properties"
]
},
+ "DiagnosticStorageProperties": {
+ "description": "Customer-initiated diagnostic log collection storage properties",
+ "type": "object",
+ "properties": {
+ "authenticationType": {
+ "description": "Authentication Type",
+ "enum": [
+ "KeyBased"
+ ],
+ "type": "string",
+ "readOnly": false,
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "connectionString": {
+ "description": "ConnectionString of the diagnostic storage account",
+ "x-ms-secret": true,
+ "type": "string"
+ },
+ "resourceId": {
+ "description": "ResourceId of the diagnostic storage account",
+ "type": "string"
+ }
+ },
+ "required": [
+ "authenticationType",
+ "resourceId"
+ ]
+ },
"InstanceList": {
"description": "List of Instances.",
"type": "object",
@@ -1112,34 +1391,6 @@
}
}
},
- "Identity": {
- "description": "Identity for the resource.",
- "type": "object",
- "properties": {
- "principalId": {
- "readOnly": true,
- "type": "string",
- "description": "The principal ID of resource identity."
- },
- "tenantId": {
- "readOnly": true,
- "type": "string",
- "description": "The tenant ID of resource."
- },
- "type": {
- "enum": [
- "SystemAssigned",
- "None"
- ],
- "x-ms-enum": {
- "name": "ResourceIdentityType",
- "modelAsString": false
- },
- "type": "string",
- "description": "The identity type."
- }
- }
- },
"IotHubSettings": {
"type": "object",
"description": "Device Update account integration with IoT Hub settings.",
@@ -1170,7 +1421,7 @@
"type": "object",
"properties": {
"identity": {
- "$ref": "#/definitions/Identity",
+ "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity",
"description": "The type of identity used for the resource."
},
"location": {
@@ -1257,6 +1508,245 @@
}
}
}
+ },
+ "PrivateEndpointConnectionProxyListResult": {
+ "description": "The available private endpoint connection proxies for an Account (not to be used by anyone, here because of ARM requirements)",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of available private endpoint connection proxies for an Account",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProxy"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next list of private endpoint connection proxies.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateEndpointConnectionProxy": {
+ "description": "Private endpoint connection proxy details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource"
+ },
+ {
+ "$ref": "#/definitions/PrivateEndpointConnectionProxyProperties"
+ }
+ ]
+ },
+ "PrivateEndpointConnectionProxyProperties": {
+ "description": "Private endpoint connection proxy object properties.",
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "properties": {
+ "eTag": {
+ "description": "ETag from NRP.",
+ "type": "string",
+ "readOnly": true
+ },
+ "remotePrivateEndpoint": {
+ "description": "Remote private endpoint details.",
+ "$ref": "#/definitions/RemotePrivateEndpoint"
+ },
+ "provisioningState": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProxyProvisioningState",
+ "description": "The provisioning state of the private endpoint connection proxy resource."
+ },
+ "status": {
+ "description": "Operation status.",
+ "type": "string"
+ }
+ }
+ },
+ "RemotePrivateEndpoint": {
+ "description": "Remote private endpoint details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Remote endpoint resource ID.",
+ "type": "string"
+ },
+ "vnetTrafficTag": {
+ "description": "Virtual network traffic tag.",
+ "type": "string",
+ "readOnly": true
+ },
+ "manualPrivateLinkServiceConnections": {
+ "description": "List of private link service connections that need manual approval.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkServiceConnection"
+ }
+ },
+ "privateLinkServiceConnections": {
+ "description": "List of automatically approved private link service connections.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkServiceConnection"
+ }
+ },
+ "privateLinkServiceProxies": {
+ "description": "List of private link service proxies.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkServiceProxy"
+ }
+ },
+ "connectionDetails": {
+ "description": "List of connection details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectionDetails"
+ }
+ }
+ }
+ },
+ "PrivateLinkServiceConnection": {
+ "description": "Private link service connection details.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Private link service connection name.",
+ "type": "string"
+ },
+ "groupIds": {
+ "description": "List of group IDs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "requestMessage": {
+ "description": "Request message.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkServiceProxy": {
+ "description": "Private link service proxy details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "NRP resource ID.",
+ "type": "string"
+ },
+ "remotePrivateLinkServiceConnectionState": {
+ "description": "Remote private link service connection state",
+ "$ref": "../../../../../common-types/resource-management/v3/privatelinks.json#/definitions/PrivateLinkServiceConnectionState"
+ },
+ "remotePrivateEndpointConnection": {
+ "description": "Remote private endpoint connection details.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/RemotePrivateEndpointConnection"
+ }
+ ]
+ },
+ "groupConnectivityInformation": {
+ "description": "Group connectivity information.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GroupConnectivityInformation"
+ }
+ }
+ }
+ },
+ "RemotePrivateEndpointConnection": {
+ "description": "Remote private endpoint connection details.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Remote private endpoint connection ID.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "GroupConnectivityInformation": {
+ "description": "Group connectivity details.",
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "description": "Group ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "memberName": {
+ "description": "Member name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "customerVisibleFqdns": {
+ "description": "List of customer visible FQDNs.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "internalFqdn": {
+ "description": "Internal FQDN.",
+ "type": "string",
+ "readOnly": true
+ },
+ "redirectMapId": {
+ "description": "Redirect map ID.",
+ "type": "string"
+ },
+ "privateLinkServiceArmRegion": {
+ "description": "PrivateLinkService ARM region.",
+ "type": "string"
+ }
+ }
+ },
+ "ConnectionDetails": {
+ "description": "Private endpoint connection proxy object properties.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Connection details ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "privateIpAddress": {
+ "description": "Private IP address.",
+ "type": "string",
+ "readOnly": true
+ },
+ "linkIdentifier": {
+ "description": "Link ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "groupId": {
+ "description": "Group ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "memberName": {
+ "description": "Member name.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PrivateEndpointConnectionProxyProvisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current provisioning state.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "PrivateEndpointConnectionProxyProvisioningState",
+ "modelAsString": true
+ }
}
},
"parameters": {
@@ -1311,6 +1801,14 @@
"type": "string",
"description": "The group ID of the private link resource.",
"x-ms-parameter-location": "method"
+ },
+ "PrivateEndpointConnectionProxyIdParameter": {
+ "name": "privateEndpointConnectionProxyId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the private endpoint connection proxy object.",
+ "x-ms-parameter-location": "method"
}
}
}
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Create.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Create.json
index dc732514328b..7062f866535a 100644
--- a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Create.json
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Create.json
@@ -15,7 +15,12 @@
"eventHubConnectionString": "string"
}
],
- "enableDiagnostics": false
+ "enableDiagnostics": false,
+ "diagnosticStorageProperties": {
+ "authenticationType": "KeyBased",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/adu-resource-group/providers/Microsoft.Storage/storageAccounts/testAccount",
+ "connectionString": "string"
+ }
}
}
},
@@ -34,7 +39,11 @@
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Devices/IotHubs/blue-contoso-hub"
}
],
- "enableDiagnostics": false
+ "enableDiagnostics": false,
+ "diagnosticStorageProperties": {
+ "authenticationType": "KeyBased",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/adu-resource-group/providers/Microsoft.Storage/storageAccounts/testAccount"
+ }
}
}
}
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Get.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Get.json
index 23b2706d98a3..2a81fb866f14 100644
--- a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Get.json
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Get.json
@@ -21,7 +21,11 @@
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Devices/IotHubs/blue-contoso-hub"
}
],
- "enableDiagnostics": false
+ "enableDiagnostics": false,
+ "diagnosticStorageProperties": {
+ "authenticationType": "KeyBased",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/adu-resource-group/providers/Microsoft.Storage/storageAccounts/testAccount"
+ }
}
}
}
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_ListByAccount.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_ListByAccount.json
index 162edb2678ee..86d68699867b 100644
--- a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_ListByAccount.json
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_ListByAccount.json
@@ -23,7 +23,11 @@
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Devices/IotHubs/blue-contoso-hub"
}
],
- "enableDiagnostics": false
+ "enableDiagnostics": false,
+ "diagnosticStorageProperties": {
+ "authenticationType": "KeyBased",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/adu-resource-group/providers/Microsoft.Storage/storageAccounts/testAccount"
+ }
}
},
{
@@ -39,7 +43,11 @@
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Devices/IotHubs/red-contoso-hub"
}
],
- "enableDiagnostics": false
+ "enableDiagnostics": false,
+ "diagnosticStorageProperties": {
+ "authenticationType": "KeyBased",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/adu-resource-group/providers/Microsoft.Storage/storageAccounts/testAccount"
+ }
}
}
]
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Update.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Update.json
index 850030cfa1c0..8157a3e3f3c6 100644
--- a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Update.json
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/Instances/Instances_Update.json
@@ -25,7 +25,11 @@
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Devices/IotHubs/blue-contoso-hub"
}
],
- "enableDiagnostics": false
+ "enableDiagnostics": false,
+ "diagnosticStorageProperties": {
+ "authenticationType": "KeyBased",
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/adu-resource-group/providers/Microsoft.Storage/storageAccounts/testAccount"
+ }
},
"tags": {
"tagKey": "tagValue"
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_CreateOrUpdate.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_CreateOrUpdate.json
new file mode 100644
index 000000000000..93a28ec2f88c
--- /dev/null
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_CreateOrUpdate.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "test-rg",
+ "accountName": "contoso",
+ "privateEndpointConnectionProxyId": "peexample01",
+ "api-version": "2020-03-01-preview",
+ "privateEndpointConnectionProxy": {
+ "remotePrivateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}",
+ "manualPrivateLinkServiceConnections": [
+ {
+ "name": "{privateEndpointConnectionProxyId}",
+ "groupIds": [
+ "DeviceUpdate"
+ ],
+ "requestMessage": "Please approve my connection, thanks."
+ }
+ ],
+ "privateLinkServiceProxies": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}/privateLinkServiceProxies/{privateEndpointConnectionProxyId}",
+ "groupConnectivityInformation": []
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DeviceUpdate/accounts/contoso/privateEndpointConnectionProxies/peexample01",
+ "name": "peexample01",
+ "type": "Microsoft.DeviceUpdate/accounts/privateEndpointConnectionProxies",
+ "remotePrivateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}",
+ "manualPrivateLinkServiceConnections": [
+ {
+ "name": "{plsConnectionName}",
+ "groupIds": [
+ "DeviceUpdate"
+ ],
+ "requestMessage": "Please approve my connection, thanks."
+ }
+ ],
+ "privateLinkServiceProxies": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}/privateLinkServiceProxies/{privateEndpointConnectionProxyId}",
+ "groupConnectivityInformation": [
+ {
+ "groupId": "DeviceUpdate",
+ "memberName": "adu"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Delete.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Delete.json
new file mode 100644
index 000000000000..761c0852b686
--- /dev/null
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "test-rg",
+ "accountName": "contoso",
+ "privateEndpointConnectionProxyId": "peexample01",
+ "api-version": "2020-03-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Get.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Get.json
new file mode 100644
index 000000000000..1ae43f3d3a1f
--- /dev/null
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Get.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "test-rg",
+ "accountName": "contoso",
+ "privateEndpointConnectionProxyId": "peexample01",
+ "api-version": "2020-03-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DeviceUpdate/accounts/contoso/privateEndpointConnectionProxies/peexample01",
+ "name": "peexample01",
+ "type": "Microsoft.DeviceUpdate/accounts/privateEndpointConnectionProxies",
+ "remotePrivateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}",
+ "manualPrivateLinkServiceConnections": [
+ {
+ "name": "{plsConnectionName}",
+ "groupIds": [
+ "DeviceUpdate"
+ ],
+ "requestMessage": "Please approve my connection, thanks."
+ }
+ ],
+ "privateLinkServiceProxies": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}/privateLinkServiceProxies/{privateEndpointConnectionProxyId}",
+ "groupConnectivityInformation": [
+ {
+ "groupId": "DeviceUpdate",
+ "memberName": "adu"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_ListByAccount.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_ListByAccount.json
new file mode 100644
index 000000000000..c02dec9714ca
--- /dev/null
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_ListByAccount.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "test-rg",
+ "accountName": "contoso",
+ "api-version": "2020-03-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.DeviceUpdate/accounts/contoso/privateEndpointConnectionProxies/peexample01",
+ "name": "peexample01",
+ "type": "Microsoft.DeviceUpdate/accounts/privateEndpointConnectionProxies",
+ "remotePrivateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}",
+ "manualPrivateLinkServiceConnections": [
+ {
+ "name": "{plsConnectionName}",
+ "groupIds": [
+ "DeviceUpdate"
+ ],
+ "requestMessage": "Please approve my connection, thanks."
+ }
+ ],
+ "privateLinkServiceProxies": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}/privateLinkServiceProxies/{privateEndpointConnectionProxyId}",
+ "groupConnectivityInformation": [
+ {
+ "groupId": "DeviceUpdate",
+ "memberName": "adu"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Validate.json b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Validate.json
new file mode 100644
index 000000000000..30a2a6a8dfbd
--- /dev/null
+++ b/specification/deviceupdate/resource-manager/Microsoft.DeviceUpdate/preview/2020-03-01-preview/examples/PrivateEndpointConnectionProxies/PrivateEndpointConnectionProxy_Validate.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "test-rg",
+ "accountName": "contoso",
+ "privateEndpointConnectionProxyId": "peexample01",
+ "api-version": "2020-03-01-preview",
+ "privateEndpointConnectionProxy": {
+ "remotePrivateEndpoint": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}",
+ "manualPrivateLinkServiceConnections": [
+ {
+ "name": "{privateEndpointConnectionProxyId}",
+ "groupIds": [
+ "DeviceUpdate"
+ ],
+ "requestMessage": "Please approve my connection, thanks."
+ }
+ ],
+ "privateLinkServiceProxies": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/{privateEndpointConnectionProxyId}/privateLinkServiceProxies/{privateEndpointConnectionProxyId}",
+ "groupConnectivityInformation": []
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/deviceupdate/resource-manager/readme.go.md b/specification/deviceupdate/resource-manager/readme.go.md
index 1cd6ddaed47b..dbf931401e66 100644
--- a/specification/deviceupdate/resource-manager/readme.go.md
+++ b/specification/deviceupdate/resource-manager/readme.go.md
@@ -5,6 +5,7 @@ These settings apply only when `--go` is specified on the command line.
```yaml $(go)
go:
license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: deviceupdate
clear-output-folder: true
```
@@ -21,6 +22,5 @@ These settings apply only when `--tag=package-2020-03-01-preview --go` is specif
Please also specify `--go-sdks-folder=`.
```yaml $(tag) == 'package-2020-03-01-preview' && $(go)
-namespace: deviceupdate
output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-03-01-preview/$(namespace)
```
diff --git a/specification/deviceupdate/resource-manager/readme.md b/specification/deviceupdate/resource-manager/readme.md
index 1b7049f092ce..eb2d3fc10e5e 100644
--- a/specification/deviceupdate/resource-manager/readme.md
+++ b/specification/deviceupdate/resource-manager/readme.md
@@ -47,6 +47,10 @@ directive:
where: $.definitions.Identity.properties.type
from: deviceupdate.json
reason: Managed Identity type can be case in-sensitive
+ - suppress: BodyTopLevelProperties
+ from: deviceupdate.json
+ where: $.definitions.PrivateEndpointConnectionProxy
+ reason: Internal NRP resource, all properties are top level properties
```
---
diff --git a/specification/devtestlabs/resource-manager/readme.go.md b/specification/devtestlabs/resource-manager/readme.go.md
index 153499536442..5862a0617aad 100644
--- a/specification/devtestlabs/resource-manager/readme.go.md
+++ b/specification/devtestlabs/resource-manager/readme.go.md
@@ -2,13 +2,21 @@
These settings apply only when `--go` is specified on the command line.
-``` yaml $(go)
+``` yaml $(go) && !$(track2)
go:
license-header: MICROSOFT_MIT_NO_VERSION
namespace: dtl
clear-output-folder: true
```
+``` yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/resourcemanager/devtestlabs/armdevtestlabs
+module: github.com/Azure/azure-sdk-for-go/$(module-name)
+output-folder: $(go-sdk-folder)/$(module-name)
+azure-arm: true
+```
+
### Go multi-api
``` yaml $(go) && $(multiapi)
diff --git a/specification/devtestlabs/resource-manager/readme.md b/specification/devtestlabs/resource-manager/readme.md
index 3bf59118d021..60ece7be1f5f 100644
--- a/specification/devtestlabs/resource-manager/readme.md
+++ b/specification/devtestlabs/resource-manager/readme.md
@@ -74,6 +74,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-sdk-for-ruby
diff --git a/specification/domainservices/resource-manager/readme.go.md b/specification/domainservices/resource-manager/readme.go.md
index 8b637fff959f..ecc82a2d9b67 100644
--- a/specification/domainservices/resource-manager/readme.go.md
+++ b/specification/domainservices/resource-manager/readme.go.md
@@ -2,13 +2,21 @@
These settings apply only when `--go` is specified on the command line.
-``` yaml $(go)
+``` yaml $(go) && !$(track2)
go:
license-header: MICROSOFT_MIT_NO_VERSION
namespace: aad
clear-output-folder: true
```
+``` yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/resourcemanager/domainservices/armdomainservices
+module: github.com/Azure/azure-sdk-for-go/$(module-name)
+output-folder: $(go-sdk-folder)/$(module-name)
+azure-arm: true
+```
+
### Go multi-api
``` yaml $(go) && $(multiapi)
diff --git a/specification/domainservices/resource-manager/readme.md b/specification/domainservices/resource-manager/readme.md
index ba89b29341a8..bcf5d5973e30 100644
--- a/specification/domainservices/resource-manager/readme.md
+++ b/specification/domainservices/resource-manager/readme.md
@@ -91,6 +91,7 @@ swagger-to-sdk:
- repo: azure-powershell
- repo: azure-sdk-for-net
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
```
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json
index 58deea45c710..6571d677e5c9 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json
@@ -354,7 +354,7 @@
"tags": [
"OrderItems"
],
- "description": "Lists order at subscription level.",
+ "description": "Lists order item at subscription level.",
"operationId": "ListOrderItemsAtSubscriptionLevel",
"consumes": [
"application/json"
@@ -376,17 +376,24 @@
"required": false,
"type": "string"
},
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "$expand is supported on device details, forward shipping details and reverse shipping details parameters. Each of these can be provided as a comma separated list. Device Details for order item provides details on the devices of the product, Forward and Reverse Shipping details provide forward and reverse shipping details respectively.",
+ "required": false,
+ "type": "string"
+ },
{
"name": "$skipToken",
"in": "query",
- "description": "$skipToken is supported on Get list of orders, which provides the next page in the list of order.",
+ "description": "$skipToken is supported on Get list of order items, which provides the next page in the list of order items.",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
- "description": "Order item object",
+ "description": "List of Order item object",
"schema": {
"$ref": "#/definitions/OrderItemResourceList"
}
@@ -554,7 +561,7 @@
],
"responses": {
"200": {
- "description": "Address object.",
+ "description": "Address resource object.",
"schema": {
"$ref": "#/definitions/AddressResource"
}
@@ -832,7 +839,7 @@
{
"name": "$expand",
"in": "query",
- "description": "$expand is supported on device details parameter for order item, which provides details on the devices of the product.",
+ "description": "$expand is supported on device details, forward shipping details and reverse shipping details parameters. Each of these can be provided as a comma separated list. Device Details for order item provides details on the devices of the product, Forward and Reverse Shipping details provide forward and reverse shipping details respectively.",
"required": false,
"type": "string"
},
@@ -897,7 +904,7 @@
{
"name": "$expand",
"in": "query",
- "description": "$expand is supported on device details parameter for order item, which provides details on the devices of the product.",
+ "description": "$expand is supported on device details, forward shipping details and reverse shipping details parameters. Each of these can be provided as a comma separated list. Device Details for order item provides details on the devices of the product, Forward and Reverse Shipping details provide forward and reverse shipping details respectively.",
"required": false,
"type": "string"
}
@@ -1781,6 +1788,11 @@
"description": "Management Resource Id",
"type": "string",
"readOnly": true
+ },
+ "managementResourceTenantId": {
+ "description": "Management Resource Tenant ID",
+ "type": "string",
+ "readOnly": true
}
}
},
@@ -1887,7 +1899,7 @@
"type": "object",
"properties": {
"doubleEncryptionStatus": {
- "description": "Defines secondary layer of software-based encryption enablement.",
+ "description": "Double encryption status as entered by the customer. It is compulsory to give this parameter if the 'Deny' or 'Disabled' policy is configured.",
"enum": [
"Disabled",
"Enabled"
@@ -1906,8 +1918,7 @@
"description": "Double encryption is enabled"
}
]
- },
- "default": "Disabled"
+ }
}
}
},
@@ -1951,6 +1962,32 @@
}
}
},
+ "ForwardShippingDetails": {
+ "description": "Forward shipment details.",
+ "type": "object",
+ "properties": {
+ "carrierName": {
+ "description": "Name of the carrier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "carrierDisplayName": {
+ "description": "Carrier Name for display purpose. Not to be used for any processing.",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingId": {
+ "description": "TrackingId of the package",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingUrl": {
+ "description": "TrackingUrl of the package.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
"HierarchyInformation": {
"description": "Holds details about product hierarchy information",
"type": "object",
@@ -2298,12 +2335,12 @@
"description": "Customer notification Preferences"
},
"forwardShippingDetails": {
- "$ref": "#/definitions/ShippingDetails",
+ "$ref": "#/definitions/ForwardShippingDetails",
"description": "Forward Package Shipping details",
"readOnly": true
},
"reverseShippingDetails": {
- "$ref": "#/definitions/ShippingDetails",
+ "$ref": "#/definitions/ReverseShippingDetails",
"description": "Reverse Package Shipping details",
"readOnly": true
},
@@ -2321,7 +2358,7 @@
"readOnly": true
},
"cancellationStatus": {
- "description": "Describes whether the orderItem is cancellable or not.",
+ "description": "Describes whether the order item is cancellable or not.",
"enum": [
"Cancellable",
"CancellableWithFee",
@@ -2377,7 +2414,7 @@
"readOnly": true
},
"returnStatus": {
- "description": "Describes whether the orderItem is returnable or not.",
+ "description": "Describes whether the order item is returnable or not.",
"enum": [
"Returnable",
"ReturnableWithFee",
@@ -2406,7 +2443,16 @@
},
"managementRpDetails": {
"$ref": "#/definitions/ResourceProviderDetails",
- "description": "parent RP details",
+ "description": "Parent RP details - this returns only the first or default parent RP from the entire list",
+ "readOnly": true
+ },
+ "managementRpDetailsList": {
+ "description": "List of parent RP details supported for configuration.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceProviderDetails"
+ },
"readOnly": true
},
"error": {
@@ -2737,7 +2783,31 @@
"count": {
"format": "int32",
"description": "Quantity of the product",
- "type": "integer"
+ "type": "integer",
+ "readOnly": true
+ },
+ "productDoubleEncryptionStatus": {
+ "description": "Double encryption status of the configuration. Read-only field.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DoubleEncryptionStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Disabled",
+ "description": "Double encryption is disabled"
+ },
+ {
+ "value": "Enabled",
+ "description": "Double encryption is enabled"
+ }
+ ]
+ }
},
"deviceDetails": {
"description": "list of device details",
@@ -2854,6 +2924,14 @@
"$ref": "#/definitions/ProductLine"
},
"readOnly": true
+ },
+ "resourceProviderDetails": {
+ "description": "Contains details related to resource provider",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceProviderDetails"
+ }
}
}
},
@@ -2962,7 +3040,13 @@
"ResourceProviderDetails": {
"description": "Management RP details",
"type": "object",
- "properties": {}
+ "properties": {
+ "resourceProviderNamespace": {
+ "description": "Resource provider namespace",
+ "type": "string",
+ "readOnly": true
+ }
+ }
},
"ReturnOrderItemDetails": {
"description": "Return order item request body",
@@ -2978,6 +3062,46 @@
"returnReason": {
"description": "Return Reason.",
"type": "string"
+ },
+ "serviceTag": {
+ "description": "Service tag (located on the bottom-right corner of the device)",
+ "type": "string"
+ },
+ "shippingBoxRequired": {
+ "description": "Shipping Box required",
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ },
+ "ReverseShippingDetails": {
+ "description": "Reverse shipment details.",
+ "type": "object",
+ "properties": {
+ "sasKeyForLabel": {
+ "description": "SAS key to download the reverse shipment label of the package.",
+ "type": "string",
+ "readOnly": true
+ },
+ "carrierName": {
+ "description": "Name of the carrier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "carrierDisplayName": {
+ "description": "Carrier Name for display purpose. Not to be used for any processing.",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingId": {
+ "description": "TrackingId of the package",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingUrl": {
+ "description": "TrackingUrl of the package.",
+ "type": "string",
+ "readOnly": true
}
}
},
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateOrderItem.json
index 3e016c585720..e25e4a15cb35 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateOrderItem.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/CreateOrderItem.json
@@ -82,7 +82,8 @@
"productName": "azurestackedgegpu",
"configurationName": "azurestackedgegpu"
},
- "count": 0
+ "count": 0,
+ "productDoubleEncryptionStatus": "Disabled"
},
"orderItemType": "Purchase",
"currentStage": {
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderItemByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderItemByName.json
index 85de2d37da04..0c8d715d9599 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderItemByName.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/GetOrderItemByName.json
@@ -27,7 +27,8 @@
"productName": "azurestackedgegpu",
"configurationName": "azurestackedgegpu"
},
- "count": 0
+ "count": 0,
+ "productDoubleEncryptionStatus": "Disabled"
},
"orderItemType": "Purchase",
"currentStage": {
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtResourceGroupLevel.json
index a453c1898744..54fbe66e1b3b 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtResourceGroupLevel.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtResourceGroupLevel.json
@@ -28,7 +28,8 @@
"productName": "azurestackedgegpu",
"configurationName": "azurestackedgegpu"
},
- "count": 0
+ "count": 0,
+ "productDoubleEncryptionStatus": "Disabled"
},
"orderItemType": "Purchase",
"currentStage": {
@@ -122,7 +123,8 @@
"productName": "azurestackedgegpu",
"configurationName": "azurestackedgegpu"
},
- "count": 0
+ "count": 0,
+ "productDoubleEncryptionStatus": "Disabled"
},
"orderItemType": "Purchase",
"currentStage": {
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtSubscriptionLevel.json
index 744cc6c30d9f..e88a26910420 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtSubscriptionLevel.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/ListOrderItemsAtSubscriptionLevel.json
@@ -27,7 +27,8 @@
"productName": "azurestackedgegpu",
"configurationName": "azurestackedgegpu"
},
- "count": 0
+ "count": 0,
+ "productDoubleEncryptionStatus": "Disabled"
},
"orderItemType": "Purchase",
"currentStage": {
@@ -120,7 +121,8 @@
"productName": "azurestackedgegpu",
"configurationName": "azurestackedgegpu"
},
- "count": 0
+ "count": 0,
+ "productDoubleEncryptionStatus": "Disabled"
},
"orderItemType": "Purchase",
"currentStage": {
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateOrderItem.json
index e2103d6a1000..75f3c28b4fda 100644
--- a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateOrderItem.json
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/preview/2020-12-01-preview/examples/UpdateOrderItem.json
@@ -56,7 +56,8 @@
"productName": "azurestackedgegpu",
"configurationName": "azurestackedgegpu"
},
- "count": 0
+ "count": 0,
+ "productDoubleEncryptionStatus": "Disabled"
},
"orderItemType": "Purchase",
"currentStage": {
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/edgeorder.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/edgeorder.json
new file mode 100644
index 000000000000..a4c097c8a5d3
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/edgeorder.json
@@ -0,0 +1,3377 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-12-01",
+ "title": "Edge Ordering Service-Customer"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.EdgeOrder/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "This method gets all the operations that are exposed for customer.",
+ "operationId": "ListOperations",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListOperations": {
+ "$ref": "./examples/ListOperations.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/addresses": {
+ "get": {
+ "tags": [
+ "Addresses"
+ ],
+ "description": "Lists all the addresses available under the subscription.",
+ "operationId": "ListAddressesAtSubscriptionLevel",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "$filter is supported to filter based on shipping address properties. Filter supports only equals operation.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "$skipToken is supported on Get list of addresses, which provides the next page in the list of addresses.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of addresses available under the subscription.",
+ "schema": {
+ "$ref": "#/definitions/AddressResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListAddressesAtSubscriptionLevel": {
+ "$ref": "./examples/ListAddressesAtSubscriptionLevel.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/listProductFamilies": {
+ "post": {
+ "tags": [
+ "ProductsAndConfigurations"
+ ],
+ "description": "This method provides the list of product families for the given subscription.",
+ "operationId": "ListProductFamilies",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "$expand is supported on configurations parameter for product, which provides details on the configurations for the product.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "$skipToken is supported on list of product families, which provides the next page in the list of product families.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "productFamiliesRequest",
+ "in": "body",
+ "description": "Filters for showing the product families.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProductFamiliesRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of available product families under subscription.",
+ "schema": {
+ "$ref": "#/definitions/ProductFamilies"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListProductFamilies": {
+ "$ref": "./examples/ListProductFamilies.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/listConfigurations": {
+ "post": {
+ "tags": [
+ "ProductsAndConfigurations"
+ ],
+ "description": "This method provides the list of configurations for the given product family, product line and product under subscription.",
+ "operationId": "ListConfigurations",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "$skipToken is supported on list of configurations, which provides the next page in the list of configurations.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "configurationsRequest",
+ "in": "body",
+ "description": "Filters for showing the configurations.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationsRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of configurations for the given product family, product line and product under subscription.",
+ "schema": {
+ "$ref": "#/definitions/Configurations"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListConfigurations": {
+ "$ref": "./examples/ListConfigurations.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/productFamiliesMetadata": {
+ "post": {
+ "tags": [
+ "ProductFamilyMetadata"
+ ],
+ "description": "This method provides the list of product families metadata for the given subscription.",
+ "operationId": "ListProductFamiliesMetadata",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "$skipToken is supported on list of product families metadata, which provides the next page in the list of product families metadata.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The list of available product families under subscription.",
+ "schema": {
+ "$ref": "#/definitions/ProductFamiliesMetadata"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListProductFamiliesMetadata": {
+ "$ref": "./examples/ListProductFamiliesMetadata.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/orders": {
+ "get": {
+ "tags": [
+ "Orders"
+ ],
+ "description": "Lists order at subscription level.",
+ "operationId": "ListOrderAtSubscriptionLevel",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "$skipToken is supported on Get list of order, which provides the next page in the list of order.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Order object",
+ "schema": {
+ "$ref": "#/definitions/OrderResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListOrderAtSubscriptionLevel": {
+ "$ref": "./examples/ListOrderAtSubscriptionLevel.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EdgeOrder/orderItems": {
+ "get": {
+ "tags": [
+ "OrderItems"
+ ],
+ "description": "Lists order item at subscription level.",
+ "operationId": "ListOrderItemsAtSubscriptionLevel",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "$filter is supported to filter based on order id. Filter supports only equals operation.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "$expand is supported on device details, forward shipping details and reverse shipping details parameters. Each of these can be provided as a comma separated list. Device Details for order item provides details on the devices of the product, Forward and Reverse Shipping details provide forward and reverse shipping details respectively.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "$skipToken is supported on Get list of order items, which provides the next page in the list of order items.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Order item object",
+ "schema": {
+ "$ref": "#/definitions/OrderItemResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListOrderItemsAtSubscriptionLevel": {
+ "$ref": "./examples/ListOrderItemsAtSubscriptionLevel.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses": {
+ "get": {
+ "tags": [
+ "Addresses"
+ ],
+ "description": "Lists all the addresses available under the given resource group.",
+ "operationId": "ListAddressesAtResourceGroupLevel",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "$filter is supported to filter based on shipping address properties. Filter supports only equals operation.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "$skipToken is supported on Get list of addresses, which provides the next page in the list of address.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of addresses available under the resource group.",
+ "schema": {
+ "$ref": "#/definitions/AddressResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListAddressesAtResourceGroupLevel": {
+ "$ref": "./examples/ListAddressesAtResourceGroupLevel.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/addresses/{addressName}": {
+ "get": {
+ "tags": [
+ "Addresses"
+ ],
+ "description": "Gets information about the specified address.",
+ "operationId": "GetAddressByName",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/addressNameParameter"
+ },
+ {
+ "$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": "Address object",
+ "schema": {
+ "$ref": "#/definitions/AddressResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetAddressByName": {
+ "$ref": "./examples/GetAddressByName.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Addresses"
+ ],
+ "description": "Creates a new address with the specified parameters. Existing address can be updated with this API",
+ "operationId": "CreateAddress",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/addressNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "addressResource",
+ "in": "body",
+ "description": "Address details from request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AddressResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Address resource object.",
+ "schema": {
+ "$ref": "#/definitions/AddressResource"
+ }
+ },
+ "202": {
+ "description": "Accepted request for create Address."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "CreateAddress": {
+ "$ref": "./examples/CreateAddress.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Addresses"
+ ],
+ "description": "Deletes an address.",
+ "operationId": "DeleteAddressByName",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/addressNameParameter"
+ },
+ {
+ "$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": "Address deleted."
+ },
+ "202": {
+ "description": "Accepted request for delete address."
+ },
+ "204": {
+ "description": "No content. Address deleted."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DeleteAddressByName": {
+ "$ref": "./examples/DeleteAddressByName.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Addresses"
+ ],
+ "description": "Updates the properties of an existing address.",
+ "operationId": "UpdateAddress",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/addressNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "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.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "addressUpdateParameter",
+ "in": "body",
+ "description": "Address update parameters from request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AddressUpdateParameter"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted request for address update."
+ },
+ "200": {
+ "description": "Address resource object.",
+ "schema": {
+ "$ref": "#/definitions/AddressResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "UpdateAddress": {
+ "$ref": "./examples/UpdateAddress.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orders": {
+ "get": {
+ "tags": [
+ "Orders"
+ ],
+ "description": "Lists order at resource group level.",
+ "operationId": "ListOrderAtResourceGroupLevel",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "$skipToken is supported on Get list of order, which provides the next page in the list of order.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Order object",
+ "schema": {
+ "$ref": "#/definitions/OrderResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListOrderAtResourceGroupLevel": {
+ "$ref": "./examples/ListOrderAtResourceGroupLevel.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/locations/{location}/orders/{orderName}": {
+ "get": {
+ "tags": [
+ "Orders"
+ ],
+ "description": "Gets an order.",
+ "operationId": "GetOrderByName",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/orderNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Order object",
+ "schema": {
+ "$ref": "#/definitions/OrderResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetOrderByName": {
+ "$ref": "./examples/GetOrderByName.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems": {
+ "get": {
+ "tags": [
+ "OrderItems"
+ ],
+ "description": "Lists order item at resource group level.",
+ "operationId": "ListOrderItemsAtResourceGroupLevel",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "$filter is supported to filter based on order id. Filter supports only equals operation.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "$expand is supported on device details, forward shipping details and reverse shipping details parameters. Each of these can be provided as a comma separated list. Device Details for order item provides details on the devices of the product, Forward and Reverse Shipping details provide forward and reverse shipping details respectively.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "$skipToken is supported on Get list of order items, which provides the next page in the list of order items.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of Order item object",
+ "schema": {
+ "$ref": "#/definitions/OrderItemResourceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ListOrderItemsAtResourceGroupLevel": {
+ "$ref": "./examples/ListOrderItemsAtResourceGroupLevel.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}": {
+ "get": {
+ "tags": [
+ "OrderItems"
+ ],
+ "description": "Gets an order item.",
+ "operationId": "GetOrderItemByName",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/orderItemNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "$expand is supported on device details, forward shipping details and reverse shipping details parameters. Each of these can be provided as a comma separated list. Device Details for order item provides details on the devices of the product, Forward and Reverse Shipping details provide forward and reverse shipping details respectively.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Order item object",
+ "schema": {
+ "$ref": "#/definitions/OrderItemResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetOrderItemByName": {
+ "$ref": "./examples/GetOrderItemByName.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "OrderItems"
+ ],
+ "description": "Creates an order item. Existing order item cannot be updated with this api and should instead be updated with the Update order item API.",
+ "operationId": "CreateOrderItem",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/orderItemNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "orderItemResource",
+ "in": "body",
+ "description": "Order item details from request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OrderItemResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns order item object",
+ "schema": {
+ "$ref": "#/definitions/OrderItemResource"
+ }
+ },
+ "202": {
+ "description": "Accepted request to create order item."
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "CreateOrderItem": {
+ "$ref": "./examples/CreateOrderItem.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "OrderItems"
+ ],
+ "description": "Deletes an order item.",
+ "operationId": "DeleteOrderItemByName",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/orderItemNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Order item Deleted"
+ },
+ "202": {
+ "description": "Accepted delete request for an order item"
+ },
+ "204": {
+ "description": "No content. Order item deleted"
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DeleteOrderItemByName": {
+ "$ref": "./examples/DeleteOrderItemByName.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "OrderItems"
+ ],
+ "description": "Updates the properties of an existing order item.",
+ "operationId": "UpdateOrderItem",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/orderItemNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "description": "Defines the If-Match condition. The patch will be performed only if the ETag of the order on the server matches this value.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "orderItemUpdateParameter",
+ "in": "body",
+ "description": "order item update parameters from request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OrderItemUpdateParameter"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted request for order item update."
+ },
+ "200": {
+ "description": "Order item resource object.",
+ "schema": {
+ "$ref": "#/definitions/OrderItemResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "UpdateOrderItem": {
+ "$ref": "./examples/UpdateOrderItem.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}/cancel": {
+ "post": {
+ "tags": [
+ "OrderItems"
+ ],
+ "description": "Cancel order item.",
+ "operationId": "CancelOrderItem",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/orderItemNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "cancellationReason",
+ "in": "body",
+ "description": "Reason for cancellation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CancellationReason"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "204": {
+ "description": "\"No content\""
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "CancelOrderItem": {
+ "$ref": "./examples/CancelOrderItem.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EdgeOrder/orderItems/{orderItemName}/return": {
+ "post": {
+ "tags": [
+ "OrderItems"
+ ],
+ "description": "Return order item.",
+ "operationId": "ReturnOrderItem",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/orderItemNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "returnOrderItemDetails",
+ "in": "body",
+ "description": "Return order item CurrentStatus.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ReturnOrderItemDetails"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success"
+ },
+ "202": {
+ "description": "\"Return order item request accepted.\""
+ },
+ "default": {
+ "description": "Error response describing reason for operation failure.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ReturnOrderItem": {
+ "$ref": "./examples/ReturnOrderItem.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AddressDetails": {
+ "description": "Address details for an order item.",
+ "required": [
+ "forwardAddress"
+ ],
+ "type": "object",
+ "properties": {
+ "forwardAddress": {
+ "$ref": "#/definitions/AddressProperties",
+ "description": "Customer address and contact details. It should be address resource"
+ },
+ "returnAddress": {
+ "$ref": "#/definitions/AddressProperties",
+ "description": "Return shipping address",
+ "readOnly": true
+ }
+ }
+ },
+ "AddressProperties": {
+ "description": "Address Properties",
+ "required": [
+ "contactDetails"
+ ],
+ "type": "object",
+ "properties": {
+ "shippingAddress": {
+ "$ref": "#/definitions/ShippingAddress",
+ "description": "Shipping details for the address"
+ },
+ "contactDetails": {
+ "$ref": "#/definitions/ContactDetails",
+ "description": "Contact details for the address"
+ },
+ "addressValidationStatus": {
+ "description": "Status of address validation",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Ambiguous"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AddressValidationStatus",
+ "modelAsString": 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."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "AddressResource": {
+ "description": "Address Resource.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AddressProperties",
+ "description": "Properties of an address.",
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Represents resource creation and update time",
+ "readOnly": true
+ }
+ }
+ },
+ "AddressResourceList": {
+ "description": "Address Resource Collection",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of address resources.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AddressResource"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link for the next set of job resources.",
+ "type": "string"
+ }
+ }
+ },
+ "AddressUpdateParameter": {
+ "description": "The Address update parameters",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AddressUpdateProperties",
+ "description": "Properties of a address 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"
+ }
+ }
+ }
+ },
+ "AddressUpdateProperties": {
+ "description": "Address Properties",
+ "type": "object",
+ "properties": {
+ "shippingAddress": {
+ "$ref": "#/definitions/ShippingAddress",
+ "description": "Shipping details for the address"
+ },
+ "contactDetails": {
+ "$ref": "#/definitions/ContactDetails",
+ "description": "Contact details for the address"
+ }
+ }
+ },
+ "AvailabilityInformation": {
+ "description": "Availability information of a product system.",
+ "type": "object",
+ "properties": {
+ "availabilityStage": {
+ "description": "Current availability stage of the product. Availability stage",
+ "enum": [
+ "Available",
+ "ComingSoon",
+ "Preview",
+ "Deprecated",
+ "Signup",
+ "Unavailable"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AvailabilityStage",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Available",
+ "description": "Product is available."
+ },
+ {
+ "value": "ComingSoon",
+ "description": "Product is coming soon."
+ },
+ {
+ "value": "Preview",
+ "description": "Product is in preview."
+ },
+ {
+ "value": "Deprecated",
+ "description": "Product is deprecated."
+ },
+ {
+ "value": "Signup",
+ "description": "Product is available only on signup."
+ },
+ {
+ "value": "Unavailable",
+ "description": "Product is not available."
+ }
+ ]
+ }
+ },
+ "disabledReason": {
+ "description": "Reason why the product is disabled.",
+ "enum": [
+ "None",
+ "Country",
+ "Region",
+ "Feature",
+ "OfferType",
+ "NoSubscriptionInfo",
+ "NotAvailable",
+ "OutOfStock"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DisabledReason",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "Not disabled."
+ },
+ {
+ "value": "Country",
+ "description": "Not available in the requested country."
+ },
+ {
+ "value": "Region",
+ "description": "Not available to push data to the requested Azure region."
+ },
+ {
+ "value": "Feature",
+ "description": "Required features are not enabled."
+ },
+ {
+ "value": "OfferType",
+ "description": "Subscription does not have required offer types."
+ },
+ {
+ "value": "NoSubscriptionInfo",
+ "description": "Subscription has not registered to Microsoft.DataBox and Service does not have the subscription notification."
+ },
+ {
+ "value": "NotAvailable",
+ "description": "The product is not yet available."
+ },
+ {
+ "value": "OutOfStock",
+ "description": "The product is out of stock."
+ }
+ ]
+ }
+ },
+ "disabledReasonMessage": {
+ "description": "Message for why the product is disabled.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "BasicInformation": {
+ "description": "Basic information for any product system",
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "description": "Display Name for the product system.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "$ref": "#/definitions/Description",
+ "description": "Description related to the product system.",
+ "readOnly": true
+ },
+ "imageInformation": {
+ "description": "Image information for the product system.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageInformation"
+ },
+ "readOnly": true
+ },
+ "costInformation": {
+ "$ref": "#/definitions/CostInformation",
+ "description": "Cost information for the product system.",
+ "readOnly": true
+ },
+ "availabilityInformation": {
+ "$ref": "#/definitions/AvailabilityInformation",
+ "description": "Availability information of the product system.",
+ "readOnly": true
+ },
+ "hierarchyInformation": {
+ "$ref": "#/definitions/HierarchyInformation",
+ "description": "Hierarchy information of a product.",
+ "readOnly": true
+ }
+ }
+ },
+ "CancellationReason": {
+ "description": "Reason for cancellation.",
+ "required": [
+ "reason"
+ ],
+ "type": "object",
+ "properties": {
+ "reason": {
+ "description": "Reason for cancellation.",
+ "type": "string"
+ }
+ }
+ },
+ "CommonProperties": {
+ "description": "Represents common properties across product hierarchy",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BasicInformation"
+ }
+ ],
+ "properties": {
+ "filterableProperties": {
+ "description": "list of filters supported for a product",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FilterableProperty"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "Configuration": {
+ "description": "Configuration object.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConfigurationProperties",
+ "description": "Properties of configuration",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ConfigurationFilters": {
+ "description": "Configuration filters",
+ "required": [
+ "hierarchyInformation"
+ ],
+ "type": "object",
+ "properties": {
+ "hierarchyInformation": {
+ "$ref": "#/definitions/HierarchyInformation",
+ "description": "Product hierarchy information"
+ },
+ "filterableProperty": {
+ "description": "Filters specific to product",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FilterableProperty"
+ }
+ }
+ }
+ },
+ "ConfigurationProperties": {
+ "description": "Properties of configuration",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CommonProperties"
+ }
+ ],
+ "properties": {
+ "specifications": {
+ "description": "Specifications of the configuration",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Specification"
+ },
+ "readOnly": true
+ },
+ "dimensions": {
+ "$ref": "#/definitions/Dimensions",
+ "description": "Dimensions of the configuration",
+ "readOnly": true
+ }
+ }
+ },
+ "Configurations": {
+ "description": "The list of configurations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of configurations.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Configuration"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link for the next set of configurations.",
+ "type": "string"
+ }
+ }
+ },
+ "ConfigurationsRequest": {
+ "description": "Configuration request object.",
+ "required": [
+ "configurationFilters"
+ ],
+ "type": "object",
+ "properties": {
+ "configurationFilters": {
+ "description": "Holds details about product hierarchy information and filterable property.",
+ "uniqueItems": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfigurationFilters"
+ }
+ },
+ "customerSubscriptionDetails": {
+ "$ref": "#/definitions/CustomerSubscriptionDetails",
+ "description": "Customer subscription properties. Clients can display available products to unregistered customers by explicitly passing subscription details"
+ }
+ }
+ },
+ "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.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "CostInformation": {
+ "description": "Cost information for the product system",
+ "type": "object",
+ "properties": {
+ "billingMeterDetails": {
+ "description": "Details on the various billing aspects for the product system.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BillingMeterDetails"
+ },
+ "readOnly": true
+ },
+ "billingInfoUrl": {
+ "description": "Default url to display billing information",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "BillingMeterDetails": {
+ "description": "Holds billing meter details for each type of billing",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Represents Billing type name",
+ "type": "string",
+ "readOnly": true
+ },
+ "meterDetails": {
+ "$ref": "#/definitions/MeterDetails",
+ "description": "Represents MeterDetails",
+ "readOnly": true
+ },
+ "meteringType": {
+ "description": "Represents Metering type (eg one-time or recurrent)",
+ "enum": [
+ "OneTime",
+ "Recurring",
+ "Adhoc"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "MeteringType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "OneTime",
+ "description": "One time billing."
+ },
+ {
+ "value": "Recurring",
+ "description": "Recurring billing."
+ },
+ {
+ "value": "Adhoc",
+ "description": "Adhoc billing."
+ }
+ ]
+ }
+ },
+ "frequency": {
+ "description": "Frequency of recurrence",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Description": {
+ "description": "Description related properties of a product system.",
+ "type": "object",
+ "properties": {
+ "descriptionType": {
+ "description": "Type of description.",
+ "enum": [
+ "Base"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DescriptionType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Base",
+ "description": "Base description."
+ }
+ ]
+ }
+ },
+ "shortDescription": {
+ "description": "Short description of the product system.",
+ "type": "string",
+ "readOnly": true
+ },
+ "longDescription": {
+ "description": "Long description of the product system.",
+ "type": "string",
+ "readOnly": true
+ },
+ "keywords": {
+ "description": "Keywords for the product system.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "attributes": {
+ "description": "Attributes for the product system.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "links": {
+ "description": "Links for the product system.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Link"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "DeviceDetails": {
+ "description": "Device details.",
+ "type": "object",
+ "properties": {
+ "serialNumber": {
+ "description": "device serial number",
+ "type": "string",
+ "readOnly": true
+ },
+ "managementResourceId": {
+ "description": "Management Resource Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "managementResourceTenantId": {
+ "description": "Management Resource Tenant ID",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Dimensions": {
+ "description": "Dimensions of a configuration.",
+ "type": "object",
+ "properties": {
+ "length": {
+ "description": "Length of the device.",
+ "type": "number",
+ "format": "double",
+ "readOnly": true
+ },
+ "height": {
+ "description": "Height of the device.",
+ "type": "number",
+ "format": "double",
+ "readOnly": true
+ },
+ "width": {
+ "description": "Width of the device.",
+ "type": "number",
+ "format": "double",
+ "readOnly": true
+ },
+ "lengthHeightUnit": {
+ "description": "Unit for the dimensions of length, height and width.",
+ "enum": [
+ "IN",
+ "CM"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "LengthHeightUnit",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "IN",
+ "description": "Inch, applicable for West US."
+ },
+ {
+ "value": "CM",
+ "description": "Centimeter."
+ }
+ ]
+ }
+ },
+ "weight": {
+ "description": "Weight of the device.",
+ "type": "number",
+ "format": "double",
+ "readOnly": true
+ },
+ "depth": {
+ "description": "Depth of the device.",
+ "type": "number",
+ "format": "double",
+ "readOnly": true
+ },
+ "weightUnit": {
+ "description": "Unit for the dimensions of weight.",
+ "enum": [
+ "LBS",
+ "KGS"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "WeightMeasurementUnit",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "LBS",
+ "description": "Pounds."
+ },
+ {
+ "value": "KGS",
+ "description": "Kilograms."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "DisplayInfo": {
+ "description": "Describes product display information",
+ "type": "object",
+ "properties": {
+ "productFamilyDisplayName": {
+ "description": "Product family display name",
+ "type": "string",
+ "readOnly": true
+ },
+ "configurationDisplayName": {
+ "description": "Configuration display name",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EncryptionPreferences": {
+ "description": "Preferences related to the double encryption",
+ "type": "object",
+ "properties": {
+ "doubleEncryptionStatus": {
+ "description": "Double encryption status as entered by the customer. It is compulsory to give this parameter if the 'Deny' or 'Disabled' policy is configured.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DoubleEncryptionStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Disabled",
+ "description": "Double encryption is disabled"
+ },
+ {
+ "value": "Enabled",
+ "description": "Double encryption is enabled"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "FilterableProperty": {
+ "description": "Different types of filters supported and its values.",
+ "required": [
+ "type",
+ "supportedValues"
+ ],
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of product filter.",
+ "enum": [
+ "ShipToCountries",
+ "DoubleEncryptionStatus"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SupportedFilterTypes",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "ShipToCountries",
+ "description": "Ship to country"
+ },
+ {
+ "value": "DoubleEncryptionStatus",
+ "description": "Double encryption status"
+ }
+ ]
+ }
+ },
+ "supportedValues": {
+ "description": "Values to be filtered.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ForwardShippingDetails": {
+ "description": "Forward shipment details.",
+ "type": "object",
+ "properties": {
+ "carrierName": {
+ "description": "Name of the carrier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "carrierDisplayName": {
+ "description": "Carrier Name for display purpose. Not to be used for any processing.",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingId": {
+ "description": "TrackingId of the package",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingUrl": {
+ "description": "TrackingUrl of the package.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "HierarchyInformation": {
+ "description": "Holds details about product hierarchy information",
+ "type": "object",
+ "properties": {
+ "productFamilyName": {
+ "description": "Represents product family name that uniquely identifies product family",
+ "type": "string"
+ },
+ "productLineName": {
+ "description": "Represents product line name that uniquely identifies product line",
+ "type": "string"
+ },
+ "productName": {
+ "description": "Represents product name that uniquely identifies product",
+ "type": "string"
+ },
+ "configurationName": {
+ "description": "Represents configuration name that uniquely identifies configuration",
+ "type": "string"
+ }
+ }
+ },
+ "ImageInformation": {
+ "description": "Image for the product",
+ "type": "object",
+ "properties": {
+ "imageType": {
+ "description": "Type of the image",
+ "enum": [
+ "MainImage",
+ "BulletImage",
+ "GenericImage"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ImageType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "MainImage",
+ "description": "Main image."
+ },
+ {
+ "value": "BulletImage",
+ "description": "Bullet image."
+ },
+ {
+ "value": "GenericImage",
+ "description": "Generic image."
+ }
+ ]
+ }
+ },
+ "imageUrl": {
+ "description": "Url of the image",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Link": {
+ "description": "Returns link related to the product",
+ "type": "object",
+ "properties": {
+ "linkType": {
+ "description": "Type of link",
+ "enum": [
+ "Generic",
+ "TermsAndConditions",
+ "Specification",
+ "Documentation",
+ "KnowMore",
+ "SignUp"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "LinkType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Generic",
+ "description": "Generic link."
+ },
+ {
+ "value": "TermsAndConditions",
+ "description": "Terms and conditions link."
+ },
+ {
+ "value": "Specification",
+ "description": "Link to product specification."
+ },
+ {
+ "value": "Documentation",
+ "description": "Link to product documentation"
+ },
+ {
+ "value": "KnowMore",
+ "description": "Link to know more"
+ },
+ {
+ "value": "SignUp",
+ "description": "Link to sign up for products"
+ }
+ ]
+ }
+ },
+ "linkUrl": {
+ "description": "Url of the link",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ManagementResourcePreferences": {
+ "description": "Management resource preference to link device",
+ "type": "object",
+ "properties": {
+ "preferredManagementResourceId": {
+ "description": "Customer preferred Management resource ARM ID",
+ "type": "string"
+ }
+ }
+ },
+ "MeterDetails": {
+ "description": "Holds details about billing type and its meter guids",
+ "required": [
+ "billingType"
+ ],
+ "type": "object",
+ "properties": {
+ "billingType": {
+ "description": "Represents billing type.",
+ "enum": [
+ "Pav2",
+ "Purchase"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "BillingType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Pav2",
+ "description": "PaV2 billing."
+ },
+ {
+ "value": "Purchase",
+ "description": "Purchase billing."
+ }
+ ]
+ }
+ },
+ "multiplier": {
+ "format": "double",
+ "description": "Billing unit applicable for Pav2 billing",
+ "type": "number",
+ "readOnly": true
+ },
+ "chargingType": {
+ "description": "Charging type.",
+ "enum": [
+ "PerOrder",
+ "PerDevice"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ChargingType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "PerOrder",
+ "description": "Per order charging type."
+ },
+ {
+ "value": "PerDevice",
+ "description": "Per device charging type."
+ }
+ ]
+ }
+ }
+ },
+ "discriminator": "billingType"
+ },
+ "NotificationPreference": {
+ "description": "Notification preference for a job stage.",
+ "required": [
+ "stageName",
+ "sendNotification"
+ ],
+ "type": "object",
+ "properties": {
+ "stageName": {
+ "description": "Name of the stage.",
+ "enum": [
+ "Shipped",
+ "Delivered"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NotificationStageName",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Shipped",
+ "description": "Notification at order item shipped from microsoft datacenter."
+ },
+ {
+ "value": "Delivered",
+ "description": "Notification at order item delivered to customer."
+ }
+ ]
+ }
+ },
+ "sendNotification": {
+ "description": "Notification is required or not.",
+ "type": "boolean"
+ }
+ }
+ },
+ "OrderProperties": {
+ "description": "Represents order details.",
+ "type": "object",
+ "properties": {
+ "orderItemIds": {
+ "description": "List of order item ARM Ids which are part of an order.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "currentStage": {
+ "$ref": "#/definitions/StageDetails",
+ "description": "Order current status.",
+ "readOnly": true
+ },
+ "orderStageHistory": {
+ "description": "Order status history.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StageDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "OrderResource": {
+ "description": "Specifies the properties or parameters for an order. Order is a grouping of one or more order items.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/OrderProperties",
+ "description": "Order properties",
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Represents resource creation and update time",
+ "readOnly": true
+ }
+ }
+ },
+ "OrderItemResourceList": {
+ "description": "List of orderItems.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of order item resources.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OrderItemResource"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link for the next set of order item resources.",
+ "type": "string"
+ }
+ }
+ },
+ "OrderItemDetails": {
+ "description": "Order item details",
+ "required": [
+ "productDetails",
+ "orderItemType"
+ ],
+ "type": "object",
+ "properties": {
+ "productDetails": {
+ "$ref": "#/definitions/ProductDetails",
+ "description": "Unique identifier for configuration."
+ },
+ "orderItemType": {
+ "description": "Order item type.",
+ "enum": [
+ "Purchase",
+ "Rental"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OrderItemType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Purchase",
+ "description": "Purchase OrderItem."
+ },
+ {
+ "value": "Rental",
+ "description": "Rental OrderItem."
+ }
+ ]
+ }
+ },
+ "currentStage": {
+ "$ref": "#/definitions/StageDetails",
+ "description": "Current Order item Status",
+ "readOnly": true
+ },
+ "orderItemStageHistory": {
+ "description": "Order item status history",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StageDetails"
+ },
+ "readOnly": true
+ },
+ "preferences": {
+ "$ref": "#/definitions/Preferences",
+ "description": "Customer notification Preferences"
+ },
+ "forwardShippingDetails": {
+ "$ref": "#/definitions/ForwardShippingDetails",
+ "description": "Forward Package Shipping details",
+ "readOnly": true
+ },
+ "reverseShippingDetails": {
+ "$ref": "#/definitions/ReverseShippingDetails",
+ "description": "Reverse Package Shipping details",
+ "readOnly": true
+ },
+ "notificationEmailList": {
+ "description": "Additional notification email list",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "cancellationReason": {
+ "description": "Cancellation reason.",
+ "type": "string",
+ "readOnly": true
+ },
+ "cancellationStatus": {
+ "description": "Describes whether the order item is cancellable or not.",
+ "enum": [
+ "Cancellable",
+ "CancellableWithFee",
+ "NotCancellable"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "OrderItemCancellationEnum",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Cancellable",
+ "description": "Order item can be cancelled without fee."
+ },
+ {
+ "value": "CancellableWithFee",
+ "description": "Order item can be cancelled with fee."
+ },
+ {
+ "value": "NotCancellable",
+ "description": "Order item not cancellable."
+ }
+ ]
+ }
+ },
+ "deletionStatus": {
+ "description": "Describes whether the order item is deletable or not.",
+ "enum": [
+ "Allowed",
+ "NotAllowed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ActionStatusEnum",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Allowed",
+ "description": "Allowed flag."
+ },
+ {
+ "value": "NotAllowed",
+ "description": "Not Allowed flag."
+ }
+ ]
+ }
+ },
+ "returnReason": {
+ "description": "Return reason.",
+ "type": "string",
+ "readOnly": true
+ },
+ "returnStatus": {
+ "description": "Describes whether the order item is returnable or not.",
+ "enum": [
+ "Returnable",
+ "ReturnableWithFee",
+ "NotReturnable"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "OrderItemReturnEnum",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Returnable",
+ "description": "Order item can be returned without fee."
+ },
+ {
+ "value": "ReturnableWithFee",
+ "description": "Order item can be returned with fee."
+ },
+ {
+ "value": "NotReturnable",
+ "description": "Order item not returnable."
+ }
+ ]
+ }
+ },
+ "managementRpDetails": {
+ "$ref": "#/definitions/ResourceProviderDetails",
+ "description": "Parent RP details - this returns only the first or default parent RP from the entire list",
+ "readOnly": true
+ },
+ "managementRpDetailsList": {
+ "description": "List of parent RP details supported for configuration.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceProviderDetails"
+ },
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail",
+ "description": "Top level error for the job.",
+ "readOnly": true
+ }
+ }
+ },
+ "OrderItemProperties": {
+ "description": "Represents order item details.",
+ "required": [
+ "orderItemDetails",
+ "addressDetails",
+ "orderId"
+ ],
+ "type": "object",
+ "properties": {
+ "orderItemDetails": {
+ "$ref": "#/definitions/OrderItemDetails",
+ "description": "Represents order item details."
+ },
+ "addressDetails": {
+ "$ref": "#/definitions/AddressDetails",
+ "description": "Represents shipping and return address for order item"
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Start time of order item",
+ "type": "string",
+ "readOnly": true
+ },
+ "orderId": {
+ "description": "Id of the order to which order item belongs to",
+ "type": "string"
+ }
+ }
+ },
+ "OrderItemResource": {
+ "description": "Represents order item contract",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/OrderItemProperties",
+ "description": "Order item properties",
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "description": "Represents resource creation and update time",
+ "readOnly": true
+ }
+ }
+ },
+ "OrderResourceList": {
+ "description": "List of orders.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of order resources.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OrderResource"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link for the next set of order resources.",
+ "type": "string"
+ }
+ }
+ },
+ "StageDetails": {
+ "description": "Resource stage details.",
+ "type": "object",
+ "properties": {
+ "stageStatus": {
+ "description": "Stage status.",
+ "enum": [
+ "None",
+ "InProgress",
+ "Succeeded",
+ "Failed",
+ "Cancelled",
+ "Cancelling"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "StageStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "No status available yet."
+ },
+ {
+ "value": "InProgress",
+ "description": "Stage is in progress."
+ },
+ {
+ "value": "Succeeded",
+ "description": "Stage has succeeded."
+ },
+ {
+ "value": "Failed",
+ "description": "Stage has failed."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Stage has been cancelled."
+ },
+ {
+ "value": "Cancelling",
+ "description": "Stage is cancelling."
+ }
+ ]
+ }
+ },
+ "stageName": {
+ "description": "Stage name",
+ "enum": [
+ "Placed",
+ "InReview",
+ "Confirmed",
+ "ReadyToShip",
+ "Shipped",
+ "Delivered",
+ "InUse",
+ "ReturnInitiated",
+ "ReturnPickedUp",
+ "ReturnedToMicrosoft",
+ "ReturnCompleted",
+ "Cancelled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "StageName",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Placed",
+ "description": "Currently in draft mode and can still be cancelled"
+ },
+ {
+ "value": "InReview",
+ "description": "Order is currently in draft mode and can still be cancelled"
+ },
+ {
+ "value": "Confirmed",
+ "description": "Order is confirmed"
+ },
+ {
+ "value": "ReadyToShip",
+ "description": "Order is ready to ship"
+ },
+ {
+ "value": "Shipped",
+ "description": "Order is in transit to customer"
+ },
+ {
+ "value": "Delivered",
+ "description": "Order is delivered to customer"
+ },
+ {
+ "value": "InUse",
+ "description": "Order is in use at customer site"
+ },
+ {
+ "value": "ReturnInitiated",
+ "description": "Return has been initiated by customer."
+ },
+ {
+ "value": "ReturnPickedUp",
+ "description": "Order is in transit from customer to microsoft."
+ },
+ {
+ "value": "ReturnedToMicrosoft",
+ "description": "Order has been received back to microsoft."
+ },
+ {
+ "value": "ReturnCompleted",
+ "description": "Return has now completed."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Order has been cancelled."
+ }
+ ]
+ }
+ },
+ "displayName": {
+ "description": "Display name of the resource stage.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Stage start time",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OrderItemUpdateParameter": {
+ "description": "Updates order item parameters.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/OrderItemUpdateProperties",
+ "description": "Order item update properties",
+ "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"
+ }
+ }
+ }
+ },
+ "OrderItemUpdateProperties": {
+ "description": "Order item update properties.",
+ "type": "object",
+ "properties": {
+ "forwardAddress": {
+ "$ref": "#/definitions/AddressProperties",
+ "description": "Updates forward shipping address and contact details."
+ },
+ "preferences": {
+ "$ref": "#/definitions/Preferences",
+ "description": "Customer preference."
+ },
+ "notificationEmailList": {
+ "description": "Additional notification email list.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Pav2MeterDetails": {
+ "description": "Billing type PAV2 meter details",
+ "required": [
+ "billingType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MeterDetails"
+ }
+ ],
+ "properties": {
+ "meterGuid": {
+ "description": "Validation status of requested data center and transport.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "Pav2"
+ },
+ "Preferences": {
+ "description": "Preferences related to the order",
+ "type": "object",
+ "properties": {
+ "notificationPreferences": {
+ "description": "Notification preferences.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NotificationPreference"
+ }
+ },
+ "transportPreferences": {
+ "$ref": "#/definitions/TransportPreferences",
+ "description": "Preferences related to the shipment logistics of the order."
+ },
+ "encryptionPreferences": {
+ "$ref": "#/definitions/EncryptionPreferences",
+ "description": "Preferences related to the Encryption."
+ },
+ "managementResourcePreferences": {
+ "$ref": "#/definitions/ManagementResourcePreferences",
+ "description": "Preferences related to the Management resource."
+ }
+ }
+ },
+ "Product": {
+ "description": "List of Products",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProductProperties",
+ "description": "Properties of product",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ProductDetails": {
+ "description": "Represents product details",
+ "required": [
+ "hierarchyInformation"
+ ],
+ "type": "object",
+ "properties": {
+ "displayInfo": {
+ "$ref": "#/definitions/DisplayInfo",
+ "description": "Display details of the product"
+ },
+ "hierarchyInformation": {
+ "$ref": "#/definitions/HierarchyInformation",
+ "description": "Hierarchy of the product which uniquely identifies the product"
+ },
+ "count": {
+ "format": "int32",
+ "description": "Quantity of the product",
+ "type": "integer",
+ "readOnly": true
+ },
+ "productDoubleEncryptionStatus": {
+ "description": "Double encryption status of the configuration. Read-only field.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DoubleEncryptionStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Disabled",
+ "description": "Double encryption is disabled"
+ },
+ {
+ "value": "Enabled",
+ "description": "Double encryption is enabled"
+ }
+ ]
+ }
+ },
+ "deviceDetails": {
+ "description": "list of device details",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeviceDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ProductFamilies": {
+ "description": "The list of product families.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of product families.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProductFamily"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link for the next set of product families.",
+ "type": "string"
+ }
+ }
+ },
+ "ProductFamiliesMetadata": {
+ "description": "Holds details about product family metadata",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of product family metadata details.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProductFamiliesMetadataDetails"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link for the next set of product families.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ProductFamiliesMetadataDetails": {
+ "description": "Product families metadata details.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProductFamilyProperties",
+ "description": "Product family properties",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ProductFamiliesRequest": {
+ "description": "The filters for showing the product families.",
+ "required": [
+ "filterableProperties"
+ ],
+ "type": "object",
+ "properties": {
+ "filterableProperties": {
+ "description": "Dictionary of filterable properties on product family.",
+ "type": "object",
+ "additionalProperties": {
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FilterableProperty"
+ }
+ }
+ },
+ "customerSubscriptionDetails": {
+ "$ref": "#/definitions/CustomerSubscriptionDetails",
+ "description": "Customer subscription properties. Clients can display available products to unregistered customers by explicitly passing subscription details"
+ }
+ }
+ },
+ "ProductFamily": {
+ "description": "Product Family",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProductFamilyProperties",
+ "description": "Properties of product family",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ProductFamilyProperties": {
+ "description": "Properties of product family",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CommonProperties"
+ }
+ ],
+ "properties": {
+ "productLines": {
+ "description": "List of product lines supported in the product family",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProductLine"
+ },
+ "readOnly": true
+ },
+ "resourceProviderDetails": {
+ "description": "Contains details related to resource provider",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceProviderDetails"
+ }
+ }
+ }
+ },
+ "ProductLine": {
+ "description": "Product line",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ProductLineProperties",
+ "description": "Properties of product line",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ProductLineProperties": {
+ "description": "Properties of product line",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CommonProperties"
+ }
+ ],
+ "properties": {
+ "products": {
+ "description": "List of products in the product line",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Product"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ProductProperties": {
+ "description": "Properties of products",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CommonProperties"
+ }
+ ],
+ "properties": {
+ "configurations": {
+ "description": "List of configurations for the product",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Configuration"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "PurchaseMeterDetails": {
+ "description": "Billing type Purchase meter details",
+ "required": [
+ "billingType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MeterDetails"
+ }
+ ],
+ "properties": {
+ "productId": {
+ "description": "Product Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "skuId": {
+ "description": "Sku Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "termId": {
+ "description": "Term Id",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "Purchase"
+ },
+ "ResourceIdentity": {
+ "description": "Msi identity details of the resource",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Identity type",
+ "type": "string"
+ },
+ "principalId": {
+ "description": "Service Principal Id backing the Msi",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "Home Tenant Id",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ResourceProviderDetails": {
+ "description": "Management RP details",
+ "type": "object",
+ "properties": {
+ "resourceProviderNamespace": {
+ "description": "Resource provider namespace",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ReturnOrderItemDetails": {
+ "description": "Return order item request body",
+ "required": [
+ "returnReason"
+ ],
+ "type": "object",
+ "properties": {
+ "returnAddress": {
+ "$ref": "#/definitions/AddressProperties",
+ "description": "customer return address."
+ },
+ "returnReason": {
+ "description": "Return Reason.",
+ "type": "string"
+ },
+ "serviceTag": {
+ "description": "Service tag (located on the bottom-right corner of the device)",
+ "type": "string"
+ },
+ "shippingBoxRequired": {
+ "description": "Shipping Box required",
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ },
+ "ReverseShippingDetails": {
+ "description": "Reverse shipment details.",
+ "type": "object",
+ "properties": {
+ "sasKeyForLabel": {
+ "description": "SAS key to download the reverse shipment label of the package.",
+ "type": "string",
+ "readOnly": true
+ },
+ "carrierName": {
+ "description": "Name of the carrier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "carrierDisplayName": {
+ "description": "Carrier Name for display purpose. Not to be used for any processing.",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingId": {
+ "description": "TrackingId of the package",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingUrl": {
+ "description": "TrackingUrl of the package.",
+ "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",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "Address type not known."
+ },
+ {
+ "value": "Residential",
+ "description": "Residential Address."
+ },
+ {
+ "value": "Commercial",
+ "description": "Commercial Address."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "ShippingDetails": {
+ "description": "Package shipping details",
+ "type": "object",
+ "properties": {
+ "carrierName": {
+ "description": "Name of the carrier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "carrierDisplayName": {
+ "description": "Carrier Name for display purpose. Not to be used for any processing.",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingId": {
+ "description": "TrackingId of the package",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingUrl": {
+ "description": "TrackingUrl of the package.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Specification": {
+ "description": "Specifications of the configurations",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the specification",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "Value of the specification",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "CustomerSubscriptionDetails": {
+ "description": "Holds Customer subscription details. Clients can display available products to unregistered customers by explicitly passing subscription details",
+ "required": [
+ "quotaId"
+ ],
+ "type": "object",
+ "properties": {
+ "registeredFeatures": {
+ "uniqueItems": false,
+ "description": "List of registered feature flags for subscription",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CustomerSubscriptionRegisteredFeatures"
+ }
+ },
+ "locationPlacementId": {
+ "description": "Location placement Id of a subscription",
+ "type": "string"
+ },
+ "quotaId": {
+ "description": "Quota ID of a subscription",
+ "type": "string"
+ }
+ }
+ },
+ "CustomerSubscriptionRegisteredFeatures": {
+ "description": "Represents subscription registered features",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of subscription registered feature",
+ "type": "string"
+ },
+ "state": {
+ "description": "State of subscription registered feature",
+ "type": "string"
+ }
+ }
+ },
+ "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",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "CustomerManaged",
+ "description": "Shipment Logistics is handled by the customer."
+ },
+ {
+ "value": "MicrosoftManaged",
+ "description": "Shipment Logistics is handled by Microsoft."
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "addressNameParameter": {
+ "name": "addressName",
+ "in": "path",
+ "description": "The name of the address Resource within the specified resource group. address 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"
+ },
+ "orderNameParameter": {
+ "name": "orderName",
+ "in": "path",
+ "description": "The name of the order",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "orderItemNameParameter": {
+ "name": "orderItemName",
+ "in": "path",
+ "description": "The name of the order item",
+ "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/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CancelOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CancelOrderItem.json
new file mode 100644
index 000000000000..57f48f211dfb
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CancelOrderItem.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "orderItemName": "TestOrderItemName1",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName1/cancel?api-version=2021-12-01"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "34"
+ ],
+ "cancellationReason": {
+ "reason": "Order cancelled"
+ }
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateAddress.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateAddress.json
new file mode 100644
index 000000000000..eede62a5f0d6
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateAddress.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "addressName": "TestMSAddressName",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName?api-version=2021-12-01"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "492"
+ ],
+ "addressResource": {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "testemail@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "testemail@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {},
+ "name": "TestMSAddressName",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName",
+ "type": "Microsoft.EdgeOrder/addresses"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateOrderItem.json
new file mode 100644
index 000000000000..51908f3b6837
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/CreateOrderItem.json
@@ -0,0 +1,168 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "orderItemName": "TestOrderItemName01",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2021-12-01"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "1358"
+ ],
+ "orderItemResource": {
+ "properties": {
+ "orderItemDetails": {
+ "orderItemType": "Purchase",
+ "productDetails": {
+ "hierarchyInformation": {
+ "productFamilyName": "AzureStackEdge",
+ "productLineName": "AzureStackEdge",
+ "productName": "AzureStackEdgeGPU",
+ "configurationName": "AzureStackEdgeGPU"
+ }
+ },
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ }
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "zipExtendedCode": "1",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "3213131190",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
+ }
+ }
+ },
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
+ },
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "displayInfo": {
+ "productFamilyDisplayName": "Azure Stack Edge",
+ "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
+ "configurationName": "azurestackedgegpu"
+ },
+ "count": 0,
+ "productDoubleEncryptionStatus": "Disabled"
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "InProgress",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T13:08:14.0368516+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "None",
+ "stageName": "Placed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyToShip"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Shipped"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Delivered"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "InUse"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "NotAllowed",
+ "returnStatus": "NotReturnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "3213131190",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-06-07T13:08:14.0368516+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
+ },
+ "location": "westus",
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "name": "TestOrderItemName01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteAddressByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteAddressByName.json
new file mode 100644
index 000000000000..e030fa8b1633
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteAddressByName.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "addressName": "TestAddressName1",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName1?api-version=2021-12-01"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteOrderItemByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteOrderItemByName.json
new file mode 100644
index 000000000000..4c0e005a2171
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/DeleteOrderItemByName.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "orderItemName": "TestOrderItemName01",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2021-12-01"
+ ]
+ },
+ "responses": {
+ "202": {},
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetAddressByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetAddressByName.json
new file mode 100644
index 000000000000..1b0165a28fcf
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetAddressByName.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "addressName": "TestMSAddressName",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName?api-version=2021-12-01"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "ssemcr@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {},
+ "name": "TestMSAddressName",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName",
+ "type": "Microsoft.EdgeOrder/addresses"
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderByName.json
new file mode 100644
index 000000000000..e7512537e4d0
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderByName.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "location": "%7B%7B%7Blocation%7D%7D",
+ "orderName": "TestOrderItemName901",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901?api-version=2021-12-01"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "orderItemIds": [
+ "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901"
+ ],
+ "currentStage": {
+ "stageStatus": "Succeeded",
+ "stageName": "InReview",
+ "startTime": "2021-06-07T15:30:35.4512229+05:30"
+ },
+ "orderStageHistory": [
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T15:24:58.7140341+05:30"
+ },
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "InReview",
+ "startTime": "2021-06-07T15:30:35.4512229+05:30"
+ }
+ ]
+ },
+ "name": "TestOrderItemName901",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901",
+ "type": "Microsoft.EdgeOrder/orders"
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderItemByName.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderItemByName.json
new file mode 100644
index 000000000000..74b8cdb589b7
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/GetOrderItemByName.json
@@ -0,0 +1,112 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "orderItemName": "TestOrderItemName01",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2021-12-01"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "displayInfo": {
+ "productFamilyDisplayName": "Azure Stack Edge",
+ "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
+ "configurationName": "azurestackedgegpu"
+ },
+ "count": 0,
+ "productDoubleEncryptionStatus": "Disabled"
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "InProgress",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T13:08:14.0368516+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "None",
+ "stageName": "Placed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyToShip"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Shipped"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Delivered"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "InUse"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "NotAllowed",
+ "returnStatus": "NotReturnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "3213131190",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-06-07T13:08:14.0368516+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
+ },
+ "location": "westus",
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "name": "TestOrderItemName01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtResourceGroupLevel.json
new file mode 100644
index 000000000000..a04e3db96cf1
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtResourceGroupLevel.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses?api-version=2021-12-01"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "ssemmail@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {},
+ "name": "TestAddressName0",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName0",
+ "type": "Microsoft.EdgeOrder/addresses"
+ },
+ {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "ssemmail@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {},
+ "name": "TestAddressName2",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2",
+ "type": "Microsoft.EdgeOrder/addresses"
+ },
+ {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "ssemmail@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {},
+ "name": "TestMSAddressName",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName",
+ "type": "Microsoft.EdgeOrder/addresses"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtSubscriptionLevel.json
new file mode 100644
index 000000000000..ea09929e1bd1
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListAddressesAtSubscriptionLevel.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/addresses?api-version=2021-12-01"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "ssemmail@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {},
+ "name": "TestAddressName0",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName0",
+ "type": "Microsoft.EdgeOrder/addresses"
+ },
+ {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "ssemmail@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {},
+ "name": "TestAddressName2",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2",
+ "type": "Microsoft.EdgeOrder/addresses"
+ },
+ {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "ssemcr@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {},
+ "name": "TestMSAddressName",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestMSAddressName",
+ "type": "Microsoft.EdgeOrder/addresses"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListConfigurations.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListConfigurations.json
new file mode 100644
index 000000000000..30aaeb78e7dc
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListConfigurations.json
@@ -0,0 +1,106 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/{{subscriptionId}}/providers/Microsoft.EdgeOrder/listConfigurations?api-version=2021-12-01"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "396"
+ ],
+ "configurationsRequest": {
+ "configurationFilters": [
+ {
+ "hierarchyInformation": {
+ "productFamilyName": "AzureStackEdge",
+ "productLineName": "AzureStackEdge",
+ "productName": "AzureStackEdgeGPU"
+ },
+ "filterableProperty": [
+ {
+ "type": "ShipToCountries",
+ "supportedValues": [
+ "US"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "specifications": [
+ {
+ "name": "Usable compute",
+ "value": "40 vCPU"
+ },
+ {
+ "name": "Usable memory",
+ "value": "102 GB"
+ },
+ {
+ "name": "Usable storage",
+ "value": "4.2 TB"
+ }
+ ],
+ "dimensions": {
+ "length": 50.0,
+ "height": 15.0,
+ "width": 5.0,
+ "lengthHeightUnit": "IN",
+ "weight": 50.0,
+ "depth": 2.0,
+ "weightUnit": "LBS"
+ },
+ "filterableProperties": [
+ {
+ "type": "ShipToCountries",
+ "supportedValues": [
+ "US",
+ "AR"
+ ]
+ }
+ ],
+ "displayName": "Azure Stack Edge Pro - 1 GPU",
+ "description": {
+ "descriptionType": "Base",
+ "shortDescription": "",
+ "longDescription": "",
+ "keywords": [
+ "GPU"
+ ],
+ "attributes": [],
+ "links": []
+ },
+ "imageInformation": [],
+ "costInformation": {
+ "billingMeterDetails": []
+ },
+ "availabilityInformation": {
+ "availabilityStage": "Available",
+ "disabledReason": "None"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
+ "configurationName": "edgep_base"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOperations.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOperations.json
new file mode 100644
index 000000000000..481b303ffbc0
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOperations.json
@@ -0,0 +1,184 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/providers/Microsoft.EdgeOrder/operations?api-version=2021-12-01"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.EdgeOrder/addresses/read",
+ "display": {
+ "provider": "Edge Ordering",
+ "resource": "Addresses",
+ "operation": "List or Get Addresses",
+ "description": "List or get the Addresses"
+ },
+ "origin": "user",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.EdgeOrder/addresses/delete",
+ "display": {
+ "provider": "Edge Ordering",
+ "resource": "Addresses",
+ "operation": "Delete Addresses",
+ "description": "Delete the Addresses"
+ },
+ "origin": "user",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.EdgeOrder/addresses/write",
+ "display": {
+ "provider": "Edge Ordering",
+ "resource": "Addresses",
+ "operation": "Create or Update Addresses",
+ "description": "Create or update the Addresses"
+ },
+ "origin": "user",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.EdgeOrder/locations/operationResults/read",
+ "display": {
+ "provider": "Edge Ordering",
+ "resource": "Operation Results",
+ "operation": "List or Get Operation Results",
+ "description": "List or get the Operation Results"
+ },
+ "origin": "user",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.EdgeOrder/operations/read",
+ "display": {
+ "provider": "Edge Ordering",
+ "resource": "Operations",
+ "operation": "List or Get Operations",
+ "description": "List or get the Operations"
+ },
+ "origin": "user",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.EdgeOrder/locations/orders/read",
+ "display": {
+ "provider": "Edge Ordering",
+ "resource": "Order",
+ "operation": "List or Get Order",
+ "description": "List or get the Order"
+ },
+ "origin": "user",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.EdgeOrder/orders/read",
+ "display": {
+ "provider": "Edge Ordering",
+ "resource": "Order",
+ "operation": "List or Get Order",
+ "description": "List or get the Order"
+ },
+ "origin": "user",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.EdgeOrder/orderItems/cancel/action",
+ "display": {
+ "provider": "Edge Ordering",
+ "resource": "OrderItem",
+ "operation": "Cancel OrderItem",
+ "description": "Cancels an OrderItem in progress."
+ },
+ "origin": "user",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.EdgeOrder/orderItems/return/action",
+ "display": {
+ "provider": "Edge Ordering",
+ "resource": "OrderItem",
+ "operation": "Return OrderItem",
+ "description": "Return an OrderItem."
+ },
+ "origin": "user",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.EdgeOrder/orderItems/read",
+ "display": {
+ "provider": "Edge Ordering",
+ "resource": "OrderItem",
+ "operation": "List or Get OrderItem",
+ "description": "List or get the OrderItem"
+ },
+ "origin": "user",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.EdgeOrder/orderItems/delete",
+ "display": {
+ "provider": "Edge Ordering",
+ "resource": "OrderItem",
+ "operation": "Delete OrderItem",
+ "description": "Delete the OrderItem"
+ },
+ "origin": "user",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.EdgeOrder/orderItems/write",
+ "display": {
+ "provider": "Edge Ordering",
+ "resource": "OrderItem",
+ "operation": "Create or Update OrderItem",
+ "description": "Create or update the OrderItem"
+ },
+ "origin": "user",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.EdgeOrder/productFamiliesMetadata/action",
+ "display": {
+ "provider": "Edge Ordering",
+ "resource": "ArmApiRes_Microsoft.EdgeOrder",
+ "operation": "List or Get product families metadata",
+ "description": "This method lists or gets the product families metadata."
+ },
+ "origin": "user",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.EdgeOrder/listProductFamilies/read",
+ "display": {
+ "provider": "Edge Ordering",
+ "resource": "ArmApiRes_Microsoft.EdgeOrder",
+ "operation": "List Product Families",
+ "description": "This method returns list of product families."
+ },
+ "origin": "user",
+ "isDataAction": false
+ },
+ {
+ "name": "Microsoft.EdgeOrder/listConfigurations/action",
+ "display": {
+ "provider": "Edge Ordering",
+ "resource": "ArmApiRes_Microsoft.EdgeOrder",
+ "operation": "List Product Configurations",
+ "description": "This method returns list of product configurations."
+ },
+ "origin": "user",
+ "isDataAction": false
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtResourceGroupLevel.json
new file mode 100644
index 000000000000..f7ef345a3f4f
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtResourceGroupLevel.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orders?api-version=2021-12-01"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "orderItemIds": [
+ "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901"
+ ],
+ "currentStage": {
+ "stageStatus": "Succeeded",
+ "stageName": "InReview",
+ "startTime": "2021-06-07T13:13:35.0789537+05:30"
+ },
+ "orderStageHistory": [
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T13:08:16.3198555+05:30"
+ },
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "InReview",
+ "startTime": "2021-06-07T13:13:35.0789537+05:30"
+ }
+ ]
+ },
+ "name": "TestOrderItemName901",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901",
+ "type": "Microsoft.EdgeOrder/orders"
+ },
+ {
+ "properties": {
+ "orderItemIds": [
+ "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01"
+ ],
+ "currentStage": {
+ "stageStatus": "Succeeded",
+ "stageName": "InReview",
+ "startTime": "2021-06-07T13:19:40.9984759+05:30"
+ },
+ "orderStageHistory": [
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T13:14:39.9413253+05:30"
+ },
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "InReview",
+ "startTime": "2021-06-07T13:19:40.9984759+05:30"
+ }
+ ]
+ },
+ "name": "TestOrderItemName01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01",
+ "type": "Microsoft.EdgeOrder/orders"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtSubscriptionLevel.json
new file mode 100644
index 000000000000..664c655740ea
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderAtSubscriptionLevel.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/orders?api-version=2021-12-01"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "orderItemIds": [
+ "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901"
+ ],
+ "currentStage": {
+ "stageStatus": "Succeeded",
+ "stageName": "InReview",
+ "startTime": "2021-06-07T13:13:35.0789537+05:30"
+ },
+ "orderStageHistory": [
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T13:08:16.3198555+05:30"
+ },
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "InReview",
+ "startTime": "2021-06-07T13:13:35.0789537+05:30"
+ }
+ ]
+ },
+ "name": "TestOrderItemName901",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901",
+ "type": "Microsoft.EdgeOrder/orders"
+ },
+ {
+ "properties": {
+ "orderItemIds": [
+ "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01"
+ ],
+ "currentStage": {
+ "stageStatus": "Succeeded",
+ "stageName": "InReview",
+ "startTime": "2021-06-07T13:19:40.9984759+05:30"
+ },
+ "orderStageHistory": [
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T13:14:39.9413253+05:30"
+ },
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "InReview",
+ "startTime": "2021-06-07T13:19:40.9984759+05:30"
+ }
+ ]
+ },
+ "name": "TestOrderItemName01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01",
+ "type": "Microsoft.EdgeOrder/orders"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtResourceGroupLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtResourceGroupLevel.json
new file mode 100644
index 000000000000..4668b8ff89cd
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtResourceGroupLevel.json
@@ -0,0 +1,211 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems?api-version=2021-12-01"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "displayInfo": {
+ "productFamilyDisplayName": "Azure Stack Edge",
+ "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
+ "configurationName": "azurestackedgegpu"
+ },
+ "count": 0,
+ "productDoubleEncryptionStatus": "Disabled"
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T12:29:33.9791927+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T12:29:33.9791927+05:30"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyToShip"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Shipped"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Delivered"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "InUse"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "NotAllowed",
+ "returnStatus": "NotReturnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "3213131190",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-06-07T12:29:25.6656282+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901"
+ },
+ "location": "westus",
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "name": "TestOrderItemName901",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ },
+ {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "displayInfo": {
+ "productFamilyDisplayName": "Azure Stack Edge",
+ "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
+ "configurationName": "azurestackedgegpu"
+ },
+ "count": 0,
+ "productDoubleEncryptionStatus": "Disabled"
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T12:49:48.8869361+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T12:31:07.7430555+05:30"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyToShip"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Shipped"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Delivered"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "InUse"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "NotAllowed",
+ "returnStatus": "NotReturnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "32131311",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-06-07T12:31:06.1244193+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
+ },
+ "location": "westus",
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "name": "TestOrderItemName01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtSubscriptionLevel.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtSubscriptionLevel.json
new file mode 100644
index 000000000000..6213db650e23
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListOrderItemsAtSubscriptionLevel.json
@@ -0,0 +1,209 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/orderItems?api-version=2021-12-01"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "displayInfo": {
+ "productFamilyDisplayName": "Azure Stack Edge",
+ "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
+ "configurationName": "azurestackedgegpu"
+ },
+ "count": 0,
+ "productDoubleEncryptionStatus": "Disabled"
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T12:29:33.9791927+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T12:29:33.9791927+05:30"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyToShip"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Shipped"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Delivered"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "InUse"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "NotAllowed",
+ "returnStatus": "NotReturnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "3213131190",
+ "emailList": [
+ "testemail@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-06-07T12:29:25.6656282+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName901"
+ },
+ "location": "westus",
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "name": "TestOrderItemName901",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName901",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ },
+ {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "displayInfo": {
+ "productFamilyDisplayName": "Azure Stack Edge",
+ "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
+ "configurationName": "azurestackedgegpu"
+ },
+ "count": 0,
+ "productDoubleEncryptionStatus": "Disabled"
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T12:49:48.8869361+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T12:31:07.7430555+05:30"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyToShip"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Shipped"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Delivered"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "InUse"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "MicrosoftManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "NotAllowed",
+ "returnStatus": "NotReturnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "164 TOWNSEND ST",
+ "phone": "32131311",
+ "emailList": [
+ "ssemmail@microsoft.com",
+ "vishwamdir@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-06-07T12:31:06.1244193+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
+ },
+ "location": "westus",
+ "tags": {
+ "mango": "fruit",
+ "carrot": "vegetable"
+ },
+ "name": "TestOrderItemName01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamilies.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamilies.json
new file mode 100644
index 000000000000..d7b99d804797
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamilies.json
@@ -0,0 +1,211 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/listProductFamilies?api-version=2021-12-01"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "181"
+ ],
+ "productFamiliesRequest": {
+ "filterableProperties": {
+ "azurestackedge": [
+ {
+ "type": "ShipToCountries",
+ "supportedValues": [
+ "US"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "productLines": [
+ {
+ "properties": {
+ "products": [
+ {
+ "properties": {
+ "configurations": [
+ {
+ "properties": {
+ "specifications": [
+ {
+ "name": "Usable compute",
+ "value": "40 vCPU"
+ },
+ {
+ "name": "Usable memory",
+ "value": "102 GB"
+ },
+ {
+ "name": "Usable storage",
+ "value": "4.2 TB"
+ }
+ ],
+ "dimensions": {
+ "length": 50.0,
+ "height": 15.0,
+ "width": 5.0,
+ "lengthHeightUnit": "IN",
+ "weight": 50.0,
+ "depth": 2.0,
+ "weightUnit": "LBS"
+ },
+ "filterableProperties": [
+ {
+ "type": "ShipToCountries",
+ "supportedValues": [
+ "US"
+ ]
+ }
+ ],
+ "displayName": "Azure Stack Edge Pro - 1 GPU",
+ "description": {
+ "descriptionType": "Base",
+ "shortDescription": "",
+ "longDescription": "",
+ "keywords": [
+ "GPU"
+ ],
+ "attributes": [],
+ "links": []
+ },
+ "imageInformation": [],
+ "costInformation": {
+ "billingMeterDetails": []
+ },
+ "availabilityInformation": {
+ "availabilityStage": "Available",
+ "disabledReason": "None"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
+ "configurationName": "edgep_base"
+ }
+ }
+ }
+ ],
+ "filterableProperties": [
+ {
+ "type": "ShipToCountries",
+ "supportedValues": [
+ "US"
+ ]
+ }
+ ],
+ "displayName": "Azure Stack Edge Pro - GPU",
+ "description": {
+ "descriptionType": "Base",
+ "shortDescription": "Azure managed physical edge compute device",
+ "longDescription": "Azure Stack Edge is an AI-enabled edge computing device with network data transfer capabilities. The device is powered with NVIDIA T4 GPUs to provide accelerated AI inferencing at the edge. You can choose from the available configurations with one or two GPUs basis your business need",
+ "keywords": [
+ "GPU"
+ ],
+ "attributes": [
+ "1U rack mount device with network data transfer capabilities",
+ "Hardware accelerated ML using Nvidia T4 GPU",
+ "Azure Private Edge Zones enabled"
+ ],
+ "links": [
+ {
+ "linkType": "Specification",
+ "linkUrl": "https://aka.ms/ase-gpu-devicespecs"
+ },
+ {
+ "linkType": "Generic",
+ "linkUrl": "https://aka.ms/ase-gpu-billing"
+ },
+ {
+ "linkType": "TermsAndConditions",
+ "linkUrl": "https://aka.ms/ase-gpu-product-terms"
+ },
+ {
+ "linkType": "KnowMore",
+ "linkUrl": "https://aka.ms/ase-documentation"
+ }
+ ]
+ },
+ "imageInformation": [],
+ "availabilityInformation": {
+ "availabilityStage": "Available",
+ "disabledReason": "None"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
+ "configurationName": ""
+ }
+ }
+ }
+ ],
+ "filterableProperties": [
+ {
+ "type": "ShipToCountries",
+ "supportedValues": [
+ "US"
+ ]
+ }
+ ],
+ "displayName": "Azure Stack Edge",
+ "description": {
+ "descriptionType": "Base",
+ "keywords": [],
+ "attributes": [],
+ "links": []
+ },
+ "imageInformation": [],
+ "availabilityInformation": {
+ "availabilityStage": "Available",
+ "disabledReason": "None"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azurestackedge",
+ "productName": "",
+ "configurationName": ""
+ }
+ }
+ }
+ ],
+ "displayName": "Azure Stack Edge",
+ "description": {
+ "descriptionType": "Base",
+ "keywords": [],
+ "attributes": [],
+ "links": []
+ },
+ "imageInformation": [],
+ "availabilityInformation": {
+ "availabilityStage": "Available",
+ "disabledReason": "None"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "",
+ "productName": "",
+ "configurationName": ""
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamiliesMetadata.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamiliesMetadata.json
new file mode 100644
index 000000000000..b8dd729e0068
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ListProductFamiliesMetadata.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/providers/Microsoft.EdgeOrder/productFamiliesMetadata?api-version=2021-12-01"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "productLines": [],
+ "filterableProperties": [
+ {
+ "type": "ShipToCountries",
+ "supportedValues": [
+ "US"
+ ]
+ },
+ {
+ "type": "DoubleEncryptionStatus",
+ "supportedValues": [
+ "Enabled"
+ ]
+ }
+ ],
+ "displayName": "Azure Stack Edge",
+ "description": {
+ "descriptionType": "Base",
+ "keywords": [],
+ "attributes": [],
+ "links": []
+ },
+ "imageInformation": [],
+ "availabilityInformation": {
+ "availabilityStage": "Available",
+ "disabledReason": "None"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "",
+ "productName": "",
+ "configurationName": ""
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ReturnOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ReturnOrderItem.json
new file mode 100644
index 000000000000..82b49f710b21
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/ReturnOrderItem.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "orderItemName": "TestOrderName1",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01/return?api-version=2021-12-01"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "39"
+ ],
+ "returnOrderItemDetails": {
+ "returnReason": "Order returned"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateAddress.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateAddress.json
new file mode 100644
index 000000000000..192e6988663d
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateAddress.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "addressName": "TestAddressName2",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2?api-version=2021-12-01"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "612"
+ ],
+ "addressUpdateParameter": {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND STT",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "ssemcr@microsoft.com"
+ ]
+ }
+ },
+ "tags": {
+ "Name": "Smile-Updated",
+ "Work": "Engineering",
+ "Hobby": "Web Series Added",
+ "WhatElse": "Web Series Added"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND STT",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "companyName": "Microsoft",
+ "addressType": "None"
+ },
+ "contactDetails": {
+ "contactName": "Petr Cech",
+ "phone": "1234567890",
+ "phoneExtension": "",
+ "emailList": [
+ "ssemcr@microsoft.com"
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "name": "Smile-Updated",
+ "work": "Engineering",
+ "hobby": "Web Series Added",
+ "whatElse": "Web Series Added"
+ },
+ "name": "TestAddressName2",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/addresses/TestAddressName2",
+ "type": "Microsoft.EdgeOrder/addresses"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateOrderItem.json b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateOrderItem.json
new file mode 100644
index 000000000000..7011ce3cae89
--- /dev/null
+++ b/specification/edgeorder/resource-manager/Microsoft.EdgeOrder/stable/2021-12-01/examples/UpdateOrderItem.json
@@ -0,0 +1,143 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "TestRG",
+ "orderItemName": "TestOrderItemName01",
+ "api-version": "2021-12-01",
+ "User-Agent": [
+ "vscode-restclient"
+ ],
+ "Referer": [
+ "https://localhost/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01?api-version=2021-12-01"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "533"
+ ],
+ "orderItemUpdateParameter": {
+ "properties": {
+ "forwardAddress": {
+ "contactDetails": {
+ "contactName": "Updated contact name",
+ "phone": "2222200000",
+ "emailList": [
+ "testemail@microsoft.com"
+ ]
+ }
+ },
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "CustomerManaged"
+ }
+ }
+ },
+ "tags": {
+ "pigeon": "bird",
+ "tiger": "animal",
+ "ant": "insect"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "orderItemDetails": {
+ "productDetails": {
+ "displayInfo": {
+ "productFamilyDisplayName": "Azure Stack Edge",
+ "configurationDisplayName": "Azure Stack Edge Pro - 1 GPU"
+ },
+ "hierarchyInformation": {
+ "productFamilyName": "azurestackedge",
+ "productLineName": "azurestackedge",
+ "productName": "azurestackedgegpu",
+ "configurationName": "azurestackedgegpu"
+ },
+ "count": 0,
+ "productDoubleEncryptionStatus": "Disabled"
+ },
+ "orderItemType": "Purchase",
+ "currentStage": {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T13:14:40.0815406+05:30"
+ },
+ "orderItemStageHistory": [
+ {
+ "stageStatus": "Succeeded",
+ "stageName": "Placed",
+ "startTime": "2021-06-07T13:14:40.0815406+05:30"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Confirmed"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "ReadyToShip"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Shipped"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "Delivered"
+ },
+ {
+ "stageStatus": "None",
+ "stageName": "InUse"
+ }
+ ],
+ "preferences": {
+ "transportPreferences": {
+ "preferredShipmentType": "CustomerManaged"
+ }
+ },
+ "notificationEmailList": [],
+ "cancellationStatus": "Cancellable",
+ "deletionStatus": "NotAllowed",
+ "returnStatus": "NotReturnable"
+ },
+ "addressDetails": {
+ "forwardAddress": {
+ "shippingAddress": {
+ "streetAddress1": "16 TOWNSEND ST",
+ "streetAddress2": "UNIT 1",
+ "city": "San Francisco",
+ "stateOrProvince": "CA",
+ "country": "US",
+ "postalCode": "94107",
+ "zipExtendedCode": "1",
+ "companyName": "Microsoft",
+ "addressType": "Residential"
+ },
+ "contactDetails": {
+ "contactName": "Updated contact name",
+ "phone": "2222200000",
+ "emailList": [
+ "testemail@microsoft.com"
+ ]
+ }
+ }
+ },
+ "startTime": "2021-06-07T13:14:37.4649597+05:30",
+ "orderId": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/locations/westus/orders/TestOrderItemName01"
+ },
+ "location": "westus",
+ "tags": {
+ "pigeon": "bird",
+ "tiger": "animal",
+ "ant": "insect"
+ },
+ "name": "TestOrderItemName01",
+ "id": "/subscriptions/fa68082f-8ff7-4a25-95c7-ce9da541242f/resourceGroups/TestRG/providers/Microsoft.EdgeOrder/orderItems/TestOrderItemName01",
+ "type": "Microsoft.EdgeOrder/orderItems"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/edgeorder/resource-manager/readme.go.md b/specification/edgeorder/resource-manager/readme.go.md
index cc32eb1019e9..5a33b1cbf808 100644
--- a/specification/edgeorder/resource-manager/readme.go.md
+++ b/specification/edgeorder/resource-manager/readme.go.md
@@ -14,6 +14,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
- tag: package-2020-12-preview
+ - tag: package-2021-12
```
### Tag: package-2020-12-preview and go
@@ -23,4 +24,13 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2021-12' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-12-01/$(namespace)
```
\ No newline at end of file
diff --git a/specification/edgeorder/resource-manager/readme.md b/specification/edgeorder/resource-manager/readme.md
index b35e7a45fbe2..1976c8141145 100644
--- a/specification/edgeorder/resource-manager/readme.md
+++ b/specification/edgeorder/resource-manager/readme.md
@@ -28,9 +28,19 @@ These are the global settings for the EdgeOrder API.
title: EdgeOrderManagementClient
description: Edge Order API's
openapi-type: arm
-tag: package-2020-12-preview
+tag: package-2021-12
```
+### Tag: package-2021-12
+
+These settings apply only when `--tag=package-2021-12` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-12'
+input-file:
+- Microsoft.EdgeOrder/stable/2021-12-01/edgeorder.json
+```
+---
+
### Tag: package-2020-12-preview
These settings apply only when `--tag=package-2020-12-preview` is specified on the command line.
@@ -40,6 +50,7 @@ input-file:
- Microsoft.EdgeOrder/preview/2020-12-01-preview/edgeorder.json
```
---
+
# Code Generation
diff --git a/specification/edgeorder/resource-manager/readme.python.md b/specification/edgeorder/resource-manager/readme.python.md
index 91a7c02645b3..ab9658f0d83a 100644
--- a/specification/edgeorder/resource-manager/readme.python.md
+++ b/specification/edgeorder/resource-manager/readme.python.md
@@ -8,17 +8,46 @@ These settings apply only when `--track2` is specified on the command line.
``` yaml $(track2)
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
+namespace: azure.mgmt.edgeorder
package-name: azure-mgmt-edgeorder
-no-namespace-folders: true
package-version: 1.0.0b1
+title: EdgeOrderManagementClient
+description: The EdgeOrder Client.
clear-output-folder: true
+no-namespace-folders: true
```
+### Python multi-api
-```yaml $(python) && $(python-mode) == 'update' && $(track2)
-no-namespace-folders: true
-output-folder: $(python-sdks-folder)/edgeorder/azure-mgmt-edgeorder/azure/mgmt/edgeorder
+Generate all API versions currently shipped for this package
+
+```yaml $(multiapi) && $(track2)
+batch:
+ - tag: package-2020-12-preview
+ - tag: package-2021-12
+ - multiapiscript: true
```
-```yaml $(python) && $(python-mode) == 'create' && $(track2)
-basic-setup-py: true
-output-folder: $(python-sdks-folder)/edgeorder/azure-mgmt-edgeorder
\ No newline at end of file
+``` yaml $(multiapiscript)
+output-folder: $(python-sdks-folder)/edgeorder/azure-mgmt-edgeorder/azure/mgmt/edgeorder/
+clear-output-folder: false
+perform-load: false
+```
+### Tag: package-2020-12-preview and python
+
+These settings apply only when `--tag=package-2020-12-preview --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-12-preview' && $(python) && $(track2)
+namespace: azure.mgmt.edgeorder.v2020_12_01_preview
+output-folder: $(python-sdks-folder)/edgeorder/azure-mgmt-edgeorder/azure/mgmt/edgeorder/v2020_12_01_preview
+```
+
+### Tag: package-2021-12 and python
+
+These settings apply only when `--tag=package-2021-12 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-12' && $(python) && $(track2)
+namespace: azure.mgmt.edgeorder.v2021_12_01
+output-folder: $(python-sdks-folder)/edgeorder/azure-mgmt-edgeorder/azure/mgmt/edgeorder/v2021_12_01
+```
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/examples/keyvalue_deleted.json b/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/examples/keyvalue_deleted.json
new file mode 100644
index 000000000000..ed7621dab03e
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/examples/keyvalue_deleted.json
@@ -0,0 +1,15 @@
+{
+ "id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
+ "topic": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
+ "subject": "https://contoso.azconfig.io/kv/Foo?label=FizzBuzz",
+ "data": {
+ "key": "Foo",
+ "label": "FizzBuzz",
+ "etag": "FnUExLaj2moIi4tJX9AXn9sakm0",
+ "syncToken": "zAJw6V16=Njo1IzUxNjQ2NzM=;sn=5164673"
+ },
+ "eventType": "Microsoft.AppConfiguration.KeyValueDeleted",
+ "eventTime": "2019-05-31T20:05:03Z",
+ "dataVersion": "1",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/examples/keyvalue_modified.json b/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/examples/keyvalue_modified.json
new file mode 100644
index 000000000000..a2948012d16e
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.AppConfiguration/stable/2018-01-01/examples/keyvalue_modified.json
@@ -0,0 +1,15 @@
+{
+ "id": "84e17ea4-66db-4b54-8050-df8f7763f87b",
+ "topic": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg/providers/microsoft.appconfiguration/configurationstores/contoso",
+ "subject": "https://contoso.azconfig.io/kv/Foo?label=FizzBuzz",
+ "data": {
+ "key": "Foo",
+ "label": "FizzBuzz",
+ "etag": "FnUExLaj2moIi4tJX9AXn9sakm0",
+ "syncToken": "zAJw6V16=Njo1IzUxNjQ2NzM=;sn=5164673"
+ },
+ "eventType": "Microsoft.AppConfiguration.KeyValueModified",
+ "eventTime": "2019-05-31T20:05:03Z",
+ "dataVersion": "1",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/export_rdb_completed.json b/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/export_rdb_completed.json
new file mode 100644
index 000000000000..71e8f199a6c4
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/export_rdb_completed.json
@@ -0,0 +1,12 @@
+{
+ "id":"9b87886d-21a5-4af5-8e3e-10c4b8dac73b",
+ "eventType":"Microsoft.Cache.ExportRDBCompleted",
+ "topic":"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}",
+ "data":{
+ "name":"ExportRDBCompleted",
+ "timestamp":"2020-12-09T21:50:19.9995668+00:00",
+ "status":"Succeeded"},
+ "subject":"ExportRDBCompleted",
+ "dataversion":"1.0",
+ "metadataVersion":"1",
+ "eventTime":"2020-12-09T21:50:19.9995668+00:00"}
diff --git a/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/import_rdb_completed.json b/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/import_rdb_completed.json
new file mode 100644
index 000000000000..52914f06eff0
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/import_rdb_completed.json
@@ -0,0 +1,12 @@
+{
+ "id":"9b87886d-21a5-4af5-8e3e-10c4b8dac73b",
+ "eventType":"Microsoft.Cache.ImportRDBCompleted",
+ "topic":"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}",
+ "data":{
+ "name":"ImportRDBCompleted",
+ "timestamp":"2020-12-09T21:50:19.9995668+00:00",
+ "status":"Succeeded"},
+ "subject":"ImportRDBCompleted",
+ "dataversion":"1.0",
+ "metadataVersion":"1",
+ "eventTime":"2020-12-09T21:50:19.9995668+00:00"}
diff --git a/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/patching_completed.json b/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/patching_completed.json
new file mode 100644
index 000000000000..f05a0de4d736
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/patching_completed.json
@@ -0,0 +1,12 @@
+{
+ "id":"9b87886d-21a5-4af5-8e3e-10c4b8dac73b",
+ "eventType":"Microsoft.Cache.PatchingCompleted",
+ "topic":"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}",
+ "data":{
+ "name":"PatchingCompleted",
+ "timestamp":"2020-12-09T21:50:19.9995668+00:00",
+ "status":"Succeeded"},
+ "subject":"PatchingCompleted",
+ "dataversion":"1.0",
+ "metadataVersion":"1",
+ "eventTime":"2020-12-09T21:50:19.9995668+00:00"}
diff --git a/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/scaling_completed.json b/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/scaling_completed.json
new file mode 100644
index 000000000000..4a81a48269ed
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Cache/stable/2018-01-01/examples/scaling_completed.json
@@ -0,0 +1,12 @@
+{
+ "id":"9b87886d-21a5-4af5-8e3e-10c4b8dac73b",
+ "eventType":"Microsoft.Cache.ScalingCompleted",
+ "topic":"/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}",
+ "data":{
+ "name":"ScalingCompleted",
+ "timestamp":"2020-12-09T21:50:19.9995668+00:00",
+ "status":"Succeeded"},
+ "subject":"ScalingCompleted",
+ "dataversion":"1.0",
+ "metadataVersion":"1",
+ "eventTime":"2020-12-09T21:50:19.9995668+00:00"}
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_deleted.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_deleted.json
new file mode 100644
index 000000000000..716fa2f70ed3
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_deleted.json
@@ -0,0 +1,33 @@
+{
+ "id": "23cfcc13-33f2-4ae1-8d23-b5015b05302b",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/sender/{rawId}/recipient/{rawId}",
+ "data": {
+ "deleteTime": "2021-02-19T00:43:10.14Z",
+ "messageId": "1613695388152",
+ "senderId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d07-83fe-084822000f6e",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d07-83fe-084822000f6e",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d07-83fe-084822000f6e"
+ }
+ },
+ "senderDisplayName": "Bob(Admin)",
+ "composeTime": "2021-02-19T00:43:08.152Z",
+ "type": "Text",
+ "version": 1613695390361,
+ "recipientId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d60-83fe-084822000f6f",
+ "recipientCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d60-83fe-084822000f6f",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d60-83fe-084822000f6f"
+ }
+ },
+ "transactionId": "fFs4InlBn0O/0WyhfQZVSQ.1.1.2.1.1867776045.1.4",
+ "threadId": "19:48899258eec941e7a281e03edc8f4964@thread.v2"
+ },
+ "eventType": "Microsoft.Communication.ChatMessageDeleted",
+ "dataVersion": "1.0",
+ "metadataVersion": "1",
+ "eventTime": "2021-02-19T00:43:10.9982947Z"
+ }
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_deleted_in_thread.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_deleted_in_thread.json
new file mode 100644
index 000000000000..c131d22fe391
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_deleted_in_thread.json
@@ -0,0 +1,25 @@
+{
+ "id": "17d9c39d-0c58-4ed8-947d-c55959f57f75",
+ "topic": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/sender/{rawId}",
+ "data": {
+ "deleteTime": "2021-02-20T00:59:10.464+00:00",
+ "messageId": "1613782685440",
+ "type": "Text",
+ "version": "1613782814333",
+ "senderDisplayName": "Scott",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453"
+ }
+ },
+ "composeTime": "2021-02-20T00:58:05.44+00:00",
+ "threadId": "19:e07c8ddc5bab4c059ea9f11d29b544b6@thread.v2",
+ "transactionId": "HqU6PeK5AkCRSpW8eAbL0A.1.1.2.1.987824181.1"
+ },
+ "eventType": "Microsoft.Communication.ChatMessageDeletedInThread",
+ "dataVersion": "1.0",
+ "metadataVersion": "1",
+ "eventTime": "2021-02-20T01:00:14.8518034Z"
+ }
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_edited.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_edited.json
new file mode 100644
index 000000000000..a3a242aedc12
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_edited.json
@@ -0,0 +1,38 @@
+{
+ "id": "93fc1037-b645-4eb0-a0f2-d7bb3ba6e060",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/sender/{rawId}/recipient/{rawId}",
+ "data": {
+ "editTime": "2021-02-19T00:28:20.784Z",
+ "messageBody": "Let's Chat about new communication services.",
+ "messageId": "1613694357917",
+ "metadata": {
+ "key": "value",
+ "description": "A map of data associated with the message"
+ },
+ "senderId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724"
+ }
+ },
+ "senderDisplayName": "Bob(Admin)",
+ "composeTime": "2021-02-19T00:25:57.917Z",
+ "type": "Text",
+ "version": 1613694500784,
+ "recipientId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d60-83fe-084822000f6f",
+ "recipientCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d60-83fe-084822000f6f",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d60-83fe-084822000f6f"
+ }
+ },
+ "transactionId": "1mL4XZH2gEecu/alk9tOtw.2.1.2.1.1833042153.1.7",
+ "threadId": "19:6e5d6ca1d75044a49a36a7965ec4a906@thread.v2"
+ },
+ "eventType": "Microsoft.Communication.ChatMessageEdited",
+ "dataVersion": "1.0",
+ "metadataVersion": "1",
+ "eventTime": "2021-02-19T00:28:21.7456718Z"
+ }
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_edited_in_thread.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_edited_in_thread.json
new file mode 100644
index 000000000000..e66186ab89aa
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_edited_in_thread.json
@@ -0,0 +1,30 @@
+{
+ "id": "7b8dc01e-2659-41fa-bc8c-88a967714510",
+ "topic": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/sender/{rawId}",
+ "data": {
+ "editTime": "2021-02-20T00:59:10.464+00:00",
+ "messageBody": "8effb181-1eb2-4a58-9d03-ed48a461b19b",
+ "messageId": "1613782685964",
+ "metadata": {
+ "key": "value",
+ "description": "A map of data associated with the message"
+ },
+ "type": "Text",
+ "version": "1613782750464",
+ "senderDisplayName": "Scott",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453"
+ }
+ },
+ "composeTime": "2021-02-20T00:58:05.964+00:00",
+ "threadId": "19:e07c8ddc5bab4c059ea9f11d29b544b6@thread.v2",
+ "transactionId": "H8Gpj3NkIU6bXlWw8WPvhQ.2.1.2.1.985333801.1"
+ },
+ "eventType": "Microsoft.Communication.ChatMessageEditedInThread",
+ "dataVersion": "1.0",
+ "metadataVersion": "1",
+ "eventTime": "2021-02-20T00:59:10.7600061Z"
+ }
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_received.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_received.json
new file mode 100644
index 000000000000..25d4ca1f09c5
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_received.json
@@ -0,0 +1,37 @@
+{
+ "id": "02272459-badb-4e2e-b538-4cb8a2f71da6",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/sender/{rawId}/recipient/{rawId}",
+ "data": {
+ "messageBody": "Welcome to Azure Communication Services",
+ "messageId": "1613694358927",
+ "metadata": {
+ "key": "value",
+ "description": "A map of data associated with the message"
+ },
+ "senderId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724"
+ }
+ },
+ "senderDisplayName": "Jhon",
+ "composeTime": "2021-02-19T00:25:58.927Z",
+ "type": "Text",
+ "version": 1613694358927,
+ "recipientId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d05-83fe-084822000f6d",
+ "recipientCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d05-83fe-084822000f6d",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d05-83fe-084822000f6d"
+ }
+ },
+ "transactionId": "oh+LGB2dUUadMcTAdRWQxQ.1.1.1.1.1827536918.1.7",
+ "threadId": "19:6e5d6ca1d75044a49a36a7965ec4a906@thread.v2"
+ },
+ "eventType": "Microsoft.Communication.ChatMessageReceived",
+ "dataVersion": "1.0",
+ "metadataVersion": "1",
+ "eventTime": "2021-02-19T00:25:59.9436666Z"
+ }
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_received_in_thread.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_received_in_thread.json
new file mode 100644
index 000000000000..f272449e0436
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_message_received_in_thread.json
@@ -0,0 +1,29 @@
+{
+ "id": "4f614f97-c451-4b82-a8c9-1e30c3bfcda1",
+ "topic": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/sender/8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cdb-4916-07fd-084822002624",
+ "data": {
+ "messageBody": "Talk about new Thread Events in commuication services",
+ "messageId": "1613783230064",
+ "metadata": {
+ "key": "value",
+ "description": "A map of data associated with the message"
+ },
+ "type": "Text",
+ "version": "1613783230064",
+ "senderDisplayName": "Bob",
+ "senderCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cdb-4916-07fd-084822002624",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cdb-4916-07fd-084822002624"
+ }
+ },
+ "composeTime": "2021-02-20T01:07:10.064+00:00",
+ "threadId": "19:5b3809e80e4a439d92c3316e273f4a2b@thread.v2",
+ "transactionId": "foMkntkKS0O/MhMlIE5Aag.1.1.1.1.1004077250.1"
+ },
+ "eventType": "Microsoft.Communication.ChatMessageReceivedInThread",
+ "dataVersion": "1.0",
+ "metadataVersion": "1",
+ "eventTime": "2021-02-20T01:07:10.5704596Z"
+ }
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_participant_added_to_thread_with_user.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_participant_added_to_thread_with_user.json
new file mode 100644
index 000000000000..ca11b6cbd45f
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_participant_added_to_thread_with_user.json
@@ -0,0 +1,37 @@
+{
+ "id": "049a5a7f-6cd7-43c1-b352-df9e9e6146d1",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/participantAdded/{rawId}/recipient/{rawId}",
+ "data": {
+ "time": "2021-02-25T06:37:29.9232485Z",
+ "addedByCommunicationIdentifier": {
+ "rawId": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8767-1655-373a0d00885d",
+ "communicationUser": {
+ "id": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8767-1655-373a0d00885d"
+ }
+ },
+ "participantAdded": {
+ "displayName": "John Smith",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8785-1655-373a0d00885f",
+ "communicationUser": {
+ "id": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8785-1655-373a0d00885f"
+ }
+ }
+ },
+ "recipientCommunicationIdentifier": {
+ "rawId": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8781-1655-373a0d00885e",
+ "communicationUser": {
+ "id": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8781-1655-373a0d00885e"
+ }
+ },
+ "createTime": "2021-02-25T06:37:17.371Z",
+ "version": 1614235049907,
+ "transactionId": "q7rr9by6m0CiGiQxKdSO1w.1.1.1.1.1473446055.1.6",
+ "threadId": "19:f1400e1c542f4086a606b52ad20cd0bd@thread.v2"
+ },
+ "eventType": "Microsoft.Communication.ChatParticipantAddedToThreadWithUser",
+ "dataVersion": "1.0",
+ "metadataVersion": "1",
+ "eventTime": "2021-02-25T06:37:31.4880091Z"
+ }
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_participant_removed_from_thread_with_user.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_participant_removed_from_thread_with_user.json
new file mode 100644
index 000000000000..1184b9d40928
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_participant_removed_from_thread_with_user.json
@@ -0,0 +1,37 @@
+{
+ "id": "e8a4df24-799d-4c53-94fd-1e05703a4549",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/participantRemoved/{rawId}/recipient/{rawId}",
+ "data": {
+ "time": "2021-02-25T06:40:20.3564556Z",
+ "removedByCommunicationIdentifier": {
+ "rawId": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8767-1655-373a0d00885d",
+ "communicationUser": {
+ "id": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8767-1655-373a0d00885d"
+ }
+ },
+ "participantRemoved": {
+ "displayName": "Bob",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8785-1655-373a0d00885f",
+ "communicationUser": {
+ "id": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8785-1655-373a0d00885f"
+ }
+ }
+ },
+ "recipientCommunicationIdentifier": {
+ "rawId": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8781-1655-373a0d00885e",
+ "communicationUser": {
+ "id": "8:acs:0a420b29-555c-4f6b-841e-de8059893bb9_00000008-77c9-8781-1655-373a0d00885e"
+ }
+ },
+ "createTime": "2021-02-25T06:37:17.371Z",
+ "version": 1614235220325,
+ "transactionId": "usv74GQ5zU+JmWv/bQ+qfg.1.1.1.1.1480065078.1.5",
+ "threadId": "19:f1400e1c542f4086a606b52ad20cd0bd@thread.v2"
+ },
+ "eventType": "Microsoft.Communication.ChatParticipantRemovedFromThreadWithUser",
+ "dataVersion": "1.0",
+ "metadataVersion": "1",
+ "eventTime": "2021-02-25T06:40:24.2244945Z"
+ }
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_created.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_created.json
new file mode 100644
index 000000000000..d52efdd0b90a
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_created.json
@@ -0,0 +1,62 @@
+{
+ "id": "a607ac52-0974-4d3c-bfd8-6f708a26f509",
+ "topic": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/createdBy/{rawId}",
+ "data": {
+ "createdByCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453"
+ }
+ },
+ "properties": {
+ "topic": "Talk about new Thread Events in commuication services"
+ },
+ "participants": [
+ {
+ "displayName": "Bob",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453"
+ }
+ }
+ },
+ {
+ "displayName": "Scott",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38e6-07fd-084822002467",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38e6-07fd-084822002467"
+ }
+ }
+ },
+ {
+ "displayName": "Shawn",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38f6-83fe-084822002337",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38f6-83fe-084822002337"
+ }
+ }
+ },
+ {
+ "displayName": "Anthony",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38e3-e1fe-084822002c35",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38e3-e1fe-084822002c35"
+ }
+ }
+ }
+ ],
+ "createTime": "2021-02-20T00:31:54.365+00:00",
+ "version": 1613781114365,
+ "threadId": "19:e07c8ddc5bab4c059ea9f11d29b544b6@thread.v2",
+ "transactionId": "gK6+kgANy0O1wchlVKVTJg.1.1.1.1.921436178.1"
+ },
+ "eventType": "Microsoft.Communication.ChatThreadCreated",
+ "dataVersion": "1.0",
+ "metadataVersion": "1",
+ "eventTime": "2021-02-20T00:31:54.5369967Z"
+ }
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_created_withUser.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_created_withUser.json
new file mode 100644
index 000000000000..a98102d9702a
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_created_withUser.json
@@ -0,0 +1,62 @@
+{
+ "id": "eba02b2d-37bf-420e-8656-3a42ef74c435",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/createdBy/rawId/recipient/rawId",
+ "data": {
+ "createdBy": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286d-e1fe-0848220013b9",
+ "createdByCommunicationIdentifier": {
+ "rawId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286d-e1fe-0848220013b9",
+ "communicationUser": {
+ "id": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286d-e1fe-0848220013b9"
+ }
+ },
+ "properties": {
+ "topic": "Chat about new commuication services"
+ },
+ "members": [
+ {
+ "displayName": "Bob",
+ "memberId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286d-e1fe-0848220013b9"
+ },
+ {
+ "displayName": "John",
+ "memberId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-289b-07fd-0848220015ea"
+ }
+ ],
+ "participants": [
+ {
+ "displayName": "Bob",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286d-e1fe-0848220013b9",
+ "communicationUser": {
+ "id": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286d-e1fe-0848220013b9"
+ }
+ }
+ },
+ {
+ "displayName": "John",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-289b-07fd-0848220015ea",
+ "communicationUser": {
+ "id": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-289b-07fd-0848220015ea"
+ }
+ }
+ }
+ ],
+ "createTime": "2021-02-18T23:47:26.91Z",
+ "version": 1613692046910,
+ "recipientId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286e-84f5-08482200181c",
+ "recipientCommunicationIdentifier": {
+ "rawId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286e-84f5-08482200181c",
+ "communicationUser": {
+ "id": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-576c-286e-84f5-08482200181c"
+ }
+ },
+ "transactionId": "zbZt+9h/N0em+XCW2QvyIA.1.1.1.1.1737228330.0.1737490483.1.6",
+ "threadId": "19:1d594fb1eeb14566903cbc5decb5bf5b@thread.v2"
+ },
+ "eventType": "Microsoft.Communication.ChatThreadCreatedWithUser",
+ "dataVersion": "1.0",
+ "metadataVersion": "1",
+ "eventTime": "2021-02-18T23:47:34.7437103Z"
+ }
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_deleted.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_deleted.json
new file mode 100644
index 000000000000..ab4faf4c8ebe
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_deleted.json
@@ -0,0 +1,22 @@
+{
+ "id": "1dbd5237-4823-4fed-980c-8d27c17cf5b0",
+ "topic": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/deletedBy/{rawId}",
+ "data": {
+ "deletedByCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5c9e-a300-07fd-084822002266",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5c9e-a300-07fd-084822002266"
+ }
+ },
+ "deleteTime": "2021-02-20T00:00:42.109802+00:00",
+ "createTime": "2021-02-20T00:00:39.947+00:00",
+ "version": 1613779241389,
+ "threadId": "19:c9e9f3060b884e448671391882066ac3@thread.v2",
+ "transactionId": "KibptDpcLEeEFnlR7cI3QA.1.1.2.1.848298005.1"
+ },
+ "eventType": "Microsoft.Communication.ChatThreadDeleted",
+ "dataVersion": "1.0",
+ "metadataVersion": "1",
+ "eventTime": "2021-02-20T00:00:42.5428002Z"
+ }
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_participant_added.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_participant_added.json
new file mode 100644
index 000000000000..84ad515279d8
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_participant_added.json
@@ -0,0 +1,31 @@
+{
+ "id": "3024eb5d-1d71-49d1-878c-7dc3165433d9",
+ "topic": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/participantadded/{rawId}",
+ "data": {
+ "time": "2021-02-20T00:54:42.8622646+00:00",
+ "addedByCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453"
+ }
+ },
+ "participantAdded": {
+ "displayName": "Bob",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38f3-88f7-084822002454",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38f3-88f7-084822002454"
+ }
+ }
+ },
+ "createTime": "2021-02-20T00:31:54.365+00:00",
+ "version": 1613782482822,
+ "threadId": "19:e07c8ddc5bab4c059ea9f11d29b544b6@thread.v2",
+ "transactionId": "9q6cO7i4FkaZ+5RRVzshVw.1.1.1.1.974913783.1"
+ },
+ "eventType": "Microsoft.Communication.ChatThreadParticipantAdded",
+ "dataVersion": "1.0",
+ "metadataVersion": "1",
+ "eventTime": "2021-02-20T00:54:43.9866454Z"
+ }
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_participant_removed.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_participant_removed.json
new file mode 100644
index 000000000000..0036c16ad74f
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_participant_removed.json
@@ -0,0 +1,31 @@
+{
+ "id": "6ed810fd-8776-4b13-81c2-1a0c4f791a07",
+ "topic": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/participantremoved/{rawId}",
+ "data": {
+ "time": "2021-02-20T00:56:18.1118825+00:00",
+ "removedByCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38a0-88f7-084822002453"
+ }
+ },
+ "participantRemoved": {
+ "displayName": "Shawn",
+ "participantCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38e6-07fd-084822002467",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5cbb-38e6-07fd-084822002467"
+ }
+ }
+ },
+ "createTime": "2021-02-20T00:31:54.365+00:00",
+ "version": 1613782578096,
+ "threadId": "19:e07c8ddc5bab4c059ea9f11d29b544b6@thread.v2",
+ "transactionId": "zGCq8IGRr0aEF6COuy7wSA.1.1.1.1.978649284.1"
+ },
+ "eventType": "Microsoft.Communication.ChatThreadParticipantRemoved",
+ "dataVersion": "1.0",
+ "metadataVersion": "1",
+ "eventTime": "2021-02-20T00:56:18.856721Z"
+ }
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_properties_updated.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_properties_updated.json
new file mode 100644
index 000000000000..a3b0ea8c220b
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_properties_updated.json
@@ -0,0 +1,25 @@
+{
+ "id": "cf867580-9caf-45be-b49f-ab1cbfcaa59f",
+ "topic": "/subscriptions/{subscription-id}/resourcegroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/editedBy/{rawId}",
+ "data": {
+ "editedByCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5c9e-9e35-07fd-084822002264",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-5c9e-9e35-07fd-084822002264"
+ }
+ },
+ "editTime": "2021-02-20T00:04:07.7152073+00:00",
+ "properties": {
+ "topic": "Talk about new Thread Events in commuication services"
+ },
+ "createTime": "2021-02-20T00:00:40.126+00:00",
+ "version": 1613779447695,
+ "threadId": "19:9e8eefe67b3c470a8187b4c2b00240bc@thread.v2",
+ "transactionId": "GBE9MB2a40KEWzexIg0D3A.1.1.1.1.856359041.1"
+ },
+ "eventType": "Microsoft.Communication.ChatThreadPropertiesUpdated",
+ "dataVersion": "1.0",
+ "metadataVersion": "1",
+ "eventTime": "2021-02-20T00:04:07.8410277Z"
+ }
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_properties_updated_per_user.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_properties_updated_per_user.json
new file mode 100644
index 000000000000..036e97e6f3a7
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_properties_updated_per_user.json
@@ -0,0 +1,33 @@
+{
+ "id": "d57342ff-264e-4a5e-9c54-ef05b7d50082",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/editedBy/{rawId}/recipient/{rawId}",
+ "data": {
+ "editedBy": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d07-83fe-084822000f6e",
+ "editedByCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d07-83fe-084822000f6e",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7d07-83fe-084822000f6e"
+ }
+ },
+ "editTime": "2021-02-19T00:28:28.7390282Z",
+ "properties": {
+ "topic": "Communication in Azure"
+ },
+ "createTime": "2021-02-19T00:28:25.864Z",
+ "version": 1613694508719,
+ "recipientId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724",
+ "recipientCommunicationIdentifier": {
+ "rawId": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724",
+ "communicationUser": {
+ "id": "8:acs:109f0644-b956-4cd9-87b1-71024f6e2f44_00000008-578d-7caf-07fd-084822001724"
+ }
+ },
+ "transactionId": "WLXPrnJ/I0+LTj2cwMrNMQ.1.1.1.1.1833369763.1.4",
+ "threadId": "19:2cc3504c41244d7483208a4f58a1f188@thread.v2"
+ },
+ "eventType": "Microsoft.Communication.ChatThreadPropertiesUpdatedPerUser",
+ "dataVersion": "1.0",
+ "metadataVersion": "1",
+ "eventTime": "2021-02-19T00:28:29.559726Z"
+ }
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_with_user_deleted.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_with_user_deleted.json
new file mode 100644
index 000000000000..00d33b3120b1
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/chat_thread_with_user_deleted.json
@@ -0,0 +1,30 @@
+{
+ "id": "f5d6750c-c6d7-4da8-bb05-6f3fca6c7295",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/Microsoft.Communication/communicationServices/{communication-services-resource-name}",
+ "subject": "thread/{thread-id}/deletedBy/{rawId}/recipient/{rawId}",
+ "data": {
+ "deletedBy": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-5772-6473-83fe-084822000e21",
+ "deletedByCommunicationIdentifier": {
+ "rawId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-5772-6473-83fe-084822000e21",
+ "communicationUser": {
+ "id": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-5772-6473-83fe-084822000e21"
+ }
+ },
+ "deleteTime": "2021-02-18T23:57:51.5987591Z",
+ "createTime": "2021-02-18T23:54:15.683Z",
+ "version": 1613692578672,
+ "recipientId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-5772-647b-e1fe-084822001416",
+ "recipientCommunicationIdentifier": {
+ "rawId": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-5772-647b-e1fe-084822001416",
+ "communicationUser": {
+ "id": "8:acs:3d703c91-9657-4b3f-b19c-ef9d53f99710_00000008-5772-647b-e1fe-084822001416"
+ }
+ },
+ "transactionId": "mrliWVUndEmLwkZbeS5KoA.1.1.2.1.1761607918.1.6",
+ "threadId": "19:5870b8f021d74fd786bf5aeb095da291@thread.v2"
+ },
+ "eventType": "Microsoft.Communication.ChatThreadWithUserDeleted",
+ "dataVersion": "1.0",
+ "metadataVersion": "1",
+ "eventTime": "2021-02-18T23:57:52.1597234Z"
+ }
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/recording_file_status_updated.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/recording_file_status_updated.json
new file mode 100644
index 000000000000..dc114045a625
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/recording_file_status_updated.json
@@ -0,0 +1,25 @@
+{
+ "id": "7283825e-f8f1-4c61-a9ea-752c56890500",
+ "topic": "/subscriptions/{subscription-id}/resourcegroups/}{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "/recording/call/{call-id}/recordingId/{recording-id}",
+ "data": {
+ "recordingStorageInfo": {
+ "recordingChunks": [
+ {
+ "documentId": "0-eus-d12-801b3f3fc462fe8a01e6810cbff729b8",
+ "index": 0,
+ "endReason": "SessionEnded",
+ "contentLocation": "https://storage.asm.skype.com/v1/objects/0-eus-d12-801b3f3fc462fe8a01e6810cbff729b8/content/video",
+ "metadataLocation": "https://storage.asm.skype.com/v1/objects/0-eus-d12-801b3f3fc462fe8a01e6810cbff729b8/content/acsmetadata"
+ }
+ ]
+ },
+ "recordingStartTime": "2021-07-27T15:20:23.6089755Z",
+ "recordingDurationMs": 6620,
+ "sessionEndReason": "CallEnded"
+ },
+ "eventType": "Microsoft.Communication.RecordingFileStatusUpdated",
+ "dataVersion": "1.0",
+ "metadataVersion": "1",
+ "eventTime": "2021-07-27T15:20:34.2199328Z"
+ }
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/sms_delivery_report_received.json b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/sms_delivery_report_received.json
new file mode 100644
index 000000000000..7dc5912be070
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/sms_delivery_report_received.json
@@ -0,0 +1,24 @@
+{
+ "id": "Outgoing_202009180022138813a09b-0cbf-4304-9b03-1546683bb910",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{group-name}/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "/phonenumber/15555555555",
+ "data": {
+ "MessageId": "Outgoing_202009180022138813a09b-0cbf-4304-9b03-1546683bb910",
+ "From": "15555555555",
+ "To": "+15555555555",
+ "DeliveryStatus": "Delivered",
+ "DeliveryStatusDetails": "No error.",
+ "ReceivedTimestamp": "2020-09-18T00:22:20.2855749Z",
+ "DeliveryAttempts": [
+ {
+ "Timestamp": "2020-09-18T00:22:14.9315918Z",
+ "SegmentsSucceeded": 1,
+ "SegmentsFailed": 0
+ }
+ ]
+ },
+ "eventType": "Microsoft.Communication.SMSDeliveryReportReceived",
+ "dataVersion": "1.0",
+ "metadataVersion": "1",
+ "eventTime": "2020-09-18T00:22:20Z"
+}
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/sms_received b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/sms_received
new file mode 100644
index 000000000000..f75e062e2f43
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Communication/stable/2018-01-01/examples/sms_received
@@ -0,0 +1,16 @@
+{
+ "id": "Incoming_20200918002745d29ebbea-3341-4466-9690-0a03af35228e",
+ "topic": "/subscriptions/50ad1522-5c2c-4d9a-a6c8-67c11ecb75b8/resourcegroups/acse2e/providers/microsoft.communication/communicationservices/{communication-services-resource-name}",
+ "subject": "/phonenumber/15555555555",
+ "data": {
+ "MessageId": "Incoming_20200918002745d29ebbea-3341-4466-9690-0a03af35228e",
+ "From": "15555555555",
+ "To": "15555555555",
+ "Message": "Great to connect with ACS events",
+ "ReceivedTimestamp": "2020-09-18T00:27:45.32Z"
+ },
+ "eventType": "Microsoft.Communication.SMSReceived",
+ "dataVersion": "1.0",
+ "metadataVersion": "1",
+ "eventTime": "2020-09-18T00:27:47Z"
+}
\ No newline at end of file
diff --git a/specification/eventgrid/data-plane/Microsoft.ContainerRegistry/stable/2018-01-01/examples/chart_deleted.json b/specification/eventgrid/data-plane/Microsoft.ContainerRegistry/stable/2018-01-01/examples/chart_deleted.json
new file mode 100644
index 000000000000..177ccc858fb0
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.ContainerRegistry/stable/2018-01-01/examples/chart_deleted.json
@@ -0,0 +1,23 @@
+{
+ "id": "39136b3a-1a7e-416f-a09e-5c85d5402fca",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.ContainerRegistry/registries/{name}",
+ "subject": "mychart:1.0.0",
+ "eventType": "Microsoft.ContainerRegistry.ChartDeleted",
+ "eventTime": "019-03-12T22:42:08.7034064Z",
+ "data": {
+ "id":"ea3a9c28-5b17-40f6-a500-3f02b682927",
+ "timestamp":"2019-03-12T22:42:08.3783775+00:00",
+ "action":"chart_delete",
+ "target":{
+ "mediaType":"application/vnd.acr.helm.chart",
+ "size":25265,
+ "digest":"sha256:7f060075264b5ba7c14c23672698152ae6a3ebac1c47916e4efe19cd624d5fab",
+ "repository":"repo",
+ "tag":"mychart-1.0.0.tgz",
+ "name":"mychart",
+ "version":"1.0.0"
+ }
+ },
+ "dataVersion": "1.0",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.ContainerRegistry/stable/2018-01-01/examples/chart_pushed.json b/specification/eventgrid/data-plane/Microsoft.ContainerRegistry/stable/2018-01-01/examples/chart_pushed.json
new file mode 100644
index 000000000000..a1e8dfa86088
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.ContainerRegistry/stable/2018-01-01/examples/chart_pushed.json
@@ -0,0 +1,23 @@
+{
+ "id": "ea3a9c28-5b17-40f6-a500-3f02b6829277",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.ContainerRegistry/registries/{name}",
+ "subject": "mychart:1.0.0",
+ "eventType": "Microsoft.ContainerRegistry.ChartPushed",
+ "eventTime": "2019-03-12T22:16:31.5164086Z",
+ "data": {
+ "id":"ea3a9c28-5b17-40f6-a500-3f02b682927",
+ "timestamp":"2019-03-12T22:16:31.0087496+00:00",
+ "action":"chart_push",
+ "target":{
+ "mediaType":"application/vnd.acr.helm.chart",
+ "size":25265,
+ "digest":"sha256:7f060075264b5ba7c14c23672698152ae6a3ebac1c47916e4efe19cd624d5fab",
+ "repository":"repo",
+ "tag":"mychart-1.0.0.tgz",
+ "name":"mychart",
+ "version":"1.0.0"
+ }
+ },
+ "dataVersion": "1.0",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.ContainerService/stable/2018-01-01/examples/new_kubernetes_version_available.json b/specification/eventgrid/data-plane/Microsoft.ContainerService/stable/2018-01-01/examples/new_kubernetes_version_available.json
new file mode 100644
index 000000000000..84f951523b27
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.ContainerService/stable/2018-01-01/examples/new_kubernetes_version_available.json
@@ -0,0 +1,15 @@
+{
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.ContainerService/managedClusters/{cluster}",
+ "subject": "{cluster}",
+ "eventType": "Microsoft.ContainerService.NewKubernetesVersionAvailable",
+ "id": "1234567890abcdef1234567890abcdef12345678",
+ "data": {
+ "latestSupportedKubernetesVersion": "1.20.7",
+ "latestStableKubernetesVersion": "1.19.11",
+ "lowestMinorKubernetesVersion": "1.18.19",
+ "latestPreviewKubernetesVersion": "1.21.1"
+ },
+ "dataVersion": "1",
+ "metadataVersion": "1",
+ "eventTime": "2021-07-01T04:52:57.0000000Z"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/examples/device_connected.json b/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/examples/device_connected.json
new file mode 100644
index 000000000000..ba9327545ff1
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/examples/device_connected.json
@@ -0,0 +1,18 @@
+{
+ "id": "f6bbf8f4-d365-520d-a878-17bf7238abd8",
+ "topic": "/SUBSCRIPTIONS/{subscription-id}/RESOURCEGROUPS{resource-group}/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/{hub—name}",
+ "subject": "devices/LogicAppTestDevice",
+ "eventType": "Microsoft.Devices.DeviceConnected",
+ "eventTime": "2018-06-02T19:17:44.4383997Z",
+ "data": {
+ "deviceConnectionStateEventInfo": {
+ "sequenceNumber":
+ "000000000000000001D4132452F67CE200000002000000000000000000000001"
+ },
+ "hubName": "egtesthub1",
+ "deviceId": "LogicAppTestDevice",
+ "moduleId" : "DeviceModuleID"
+ },
+ "dataVersion": "1",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/examples/device_created.json b/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/examples/device_created.json
new file mode 100644
index 000000000000..1e128d72bf30
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/examples/device_created.json
@@ -0,0 +1,43 @@
+{
+ "id": "56afc886-767b-d359-d59e-0da7877166b2",
+ "topic": "/SUBSCRIPTIONS/{subscription-ID}/RESOURCEGROUPS/{resource-group}/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/{hub-name}",
+ "subject": "devices/LogicAppTestDevice",
+ "eventType": "Microsoft.Devices.DeviceCreated",
+ "eventTime": "2018-01-02T19:17:44.4383997Z",
+ "data": {
+ "twin": {
+ "deviceId": "LogicAppTestDevice",
+ "etag": "AAAAAAAAAAE=",
+ "deviceEtag": "null",
+ "status": "enabled",
+ "statusUpdateTime": "0001-01-01T00:00:00",
+ "connectionState": "Disconnected",
+ "lastActivityTime": "0001-01-01T00:00:00",
+ "cloudToDeviceMessageCount": 0,
+ "authenticationType": "sas",
+ "x509Thumbprint": {
+ "primaryThumbprint": null,
+ "secondaryThumbprint": null
+ },
+ "version": 2,
+ "properties": {
+ "desired": {
+ "$metadata": {
+ "$lastUpdated": "2018-01-02T19:17:44.4383997Z"
+ },
+ "$version": 1
+ },
+ "reported": {
+ "$metadata": {
+ "$lastUpdated": "2018-01-02T19:17:44.4383997Z"
+ },
+ "$version": 1
+ }
+ }
+ },
+ "hubName": "egtesthub1",
+ "deviceId": "LogicAppTestDevice"
+ },
+ "dataVersion": "1",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/examples/device_telemetry.json b/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/examples/device_telemetry.json
new file mode 100644
index 000000000000..c3ef1d1545bb
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Devices/stable/2018-01-01/examples/device_telemetry.json
@@ -0,0 +1,29 @@
+{
+ "id": "9af86784-8d40-fe2g-8b2a-bab65e106785",
+ "topic": "/SUBSCRIPTIONS/{subscription-ID}/RESOURCEGROUPS/{resource-group}/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/{hub-name}",
+ "subject": "devices/LogicAppTestDevice",
+ "eventType": "Microsoft.Devices.DeviceTelemetry",
+ "eventTime": "2019-01-07T20:58:30.48Z",
+ "data": {
+ "body": {
+ "Weather": {
+ "Temperature": 900
+ },
+ "Location": "USA"
+ },
+ "properties": {
+ "Status": "Active"
+ },
+ "systemProperties": {
+ "iothub-content-type": "application/json",
+ "iothub-content-encoding": "utf-8",
+ "iothub-connection-device-id": "d1",
+ "iothub-connection-auth-method": "{\"scope\":\"device\",\"type\":\"sas\",\"issuer\":\"iothub\",\"acceptingIpFilterRule\":null}",
+ "iothub-connection-auth-generation-id": "123455432199234570",
+ "iothub-enqueuedtime": "2019-01-07T20:58:30.48Z",
+ "iothub-message-source": "Telemetry"
+ }
+ },
+ "dataVersion": "",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.EventHub/stable/2018-01-01/examples/capture_file_created.json b/specification/eventgrid/data-plane/Microsoft.EventHub/stable/2018-01-01/examples/capture_file_created.json
new file mode 100644
index 000000000000..e001b678cc2e
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.EventHub/stable/2018-01-01/examples/capture_file_created.json
@@ -0,0 +1,20 @@
+{
+ "topic": "/subscriptions/{guid}/resourcegroups/rgDataMigrationSample/providers/Microsoft.EventHub/namespaces/tfdatamigratens",
+ "subject": "eventhubs/hubdatamigration",
+ "eventType": "Microsoft.EventHub.CaptureFileCreated",
+ "eventTime": "2017-08-31T19:12:46.0498024Z",
+ "id": "14e87d03-6fbf-4bb2-9a21-92bd1281f247",
+ "data": {
+ "fileUrl": "https://tf0831datamigrate.blob.core.windows.net/windturbinecapture/tfdatamigratens/hubdatamigration/1/2017/08/31/19/11/45.avro",
+ "fileType": "AzureBlockBlob",
+ "partitionId": "1",
+ "sizeInBytes": 249168,
+ "eventCount": 1500,
+ "firstSequenceNumber": 2400,
+ "lastSequenceNumber": 3899,
+ "firstEnqueueTime": "2017-08-31T19:12:14.674Z",
+ "lastEnqueueTime": "2017-08-31T19:12:44.309Z"
+ },
+ "dataVersion": "",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/examples/secret_new_version_created.json b/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/examples/secret_new_version_created.json
new file mode 100644
index 000000000000..b89c8e6daf27
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/examples/secret_new_version_created.json
@@ -0,0 +1,18 @@
+{
+ "id":"00eccf70-95a7-4e7c-8299-2eb17ee9ad64",
+ "topic":"/subscriptions/{subscription-id}/resourceGroups/sample-rg/providers/Microsoft.KeyVault/vaults/sample-kv",
+ "subject":"newsecret",
+ "eventType":"Microsoft.KeyVault.SecretNewVersionCreated",
+ "eventTime":"2019-07-25T01:08:33.1036736Z",
+ "data":{
+ "Id":"https://sample-kv.vault.azure.net/secrets/newsecret/ee059b2bb5bc48398a53b168c6cdcb10",
+ "VaultName":"sample-kv",
+ "ObjectType":"Secret",
+ "ObjectName":"newsecret",
+ "Version":"ee059b2bb5bc48398a53b168c6cdcb10",
+ "NBF":"1559081980",
+ "EXP":"1559082102"
+ },
+ "dataVersion":"1",
+ "metadataVersion":"1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/dataset_drift_detected.json b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/dataset_drift_detected.json
new file mode 100644
index 000000000000..c5b5b0ecffc7
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/dataset_drift_detected.json
@@ -0,0 +1,19 @@
+{
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-name}",
+ "subject": "datadrifts/{}/runs/{}",
+ "eventType": "Microsoft.MachineLearningServices.DatasetDriftDetected",
+ "eventTime": "2017-06-26T18:41:00.9584103Z",
+ "id": "831e1650-001e-001b-66ab-eeb76e069631",
+ "data": {
+ "DataDriftId": "01d29aa4-e6a4-470a-9ef3-66660d21f8ef",
+ "DataDriftName": "myDriftMonitor",
+ "RunId": "01d29aa4-e6a4-470a-9ef3-66660d21f8ef_1571590300380",
+ "BaseDatasetId": "3c56d136-0f64-4657-a0e8-5162089a88a3",
+ "TargetDatasetId": "d7e74d2e-c972-4266-b5fb-6c9c182d2a74",
+ "DriftCoefficient": 0.83503490684792081,
+ "StartTime": "2019-07-04T00:00:00+00:00",
+ "EndTime": "2019-07-05T00:00:00+00:00"
+ },
+ "dataVersion": "",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/model_deployed.json b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/model_deployed.json
new file mode 100644
index 000000000000..c81a40f6877f
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/model_deployed.json
@@ -0,0 +1,21 @@
+{
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-name}",
+ "subject": "endpoints/my-sklearn-service",
+ "eventType": "Microsoft.MachineLearningServices.ModelDeployed",
+ "eventTime": "2017-06-26T18:41:00.9584103Z",
+ "id": "831e1650-001e-001b-66ab-eeb76e069631",
+ "data": {
+ "ServiceName": "my-sklearn-service",
+ "ServiceComputeType": "ACI",
+ "ModelIds": "sklearn_regression_model:1,sklearn_regression_model:2",
+ "ServiceTags": {
+ "area": "diabetes",
+ "type": "regression"
+ },
+ "ServiceProperties": {
+ "type": "test"
+ }
+ },
+ "dataVersion": "",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/model_registered.json b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/model_registered.json
new file mode 100644
index 000000000000..550b849d06dc
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/model_registered.json
@@ -0,0 +1,20 @@
+{
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-name}",
+ "subject": "models/sklearn_regression_model:20",
+ "eventType": "Microsoft.MachineLearningServices.ModelRegistered",
+ "eventTime": "2017-06-26T18:41:00.9584103Z",
+ "id": "831e1650-001e-001b-66ab-eeb76e069631",
+ "data": {
+ "ModelName": "sklearn_regression_model",
+ "ModelVersion": 20,
+ "ModelTags": {
+ "area": "diabetes",
+ "type": "regression"
+ },
+ "ModelProperties": {
+ "type": "test"
+ }
+ },
+ "dataVersion": "",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/run_completed.json b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/run_completed.json
new file mode 100644
index 000000000000..73e1f074d8ef
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/run_completed.json
@@ -0,0 +1,31 @@
+{
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-name}",
+ "subject": "experiments/0fa9dfaa-cba3-4fa7-b590-23e48548f5c1/runs/AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5",
+ "eventType": "Microsoft.MachineLearningServices.RunCompleted",
+ "eventTime": "2017-06-26T18:41:00.9584103Z",
+ "id": "831e1650-001e-001b-66ab-eeb76e069631",
+ "data": {
+ "experimentId": "0fa9dfaa-cba3-4fa7-b590-23e48548f5c1",
+ "experimentName": "automl-local-regression",
+ "runId": "AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5",
+ "runType": null,
+ "runTags": {},
+ "runProperties": {
+ "runTemplate": "automl_child",
+ "pipeline_id": "5adc0a4fe02504a586f09a4fcbb241f9a4012062",
+ "pipeline_spec": "{\"objects\": [{\"class_name\": \"StandardScaler\", \"module\": \"sklearn.preprocessing\", \"param_args\": [], \"param_kwargs\": {\"with_mean\": true, \"with_std\": false}, \"prepared_kwargs\": {}, \"spec_class\": \"preproc\"}, {\"class_name\": \"LassoLars\", \"module\": \"sklearn.linear_model\", \"param_args\": [], \"param_kwargs\": {\"alpha\": 0.001, \"normalize\": true}, \"prepared_kwargs\": {}, \"spec_class\": \"sklearn\"}], \"pipeline_id\": \"5adc0a4fe02504a586f09a4fcbb241f9a4012062\"}",
+ "training_percent": "100",
+ "predicted_cost": "0.062226144097381045",
+ "iteration": "5",
+ "run_template": "automl_child",
+ "run_preprocessor": "StandardScalerWrapper",
+ "run_algorithm": "LassoLars",
+ "conda_env_data_location": "aml://artifact/ExperimentRun/dcid.AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5/outputs/conda_env_v_1_0_0.yml",
+ "model_name": "AutoMLad912b2d65",
+ "scoring_data_location": "aml://artifact/ExperimentRun/dcid.AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5/outputs/scoring_file_v_1_0_0.py",
+ "model_data_location": "aml://artifact/ExperimentRun/dcid.AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5/outputs/model.pkl"
+ }
+ },
+ "dataVersion": "",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/run_status_changed.json b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/run_status_changed.json
new file mode 100644
index 000000000000..47b618ea60b0
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.MachineLearningServices/stable/2018-01-01/examples/run_status_changed.json
@@ -0,0 +1,32 @@
+{
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.MachineLearningServices/workspaces/{workspace-name}",
+ "subject": "experiments/0fa9dfaa-cba3-4fa7-b590-23e48548f5c1/runs/AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5",
+ "eventType": "Microsoft.MachineLearningServices.RunStatusChanged",
+ "eventTime": "2017-06-26T18:41:00.9584103Z",
+ "id": "831e1650-001e-001b-66ab-eeb76e069631",
+ "data": {
+ "experimentId": "0fa9dfaa-cba3-4fa7-b590-23e48548f5c1",
+ "experimentName": "automl-local-regression",
+ "runId": "AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5",
+ "runType": null,
+ "runTags": {},
+ "runProperties": {
+ "runTemplate": "automl_child",
+ "pipeline_id": "5adc0a4fe02504a586f09a4fcbb241f9a4012062",
+ "pipeline_spec": "{\"objects\": [{\"class_name\": \"StandardScaler\", \"module\": \"sklearn.preprocessing\", \"param_args\": [], \"param_kwargs\": {\"with_mean\": true, \"with_std\": false}, \"prepared_kwargs\": {}, \"spec_class\": \"preproc\"}, {\"class_name\": \"LassoLars\", \"module\": \"sklearn.linear_model\", \"param_args\": [], \"param_kwargs\": {\"alpha\": 0.001, \"normalize\": true}, \"prepared_kwargs\": {}, \"spec_class\": \"sklearn\"}], \"pipeline_id\": \"5adc0a4fe02504a586f09a4fcbb241f9a4012062\"}",
+ "training_percent": "100",
+ "predicted_cost": "0.062226144097381045",
+ "iteration": "5",
+ "run_template": "automl_child",
+ "run_preprocessor": "StandardScalerWrapper",
+ "run_algorithm": "LassoLars",
+ "conda_env_data_location": "aml://artifact/ExperimentRun/dcid.AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5/outputs/conda_env_v_1_0_0.yml",
+ "model_name": "AutoMLad912b2d65",
+ "scoring_data_location": "aml://artifact/ExperimentRun/dcid.AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5/outputs/scoring_file_v_1_0_0.py",
+ "model_data_location": "aml://artifact/ExperimentRun/dcid.AutoML_ad912b2d-6467-4f32-a616-dbe4af6dd8fc_5/outputs/model.pkl"
+ },
+ "runStatus": "failed"
+ },
+ "dataVersion": "",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Maps/stable/2018-01-01/examples/geofence_entered.json b/specification/eventgrid/data-plane/Microsoft.Maps/stable/2018-01-01/examples/geofence_entered.json
new file mode 100644
index 000000000000..b2bbb65d26b8
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Maps/stable/2018-01-01/examples/geofence_entered.json
@@ -0,0 +1,26 @@
+{
+ "id":"7f8446e2-1ac7-4234-8425-303726ea3981",
+ "topic":"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Maps/accounts/{accountName}",
+ "subject":"/spatial/geofence/udid/{udid}/id/{eventId}",
+ "data":{
+ "geometries":[
+ {
+ "deviceId":"device_1",
+ "udId":"1a13b444-4acf-32ab-ce4e-9ca4af20b169",
+ "geometryId":"2",
+ "distance":-999.0,
+ "nearestLat":47.618786,
+ "nearestLon":-122.132151
+ }
+ ],
+ "expiredGeofenceGeometryId":[
+ ],
+ "invalidPeriodGeofenceGeometryId":[
+ ]
+ },
+ "eventType":"Microsoft.Maps.GeofenceEntered",
+ "eventTime":"2018-11-08T00:54:17.6408601Z",
+ "metadataVersion":"1",
+ "dataVersion":"1.0"
+
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Maps/stable/2018-01-01/examples/geofence_result.json b/specification/eventgrid/data-plane/Microsoft.Maps/stable/2018-01-01/examples/geofence_result.json
new file mode 100644
index 000000000000..176c8db3e613
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Maps/stable/2018-01-01/examples/geofence_result.json
@@ -0,0 +1,33 @@
+{
+ "id":"451675de-a67d-4929-876c-5c2bf0b2c000",
+"topic":"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Maps/accounts/{accountName}",
+ "subject":"/spatial/geofence/udid/{udid}/id/{eventId}",
+ "data":{
+ "geometries":[
+ {
+ "deviceId":"device_1",
+ "udId":"1a13b444-4acf-32ab-ce4e-9ca4af20b169",
+ "geometryId":"1",
+ "distance":999.0,
+ "nearestLat":47.609833,
+ "nearestLon":-122.148274
+ },
+ {
+ "deviceId":"device_1",
+ "udId":"1a13b444-4acf-32ab-ce4e-9ca4af20b169",
+ "geometryId":"2",
+ "distance":999.0,
+ "nearestLat":47.621954,
+ "nearestLon":-122.131841
+ }
+ ],
+ "expiredGeofenceGeometryId":[
+ ],
+ "invalidPeriodGeofenceGeometryId":[
+ ]
+ },
+ "eventType":"Microsoft.Maps.GeofenceResult",
+ "eventTime":"2018-11-08T00:52:08.0954283Z",
+ "metadataVersion":"1",
+ "dataVersion":"1.0"
+ }
diff --git a/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json b/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json
index 562ec0f4f744..d9123f79c767 100644
--- a/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json
+++ b/specification/eventgrid/data-plane/Microsoft.Media/stable/2018-01-01/MediaServices.json
@@ -944,7 +944,7 @@
}
},
"type": "object",
- "description": "Ingest heartbeat event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventIngestHeartbeatEventData event."
+ "description": "Ingest heartbeat event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventIngestHeartbeat event."
},
"MediaLiveEventTrackDiscontinuityDetectedEventData": {
"properties": {
@@ -1006,7 +1006,7 @@
"channelLatencyMs",
"latencyResultCode"
],
- "description": "Channel Archive heartbeat event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventChannelArchiveHeartbeatEventData event."
+ "description": "Channel Archive heartbeat event data. Schema of the data property of an EventGridEvent for a Microsoft.Media.LiveEventChannelArchiveHeartbeat event."
}
}
}
diff --git a/specification/eventgrid/data-plane/Microsoft.PolicyInsights/stable/2018-01-01/examples/policy_state_changed.json b/specification/eventgrid/data-plane/Microsoft.PolicyInsights/stable/2018-01-01/examples/policy_state_changed.json
new file mode 100644
index 000000000000..d0685ae86e04
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.PolicyInsights/stable/2018-01-01/examples/policy_state_changed.json
@@ -0,0 +1,18 @@
+{
+ "id": "5829794FCB5075FCF585476619577B5A5A30E52C84842CBD4E2AD73996714C4C",
+ "topic": "/subscriptions/{subscription-id}",
+ "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/{provider-namespace}/{resource-type}/{resource-name}",
+ "data": {
+ "timestamp": "2021-03-27T18:37:42.4496956Z",
+ "policyAssignmentId": "{policy-assignment-scope}/providers/microsoft.authorization/policyassignments/{policy-assignment-name}",
+ "policyDefinitionId": "{policy-definition-scope}/providers/microsoft.authorization/policydefinitions/{policy-definition-name}",
+ "policyDefinitionReferenceId": "",
+ "complianceState": "NonCompliant",
+ "subscriptionId": "{subscription-id}",
+ "complianceReasonCode": ""
+ },
+ "eventType": "Microsoft.PolicyInsights.PolicyStateChanged",
+ "eventTime": "2021-03-27T18:37:42.5241536Z",
+ "dataVersion": "1",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.PolicyInsights/stable/2018-01-01/examples/policy_state_created.json b/specification/eventgrid/data-plane/Microsoft.PolicyInsights/stable/2018-01-01/examples/policy_state_created.json
new file mode 100644
index 000000000000..7bdbdf8bc987
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.PolicyInsights/stable/2018-01-01/examples/policy_state_created.json
@@ -0,0 +1,18 @@
+{
+ "id": "5829794FCB5075FCF585476619577B5A5A30E52C84842CBD4E2AD73996714C4C",
+ "topic": "/subscriptions/{subscription-id}",
+ "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/{provider-namespace}/{resource-type}/{resource-name}",
+ "data": {
+ "timestamp": "2021-03-27T18:37:42.4496956Z",
+ "policyAssignmentId": "{policy-assignment-scope}/providers/microsoft.authorization/policyassignments/{policy-assignment-name}",
+ "policyDefinitionId": "{policy-definition-scope}/providers/microsoft.authorization/policydefinitions/{policy-definition-name}",
+ "policyDefinitionReferenceId": "",
+ "complianceState": "NonCompliant",
+ "subscriptionId": "{subscription-id}",
+ "complianceReasonCode": ""
+ },
+ "eventType": "Microsoft.PolicyInsights.PolicyStateCreated",
+ "eventTime": "2021-03-27T18:37:42.5241536Z",
+ "dataVersion": "1",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_action_cancel.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_action_cancel.json
new file mode 100644
index 000000000000..e46c3eceee0d
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_action_cancel.json
@@ -0,0 +1,51 @@
+{
+ "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
+ "eventType": "Microsoft.Resources.ResourceActionCancel",
+ "eventTime": "2018-10-08T22:46:22.6022559Z",
+ "id": "{ID}",
+ "data": {
+ "authorization": {
+ "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
+ "action": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action",
+ "evidence": {
+ "role": "Contributor",
+ "roleAssignmentScope": "/subscriptions/{subscription-id}",
+ "roleAssignmentId": "{ID}",
+ "roleDefinitionId": "{ID}",
+ "principalId": "{ID}",
+ "principalType": "ServicePrincipal"
+ }
+ },
+ "claims": {
+ "aud": "{audience-claim}",
+ "iss": "{issuer-claim}",
+ "iat": "{issued-at-claim}",
+ "nbf": "{not-before-claim}",
+ "exp": "{expiration-claim}",
+ "aio": "{token}",
+ "appid": "{ID}",
+ "appidacr": "2",
+ "http://schemas.microsoft.com/identity/claims/identityprovider": "{URL}",
+ "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}", "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
+ "uti": "{ID}",
+ "ver": "1.0"
+ },
+ "correlationId": "{ID}",
+ "httpRequest": {
+ "clientRequestId": "{ID}",
+ "clientIpAddress": "{IP-address}",
+ "method": "POST",
+ "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey/listKeys?api-version=2017-04-01"
+ },
+ "resourceProvider": "Microsoft.EventHub",
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
+ "operationName": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action",
+ "status": "Succeeded",
+ "subscriptionId": "{subscription-id}",
+ "tenantId": "{tenant-id}"
+ },
+ "dataVersion": "2",
+ "metadataVersion": "1",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_action_failure.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_action_failure.json
new file mode 100644
index 000000000000..7d2b274eba76
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_action_failure.json
@@ -0,0 +1,51 @@
+{
+ "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
+ "eventType": "Microsoft.Resources.ResourceActionFailure",
+ "eventTime": "2018-10-08T22:46:22.6022559Z",
+ "id": "{ID}",
+ "data": {
+ "authorization": {
+ "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
+ "action": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action",
+ "evidence": {
+ "role": "Contributor",
+ "roleAssignmentScope": "/subscriptions/{subscription-id}",
+ "roleAssignmentId": "{ID}",
+ "roleDefinitionId": "{ID}",
+ "principalId": "{ID}",
+ "principalType": "ServicePrincipal"
+ }
+ },
+ "claims": {
+ "aud": "{audience-claim}",
+ "iss": "{issuer-claim}",
+ "iat": "{issued-at-claim}",
+ "nbf": "{not-before-claim}",
+ "exp": "{expiration-claim}",
+ "aio": "{token}",
+ "appid": "{ID}",
+ "appidacr": "2",
+ "http://schemas.microsoft.com/identity/claims/identityprovider": "{URL}",
+ "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}", "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
+ "uti": "{ID}",
+ "ver": "1.0"
+ },
+ "correlationId": "{ID}",
+ "httpRequest": {
+ "clientRequestId": "{ID}",
+ "clientIpAddress": "{IP-address}",
+ "method": "POST",
+ "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey/listKeys?api-version=2017-04-01"
+ },
+ "resourceProvider": "Microsoft.EventHub",
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
+ "operationName": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action",
+ "status": "Succeeded",
+ "subscriptionId": "{subscription-id}",
+ "tenantId": "{tenant-id}"
+ },
+ "dataVersion": "2",
+ "metadataVersion": "1",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_action_success.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_action_success.json
new file mode 100644
index 000000000000..84b3b0c022b7
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_action_success.json
@@ -0,0 +1,51 @@
+{
+ "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
+ "eventType": "Microsoft.Resources.ResourceActionSuccess",
+ "eventTime": "2018-10-08T22:46:22.6022559Z",
+ "id": "{ID}",
+ "data": {
+ "authorization": {
+ "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
+ "action": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action",
+ "evidence": {
+ "role": "Contributor",
+ "roleAssignmentScope": "/subscriptions/{subscription-id}",
+ "roleAssignmentId": "{ID}",
+ "roleDefinitionId": "{ID}",
+ "principalId": "{ID}",
+ "principalType": "ServicePrincipal"
+ }
+ },
+ "claims": {
+ "aud": "{audience-claim}",
+ "iss": "{issuer-claim}",
+ "iat": "{issued-at-claim}",
+ "nbf": "{not-before-claim}",
+ "exp": "{expiration-claim}",
+ "aio": "{token}",
+ "appid": "{ID}",
+ "appidacr": "2",
+ "http://schemas.microsoft.com/identity/claims/identityprovider": "{URL}",
+ "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}", "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
+ "uti": "{ID}",
+ "ver": "1.0"
+ },
+ "correlationId": "{ID}",
+ "httpRequest": {
+ "clientRequestId": "{ID}",
+ "clientIpAddress": "{IP-address}",
+ "method": "POST",
+ "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey/listKeys?api-version=2017-04-01"
+ },
+ "resourceProvider": "Microsoft.EventHub",
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace}/AuthorizationRules/RootManageSharedAccessKey",
+ "operationName": "Microsoft.EventHub/namespaces/AuthorizationRules/listKeys/action",
+ "status": "Succeeded",
+ "subscriptionId": "{subscription-id}",
+ "tenantId": "{tenant-id}"
+ },
+ "dataVersion": "2",
+ "metadataVersion": "1",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_delete_cancel.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_delete_cancel.json
new file mode 100644
index 000000000000..e42153003e8e
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_delete_cancel.json
@@ -0,0 +1,61 @@
+{
+ "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "eventType": "Microsoft.Resources.ResourceDeleteCancel",
+ "eventTime": "2018-07-19T19:24:12.763881Z",
+ "id": "19a69642-1aad-4a96-a5ab-8d05494513ce",
+ "data": {
+ "authorization": {
+ "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "action": "Microsoft.Storage/storageAccounts/delete",
+ "evidence": {
+ "role": "Subscription Admin"
+ }
+ },
+ "claims": {
+ "aud": "{audience-claim}",
+ "iss": "{issuer-claim}",
+ "iat": "{issued-at-claim}",
+ "nbf": "{not-before-claim}",
+ "exp": "{expiration-claim}",
+ "_claim_names": "{\"groups\":\"src1\"}",
+ "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}",
+ "http://schemas.microsoft.com/claims/authnclassreference": "1",
+ "aio": "{token}",
+ "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa",
+ "appid": "{ID}",
+ "appidacr": "2",
+ "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}",
+ "e_exp": "262800",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}",
+ "ipaddr": "{IP-address}",
+ "name": "{full-name}",
+ "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
+ "onprem_sid": "{ID}",
+ "puid": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}",
+ "uti": "{ID}",
+ "ver": "1.0"
+ },
+ "correlationId": "{ID}",
+ "httpRequest": {
+ "clientRequestId": "{ID}",
+ "clientIpAddress": "{IP-address}",
+ "method": "DELETE",
+ "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}?api-version=2018-02-01"
+ },
+ "resourceProvider": "Microsoft.Storage",
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "operationName": "Microsoft.Storage/storageAccounts/delete",
+ "status": "Succeeded",
+ "subscriptionId": "{subscription-id}",
+ "tenantId": "{tenant-id}"
+ },
+ "dataVersion": "2",
+ "metadataVersion": "1",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_delete_failure.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_delete_failure.json
new file mode 100644
index 000000000000..2fab5049ef9e
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_delete_failure.json
@@ -0,0 +1,61 @@
+{
+ "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "eventType": "Microsoft.Resources.ResourceDeleteFailure",
+ "eventTime": "2018-07-19T19:24:12.763881Z",
+ "id": "19a69642-1aad-4a96-a5ab-8d05494513ce",
+ "data": {
+ "authorization": {
+ "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "action": "Microsoft.Storage/storageAccounts/delete",
+ "evidence": {
+ "role": "Subscription Admin"
+ }
+ },
+ "claims": {
+ "aud": "{audience-claim}",
+ "iss": "{issuer-claim}",
+ "iat": "{issued-at-claim}",
+ "nbf": "{not-before-claim}",
+ "exp": "{expiration-claim}",
+ "_claim_names": "{\"groups\":\"src1\"}",
+ "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}",
+ "http://schemas.microsoft.com/claims/authnclassreference": "1",
+ "aio": "{token}",
+ "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa",
+ "appid": "{ID}",
+ "appidacr": "2",
+ "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}",
+ "e_exp": "262800",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}",
+ "ipaddr": "{IP-address}",
+ "name": "{full-name}",
+ "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
+ "onprem_sid": "{ID}",
+ "puid": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}",
+ "uti": "{ID}",
+ "ver": "1.0"
+ },
+ "correlationId": "{ID}",
+ "httpRequest": {
+ "clientRequestId": "{ID}",
+ "clientIpAddress": "{IP-address}",
+ "method": "DELETE",
+ "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}?api-version=2018-02-01"
+ },
+ "resourceProvider": "Microsoft.Storage",
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "operationName": "Microsoft.Storage/storageAccounts/delete",
+ "status": "Succeeded",
+ "subscriptionId": "{subscription-id}",
+ "tenantId": "{tenant-id}"
+ },
+ "dataVersion": "2",
+ "metadataVersion": "1",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_delete_success.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_delete_success.json
new file mode 100644
index 000000000000..28e209216df1
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_delete_success.json
@@ -0,0 +1,61 @@
+{
+ "subject": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "eventType": "Microsoft.Resources.ResourceDeleteSuccess",
+ "eventTime": "2018-07-19T19:24:12.763881Z",
+ "id": "19a69642-1aad-4a96-a5ab-8d05494513ce",
+ "data": {
+ "authorization": {
+ "scope": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "action": "Microsoft.Storage/storageAccounts/delete",
+ "evidence": {
+ "role": "Subscription Admin"
+ }
+ },
+ "claims": {
+ "aud": "{audience-claim}",
+ "iss": "{issuer-claim}",
+ "iat": "{issued-at-claim}",
+ "nbf": "{not-before-claim}",
+ "exp": "{expiration-claim}",
+ "_claim_names": "{\"groups\":\"src1\"}",
+ "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}",
+ "http://schemas.microsoft.com/claims/authnclassreference": "1",
+ "aio": "{token}",
+ "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa",
+ "appid": "{ID}",
+ "appidacr": "2",
+ "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}",
+ "e_exp": "262800",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}",
+ "ipaddr": "{IP-address}",
+ "name": "{full-name}",
+ "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
+ "onprem_sid": "{ID}",
+ "puid": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}",
+ "uti": "{ID}",
+ "ver": "1.0"
+ },
+ "correlationId": "{ID}",
+ "httpRequest": {
+ "clientRequestId": "{ID}",
+ "clientIpAddress": "{IP-address}",
+ "method": "DELETE",
+ "url": "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}?api-version=2018-02-01"
+ },
+ "resourceProvider": "Microsoft.Storage",
+ "resourceUri": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "operationName": "Microsoft.Storage/storageAccounts/delete",
+ "status": "Succeeded",
+ "subscriptionId": "{subscription-id}",
+ "tenantId": "{tenant-id}"
+ },
+ "dataVersion": "2",
+ "metadataVersion": "1",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_write_cancel.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_write_cancel.json
new file mode 100644
index 000000000000..a61862355c7a
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_write_cancel.json
@@ -0,0 +1,55 @@
+{
+ "subject": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "eventType": "Microsoft.Resources.ResourceWriteCancel",
+ "eventTime": "2018-07-19T18:38:04.6117357Z",
+ "id": "4db48cba-50a2-455a-93b4-de41a3b5b7f6",
+ "data": {
+ "authorization": {
+ "scope": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "action": "Microsoft.Storage/storageAccounts/write",
+ "evidence": {
+ "role": "Subscription Admin"
+ }
+ },
+ "claims": {
+ "aud": "{audience-claim}",
+ "iss": "{issuer-claim}",
+ "iat": "{issued-at-claim}",
+ "nbf": "{not-before-claim}",
+ "exp": "{expiration-claim}",
+ "_claim_names": "{\"groups\":\"src1\"}",
+ "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}",
+ "http://schemas.microsoft.com/claims/authnclassreference": "1",
+ "aio": "{token}",
+ "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa",
+ "appid": "{ID}",
+ "appidacr": "2",
+ "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}",
+ "e_exp": "{expiration}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}",
+ "ipaddr": "{IP-address}",
+ "name": "{full-name}",
+ "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
+ "onprem_sid": "{ID}",
+ "puid": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}",
+ "uti": "{ID}",
+ "ver": "1.0"
+ },
+ "correlationId": "{ID}",
+ "resourceProvider": "Microsoft.Storage",
+ "resourceUri": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "operationName": "Microsoft.Storage/storageAccounts/write",
+ "status": "Succeeded",
+ "subscriptionId": "{subscription-id}",
+ "tenantId": "{tenant-id}"
+ },
+ "dataVersion": "2",
+ "metadataVersion": "1",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_write_failure.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_write_failure.json
new file mode 100644
index 000000000000..df42b7bc2126
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_write_failure.json
@@ -0,0 +1,55 @@
+{
+ "subject": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "eventType": "Microsoft.Resources.ResourceWriteFailure",
+ "eventTime": "2018-07-19T18:38:04.6117357Z",
+ "id": "4db48cba-50a2-455a-93b4-de41a3b5b7f6",
+ "data": {
+ "authorization": {
+ "scope": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "action": "Microsoft.Storage/storageAccounts/write",
+ "evidence": {
+ "role": "Subscription Admin"
+ }
+ },
+ "claims": {
+ "aud": "{audience-claim}",
+ "iss": "{issuer-claim}",
+ "iat": "{issued-at-claim}",
+ "nbf": "{not-before-claim}",
+ "exp": "{expiration-claim}",
+ "_claim_names": "{\"groups\":\"src1\"}",
+ "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}",
+ "http://schemas.microsoft.com/claims/authnclassreference": "1",
+ "aio": "{token}",
+ "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa",
+ "appid": "{ID}",
+ "appidacr": "2",
+ "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}",
+ "e_exp": "{expiration}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}",
+ "ipaddr": "{IP-address}",
+ "name": "{full-name}",
+ "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
+ "onprem_sid": "{ID}",
+ "puid": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}",
+ "uti": "{ID}",
+ "ver": "1.0"
+ },
+ "correlationId": "{ID}",
+ "resourceProvider": "Microsoft.Storage",
+ "resourceUri": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "operationName": "Microsoft.Storage/storageAccounts/write",
+ "status": "Succeeded",
+ "subscriptionId": "{subscription-id}",
+ "tenantId": "{tenant-id}"
+ },
+ "dataVersion": "2",
+ "metadataVersion": "1",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_write_success.json b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_write_success.json
new file mode 100644
index 000000000000..074c8ec080d9
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Resources/stable/2018-01-01/examples/resource_write_success.json
@@ -0,0 +1,55 @@
+{
+ "subject": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "eventType": "Microsoft.Resources.ResourceWriteSuccess",
+ "eventTime": "2018-07-19T18:38:04.6117357Z",
+ "id": "4db48cba-50a2-455a-93b4-de41a3b5b7f6",
+ "data": {
+ "authorization": {
+ "scope": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "action": "Microsoft.Storage/storageAccounts/write",
+ "evidence": {
+ "role": "Subscription Admin"
+ }
+ },
+ "claims": {
+ "aud": "{audience-claim}",
+ "iss": "{issuer-claim}",
+ "iat": "{issued-at-claim}",
+ "nbf": "{not-before-claim}",
+ "exp": "{expiration-claim}",
+ "_claim_names": "{\"groups\":\"src1\"}",
+ "_claim_sources": "{\"src1\":{\"endpoint\":\"{URI}\"}}",
+ "http://schemas.microsoft.com/claims/authnclassreference": "1",
+ "aio": "{token}",
+ "http://schemas.microsoft.com/claims/authnmethodsreferences": "rsa,mfa",
+ "appid": "{ID}",
+ "appidacr": "2",
+ "http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier": "{ID}",
+ "e_exp": "{expiration}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "{last-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "{first-name}",
+ "ipaddr": "{IP-address}",
+ "name": "{full-name}",
+ "http://schemas.microsoft.com/identity/claims/objectidentifier": "{ID}",
+ "onprem_sid": "{ID}",
+ "puid": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "{ID}",
+ "http://schemas.microsoft.com/identity/claims/tenantid": "{ID}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "{user-name}",
+ "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "{user-name}",
+ "uti": "{ID}",
+ "ver": "1.0"
+ },
+ "correlationId": "{ID}",
+ "resourceProvider": "Microsoft.Storage",
+ "resourceUri": "/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}",
+ "operationName": "Microsoft.Storage/storageAccounts/write",
+ "status": "Succeeded",
+ "subscriptionId": "{subscription-id}",
+ "tenantId": "{tenant-id}"
+ },
+ "dataVersion": "2",
+ "metadataVersion": "1",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/examples/active_messages_available_periodic_notifications.json b/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/examples/active_messages_available_periodic_notifications.json
new file mode 100644
index 000000000000..1ef32bc78bc2
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/examples/active_messages_available_periodic_notifications.json
@@ -0,0 +1,17 @@
+{
+ "topic": "/subscriptions/{subscription-id}/resourcegroups/DemoGroup/providers/Microsoft.ServiceBus/namespaces/{namespace}",
+ "subject": "topics/{topic}/subscriptions/{subscription}",
+ "eventType": "Microsoft.ServiceBus.ActiveMessagesAvailablePeriodicNotifications",
+ "eventTime": "2018-02-14T05:12:53.4133526Z",
+ "id": "dede87b0-3656-419c-acaf-70c95ddc60f5",
+ "data": {
+ "namespaceName": "{namespace}",
+ "requestUri": "https://{namespace}.servicebus.windows.net/{topic}/subscriptions/{subscription}/$deadletterqueue/messages/head",
+ "entityType": "subscriber",
+ "queueName": null,
+ "topicName": "{topic}",
+ "subscriptionName": "{subscription}"
+ },
+ "dataVersion": "1",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/examples/deadletter_messages_available_periodic_notification.json b/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/examples/deadletter_messages_available_periodic_notification.json
new file mode 100644
index 000000000000..97ad11d742cc
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/examples/deadletter_messages_available_periodic_notification.json
@@ -0,0 +1,17 @@
+{
+ "topic": "/subscriptions/{subscription-id}/resourcegroups/DemoGroup/providers/Microsoft.ServiceBus/namespaces/{namespace}",
+ "subject": "queues/{queue}",
+ "eventType": "Microsoft.ServiceBus.DeadletterMessagesAvailablePeriodicNotifications",
+ "eventTime": "2018-02-14T05:12:53.4133526Z",
+ "id": "dede87b0-3656-419c-acaf-70c95ddc60f5",
+ "data": {
+ "namespaceName": "{namespace}",
+ "requestUri": "https://{namespace}.servicebus.windows.net/{queue}/$deadletterqueue/messages/head",
+ "entityType": "subscriber",
+ "queueName": "{queue}",
+ "topicName": null,
+ "subscriptionName": null
+ },
+ "dataVersion": "1",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/examples/deadletter_messages_available_with_no_listeners.json b/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/examples/deadletter_messages_available_with_no_listeners.json
new file mode 100644
index 000000000000..5ea30a798664
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.ServiceBus/stable/2018-01-01/examples/deadletter_messages_available_with_no_listeners.json
@@ -0,0 +1,17 @@
+{
+ "topic": "/subscriptions/{subscription-id}/resourcegroups/{your-rg}/providers/Microsoft.ServiceBus/namespaces/{your-service-bus-namespace}",
+ "subject": "topics/{your-service-bus-topic}/subscriptions/{your-service-bus-subscription}",
+ "eventType": "Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListeners",
+ "eventTime": "2018-02-14T05:12:53.4133526Z",
+ "id": "dede87b0-3656-419c-acaf-70c95ddc60f5",
+ "data": {
+ "namespaceName": "YOUR SERVICE BUS NAMESPACE WILL SHOW HERE",
+ "requestUri": "https://{your-service-bus-namespace}.servicebus.windows.net/{your-topic}/subscriptions/{your-service-bus-subscription}/$deadletterqueue/messages/head",
+ "entityType": "subscriber",
+ "queueName": "QUEUE NAME IF QUEUE",
+ "topicName": "TOPIC NAME IF TOPIC",
+ "subscriptionName": "SUBSCRIPTION NAME"
+ },
+ "dataVersion": "1",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.SignalRService/stable/2018-01-01/examples/client_connection_connected.json b/specification/eventgrid/data-plane/Microsoft.SignalRService/stable/2018-01-01/examples/client_connection_connected.json
new file mode 100644
index 000000000000..7d7fca0e7c03
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.SignalRService/stable/2018-01-01/examples/client_connection_connected.json
@@ -0,0 +1,15 @@
+{
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/signalr-rg/providers/Microsoft.SignalRService/SignalR/signalr-resource",
+ "subject": "/hub/chat",
+ "eventType": "Microsoft.SignalRService.ClientConnectionConnected",
+ "eventTime": "2019-06-10T18:41:00.9584103Z",
+ "id": "831e1650-001e-001b-66ab-eeb76e069631",
+ "data": {
+ "timestamp": "2019-06-10T18:41:00.9584103Z",
+ "hubName": "chat",
+ "connectionId": "crH0uxVSvP61p5wkFY1x1A",
+ "userId": "user-eymwyo23"
+ },
+ "dataVersion": "1.0",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.SignalRService/stable/2018-01-01/examples/client_connection_disconnected.json b/specification/eventgrid/data-plane/Microsoft.SignalRService/stable/2018-01-01/examples/client_connection_disconnected.json
new file mode 100644
index 000000000000..33027c195350
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.SignalRService/stable/2018-01-01/examples/client_connection_disconnected.json
@@ -0,0 +1,16 @@
+{
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/signalr-rg/providers/Microsoft.SignalRService/SignalR/signalr-resource",
+ "subject": "/hub/chat",
+ "eventType": "Microsoft.SignalRService.ClientConnectionDisconnected",
+ "eventTime": "2019-06-10T18:41:00.9584103Z",
+ "id": "831e1650-001e-001b-66ab-eeb76e069631",
+ "data": {
+ "timestamp": "2019-06-10T18:41:00.9584103Z",
+ "hubName": "chat",
+ "connectionId": "crH0uxVSvP61p5wkFY1x1A",
+ "userId": "user-eymwyo23",
+ "errorMessage": "Internal server error."
+ },
+ "dataVersion": "1.0",
+ "metadataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_service_plan_updated.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_service_plan_updated.json
new file mode 100644
index 000000000000..f0cf28613e18
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_service_plan_updated.json
@@ -0,0 +1,29 @@
+{
+ "id": "56501672-9150-40e1-893a-18420c7fdbf7",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/serverfarms/{serverfarm-name}",
+ "subject": "/Microsoft.Web/serverfarms/{plan-name}",
+ "eventType": "Microsoft.Web.AppServicePlanUpdated",
+ "eventTime": "2020-01-28T18:22:23.5516004Z",
+ "data": {
+ "serverFarmEventTypeDetail": {
+ "stampKind": "Public",
+ "action": "Updated",
+ "status": "Started"
+ },
+ "serverFarmId": "0",
+ "sku": {
+ "name": "P1v2",
+ "tier": "PremiumV2",
+ "size": "P1v2",
+ "family": "Pv2",
+ "capacity": 1
+ },
+ "clientRequestId": "8f880321-a991-45c7-b743-6ff63fe4c004",
+ "correlationRequestId": "1995c3be-ba7f-4ccf-94af-516df637ec8a",
+ "requestId": "b973a8e6-6949-4783-b44c-ac778be831bb",
+ "address": "/websystems/WebSites/serverfarms/subscriptions/{subscription-id}/webspaces/{webspace-id}/serverfarms/{plan-name}/async",
+ "verb": "PUT"
+ },
+ "dataVersion": "1",
+ "metaDataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_updated_changed_app_settings.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_updated_changed_app_settings.json
new file mode 100644
index 000000000000..267c2d8c61f4
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_updated_changed_app_settings.json
@@ -0,0 +1,20 @@
+{
+ "id": "b74ea56b-2a3f-4de5-a5d7-38e60c81cf23",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "eventType": "Microsoft.Web.AppUpdated",
+ "eventTime": "2020-01-28T18:22:30.2760952Z",
+ "data": {
+ "appEventTypeDetail": {
+ "action": "Stopped"
+ },
+ "name": "{site-name}",
+ "clientRequestId": "64a5e0aa-7cee-4ff1-9093-b9197b820014",
+ "correlationRequestId": "25bb36a5-8f6c-4f04-b615-e9a0ee045756",
+ "requestId": "f2e8eb3f-b190-42de-b99e-6acefe587374",
+ "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/stop",
+ "verb": "POST"
+ },
+ "dataVersion": "1'",
+ "metaDataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_updated_restarted.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_updated_restarted.json
new file mode 100644
index 000000000000..267c2d8c61f4
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_updated_restarted.json
@@ -0,0 +1,20 @@
+{
+ "id": "b74ea56b-2a3f-4de5-a5d7-38e60c81cf23",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "eventType": "Microsoft.Web.AppUpdated",
+ "eventTime": "2020-01-28T18:22:30.2760952Z",
+ "data": {
+ "appEventTypeDetail": {
+ "action": "Stopped"
+ },
+ "name": "{site-name}",
+ "clientRequestId": "64a5e0aa-7cee-4ff1-9093-b9197b820014",
+ "correlationRequestId": "25bb36a5-8f6c-4f04-b615-e9a0ee045756",
+ "requestId": "f2e8eb3f-b190-42de-b99e-6acefe587374",
+ "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/stop",
+ "verb": "POST"
+ },
+ "dataVersion": "1'",
+ "metaDataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_updated_stopped.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_updated_stopped.json
new file mode 100644
index 000000000000..267c2d8c61f4
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/app_updated_stopped.json
@@ -0,0 +1,20 @@
+{
+ "id": "b74ea56b-2a3f-4de5-a5d7-38e60c81cf23",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "eventType": "Microsoft.Web.AppUpdated",
+ "eventTime": "2020-01-28T18:22:30.2760952Z",
+ "data": {
+ "appEventTypeDetail": {
+ "action": "Stopped"
+ },
+ "name": "{site-name}",
+ "clientRequestId": "64a5e0aa-7cee-4ff1-9093-b9197b820014",
+ "correlationRequestId": "25bb36a5-8f6c-4f04-b615-e9a0ee045756",
+ "requestId": "f2e8eb3f-b190-42de-b99e-6acefe587374",
+ "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/stop",
+ "verb": "POST"
+ },
+ "dataVersion": "1'",
+ "metaDataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/backup_operation_completed.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/backup_operation_completed.json
new file mode 100644
index 000000000000..41d7c91085ec
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/backup_operation_completed.json
@@ -0,0 +1,20 @@
+{
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "eventType": "Microsoft.Web.BackupOperationCompleted",
+ "eventTime": "2020-01-28T18:26:51.7194887Z",
+ "data": {
+ "appEventTypeDetail": {
+ "action": "Started"
+ },
+ "name": "{site-name}",
+ "clientRequestId": "None",
+ "correlationRequestId": "None",
+ "requestId": "292f499d-04ee-4066-994d-c2df57b99198",
+ "address": "None",
+ "verb": "None"
+ },
+ "dataVersion": "1",
+ "metaDataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/backup_operation_failed.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/backup_operation_failed.json
new file mode 100644
index 000000000000..7e303597fc73
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/backup_operation_failed.json
@@ -0,0 +1,20 @@
+{
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "eventType": "Microsoft.Web.BackupOperationFailed",
+ "eventTime": "2020-01-28T18:26:51.7194887Z",
+ "data": {
+ "appEventTypeDetail": {
+ "action": "Started"
+ },
+ "name": "{site-name}",
+ "clientRequestId": "None",
+ "correlationRequestId": "None",
+ "requestId": "292f499d-04ee-4066-994d-c2df57b99198",
+ "address": "None",
+ "verb": "None"
+ },
+ "dataVersion": "1",
+ "metaDataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/backup_operation_started.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/backup_operation_started.json
new file mode 100644
index 000000000000..5c45e3cdbc83
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/backup_operation_started.json
@@ -0,0 +1,20 @@
+{
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "eventType": "Microsoft.Web.BackupOperationStarted",
+ "eventTime": "2020-01-28T18:26:51.7194887Z",
+ "data": {
+ "appEventTypeDetail": {
+ "action": "Started"
+ },
+ "name": "{site-name}",
+ "clientRequestId": "None",
+ "correlationRequestId": "None",
+ "requestId": "292f499d-04ee-4066-994d-c2df57b99198",
+ "address": "None",
+ "verb": "None"
+ },
+ "dataVersion": "1",
+ "metaDataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/restore_operation_completed.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/restore_operation_completed.json
new file mode 100644
index 000000000000..9c8cd1eb0c9e
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/restore_operation_completed.json
@@ -0,0 +1,21 @@
+
+{
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "eventType": "Microsoft.Web.RestoreOperationCompleted",
+ "eventTime": "2020-01-28T18:26:51.7194887Z",
+ "data": {
+ "appEventTypeDetail": {
+ "action": "Started"
+ },
+ "name": "{site-name}",
+ "clientRequestId": "None",
+ "correlationRequestId": "None",
+ "requestId": "292f499d-04ee-4066-994d-c2df57b99198",
+ "address": "None",
+ "verb": "POST"
+ },
+ "dataVersion": "1",
+ "metaDataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/restore_operation_failed.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/restore_operation_failed.json
new file mode 100644
index 000000000000..4ca60cd758a0
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/restore_operation_failed.json
@@ -0,0 +1,20 @@
+{
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "eventType": "Microsoft.Web.RestoreOperationFailed",
+ "eventTime": "2020-01-28T18:26:51.7194887Z",
+ "data": {
+ "appEventTypeDetail": {
+ "action": "Started"
+ },
+ "name": "{site-name}",
+ "clientRequestId": "None",
+ "correlationRequestId": "None",
+ "requestId": "292f499d-04ee-4066-994d-c2df57b99198",
+ "address": "None",
+ "verb": "POST"
+ },
+ "dataVersion": "1",
+ "metaDataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/restore_operation_started.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/restore_operation_started.json
new file mode 100644
index 000000000000..7014f0e7615d
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/restore_operation_started.json
@@ -0,0 +1,20 @@
+{
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "eventType": "Microsoft.Web.RestoreOperationStarted",
+ "eventTime": "2020-01-28T18:26:51.7194887Z",
+ "data": {
+ "appEventTypeDetail": {
+ "action": "Started"
+ },
+ "name": "{site-name}",
+ "clientRequestId": "None",
+ "correlationRequestId": "None",
+ "requestId": "292f499d-04ee-4066-994d-c2df57b99198",
+ "address": "None",
+ "verb": "POST"
+ },
+ "dataVersion": "1",
+ "metaDataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_completed.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_completed.json
new file mode 100644
index 000000000000..613a42f4210a
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_completed.json
@@ -0,0 +1,20 @@
+{
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "eventType": "Microsoft.Web.SlotSwapCompleted",
+ "eventTime": "2020-01-28T18:26:51.7194887Z",
+ "data": {
+ "appEventTypeDetail": null,
+ "name": "{site-name}",
+ "clientRequestId": "922f4841-20d9-4dd6-8c5b-23f0d85e5592",
+ "correlationRequestId": "9ac46505-2b8a-4e06-834c-05ffbe2e8c3a",
+ "requestId": "765117aa-eaf8-4bd2-a644-1dbf69c7b0fd",
+ "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/slots?Command=SWAP&targetSlot=production",
+ "verb": "POST",
+ "sourceSlot": "staging",
+ "targetSlot": "production"
+ },
+ "dataVersion": "1",
+ "metaDataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_failed.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_failed.json
new file mode 100644
index 000000000000..a5b17f1cad1d
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_failed.json
@@ -0,0 +1,20 @@
+{
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "eventType": "Microsoft.Web.SlotSwapFailed",
+ "eventTime": "2020-01-28T18:26:51.7194887Z",
+ "data": {
+ "appEventTypeDetail": null,
+ "name": "{site-name}",
+ "clientRequestId": "922f4841-20d9-4dd6-8c5b-23f0d85e5592",
+ "correlationRequestId": "9ac46505-2b8a-4e06-834c-05ffbe2e8c3a",
+ "requestId": "765117aa-eaf8-4bd2-a644-1dbf69c7b0fd",
+ "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/slots?Command=SWAP&targetSlot=production",
+ "verb": "POST",
+ "sourceSlot": "staging",
+ "targetSlot": "production"
+ },
+ "dataVersion": "1",
+ "metaDataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_started.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_started.json
new file mode 100644
index 000000000000..53bcbfcaf027
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_started.json
@@ -0,0 +1,20 @@
+{
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "eventType": "Microsoft.Web.SlotSwapStarted",
+ "eventTime": "2020-01-28T18:26:51.7194887Z",
+ "data": {
+ "appEventTypeDetail": null,
+ "name": "{site-name}",
+ "clientRequestId": "922f4841-20d9-4dd6-8c5b-23f0d85e5592",
+ "correlationRequestId": "9ac46505-2b8a-4e06-834c-05ffbe2e8c3a",
+ "requestId": "765117aa-eaf8-4bd2-a644-1dbf69c7b0fd",
+ "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/slots?Command=SWAP&targetSlot=production",
+ "verb": "POST",
+ "sourceSlot": "staging",
+ "targetSlot": "production"
+ },
+ "dataVersion": "1",
+ "metaDataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_with_preview_cancelled.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_with_preview_cancelled.json
new file mode 100644
index 000000000000..b4790f16671b
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_with_preview_cancelled.json
@@ -0,0 +1,20 @@
+{
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "eventType": "Microsoft.Web.SlotSwapWithPreviewCancelled",
+ "eventTime": "2020-01-28T18:26:51.7194887Z",
+ "data": {
+ "appEventTypeDetail": null,
+ "name": "{site-name}",
+ "clientRequestId": "922f4841-20d9-4dd6-8c5b-23f0d85e5592",
+ "correlationRequestId": "9ac46505-2b8a-4e06-834c-05ffbe2e8c3a",
+ "requestId": "765117aa-eaf8-4bd2-a644-1dbf69c7b0fd",
+ "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/slots?Command=SWAP&targetSlot=production",
+ "verb": "POST",
+ "sourceSlot": "staging",
+ "targetSlot": "production"
+ },
+ "dataVersion": "1",
+ "metaDataVersion": "1"
+}
diff --git a/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_with_preview_started.json b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_with_preview_started.json
new file mode 100644
index 000000000000..1b7b9d096aa5
--- /dev/null
+++ b/specification/eventgrid/data-plane/Microsoft.Web/stable/2018-01-01/examples/slot_swap_with_preview_started.json
@@ -0,0 +1,20 @@
+{
+ "id": "7c5d6de5-eb70-4de2-b788-c52a544e68b8",
+ "topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Web/sites/{site-name}",
+ "subject": "/Microsoft.Web/sites/{site-name}",
+ "eventType": "Microsoft.Web.SlotSwapWithPreviewStarted",
+ "eventTime": "2020-01-28T18:26:51.7194887Z",
+ "data": {
+ "appEventTypeDetail": null,
+ "name": "{site-name}",
+ "clientRequestId": "922f4841-20d9-4dd6-8c5b-23f0d85e5592",
+ "correlationRequestId": "9ac46505-2b8a-4e06-834c-05ffbe2e8c3a",
+ "requestId": "765117aa-eaf8-4bd2-a644-1dbf69c7b0fd",
+ "address": "/websystems/WebSites/web/subscriptions/{subscription-id}/webspaces/{webspace}/sites/{site-name}/slots?Command=SWAP&targetSlot=production",
+ "verb": "POST",
+ "sourceSlot": "staging",
+ "targetSlot": "production"
+ },
+ "dataVersion": "1",
+ "metaDataVersion": "1"
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/EventGrid.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/EventGrid.json
new file mode 100644
index 000000000000..4b725dd959de
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/EventGrid.json
@@ -0,0 +1,5877 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-12-01",
+ "title": "EventGridManagementClient",
+ "description": "Azure EventGrid Management Client"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}": {
+ "get": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "Get a domain.",
+ "description": "Get properties of a domain.",
+ "operationId": "Domains_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Domain"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_Get": {
+ "$ref": "./examples/Domains_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "Create or update a domain.",
+ "description": "Asynchronously creates or updates a new domain with the specified parameters.",
+ "operationId": "Domains_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainInfo",
+ "in": "body",
+ "description": "Domain information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Domain"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Domain"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_CreateOrUpdate": {
+ "$ref": "./examples/Domains_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "Delete a domain.",
+ "description": "Delete existing domain.",
+ "operationId": "Domains_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_Delete": {
+ "$ref": "./examples/Domains_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "Update a domain.",
+ "description": "Asynchronously updates a domain with the specified parameters.",
+ "operationId": "Domains_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainUpdateParameters",
+ "in": "body",
+ "description": "Domain update information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DomainUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "201": {
+ "description": "Domain update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/Domain"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_Update": {
+ "$ref": "./examples/Domains_Update.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/domains": {
+ "get": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "List domains under an Azure subscription.",
+ "description": "List all the domains under an Azure subscription.",
+ "operationId": "Domains_ListBySubscription",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DomainsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_ListBySubscription": {
+ "$ref": "./examples/Domains_ListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains": {
+ "get": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "List domains under a resource group.",
+ "description": "List all the domains under a resource group.",
+ "operationId": "Domains_ListByResourceGroup",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DomainsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_ListByResourceGroup": {
+ "$ref": "./examples/Domains_ListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/listKeys": {
+ "post": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "List keys for a domain.",
+ "description": "List the two keys used to publish to a domain.",
+ "operationId": "Domains_ListSharedAccessKeys",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DomainSharedAccessKeys"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_ListSharedAccessKeys": {
+ "$ref": "./examples/Domains_ListSharedAccessKeys.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/regenerateKey": {
+ "post": {
+ "tags": [
+ "Domains"
+ ],
+ "summary": "Regenerate key for a domain.",
+ "description": "Regenerate a shared access key for a domain.",
+ "operationId": "Domains_RegenerateKey",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "regenerateKeyRequest",
+ "in": "body",
+ "description": "Request body to regenerate key.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DomainRegenerateKeyRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DomainSharedAccessKeys"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Domains_RegenerateKey": {
+ "$ref": "./examples/Domains_RegenerateKey.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{domainTopicName}": {
+ "get": {
+ "tags": [
+ "DomainTopics"
+ ],
+ "summary": "Get a domain topic.",
+ "description": "Get properties of a domain topic.",
+ "operationId": "DomainTopics_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainTopicName",
+ "in": "path",
+ "description": "Name of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DomainTopic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "DomainTopics_Get": {
+ "$ref": "./examples/DomainTopics_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DomainTopics"
+ ],
+ "summary": "Create or update a domain topic.",
+ "description": "Asynchronously creates or updates a new domain topic with the specified parameters.",
+ "operationId": "DomainTopics_CreateOrUpdate",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainTopicName",
+ "in": "path",
+ "description": "Name of the domain topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/DomainTopic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "DomainTopics_CreateOrUpdate": {
+ "$ref": "./examples/DomainTopics_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "DomainTopics"
+ ],
+ "summary": "Delete a domain topic.",
+ "description": "Delete existing domain topic.",
+ "operationId": "DomainTopics_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainTopicName",
+ "in": "path",
+ "description": "Name of the domain topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "DomainTopics_Delete": {
+ "$ref": "./examples/DomainTopics_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics": {
+ "get": {
+ "tags": [
+ "DomainTopics"
+ ],
+ "summary": "List domain topics.",
+ "description": "List all the topics in a domain.",
+ "operationId": "DomainTopics_ListByDomain",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Domain name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DomainTopicsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "DomainTopics_ListByDomain": {
+ "$ref": "./examples/DomainTopics_ListByDomain.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get an event subscription.",
+ "description": "Get properties of an event subscription.",
+ "operationId": "EventSubscriptions_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_GetForSubscription": {
+ "$ref": "./examples/EventSubscriptions_GetForSubscription.json"
+ },
+ "EventSubscriptions_GetForResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_GetForResourceGroup.json"
+ },
+ "EventSubscriptions_GetForResource": {
+ "$ref": "./examples/EventSubscriptions_GetForResource.json"
+ },
+ "EventSubscriptions_GetForCustomTopic": {
+ "$ref": "./examples/EventSubscriptions_GetForCustomTopic.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Create or update an event subscription.",
+ "description": "Asynchronously creates a new event subscription or updates an existing event subscription based on the specified scope.",
+ "operationId": "EventSubscriptions_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "description": "The identifier of the resource to which the event subscription needs to be created or updated. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription. Event subscription names must be between 3 and 64 characters in length and should use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionInfo",
+ "in": "body",
+ "description": "Event subscription properties containing the destination and filter information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "EventSubscription CreateOrUpdate request accepted.",
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_CreateOrUpdateForSubscription": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForSubscription.json"
+ },
+ "EventSubscriptions_CreateOrUpdateForResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json"
+ },
+ "EventSubscriptions_CreateOrUpdateForResource": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForResource.json"
+ },
+ "EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json"
+ },
+ "EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json"
+ },
+ "EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json"
+ },
+ "EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination": {
+ "$ref": "./examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Delete an event subscription.",
+ "description": "Delete an existing event subscription.",
+ "operationId": "EventSubscriptions_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_DeleteForSubscription": {
+ "$ref": "./examples/EventSubscriptions_DeleteForSubscription.json"
+ },
+ "EventSubscriptions_DeleteForResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_DeleteForResourceGroup.json"
+ },
+ "EventSubscriptions_DeleteForResource": {
+ "$ref": "./examples/EventSubscriptions_DeleteForResource.json"
+ },
+ "EventSubscriptions_DeleteForCustomTopic": {
+ "$ref": "./examples/EventSubscriptions_DeleteForCustomTopic.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Update an event subscription.",
+ "description": "Asynchronously updates an existing event subscription.",
+ "operationId": "EventSubscriptions_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "description": "The scope of existing event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be updated.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionUpdateParameters",
+ "in": "body",
+ "description": "Updated event subscription information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "EventSubscription update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_UpdateForSubscription": {
+ "$ref": "./examples/EventSubscriptions_UpdateForSubscription.json"
+ },
+ "EventSubscriptions_UpdateForResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_UpdateForResourceGroup.json"
+ },
+ "EventSubscriptions_UpdateForResource": {
+ "$ref": "./examples/EventSubscriptions_UpdateForResource.json"
+ },
+ "EventSubscriptions_UpdateForCustomTopic": {
+ "$ref": "./examples/EventSubscriptions_UpdateForCustomTopic.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get an event subscription of a system topic.",
+ "description": "Get an event subscription.",
+ "operationId": "SystemTopicEventSubscriptions_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopicEventSubscriptions_Get": {
+ "$ref": "./examples/SystemTopicEventSubscriptions_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Create or update an event subscription for a system topic.",
+ "description": "Asynchronously creates or updates an event subscription with the specified parameters. Existing event subscriptions will be updated with this API.",
+ "operationId": "SystemTopicEventSubscriptions_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionInfo",
+ "in": "body",
+ "description": "Event subscription properties containing the destination and filter information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopicEventSubscriptions_CreateOrUpdate": {
+ "$ref": "./examples/SystemTopicEventSubscriptions_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Delete an event subscription of a system topic.",
+ "description": "Delete an event subscription of a system topic.",
+ "operationId": "SystemTopicEventSubscriptions_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopicEventSubscriptions_Delete": {
+ "$ref": "./examples/SystemTopicEventSubscriptions_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Update event subscription of a system topic.",
+ "description": "Update event subscription of a system topic.",
+ "operationId": "SystemTopicEventSubscriptions_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionUpdateParameters",
+ "in": "body",
+ "description": "Updated event subscription information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopicEventSubscriptions_Update": {
+ "$ref": "./examples/SystemTopicEventSubscriptions_Update.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}/getFullUrl": {
+ "post": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get full URL of an event subscription of a system topic",
+ "description": "Get the full endpoint URL for an event subscription of a system topic.",
+ "operationId": "SystemTopicEventSubscriptions_GetFullUrl",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionFullUrl"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopicEventSubscriptions_GetFullUrl": {
+ "$ref": "./examples/SystemTopicEventSubscriptions_GetFullUrl.json"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getFullUrl": {
+ "post": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get full URL of an event subscription.",
+ "description": "Get the full endpoint URL for an event subscription.",
+ "operationId": "EventSubscriptions_GetFullUrl",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionFullUrl"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_GetFullUrlForSubscription": {
+ "$ref": "./examples/EventSubscriptions_GetFullUrlForSubscription.json"
+ },
+ "EventSubscriptions_GetFullUrlForResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_GetFullUrlForResourceGroup.json"
+ },
+ "EventSubscriptions_GetFullUrlForResource": {
+ "$ref": "./examples/EventSubscriptions_GetFullUrlForResource.json"
+ },
+ "EventSubscriptions_GetFullUrlForCustomTopic": {
+ "$ref": "./examples/EventSubscriptions_GetFullUrlForCustomTopic.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List event subscriptions of a system topic.",
+ "description": "List event subscriptions that belong to a specific system topic.",
+ "operationId": "SystemTopicEventSubscriptions_ListBySystemTopic",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopicEventSubscriptions_ListBySystemTopic": {
+ "$ref": "./examples/SystemTopicEventSubscriptions_ListBySystemTopic.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get an aggregated list of all global event subscriptions under an Azure subscription.",
+ "description": "List all aggregated global event subscriptions under a specific Azure subscription.",
+ "operationId": "EventSubscriptions_ListGlobalBySubscription",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListGlobalBySubscription": {
+ "$ref": "./examples/EventSubscriptions_ListGlobalBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all global event subscriptions for a topic type.",
+ "description": "List all global event subscriptions under an Azure subscription for a topic type.",
+ "operationId": "EventSubscriptions_ListGlobalBySubscriptionForTopicType",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "topicTypeName",
+ "in": "path",
+ "description": "Name of the topic type.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListGlobalBySubscriptionForTopicType": {
+ "$ref": "./examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all global event subscriptions under an Azure subscription and resource group.",
+ "description": "List all global event subscriptions under a specific Azure subscription and resource group.",
+ "operationId": "EventSubscriptions_ListGlobalByResourceGroup",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListGlobalByResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_ListGlobalByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all global event subscriptions under a resource group for a topic type.",
+ "description": "List all global event subscriptions under a resource group for a specific topic type.",
+ "operationId": "EventSubscriptions_ListGlobalByResourceGroupForTopicType",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicTypeName",
+ "in": "path",
+ "description": "Name of the topic type.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListGlobalByResourceGroupForTopicType": {
+ "$ref": "./examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all regional event subscriptions under an Azure subscription.",
+ "description": "List all event subscriptions from the given location under a specific Azure subscription.",
+ "operationId": "EventSubscriptions_ListRegionalBySubscription",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "Name of the location.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListRegionalBySubscription": {
+ "$ref": "./examples/EventSubscriptions_ListRegionalBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all regional event subscriptions under an Azure subscription and resource group.",
+ "description": "List all event subscriptions from the given location under a specific Azure subscription and resource group.",
+ "operationId": "EventSubscriptions_ListRegionalByResourceGroup",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "Name of the location.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListRegionalByResourceGroup": {
+ "$ref": "./examples/EventSubscriptions_ListRegionalByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all regional event subscriptions under an Azure subscription for a topic type.",
+ "description": "List all event subscriptions from the given location under a specific Azure subscription and topic type.",
+ "operationId": "EventSubscriptions_ListRegionalBySubscriptionForTopicType",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "Name of the location.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicTypeName",
+ "in": "path",
+ "description": "Name of the topic type.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListRegionalBySubscriptionForTopicType": {
+ "$ref": "./examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all regional event subscriptions under an Azure subscription and resource group for a topic type.",
+ "description": "List all event subscriptions from the given location under a specific Azure subscription and resource group and topic type.",
+ "operationId": "EventSubscriptions_ListRegionalByResourceGroupForTopicType",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "Name of the location.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicTypeName",
+ "in": "path",
+ "description": "Name of the topic type.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListRegionalByResourceGroupForTopicType": {
+ "$ref": "./examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all event subscriptions for a specific topic.",
+ "description": "List all event subscriptions that have been created for a specific topic.",
+ "operationId": "EventSubscriptions_ListByResource",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerNamespace",
+ "in": "path",
+ "description": "Namespace of the provider of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceTypeName",
+ "in": "path",
+ "description": "Name of the resource type.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Name of the resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListByResource": {
+ "$ref": "./examples/EventSubscriptions_ListByResource.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{topicName}/providers/Microsoft.EventGrid/eventSubscriptions": {
+ "get": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "List all event subscriptions for a specific domain topic.",
+ "description": "List all event subscriptions that have been created for a specific domain topic.",
+ "operationId": "EventSubscriptions_ListByDomainTopic",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "domainName",
+ "in": "path",
+ "description": "Name of the top level domain.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the domain topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventSubscriptionsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_ListByDomainTopic": {
+ "$ref": "./examples/EventSubscriptions_ListByDomainTopic.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getDeliveryAttributes": {
+ "post": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get delivery attributes for an event subscription.",
+ "description": "Get all delivery attributes for an event subscription.",
+ "operationId": "EventSubscriptions_GetDeliveryAttributes",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.",
+ "required": true,
+ "type": "string",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DeliveryAttributeListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "EventSubscriptions_GetDeliveryAttributes": {
+ "$ref": "./examples/EventSubscriptions_GetDeliveryAttributes.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}/getDeliveryAttributes": {
+ "post": {
+ "tags": [
+ "EventSubscriptions"
+ ],
+ "summary": "Get delivery attributes for an event subscription.",
+ "description": "Get all delivery attributes for an event subscription.",
+ "operationId": "SystemTopicEventSubscriptions_GetDeliveryAttributes",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "eventSubscriptionName",
+ "in": "path",
+ "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DeliveryAttributeListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopicEventSubscriptions_GetDeliveryAttributes": {
+ "$ref": "./examples/SystemTopicEventSubscriptions_GetDeliveryAttributes.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.EventGrid/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "List available operations.",
+ "description": "List the available operations supported by the Microsoft.EventGrid resource provider.",
+ "operationId": "Operations_List",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}": {
+ "get": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "Get a topic.",
+ "description": "Get properties of a topic.",
+ "operationId": "Topics_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Topic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_Get": {
+ "$ref": "./examples/Topics_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "Create a topic.",
+ "description": "Asynchronously creates a new topic with the specified parameters.",
+ "operationId": "Topics_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicInfo",
+ "in": "body",
+ "description": "Topic information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Topic"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Topic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_CreateOrUpdate": {
+ "$ref": "./examples/Topics_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "Delete a topic.",
+ "description": "Delete existing topic.",
+ "operationId": "Topics_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_Delete": {
+ "$ref": "./examples/Topics_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "Update a topic.",
+ "description": "Asynchronously updates a topic with the specified parameters.",
+ "operationId": "Topics_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicUpdateParameters",
+ "in": "body",
+ "description": "Topic update information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TopicUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "201": {
+ "description": "Topic update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/Topic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_Update": {
+ "$ref": "./examples/Topics_Update.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topics": {
+ "get": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "List topics under an Azure subscription.",
+ "description": "List all the topics under an Azure subscription.",
+ "operationId": "Topics_ListBySubscription",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TopicsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Topics_ListBySubscription": {
+ "$ref": "./examples/Topics_ListBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics": {
+ "get": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "List topics under a resource group.",
+ "description": "List all the topics under a resource group.",
+ "operationId": "Topics_ListByResourceGroup",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TopicsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Topics_ListByResourceGroup": {
+ "$ref": "./examples/Topics_ListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/listKeys": {
+ "post": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "List keys for a topic.",
+ "description": "List the two keys used to publish to a topic.",
+ "operationId": "Topics_ListSharedAccessKeys",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TopicSharedAccessKeys"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_ListSharedAccessKeys": {
+ "$ref": "./examples/Topics_ListSharedAccessKeys.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/regenerateKey": {
+ "post": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "Regenerate key for a topic.",
+ "description": "Regenerate a shared access key for a topic.",
+ "operationId": "Topics_RegenerateKey",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "topicName",
+ "in": "path",
+ "description": "Name of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "regenerateKeyRequest",
+ "in": "body",
+ "description": "Request body to regenerate key.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TopicRegenerateKeyRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TopicSharedAccessKeys"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_RegenerateKey": {
+ "$ref": "./examples/Topics_RegenerateKey.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "summary": "Get a specific private endpoint connection.",
+ "description": "Get a specific private endpoint connection under a topic or domain.",
+ "operationId": "PrivateEndpointConnections_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parentType",
+ "in": "path",
+ "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "topics",
+ "domains"
+ ]
+ },
+ {
+ "name": "parentName",
+ "in": "path",
+ "description": "The name of the parent resource (namely, either, the topic name or domain name).",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection connection.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnections_Get": {
+ "$ref": "./examples/PrivateEndpointConnections_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "summary": "Update a specific private endpoint connection.",
+ "description": "Update a specific private endpoint connection under a topic or domain.",
+ "operationId": "PrivateEndpointConnections_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parentType",
+ "in": "path",
+ "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "topics",
+ "domains"
+ ]
+ },
+ {
+ "name": "parentName",
+ "in": "path",
+ "description": "The name of the parent resource (namely, either, the topic name or domain name).",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection connection.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "privateEndpointConnection",
+ "in": "body",
+ "description": "The private endpoint connection object to update.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnections_Update": {
+ "$ref": "./examples/PrivateEndpointConnections_Update.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "summary": "Delete a specific private endpoint connection.",
+ "description": "Delete a specific private endpoint connection under a topic or domain.",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parentType",
+ "in": "path",
+ "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "topics",
+ "domains"
+ ]
+ },
+ {
+ "name": "parentName",
+ "in": "path",
+ "description": "The name of the parent resource (namely, either, the topic name or domain name).",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection connection.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnections_Delete": {
+ "$ref": "./examples/PrivateEndpointConnections_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "summary": "Lists all private endpoint connections under a resource.",
+ "description": "Get all private endpoint connections under a topic or domain.",
+ "operationId": "PrivateEndpointConnections_ListByResource",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parentType",
+ "in": "path",
+ "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "topics",
+ "domains"
+ ]
+ },
+ {
+ "name": "parentName",
+ "in": "path",
+ "description": "The name of the parent resource (namely, either, the topic name or domain name).",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnections_ListByResource": {
+ "$ref": "./examples/PrivateEndpointConnections_ListByResource.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateLinkResources/{privateLinkResourceName}": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "summary": "Get a private link resource.",
+ "description": "Get properties of a private link resource.",
+ "operationId": "PrivateLinkResources_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parentType",
+ "in": "path",
+ "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parentName",
+ "in": "path",
+ "description": "The name of the parent resource (namely, either, the topic name or domain name).",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "privateLinkResourceName",
+ "in": "path",
+ "description": "The name of private link resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkResources_Get": {
+ "$ref": "./examples/PrivateLinkResources_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "summary": "List private link resources under specific topic or domain.",
+ "description": "List all the private link resources under a topic or domain.",
+ "operationId": "PrivateLinkResources_ListByResource",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parentType",
+ "in": "path",
+ "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parentName",
+ "in": "path",
+ "description": "The name of the parent resource (namely, either, the topic name or domain name).",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourcesListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkResources_ListByResource": {
+ "$ref": "./examples/PrivateLinkResources_ListByResource.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}": {
+ "get": {
+ "tags": [
+ "SystemTopics"
+ ],
+ "summary": "Get a system topic.",
+ "description": "Get properties of a system topic.",
+ "operationId": "SystemTopics_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SystemTopic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopics_Get": {
+ "$ref": "./examples/SystemTopics_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SystemTopics"
+ ],
+ "summary": "Create a system topic.",
+ "description": "Asynchronously creates a new system topic with the specified parameters.",
+ "operationId": "SystemTopics_CreateOrUpdate",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicInfo",
+ "in": "body",
+ "description": "System Topic information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SystemTopic"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SystemTopic"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/SystemTopic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopics_CreateOrUpdate": {
+ "$ref": "./examples/SystemTopics_CreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "SystemTopics"
+ ],
+ "summary": "Delete a system topic.",
+ "description": "Delete existing system topic.",
+ "operationId": "SystemTopics_Delete",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopics_Delete": {
+ "$ref": "./examples/SystemTopics_Delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "SystemTopics"
+ ],
+ "summary": "Update a system topic.",
+ "description": "Asynchronously updates a system topic with the specified parameters.",
+ "operationId": "SystemTopics_Update",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicName",
+ "in": "path",
+ "description": "Name of the system topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "systemTopicUpdateParameters",
+ "in": "body",
+ "description": "SystemTopic update information.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SystemTopicUpdateParameters"
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "System Topic update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/SystemTopic"
+ }
+ },
+ "201": {
+ "description": "System Topic update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/SystemTopic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopics_Update": {
+ "$ref": "./examples/SystemTopics_Update.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/systemTopics": {
+ "get": {
+ "tags": [
+ "SystemTopics"
+ ],
+ "summary": "List system topics under an Azure subscription.",
+ "description": "List all the system topics under an Azure subscription.",
+ "operationId": "SystemTopics_ListBySubscription",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SystemTopicsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopics_ListBySubscription": {
+ "$ref": "./examples/SystemTopics_ListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics": {
+ "get": {
+ "tags": [
+ "SystemTopics"
+ ],
+ "summary": "List system topics under a resource group.",
+ "description": "List all the system topics under a resource group.",
+ "operationId": "SystemTopics_ListByResourceGroup",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SystemTopicsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "SystemTopics_ListByResourceGroup": {
+ "$ref": "./examples/SystemTopics_ListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventTypes": {
+ "get": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "List topic event types.",
+ "description": "List event types for a topic.",
+ "operationId": "Topics_ListEventTypes",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group within the user's subscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "providerNamespace",
+ "in": "path",
+ "description": "Namespace of the provider of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceTypeName",
+ "in": "path",
+ "description": "Name of the topic type.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "description": "Name of the topic.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventTypesListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "Topics_ListEventTypes": {
+ "$ref": "./examples/Topics_ListEventTypes.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.EventGrid/extensionTopics/default": {
+ "get": {
+ "tags": [
+ "Topics"
+ ],
+ "summary": "Get properties of an extension topic.",
+ "description": "Get the properties of an extension topic.",
+ "operationId": "ExtensionTopics_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "description": "The identifier of the resource to which extension topic is queried. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for Azure resource.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExtensionTopic"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "ExtensionTopics_Get": {
+ "$ref": "./examples/ExtensionTopics_Get.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.EventGrid/topicTypes": {
+ "get": {
+ "tags": [
+ "TopicTypes"
+ ],
+ "summary": "List topic types.",
+ "description": "List all registered topic types.",
+ "operationId": "TopicTypes_List",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TopicTypesListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "TopicTypes_List": {
+ "$ref": "./examples/TopicTypes_List.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}": {
+ "get": {
+ "tags": [
+ "TopicTypes"
+ ],
+ "summary": "Get a topic type.",
+ "description": "Get information about a topic type.",
+ "operationId": "TopicTypes_Get",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "topicTypeName",
+ "in": "path",
+ "description": "Name of the topic type.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TopicTypeInfo"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-examples": {
+ "TopicTypes_Get": {
+ "$ref": "./examples/TopicTypes_Get.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventTypes": {
+ "get": {
+ "tags": [
+ "TopicTypes"
+ ],
+ "summary": "List event types.",
+ "description": "List event types for a topic type.",
+ "operationId": "TopicTypes_ListEventTypes",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "topicTypeName",
+ "in": "path",
+ "description": "Name of the topic type.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EventTypesListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "TopicTypes_ListEventTypes": {
+ "$ref": "./examples/TopicTypes_ListEventTypes.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DomainProperties": {
+ "description": "Properties of the Event Grid Domain Resource.",
+ "type": "object",
+ "properties": {
+ "privateEndpointConnections": {
+ "description": "List of private endpoint connections.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the Event Grid Domain Resource.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DomainProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "endpoint": {
+ "description": "Endpoint for the domain.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inputSchema": {
+ "description": "This determines the format that Event Grid should expect for incoming events published to the domain.",
+ "enum": [
+ "EventGridSchema",
+ "CustomEventSchema",
+ "CloudEventSchemaV1_0"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InputSchema",
+ "modelAsString": true
+ },
+ "default": "EventGridSchema"
+ },
+ "inputSchemaMapping": {
+ "$ref": "#/definitions/InputSchemaMapping",
+ "description": "Information about the InputSchemaMapping which specified the info about mapping event payload."
+ },
+ "metricResourceId": {
+ "description": "Metric resource id for the domain.",
+ "type": "string",
+ "readOnly": true
+ },
+ "publicNetworkAccess": {
+ "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ },
+ "default": "Enabled"
+ },
+ "inboundIpRules": {
+ "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundIpRule"
+ }
+ },
+ "disableLocalAuth": {
+ "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the domain.",
+ "default": false,
+ "type": "boolean"
+ },
+ "autoCreateTopicWithFirstSubscription": {
+ "description": "This Boolean is used to specify the creation mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain resource.\r\nIn this context, creation of domain topic can be auto-managed (when true) or self-managed (when false). The default value for this property is true.\r\nWhen this property is null or set to true, Event Grid is responsible of automatically creating the domain topic when the first event subscription is\r\ncreated at the scope of the domain topic. If this property is set to false, then creating the first event subscription will require creating a domain topic\r\nby the user. The self-management mode can be used if the user wants full control of when the domain topic is created, while auto-managed mode provides the\r\nflexibility to perform less operations and manage fewer resources by the user. Also, note that in auto-managed creation mode, user is allowed to create the\r\ndomain topic on demand if needed.",
+ "default": true,
+ "type": "boolean"
+ },
+ "autoDeleteTopicWithLastSubscription": {
+ "description": "This Boolean is used to specify the deletion mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain resource.\r\nIn this context, deletion of domain topic can be auto-managed (when true) or self-managed (when false). The default value for this property is true.\r\nWhen this property is set to true, Event Grid is responsible of automatically deleting the domain topic when the last event subscription at the scope\r\nof the domain topic is deleted. If this property is set to false, then the user needs to manually delete the domain topic when it is no longer needed\r\n(e.g., when last event subscription is deleted and the resource needs to be cleaned up). The self-management mode can be used if the user wants full\r\ncontrol of when the domain topic needs to be deleted, while auto-managed mode provides the flexibility to perform less operations and manage fewer\r\nresources by the user.",
+ "default": true,
+ "type": "boolean"
+ }
+ }
+ },
+ "IdentityInfo": {
+ "description": "The identity information for the resource.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identity.",
+ "enum": [
+ "None",
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": true
+ }
+ },
+ "principalId": {
+ "description": "The principal ID of resource identity.",
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "The tenant ID of resource.",
+ "type": "string"
+ },
+ "userAssignedIdentities": {
+ "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form:\r\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.\r\nThis property is currently not used and reserved for future usage.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserIdentityProperties"
+ }
+ }
+ }
+ },
+ "InboundIpRule": {
+ "type": "object",
+ "properties": {
+ "ipMask": {
+ "description": "IP Address in CIDR notation e.g., 10.0.0.0/8.",
+ "type": "string"
+ },
+ "action": {
+ "description": "Action to perform based on the match or no match of the IpMask.",
+ "enum": [
+ "Allow"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IpActionType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "UserIdentityProperties": {
+ "description": "The information about the user identity.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "The principal id of user assigned identity.",
+ "type": "string"
+ },
+ "clientId": {
+ "description": "The client id of user assigned identity.",
+ "type": "string"
+ }
+ }
+ },
+ "Resource": {
+ "description": "Definition of a Resource.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Fully qualified identifier of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Type of the resource.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "Properties of the private endpoint connection resource.",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The Private Endpoint resource for this Connection."
+ },
+ "groupIds": {
+ "description": "GroupIds from the private link service resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/ConnectionState",
+ "description": "Details about the state of the connection."
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the Private Endpoint Connection.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PrivateEndpoint": {
+ "description": "PrivateEndpoint information.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ARM identifier for Private Endpoint.",
+ "type": "string"
+ }
+ }
+ },
+ "ConnectionState": {
+ "description": "ConnectionState information.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of the connection.",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PersistedConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "description": "Description of the connection state.",
+ "type": "string"
+ },
+ "actionsRequired": {
+ "description": "Actions required (if any).",
+ "type": "string"
+ }
+ }
+ },
+ "JsonInputSchemaMappingProperties": {
+ "description": "This can be used to map properties of a source schema (or default values, for certain supported properties) to properties of the EventGridEvent schema.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "$ref": "#/definitions/JsonField",
+ "description": "The mapping information for the Id property of the Event Grid Event."
+ },
+ "topic": {
+ "$ref": "#/definitions/JsonField",
+ "description": "The mapping information for the Topic property of the Event Grid Event."
+ },
+ "eventTime": {
+ "$ref": "#/definitions/JsonField",
+ "description": "The mapping information for the EventTime property of the Event Grid Event."
+ },
+ "eventType": {
+ "$ref": "#/definitions/JsonFieldWithDefault",
+ "description": "The mapping information for the EventType property of the Event Grid Event."
+ },
+ "subject": {
+ "$ref": "#/definitions/JsonFieldWithDefault",
+ "description": "The mapping information for the Subject property of the Event Grid Event."
+ },
+ "dataVersion": {
+ "$ref": "#/definitions/JsonFieldWithDefault",
+ "description": "The mapping information for the DataVersion property of the Event Grid Event."
+ }
+ }
+ },
+ "JsonField": {
+ "description": "This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the input event schema.",
+ "type": "object",
+ "properties": {
+ "sourceField": {
+ "description": "Name of a field in the input event schema that's to be used as the source of a mapping.",
+ "type": "string"
+ }
+ }
+ },
+ "JsonFieldWithDefault": {
+ "description": "This is used to express the source of an input schema mapping for a single target field\r\nin the Event Grid Event schema. This is currently used in the mappings for the 'subject',\r\n'eventtype' and 'dataversion' properties. This represents a field in the input event schema\r\nalong with a default value to be used, and at least one of these two properties should be provided.",
+ "type": "object",
+ "properties": {
+ "sourceField": {
+ "description": "Name of a field in the input event schema that's to be used as the source of a mapping.",
+ "type": "string"
+ },
+ "defaultValue": {
+ "description": "The default value to be used for mapping when a SourceField is not provided or if there's no property with the specified name in the published JSON event payload.",
+ "type": "string"
+ }
+ }
+ },
+ "JsonInputSchemaMapping": {
+ "description": "This enables publishing to Event Grid using a custom input schema. This can be used to map properties from a custom input JSON schema to the Event Grid event schema.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/InputSchemaMapping"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/JsonInputSchemaMappingProperties",
+ "description": "JSON Properties of the input schema mapping",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "Json"
+ },
+ "InputSchemaMapping": {
+ "description": "By default, Event Grid expects events to be in the Event Grid event schema. Specifying an input schema mapping enables publishing to Event Grid using a custom input schema. Currently, the only supported type of InputSchemaMapping is 'JsonInputSchemaMapping'.",
+ "required": [
+ "inputSchemaMappingType"
+ ],
+ "type": "object",
+ "properties": {
+ "inputSchemaMappingType": {
+ "description": "Type of the custom mapping",
+ "enum": [
+ "Json"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InputSchemaMappingType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "inputSchemaMappingType"
+ },
+ "PrivateEndpointConnection": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "Properties of the PrivateEndpointConnection.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "TrackedResource": {
+ "description": "Definition of a Tracked Resource.",
+ "required": [
+ "location"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "Location of the resource.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "Tags of the resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Domain": {
+ "description": "EventGrid Domain.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DomainProperties",
+ "description": "Properties of the Event Grid Domain resource.",
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "description": "The system metadata relating to Domain resource.",
+ "type": "object",
+ "readOnly": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityInfo",
+ "description": "Identity information for the Event Grid Domain resource."
+ }
+ }
+ },
+ "DomainUpdateParameters": {
+ "description": "Properties of the Domain update.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Tags of the domains resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "properties": {
+ "$ref": "#/definitions/DomainUpdateParameterProperties",
+ "description": "Properties of the resource.",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityInfo",
+ "description": "Identity information for the resource."
+ }
+ }
+ },
+ "DomainUpdateParameterProperties": {
+ "description": "Information of domain update parameter properties.",
+ "type": "object",
+ "properties": {
+ "publicNetworkAccess": {
+ "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ },
+ "default": "Enabled"
+ },
+ "inboundIpRules": {
+ "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundIpRule"
+ }
+ },
+ "disableLocalAuth": {
+ "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the domain.",
+ "type": "boolean"
+ },
+ "autoCreateTopicWithFirstSubscription": {
+ "description": "This Boolean is used to specify the creation mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain resource.\r\nIn this context, creation of domain topic can be auto-managed (when true) or self-managed (when false). The default value for this property is true.\r\nWhen this property is null or set to true, Event Grid is responsible of automatically creating the domain topic when the first event subscription is\r\ncreated at the scope of the domain topic. If this property is set to false, then creating the first event subscription will require creating a domain topic\r\nby the user. The self-management mode can be used if the user wants full control of when the domain topic is created, while auto-managed mode provides the\r\nflexibility to perform less operations and manage fewer resources by the user. Also, note that in auto-managed creation mode, user is allowed to create the\r\ndomain topic on demand if needed.",
+ "type": "boolean"
+ },
+ "autoDeleteTopicWithLastSubscription": {
+ "description": "This Boolean is used to specify the deletion mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain resource.\r\nIn this context, deletion of domain topic can be auto-managed (when true) or self-managed (when false). The default value for this property is true.\r\nWhen this property is set to true, Event Grid is responsible of automatically deleting the domain topic when the last event subscription at the scope\r\nof the domain topic is deleted. If this property is set to false, then the user needs to manually delete the domain topic when it is no longer needed\r\n(e.g., when last event subscription is deleted and the resource needs to be cleaned up). The self-management mode can be used if the user wants full\r\ncontrol of when the domain topic needs to be deleted, while auto-managed mode provides the flexibility to perform less operations and manage fewer\r\nresources by the user.",
+ "type": "boolean"
+ }
+ }
+ },
+ "DomainsListResult": {
+ "description": "Result of the List Domains operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of Domains.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Domain"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of domains.",
+ "type": "string"
+ }
+ }
+ },
+ "DomainSharedAccessKeys": {
+ "description": "Shared access keys of the Domain.",
+ "type": "object",
+ "properties": {
+ "key1": {
+ "description": "Shared access key1 for the domain.",
+ "type": "string"
+ },
+ "key2": {
+ "description": "Shared access key2 for the domain.",
+ "type": "string"
+ }
+ }
+ },
+ "DomainRegenerateKeyRequest": {
+ "description": "Domain regenerate share access key request.",
+ "required": [
+ "keyName"
+ ],
+ "type": "object",
+ "properties": {
+ "keyName": {
+ "description": "Key name to regenerate key1 or key2.",
+ "type": "string"
+ }
+ }
+ },
+ "DomainTopicProperties": {
+ "description": "Properties of the Domain Topic.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the domain topic.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DomainTopicProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "DomainTopic": {
+ "description": "Domain Topic.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DomainTopicProperties",
+ "description": "Properties of the Domain Topic.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "description": "The system metadata relating to Domain Topic resource.",
+ "type": "object",
+ "readOnly": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "DomainTopicsListResult": {
+ "description": "Result of the List Domain Topics operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of Domain Topics.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DomainTopic"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of domain topics.",
+ "type": "string"
+ }
+ }
+ },
+ "EventSubscriptionProperties": {
+ "description": "Properties of the Event Subscription.",
+ "type": "object",
+ "properties": {
+ "topic": {
+ "description": "Name of the topic of the event subscription.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the event subscription.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed",
+ "AwaitingManualAction"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "EventSubscriptionProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "destination": {
+ "$ref": "#/definitions/EventSubscriptionDestination",
+ "description": "Information about the destination where events have to be delivered for the event subscription."
+ },
+ "deliveryWithResourceIdentity": {
+ "$ref": "#/definitions/DeliveryWithResourceIdentity",
+ "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses the managed identity setup on the parent resource (namely, topic or domain) to acquire the authentication tokens being used during delivery / dead-lettering."
+ },
+ "filter": {
+ "$ref": "#/definitions/EventSubscriptionFilter",
+ "description": "Information about the filter for the event subscription."
+ },
+ "labels": {
+ "description": "List of user defined labels.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "expirationTimeUtc": {
+ "format": "date-time",
+ "description": "Expiration time of the event subscription.",
+ "type": "string"
+ },
+ "eventDeliverySchema": {
+ "description": "The event delivery schema for the event subscription.",
+ "default": "EventGridSchema",
+ "enum": [
+ "EventGridSchema",
+ "CustomInputSchema",
+ "CloudEventSchemaV1_0"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EventDeliverySchema",
+ "modelAsString": true
+ }
+ },
+ "retryPolicy": {
+ "$ref": "#/definitions/RetryPolicy",
+ "description": "The retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events."
+ },
+ "deadLetterDestination": {
+ "$ref": "#/definitions/DeadLetterDestination",
+ "description": "The DeadLetter destination of the event subscription."
+ },
+ "deadLetterWithResourceIdentity": {
+ "$ref": "#/definitions/DeadLetterWithResourceIdentity",
+ "description": "The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination.\r\nUses the managed identity setup on the parent resource (namely, topic or domain) to acquire the authentication tokens being used during delivery / dead-lettering."
+ }
+ }
+ },
+ "EventSubscriptionFilter": {
+ "description": "Filter for the Event Subscription.",
+ "type": "object",
+ "properties": {
+ "subjectBeginsWith": {
+ "description": "An optional string to filter events for an event subscription based on a resource path prefix.\r\nThe format of this depends on the publisher of the events.\r\nWildcard characters are not supported in this path.",
+ "type": "string"
+ },
+ "subjectEndsWith": {
+ "description": "An optional string to filter events for an event subscription based on a resource path suffix.\r\nWildcard characters are not supported in this path.",
+ "type": "string"
+ },
+ "includedEventTypes": {
+ "description": "A list of applicable event types that need to be part of the event subscription. If it is desired to subscribe to all default event types, set the IncludedEventTypes to null.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isSubjectCaseSensitive": {
+ "description": "Specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter\r\nshould be compared in a case sensitive manner.",
+ "default": false,
+ "type": "boolean"
+ },
+ "enableAdvancedFilteringOnArrays": {
+ "description": "Allows advanced filters to be evaluated against an array of values instead of expecting a singular value.",
+ "type": "boolean"
+ },
+ "advancedFilters": {
+ "description": "An array of advanced filters that are used for filtering event subscriptions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ }
+ }
+ },
+ "RetryPolicy": {
+ "description": "Information about the retry policy for an event subscription.",
+ "type": "object",
+ "properties": {
+ "maxDeliveryAttempts": {
+ "format": "int32",
+ "description": "Maximum number of delivery retry attempts for events.",
+ "default": 30,
+ "type": "integer"
+ },
+ "eventTimeToLiveInMinutes": {
+ "format": "int32",
+ "description": "Time To Live (in minutes) for events.",
+ "default": 1440,
+ "type": "integer"
+ }
+ }
+ },
+ "WebHookEventSubscriptionDestinationProperties": {
+ "description": "Information about the webhook destination properties for an event subscription.",
+ "type": "object",
+ "properties": {
+ "endpointUrl": {
+ "description": "The URL that represents the endpoint of the destination of an event subscription.",
+ "type": "string",
+ "x-ms-secret": true
+ },
+ "endpointBaseUrl": {
+ "description": "The base URL that represents the endpoint of the destination of an event subscription.",
+ "type": "string",
+ "readOnly": true
+ },
+ "maxEventsPerBatch": {
+ "format": "int32",
+ "description": "Maximum number of events per batch.",
+ "default": 1,
+ "type": "integer"
+ },
+ "preferredBatchSizeInKilobytes": {
+ "format": "int32",
+ "description": "Preferred batch size in Kilobytes.",
+ "default": 64,
+ "type": "integer"
+ },
+ "azureActiveDirectoryTenantId": {
+ "description": "The Azure Active Directory Tenant ID to get the access token that will be included as the bearer token in delivery requests.",
+ "type": "string"
+ },
+ "azureActiveDirectoryApplicationIdOrUri": {
+ "description": "The Azure Active Directory Application ID or URI to get the access token that will be included as the bearer token in delivery requests.",
+ "type": "string"
+ },
+ "deliveryAttributeMappings": {
+ "description": "Delivery attribute details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryAttributeMapping"
+ }
+ }
+ }
+ },
+ "StaticDeliveryAttributeMappingProperties": {
+ "description": "Properties of static delivery attribute mapping.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Value of the delivery attribute.",
+ "type": "string"
+ },
+ "isSecret": {
+ "description": "Boolean flag to tell if the attribute contains sensitive information .",
+ "type": "boolean",
+ "default": false
+ }
+ }
+ },
+ "StaticDeliveryAttributeMapping": {
+ "description": "Static delivery attribute mapping details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryAttributeMapping"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StaticDeliveryAttributeMappingProperties",
+ "description": "Properties of static delivery attribute mapping.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "Static"
+ },
+ "DynamicDeliveryAttributeMappingProperties": {
+ "description": "Properties of dynamic delivery attribute mapping.",
+ "type": "object",
+ "properties": {
+ "sourceField": {
+ "description": "JSON path in the event which contains attribute value.",
+ "type": "string"
+ }
+ }
+ },
+ "DynamicDeliveryAttributeMapping": {
+ "description": "Dynamic delivery attribute mapping details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryAttributeMapping"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DynamicDeliveryAttributeMappingProperties",
+ "description": "Properties of dynamic delivery attribute mapping.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "Dynamic"
+ },
+ "DeliveryAttributeMapping": {
+ "description": "Delivery attribute mapping details.",
+ "required": [
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the delivery attribute or header.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of the delivery attribute or header name.",
+ "enum": [
+ "Static",
+ "Dynamic"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DeliveryAttributeMappingType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "type"
+ },
+ "StorageBlobDeadLetterDestinationProperties": {
+ "description": "Properties of the storage blob based dead letter destination.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource ID of the storage account that is the destination of the deadletter events",
+ "type": "string"
+ },
+ "blobContainerName": {
+ "description": "The name of the Storage blob container that is the destination of the deadletter events",
+ "type": "string"
+ }
+ }
+ },
+ "NumberInAdvancedFilter": {
+ "description": "NumberIn Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "format": "double",
+ "type": "number"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "NumberIn"
+ },
+ "StorageBlobDeadLetterDestination": {
+ "description": "Information about the storage blob based dead letter destination.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeadLetterDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageBlobDeadLetterDestinationProperties",
+ "description": "The properties of the Storage Blob based deadletter destination",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "StorageBlob"
+ },
+ "NumberNotInAdvancedFilter": {
+ "description": "NumberNotIn Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "format": "double",
+ "type": "number"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "NumberNotIn"
+ },
+ "NumberLessThanAdvancedFilter": {
+ "description": "NumberLessThan Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "value": {
+ "format": "double",
+ "description": "The filter value.",
+ "type": "number"
+ }
+ },
+ "x-ms-discriminator-value": "NumberLessThan"
+ },
+ "NumberGreaterThanAdvancedFilter": {
+ "description": "NumberGreaterThan Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "value": {
+ "format": "double",
+ "description": "The filter value.",
+ "type": "number"
+ }
+ },
+ "x-ms-discriminator-value": "NumberGreaterThan"
+ },
+ "NumberLessThanOrEqualsAdvancedFilter": {
+ "description": "NumberLessThanOrEquals Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "value": {
+ "format": "double",
+ "description": "The filter value.",
+ "type": "number"
+ }
+ },
+ "x-ms-discriminator-value": "NumberLessThanOrEquals"
+ },
+ "NumberGreaterThanOrEqualsAdvancedFilter": {
+ "description": "NumberGreaterThanOrEquals Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "value": {
+ "format": "double",
+ "description": "The filter value.",
+ "type": "number"
+ }
+ },
+ "x-ms-discriminator-value": "NumberGreaterThanOrEquals"
+ },
+ "BoolEqualsAdvancedFilter": {
+ "description": "BoolEquals Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "value": {
+ "description": "The boolean filter value.",
+ "type": "boolean"
+ }
+ },
+ "x-ms-discriminator-value": "BoolEquals"
+ },
+ "StringInAdvancedFilter": {
+ "description": "StringIn Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "StringIn"
+ },
+ "StringNotInAdvancedFilter": {
+ "description": "StringNotIn Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "StringNotIn"
+ },
+ "StringBeginsWithAdvancedFilter": {
+ "description": "StringBeginsWith Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "StringBeginsWith"
+ },
+ "StringEndsWithAdvancedFilter": {
+ "description": "StringEndsWith Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "StringEndsWith"
+ },
+ "StringContainsAdvancedFilter": {
+ "description": "StringContains Advanced Filter.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/AdvancedFilter"
+ }
+ ],
+ "properties": {
+ "values": {
+ "description": "The set of filter values.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-discriminator-value": "StringContains"
+ },
+ "AdvancedFilter": {
+ "description": "This is the base type that represents an advanced filter. To configure an advanced filter, do not directly instantiate an object of this class. Instead, instantiate an object of a derived class such as BoolEqualsAdvancedFilter, NumberInAdvancedFilter, StringEqualsAdvancedFilter etc. depending on the type of the key based on which you want to filter.",
+ "required": [
+ "operatorType"
+ ],
+ "type": "object",
+ "properties": {
+ "operatorType": {
+ "description": "The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others.",
+ "enum": [
+ "NumberIn",
+ "NumberNotIn",
+ "NumberLessThan",
+ "NumberGreaterThan",
+ "NumberLessThanOrEquals",
+ "NumberGreaterThanOrEquals",
+ "BoolEquals",
+ "StringIn",
+ "StringNotIn",
+ "StringBeginsWith",
+ "StringEndsWith",
+ "StringContains"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AdvancedFilterOperatorType",
+ "modelAsString": true
+ }
+ },
+ "key": {
+ "description": "The field/property in the event based on which you want to filter.",
+ "type": "string"
+ }
+ },
+ "discriminator": "operatorType"
+ },
+ "DeliveryWithResourceIdentity": {
+ "description": "Information about the delivery for an event subscription with resource identity.",
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/EventSubscriptionIdentity",
+ "description": "The identity to use when delivering events."
+ },
+ "destination": {
+ "$ref": "#/definitions/EventSubscriptionDestination",
+ "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses Azure Event Grid's identity to acquire the authentication tokens being used during delivery / dead-lettering."
+ }
+ }
+ },
+ "DeadLetterWithResourceIdentity": {
+ "description": "Information about the deadletter destination with resource identity.",
+ "type": "object",
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/EventSubscriptionIdentity",
+ "description": "The identity to use when dead-lettering events."
+ },
+ "deadLetterDestination": {
+ "$ref": "#/definitions/DeadLetterDestination",
+ "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses the managed identity setup on the parent resource (namely, topic or domain) to acquire the authentication tokens being used during delivery / dead-lettering."
+ }
+ }
+ },
+ "EventSubscriptionIdentity": {
+ "description": "The identity information with the event subscription.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identity.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EventSubscriptionIdentityType",
+ "modelAsString": true
+ }
+ },
+ "userAssignedIdentity": {
+ "description": "The user identity associated with the resource.",
+ "type": "string"
+ }
+ }
+ },
+ "WebHookEventSubscriptionDestination": {
+ "description": "Information about the webhook destination for an event subscription.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/WebHookEventSubscriptionDestinationProperties",
+ "description": "WebHook Properties of the event subscription destination.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "WebHook"
+ },
+ "DeadLetterDestination": {
+ "description": "Information about the dead letter destination for an event subscription. To configure a deadletter destination, do not directly instantiate an object of this class. Instead, instantiate an object of a derived class. Currently, StorageBlobDeadLetterDestination is the only class that derives from this class.",
+ "type": "object",
+ "required": [
+ "endpointType"
+ ],
+ "properties": {
+ "endpointType": {
+ "description": "Type of the endpoint for the dead letter destination",
+ "enum": [
+ "StorageBlob"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DeadLetterEndPointType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "endpointType"
+ },
+ "EventHubEventSubscriptionDestinationProperties": {
+ "description": "The properties for a event hub destination.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource Id that represents the endpoint of an Event Hub destination of an event subscription.",
+ "type": "string"
+ },
+ "deliveryAttributeMappings": {
+ "description": "Delivery attribute details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryAttributeMapping"
+ }
+ }
+ }
+ },
+ "EventHubEventSubscriptionDestination": {
+ "description": "Information about the event hub destination for an event subscription.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EventHubEventSubscriptionDestinationProperties",
+ "description": "Event Hub Properties of the event subscription destination.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "EventHub"
+ },
+ "StorageQueueEventSubscriptionDestinationProperties": {
+ "description": "The properties for a storage queue destination.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource ID of the storage account that contains the queue that is the destination of an event subscription.",
+ "type": "string"
+ },
+ "queueName": {
+ "description": "The name of the Storage queue under a storage account that is the destination of an event subscription.",
+ "type": "string"
+ },
+ "queueMessageTimeToLiveInSeconds": {
+ "format": "int64",
+ "description": "Storage queue message time to live in seconds.",
+ "type": "integer"
+ }
+ }
+ },
+ "StorageQueueEventSubscriptionDestination": {
+ "description": "Information about the storage queue destination for an event subscription.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageQueueEventSubscriptionDestinationProperties",
+ "description": "Storage Queue Properties of the event subscription destination.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "StorageQueue"
+ },
+ "HybridConnectionEventSubscriptionDestinationProperties": {
+ "description": "The properties for a hybrid connection destination.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource ID of an hybrid connection that is the destination of an event subscription.",
+ "type": "string"
+ },
+ "deliveryAttributeMappings": {
+ "description": "Delivery attribute details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryAttributeMapping"
+ }
+ }
+ }
+ },
+ "HybridConnectionEventSubscriptionDestination": {
+ "description": "Information about the HybridConnection destination for an event subscription.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/HybridConnectionEventSubscriptionDestinationProperties",
+ "description": "Hybrid connection Properties of the event subscription destination.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "HybridConnection"
+ },
+ "ServiceBusQueueEventSubscriptionDestinationProperties": {
+ "description": "The properties that represent the Service Bus destination of an event subscription.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource Id that represents the endpoint of the Service Bus destination of an event subscription.",
+ "type": "string"
+ },
+ "deliveryAttributeMappings": {
+ "description": "Delivery attribute details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryAttributeMapping"
+ }
+ }
+ }
+ },
+ "ServiceBusQueueEventSubscriptionDestination": {
+ "description": "Information about the service bus destination for an event subscription.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ServiceBusQueueEventSubscriptionDestinationProperties",
+ "description": "Service Bus Properties of the event subscription destination.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "ServiceBusQueue"
+ },
+ "ServiceBusTopicEventSubscriptionDestinationProperties": {
+ "description": "The properties that represent the Service Bus Topic destination of an event subscription.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource Id that represents the endpoint of the Service Bus Topic destination of an event subscription.",
+ "type": "string"
+ },
+ "deliveryAttributeMappings": {
+ "description": "Delivery attribute details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryAttributeMapping"
+ }
+ }
+ }
+ },
+ "ServiceBusTopicEventSubscriptionDestination": {
+ "description": "Information about the service bus topic destination for an event subscription.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ServiceBusTopicEventSubscriptionDestinationProperties",
+ "description": "Service Bus Topic Properties of the event subscription destination.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "ServiceBusTopic"
+ },
+ "AzureFunctionEventSubscriptionDestinationProperties": {
+ "description": "The properties that represent the Azure Function destination of an event subscription.",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The Azure Resource Id that represents the endpoint of the Azure Function destination of an event subscription.",
+ "type": "string"
+ },
+ "maxEventsPerBatch": {
+ "format": "int32",
+ "description": "Maximum number of events per batch.",
+ "default": 1,
+ "type": "integer"
+ },
+ "preferredBatchSizeInKilobytes": {
+ "format": "int32",
+ "description": "Preferred batch size in Kilobytes.",
+ "default": 64,
+ "type": "integer"
+ },
+ "deliveryAttributeMappings": {
+ "description": "Delivery attribute details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryAttributeMapping"
+ }
+ }
+ }
+ },
+ "AzureFunctionEventSubscriptionDestination": {
+ "description": "Information about the azure function destination for an event subscription.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventSubscriptionDestination"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AzureFunctionEventSubscriptionDestinationProperties",
+ "description": "Azure Function Properties of the event subscription destination.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "AzureFunction"
+ },
+ "EventSubscriptionDestination": {
+ "description": "Information about the destination for an event subscription.",
+ "required": [
+ "endpointType"
+ ],
+ "type": "object",
+ "properties": {
+ "endpointType": {
+ "description": "Type of the endpoint for the event subscription destination.",
+ "enum": [
+ "WebHook",
+ "EventHub",
+ "StorageQueue",
+ "HybridConnection",
+ "ServiceBusQueue",
+ "ServiceBusTopic",
+ "AzureFunction"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EndpointType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "endpointType"
+ },
+ "EventSubscription": {
+ "description": "Event Subscription",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EventSubscriptionProperties",
+ "description": "Properties of the event subscription.",
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "description": "The system metadata relating to Event Subscription resource.",
+ "type": "object",
+ "readOnly": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "EventSubscriptionUpdateParameters": {
+ "description": "Properties of the Event Subscription update.",
+ "type": "object",
+ "properties": {
+ "destination": {
+ "$ref": "#/definitions/EventSubscriptionDestination",
+ "description": "Information about the destination where events have to be delivered for the event subscription."
+ },
+ "deliveryWithResourceIdentity": {
+ "$ref": "#/definitions/DeliveryWithResourceIdentity",
+ "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses the managed identity setup on the parent resource (topic / domain) to acquire the authentication tokens being used during delivery / dead-lettering."
+ },
+ "filter": {
+ "$ref": "#/definitions/EventSubscriptionFilter",
+ "description": "Information about the filter for the event subscription."
+ },
+ "labels": {
+ "description": "List of user defined labels.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "expirationTimeUtc": {
+ "format": "date-time",
+ "description": "Information about the expiration time for the event subscription.",
+ "type": "string"
+ },
+ "eventDeliverySchema": {
+ "description": "The event delivery schema for the event subscription.",
+ "enum": [
+ "EventGridSchema",
+ "CustomInputSchema",
+ "CloudEventSchemaV1_0"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EventDeliverySchema",
+ "modelAsString": true
+ }
+ },
+ "retryPolicy": {
+ "$ref": "#/definitions/RetryPolicy",
+ "description": "The retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events."
+ },
+ "deadLetterDestination": {
+ "$ref": "#/definitions/DeadLetterDestination",
+ "description": "The DeadLetter destination of the event subscription."
+ },
+ "deadLetterWithResourceIdentity": {
+ "$ref": "#/definitions/DeadLetterWithResourceIdentity",
+ "description": "The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination.\r\nUses the managed identity setup on the parent resource (topic / domain) to acquire the authentication tokens being used during delivery / dead-lettering."
+ }
+ }
+ },
+ "EventSubscriptionFullUrl": {
+ "description": "Full endpoint url of an event subscription",
+ "type": "object",
+ "properties": {
+ "endpointUrl": {
+ "description": "The URL that represents the endpoint of the destination of an event subscription.",
+ "type": "string"
+ }
+ }
+ },
+ "EventSubscriptionsListResult": {
+ "description": "Result of the List EventSubscriptions operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of EventSubscriptions",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EventSubscription"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of event subscriptions",
+ "type": "string"
+ }
+ }
+ },
+ "DeliveryAttributeListResult": {
+ "description": "Result of the Get delivery attributes operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of DeliveryAttributeMapping",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeliveryAttributeMapping"
+ }
+ }
+ }
+ },
+ "OperationsListResult": {
+ "description": "Result of the List Operations operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of operations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ }
+ }
+ },
+ "Operation": {
+ "description": "Represents an operation returned by the GetOperations request",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationInfo",
+ "description": "Display name of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Properties of the operation",
+ "type": "object",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OperationInfo": {
+ "description": "Information about an operation",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Name of the provider",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Name of the resource type",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateEndpointConnectionListResult": {
+ "description": "Result of the list of all private endpoint connections operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of private endpoint connection resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of private endpoint connection resources.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "Information of the private link resource.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Properties of the private link resource.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "Fully qualified identifier of the resource.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the resource.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of the resource.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkResourceProperties": {
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "type": "string"
+ },
+ "displayName": {
+ "type": "string"
+ },
+ "requiredMembers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "requiredZoneNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PrivateLinkResourcesListResult": {
+ "description": "Result of the List private link resources operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of private link resources",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of private link resources.",
+ "type": "string"
+ }
+ }
+ },
+ "SystemTopicProperties": {
+ "description": "Properties of the System Topic.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state of the system topic.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ResourceProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "source": {
+ "description": "Source for the system topic.",
+ "type": "string"
+ },
+ "topicType": {
+ "description": "TopicType for the system topic.",
+ "type": "string"
+ },
+ "metricResourceId": {
+ "description": "Metric resource id for the system topic.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SystemTopic": {
+ "description": "EventGrid System Topic.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SystemTopicProperties",
+ "description": "Properties of the system topic.",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityInfo",
+ "description": "Identity information for the resource."
+ },
+ "systemData": {
+ "description": "The system metadata relating to System Topic resource.",
+ "type": "object",
+ "readOnly": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "SystemTopicUpdateParameters": {
+ "description": "Properties of the System Topic update.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Tags of the system topic.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityInfo",
+ "description": "Resource identity information."
+ }
+ }
+ },
+ "SystemTopicsListResult": {
+ "description": "Result of the List System topics operation.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of system Topics.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SystemTopic"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of topics.",
+ "type": "string"
+ }
+ }
+ },
+ "TopicProperties": {
+ "description": "Properties of the Topic",
+ "type": "object",
+ "properties": {
+ "privateEndpointConnections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the topic.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "TopicProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "endpoint": {
+ "description": "Endpoint for the topic.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inputSchema": {
+ "description": "This determines the format that Event Grid should expect for incoming events published to the topic.",
+ "enum": [
+ "EventGridSchema",
+ "CustomEventSchema",
+ "CloudEventSchemaV1_0"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "InputSchema",
+ "modelAsString": true
+ },
+ "default": "EventGridSchema"
+ },
+ "inputSchemaMapping": {
+ "$ref": "#/definitions/InputSchemaMapping",
+ "description": "This enables publishing using custom event schemas. An InputSchemaMapping can be specified to map various properties of a source schema to various required properties of the EventGridEvent schema."
+ },
+ "metricResourceId": {
+ "description": "Metric resource id for the topic.",
+ "type": "string",
+ "readOnly": true
+ },
+ "publicNetworkAccess": {
+ "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ },
+ "default": "Enabled"
+ },
+ "inboundIpRules": {
+ "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundIpRule"
+ }
+ },
+ "disableLocalAuth": {
+ "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the topic.",
+ "default": false,
+ "type": "boolean"
+ }
+ }
+ },
+ "Topic": {
+ "description": "EventGrid Topic",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TopicProperties",
+ "description": "Properties of the topic.",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityInfo",
+ "description": "Identity information for the resource."
+ },
+ "systemData": {
+ "description": "The system metadata relating to Topic resource.",
+ "type": "object",
+ "readOnly": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "TopicUpdateParameters": {
+ "description": "Properties of the Topic update",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Tags of the resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "identity": {
+ "$ref": "#/definitions/IdentityInfo",
+ "description": "Topic resource identity information."
+ },
+ "properties": {
+ "$ref": "#/definitions/TopicUpdateParameterProperties",
+ "description": "Properties of the resource.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "TopicUpdateParameterProperties": {
+ "description": "Information of topic update parameter properties.",
+ "type": "object",
+ "properties": {
+ "publicNetworkAccess": {
+ "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ },
+ "default": "Enabled"
+ },
+ "inboundIpRules": {
+ "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InboundIpRule"
+ }
+ },
+ "disableLocalAuth": {
+ "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the topic.",
+ "type": "boolean"
+ }
+ }
+ },
+ "TopicsListResult": {
+ "description": "Result of the List Topics operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of Topics",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Topic"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of topics",
+ "type": "string"
+ }
+ }
+ },
+ "TopicSharedAccessKeys": {
+ "description": "Shared access keys of the Topic",
+ "type": "object",
+ "properties": {
+ "key1": {
+ "description": "Shared access key1 for the topic.",
+ "type": "string"
+ },
+ "key2": {
+ "description": "Shared access key2 for the topic.",
+ "type": "string"
+ }
+ }
+ },
+ "TopicRegenerateKeyRequest": {
+ "description": "Topic regenerate share access key request",
+ "required": [
+ "keyName"
+ ],
+ "type": "object",
+ "properties": {
+ "keyName": {
+ "description": "Key name to regenerate key1 or key2",
+ "type": "string"
+ }
+ }
+ },
+ "ExtensionTopicProperties": {
+ "description": "Properties of the Extension Topic",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description of the extension topic.",
+ "type": "string"
+ },
+ "systemTopic": {
+ "description": "System topic resource id which is mapped to the source.",
+ "type": "string"
+ }
+ }
+ },
+ "ExtensionTopic": {
+ "description": "Event grid Extension Topic. This is used for getting Event Grid related metrics for Azure resources.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ExtensionTopicProperties",
+ "description": "Properties of the extension topic",
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "description": "The system metadata relating to the Extension Topic resource.",
+ "type": "object",
+ "readOnly": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ }
+ },
+ "EventTypesListResult": {
+ "description": "Result of the List Event Types operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of event types",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EventType"
+ }
+ }
+ }
+ },
+ "EventTypeProperties": {
+ "description": "Properties of the event type",
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "description": "Display name of the event type.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the event type.",
+ "type": "string"
+ },
+ "schemaUrl": {
+ "description": "Url of the schema for this event type.",
+ "type": "string"
+ },
+ "isInDefaultSet": {
+ "description": "IsInDefaultSet flag of the event type.",
+ "type": "boolean"
+ }
+ }
+ },
+ "EventType": {
+ "description": "Event Type for a subject under a topic",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EventTypeProperties",
+ "description": "Properties of the event type.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "TopicTypesListResult": {
+ "description": "Result of the List Topic Types operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of topic types",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TopicTypeInfo"
+ }
+ }
+ }
+ },
+ "TopicTypeProperties": {
+ "description": "Properties of a topic type.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Namespace of the provider of the topic type.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Display Name for the topic type.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the topic type.",
+ "type": "string"
+ },
+ "resourceRegionType": {
+ "description": "Region type of the resource.",
+ "enum": [
+ "RegionalResource",
+ "GlobalResource"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ResourceRegionType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the topic type",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TopicTypeProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "supportedLocations": {
+ "description": "List of locations supported by this topic type.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "sourceResourceFormat": {
+ "description": "Source resource format.",
+ "type": "string"
+ },
+ "supportedScopesForSource": {
+ "description": "Supported source scopes.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Resource",
+ "ResourceGroup",
+ "AzureSubscription"
+ ],
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TopicTypeInfo": {
+ "description": "Properties of a topic type info.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TopicTypeProperties",
+ "description": "Properties of the topic type info",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "required": true,
+ "type": "string"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Version of the API to be used with the client request.",
+ "required": true,
+ "type": "string"
+ },
+ "FilterParameter": {
+ "name": "$filter",
+ "in": "query",
+ "description": "The query used to filter the search results using OData syntax. Filtering is permitted on the 'name' property only and with limited number of OData operations. These operations are: the 'contains' function as well as the following logical operations: not, and, or, eq (for equal), and ne (for not equal). No arithmetic operations are supported. The following is a valid filter example: $filter=contains(namE, 'PATTERN') and name ne 'PATTERN-1'. The following is not a valid filter example: $filter=location eq 'westus'.",
+ "required": false,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "TopParameter": {
+ "name": "$top",
+ "in": "query",
+ "description": "The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_CreateOrUpdate.json
new file mode 100644
index 000000000000..ede0597d632c
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_CreateOrUpdate.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain1",
+ "domainTopicName": "exampledomaintopic1",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1/topics/exampledomaintopic1",
+ "name": "exampledomaintopic1",
+ "type": "Microsoft.EventGrid/domains/topics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_Delete.json
new file mode 100644
index 000000000000..5be4e21b3bfe
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain1",
+ "domainTopicName": "exampledomaintopic1",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_Get.json
new file mode 100644
index 000000000000..71d3a4e79f5b
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_Get.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain2",
+ "domainTopicName": "topic1",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2/topics/topic1",
+ "name": "topic1",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.EventGrid/domains/topics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_ListByDomain.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_ListByDomain.json
new file mode 100644
index 000000000000..e2b8d873c8a1
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/DomainTopics_ListByDomain.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain2",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/devexprg/providers/Microsoft.EventGrid/domains/domainCli100/topics/domainCli100topic1",
+ "name": "domainCli100topic1",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.EventGrid/domains/topics"
+ },
+ {
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/devexprg/providers/Microsoft.EventGrid/domains/domainCli100/topics/domainCli100topic2",
+ "name": "domainCli100topic2",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.EventGrid/domains/topics"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_CreateOrUpdate.json
new file mode 100644
index 000000000000..75423f7c4dd3
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_CreateOrUpdate.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain1",
+ "api-version": "2020-04-01-preview",
+ "domainInfo": {
+ "location": "westus2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "publicNetworkAccess": "Enabled",
+ "inboundIpRules": [
+ {
+ "ipMask": "12.18.30.15",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "12.18.176.1",
+ "action": "Allow"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Enabled",
+ "inboundIpRules": [
+ {
+ "ipMask": "12.18.30.15",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "12.18.176.1",
+ "action": "Allow"
+ }
+ ]
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1",
+ "location": "westus2",
+ "name": "exampledomain1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_Delete.json
new file mode 100644
index 000000000000..3712305de1f9
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain1",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_Get.json
new file mode 100644
index 000000000000..958fd7e429fe
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain2",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "endpoint": "https://exampledomain2.westcentralus-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2",
+ "location": "westcentralus",
+ "name": "exampledomain2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_ListByResourceGroup.json
new file mode 100644
index 000000000000..a5615d47e6f4
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_ListByResourceGroup.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1",
+ "location": "westus2",
+ "name": "exampledomain1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ },
+ {
+ "properties": {
+ "endpoint": "https://exampledomain2.westcentralus-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2",
+ "location": "westcentralus",
+ "name": "exampledomain2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_ListBySubscription.json
new file mode 100644
index 000000000000..065fd4370397
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_ListBySubscription.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1",
+ "location": "westus2",
+ "name": "exampledomain1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ },
+ {
+ "properties": {
+ "endpoint": "https://exampledomain2.westcentralus-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain2",
+ "location": "westcentralus",
+ "name": "exampledomain2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_ListSharedAccessKeys.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_ListSharedAccessKeys.json
new file mode 100644
index 000000000000..01dbc4a20a7c
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_ListSharedAccessKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain2",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "",
+ "key2": ""
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_RegenerateKey.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_RegenerateKey.json
new file mode 100644
index 000000000000..6df9219f7a49
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_RegenerateKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain2",
+ "api-version": "2020-04-01-preview",
+ "regenerateKeyRequest": {
+ "keyName": "key1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "",
+ "key2": ""
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_Update.json
new file mode 100644
index 000000000000..3e59834b75b9
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Domains_Update.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "exampledomain1",
+ "api-version": "2020-04-01-preview",
+ "domainUpdateParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "publicNetworkAccess": "Enabled",
+ "inboundIpRules": [
+ {
+ "ipMask": "12.18.30.15",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "12.18.176.1",
+ "action": "Allow"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "201": {
+ "body": {
+ "properties": {
+ "endpoint": "https://exampledomain1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Enabled",
+ "inboundIpRules": [
+ {
+ "ipMask": "12.18.30.15",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "12.18.176.1",
+ "action": "Allow"
+ }
+ ]
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/exampledomain1",
+ "location": "westus2",
+ "name": "exampledomain1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/domains"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json
new file mode 100644
index 000000000000..10b5ef006c40
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_EventHubDestination.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2020-04-01-preview",
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "EventHub",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1"
+ },
+ "endpointType": "EventHub"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "provisioningState": "Creating",
+ "labels": null,
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json
new file mode 100644
index 000000000000..85f8874c8544
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_HybridConnectionDestination.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2020-04-01-preview",
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "HybridConnection",
+ "properties": {
+ "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Relay/namespaces/ContosoNamespace/hybridConnections/HC1"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Relay/namespaces/ContosoNamespace/hybridConnections/HC1"
+ },
+ "endpointType": "HybridConnection"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "provisioningState": "Creating",
+ "labels": null,
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json
new file mode 100644
index 000000000000..9a43e885730f
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_StorageQueueDestination.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "2020-04-01-preview",
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "StorageQueue",
+ "properties": {
+ "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "queueName": "queue1"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/d33c5f7a-02ea-40f4-bf52-07f17e84d6a8/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "queueName": "queue1"
+ },
+ "endpointType": "StorageQueue"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "provisioningState": "Creating",
+ "labels": null,
+ "deadLetterDestination": {
+ "endpointType": "StorageBlob",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/contosostg",
+ "blobContainerName": "contosocontainer"
+ }
+ }
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json
new file mode 100644
index 000000000000..8ff82a8abfab
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForCustomTopic_WebhookDestination.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2020-04-01-preview",
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://azurefunctionexample.azurewebsites.net/runtime/webhooks/EventGrid?functionName=EventGridTrigger1&code=PASSWORDCODE"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://azurefunctionexample.azurewebsites.net/runtime/webhooks/EventGrid"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForResource.json
new file mode 100644
index 000000000000..c59f022421cf
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForResource.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1",
+ "eventSubscriptionName": "examplesubscription10",
+ "api-version": "2020-04-01-preview",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10",
+ "name": "examplesubscription10",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json
new file mode 100644
index 000000000000..04328d84faca
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForResourceGroup.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2020-04-01-preview",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForSubscription.json
new file mode 100644
index 000000000000..21ec84b751b7
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_CreateOrUpdateForSubscription.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2020-04-01-preview",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForCustomTopic.json
new file mode 100644
index 000000000000..cb910cec146b
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForCustomTopic.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForResource.json
new file mode 100644
index 000000000000..a36dd4a32c41
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForResource.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1",
+ "eventSubscriptionName": "examplesubscription10",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForResourceGroup.json
new file mode 100644
index 000000000000..bbb6787b1c16
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForResourceGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForSubscription.json
new file mode 100644
index 000000000000..c49193c06193
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_DeleteForSubscription.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "204": {},
+ "200": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetDeliveryAttributes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetDeliveryAttributes.json
new file mode 100644
index 000000000000..e85858f422bf
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetDeliveryAttributes.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "scope": "aaaaaaaaaaaaaaaaaaaaaaaaa",
+ "eventSubscriptionName": "aaaaaaaaaaaaaaaaaa",
+ "api-version": "2020-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "header1",
+ "type": "Static"
+ },
+ {
+ "name": "header2",
+ "type": "Dynamic"
+ },
+ {
+ "name": "header3",
+ "type": "Static"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForCustomTopic.json
new file mode 100644
index 000000000000..86bf95ba4550
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForCustomTopic.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForResource.json
new file mode 100644
index 000000000000..a7e3c1d00558
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForResource.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1"
+ },
+ "endpointType": "EventHub"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForResourceGroup.json
new file mode 100644
index 000000000000..0bd3f3bf5d49
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForResourceGroup.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForSubscription.json
new file mode 100644
index 000000000000..fc62fa15469d
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetForSubscription.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForCustomTopic.json
new file mode 100644
index 000000000000..29de0d132965
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForCustomTopic.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForResource.json
new file mode 100644
index 000000000000..6946be90eca8
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForResource.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForResourceGroup.json
new file mode 100644
index 000000000000..e5fe18fe955b
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForResourceGroup.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForSubscription.json
new file mode 100644
index 000000000000..d93adff17991
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_GetFullUrlForSubscription.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListByDomainTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListByDomainTopic.json
new file mode 100644
index 000000000000..27c0593c0f98
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListByDomainTopic.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "domainName": "domain1",
+ "topicName": "topic1",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/domains/domain1/topics/topic1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/domain1/topics/topic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/domains/domain1/topics/topic1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/domain1/topics/topic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "labels": [],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/domains/domain1/topics/topic1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/domains/domain1/topics/topic1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListByResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListByResource.json
new file mode 100644
index 000000000000..3db6b0fd2706
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListByResource.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "providerNamespace": "Microsoft.EventGrid",
+ "resourceTypeName": "topics",
+ "resourceName": "exampletopic2",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "labels": [],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalByResourceGroup.json
new file mode 100644
index 000000000000..2dc73fcc99eb
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalByResourceGroup.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription4",
+ "name": "examplesubscription4",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json
new file mode 100644
index 000000000000..b736f9c55616
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicTypeName": "Microsoft.Resources.ResourceGroups",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalBySubscription.json
new file mode 100644
index 000000000000..d36d2cfc0344
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalBySubscription.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription4",
+ "name": "examplesubscription4",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json
new file mode 100644
index 000000000000..ccb726cbbdff
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "topicTypeName": "Microsoft.Resources.Subscriptions",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalByResourceGroup.json
new file mode 100644
index 000000000000..156d635fa0fc
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalByResourceGroup.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "location": "westus2",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10",
+ "name": "examplesubscription10",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11",
+ "name": "examplesubscription11",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json
new file mode 100644
index 000000000000..217df915989d
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "location": "westus2",
+ "topicTypeName": "Microsoft.EventHub.namespaces",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10",
+ "name": "examplesubscription10",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11",
+ "name": "examplesubscription11",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalBySubscription.json
new file mode 100644
index 000000000000..704a5fb25abd
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalBySubscription.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "location": "westus2",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1"
+ },
+ "endpointType": "EventHub"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10",
+ "name": "examplesubscription10",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11",
+ "name": "examplesubscription11",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json
new file mode 100644
index 000000000000..15c67841ca99
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "location": "westus2",
+ "topicTypeName": "Microsoft.EventHub.namespaces",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription10",
+ "name": "examplesubscription10",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": [
+ "Finance",
+ "HR"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventhub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription11",
+ "name": "examplesubscription11",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForCustomTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForCustomTopic.json
new file mode 100644
index 000000000000..f90c2732c92c
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForCustomTopic.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2020-04-01-preview",
+ "eventSubscriptionUpdateParameters": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.eventgrid/topics/exampletopic2"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForResource.json
new file mode 100644
index 000000000000..bce346c335c4
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForResource.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2020-04-01-preview",
+ "eventSubscriptionUpdateParameters": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventHub/namespaces/examplenamespace1/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForResourceGroup.json
new file mode 100644
index 000000000000..59f8b6db5756
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForResourceGroup.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg",
+ "eventSubscriptionName": "examplesubscription2",
+ "api-version": "2020-04-01-preview",
+ "eventSubscriptionUpdateParameters": {
+ "destination": {
+ "endpointType": "EventHub",
+ "properties": {
+ "resourceId": "/subscriptions/55f3dcd4-cac7-43b4-990b-a139d62a1eb2/resourceGroups/TestRG/providers/Microsoft.EventHub/namespaces/ContosoNamespace/eventhubs/EH1"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForSubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForSubscription.json
new file mode 100644
index 000000000000..673dc543afef
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/EventSubscriptions_UpdateForSubscription.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "eventSubscriptionName": "examplesubscription3",
+ "api-version": "2020-04-01-preview",
+ "eventSubscriptionUpdateParameters": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [],
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/providers/Microsoft.EventGrid/topics/exampletopic2/providers/Microsoft.EventGrid/eventSubscriptions/examplesubscription3",
+ "name": "examplesubscription3",
+ "type": "Microsoft.EventGrid/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/ExtensionTopics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/ExtensionTopics_Get.json
new file mode 100644
index 000000000000..9a3a9ef9da81
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/ExtensionTopics_Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "scope": "subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.storage/storageaccounts/exampleResourceName/providers/Microsoft.eventgrid/extensionTopics/default",
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "providerNamespace": "microsoft.storage",
+ "resourceTypeName": "storageaccounts",
+ "resourceName": "exampleResourceName",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "Extension topic for /subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.storage/storageaccounts/exampleResourceName/providers/Microsoft.eventgrid/extensionTopics/default that can be used to obtain metrics",
+ "systemTopic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleResourceName-2a41650f-00dd-4790-b3ab-dabd12d227cb"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/microsoft.storage/storageaccounts/exampleResourceName/providers/Microsoft.eventgrid/extensionTopics/default",
+ "name": "default",
+ "type": "providers/Microsoft.EventGrid/extensionTopics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Operations_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Operations_List.json
new file mode 100644
index 000000000000..e0bc0bbee3dd
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Operations_List.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.EventGrid/register/action",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "EventGrid Resource Provider",
+ "operation": "Registers the EventGrid Resource Provider",
+ "description": "Registers the eventSubscription for the EventGrid resource provider and enables the creation of Event Grid subscriptions."
+ },
+ "origin": "UserAndSystem"
+ },
+ {
+ "name": "Microsoft.EventGrid/eventSubscriptions/write",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "eventSubscriptions",
+ "operation": "Write EventSubscription",
+ "description": "Create or update a eventSubscription"
+ },
+ "origin": "UserAndSystem"
+ },
+ {
+ "name": "Microsoft.EventGrid/eventSubscriptions/read",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "eventSubscriptions",
+ "operation": "Read EventSubscription",
+ "description": "Read a eventSubscription"
+ },
+ "origin": "UserAndSystem"
+ },
+ {
+ "name": "Microsoft.EventGrid/eventSubscriptions/delete",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "eventSubscriptions",
+ "operation": "Delete EventSubscription",
+ "description": "Delete a eventSubscription"
+ },
+ "origin": "UserAndSystem"
+ },
+ {
+ "name": "Microsoft.EventGrid/topics/write",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "topics",
+ "operation": "Write Topic",
+ "description": "Create or update a topic"
+ },
+ "origin": "UserAndSystem"
+ },
+ {
+ "name": "Microsoft.EventGrid/topics/read",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "topics",
+ "operation": "Read Topic",
+ "description": "Read a topic"
+ },
+ "origin": "UserAndSystem"
+ },
+ {
+ "name": "Microsoft.EventGrid/topics/delete",
+ "display": {
+ "provider": "Microsoft Event Grid",
+ "resource": "topics",
+ "operation": "Delete Topic",
+ "description": "Delete a topic"
+ },
+ "origin": "UserAndSystem"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_Delete.json
new file mode 100644
index 000000000000..0b9b52011235
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "parentType": "topics",
+ "parentName": "exampletopic1",
+ "privateEndpointConnectionName": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_Get.json
new file mode 100644
index 000000000000..650d12fc40e1
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_Get.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "parentType": "topics",
+ "parentName": "exampletopic1",
+ "privateEndpointConnectionName": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5"
+ },
+ "groupIds": [
+ "topic"
+ ],
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Test",
+ "actionsRequired": "None"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "type": "Microsoft.EventGrid/topics/privateEndpointConnections"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_ListByResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_ListByResource.json
new file mode 100644
index 000000000000..c16c488defbc
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_ListByResource.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "parentType": "topics",
+ "parentName": "exampletopic1",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5"
+ },
+ "groupIds": [
+ "topic"
+ ],
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Test",
+ "actionsRequired": "None"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "type": "Microsoft.EventGrid/topics/privateEndpointConnections"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_Update.json
new file mode 100644
index 000000000000..05dbe5771842
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateEndpointConnections_Update.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "parentType": "topics",
+ "parentName": "exampletopic1",
+ "privateEndpointConnectionName": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "api-version": "2020-04-01-preview",
+ "privateEndpointConnection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approving connection",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5"
+ },
+ "groupIds": [
+ "topic"
+ ],
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approving connection",
+ "actionsRequired": "None"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "type": "Microsoft.EventGrid/topics/privateEndpointConnections"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/bmtpe5"
+ },
+ "groupIds": [
+ "topic"
+ ],
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "approving connection",
+ "actionsRequired": "None"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1/privateEndpointConnections/BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "name": "BMTPE5.8A30D251-4C61-489D-A1AA-B37C4A329B8B",
+ "type": "Microsoft.EventGrid/topics/privateEndpointConnections"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateLinkResources_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateLinkResources_Get.json
new file mode 100644
index 000000000000..aaca5edd77a2
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateLinkResources_Get.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "parentType": "topics",
+ "parentName": "exampletopic1",
+ "privateLinkResourceName": "topic",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "groupId": "topic",
+ "displayName": "Event Grid topic",
+ "requiredMembers": [
+ "topic"
+ ],
+ "requiredZoneNames": [
+ "privatelink.eventgrid.azure.net"
+ ]
+ },
+ "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/amh/providers/Microsoft.EventGrid/topics/exampletopic1/privateLinkResources/topic",
+ "name": "topic",
+ "type": "Microsoft.EventGrid/topics/privateLinkResources"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateLinkResources_ListByResource.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateLinkResources_ListByResource.json
new file mode 100644
index 000000000000..613d05b44e05
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/PrivateLinkResources_ListByResource.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "parentType": "topics",
+ "parentName": "exampletopic1",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "groupId": "topic",
+ "displayName": "Event Grid topic",
+ "requiredMembers": [
+ "topic"
+ ],
+ "requiredZoneNames": [
+ "privatelink.eventgrid.azure.net"
+ ]
+ },
+ "id": "/subscriptions/5B4B650E-28B9-4790-B3AB-DDBD88D727C4/resourceGroups/amh/providers/Microsoft.EventGrid/topics/exampletopic1/privateLinkResources/topic",
+ "name": "topic",
+ "type": "Microsoft.EventGrid/topics/privateLinkResources"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_CreateOrUpdate.json
new file mode 100644
index 000000000000..d38b393dd5ea
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_CreateOrUpdate.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "eventSubscriptionName": "exampleEventSubscriptionName1",
+ "api-version": "2021-06-01-preview",
+ "eventSubscriptionInfo": {
+ "properties": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix"
+ },
+ "labels": null,
+ "eventDeliverySchema": "EventGridSchema",
+ "retryPolicy": {
+ "maxDeliveryAttempts": 30,
+ "eventTimeToLiveInMinutes": 1440
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/exampleEventSubscriptionName1",
+ "name": "exampleEventSubscriptionName1",
+ "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_Delete.json
new file mode 100644
index 000000000000..7ad62de98b14
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_Get.json
new file mode 100644
index 000000000000..92eee757b012
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_Get.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1",
+ "provisioningState": "Succeeded",
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource",
+ "queueName": "que"
+ },
+ "endpointType": "StorageQueue"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix",
+ "includedEventTypes": [
+ "Microsoft.Storage.BlobCreated",
+ "Microsoft.Storage.BlobDeleted"
+ ]
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "eventDeliverySchema": "EventGridSchema",
+ "retryPolicy": {
+ "maxDeliveryAttempts": 30,
+ "eventTimeToLiveInMinutes": 1440
+ }
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_GetDeliveryAttributes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_GetDeliveryAttributes.json
new file mode 100644
index 000000000000..3ffdace692f0
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_GetDeliveryAttributes.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "header1",
+ "type": "Static",
+ "properties": {
+ "value": "NormalValue",
+ "isSecret": false
+ }
+ },
+ {
+ "name": "header2",
+ "type": "Dynamic",
+ "properties": {
+ "sourceField": "data.foo"
+ }
+ },
+ {
+ "name": "header3",
+ "type": "Static",
+ "properties": {
+ "value": "mySecretValue",
+ "isSecret": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_GetFullUrl.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_GetFullUrl.json
new file mode 100644
index 000000000000..57e494399c58
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_GetFullUrl.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "eventSubscriptionName": "examplesubscription1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_ListBySystemTopic.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_ListBySystemTopic.json
new file mode 100644
index 000000000000..da7268d2b4c5
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_ListBySystemTopic.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1",
+ "provisioningState": "Succeeded",
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource",
+ "queueName": "que"
+ },
+ "endpointType": "StorageQueue"
+ },
+ "filter": {
+ "subjectBeginsWith": "",
+ "subjectEndsWith": ""
+ },
+ "labels": [],
+ "eventDeliverySchema": "EventGridSchema",
+ "retryPolicy": {
+ "maxDeliveryAttempts": 10,
+ "eventTimeToLiveInMinutes": 1440
+ }
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/examplesubscription1",
+ "name": "examplesubscription1",
+ "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions"
+ },
+ {
+ "properties": {
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1",
+ "provisioningState": "Succeeded",
+ "destination": {
+ "properties": {
+ "resourceId": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.Storage/storageAccounts/testtrackedsource",
+ "queueName": "que"
+ },
+ "endpointType": "StorageQueue"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": false,
+ "subjectBeginsWith": "ExamplePrefix",
+ "subjectEndsWith": "ExampleSuffix",
+ "includedEventTypes": [
+ "Microsoft.Storage.BlobCreated",
+ "Microsoft.Storage.BlobDeleted"
+ ]
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "eventDeliverySchema": "EventGridSchema",
+ "retryPolicy": {
+ "maxDeliveryAttempts": 30,
+ "eventTimeToLiveInMinutes": 1440
+ }
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/examplesubscription2",
+ "name": "examplesubscription2",
+ "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_Update.json
new file mode 100644
index 000000000000..9bdf21f0392f
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopicEventSubscriptions_Update.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "eventSubscriptionName": "exampleEventSubscriptionName1",
+ "api-version": "2021-06-01-preview",
+ "eventSubscriptionUpdateParameters": {
+ "destination": {
+ "endpointType": "WebHook",
+ "properties": {
+ "endpointUrl": "https://requestb.in/15ksip71"
+ }
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "destination": {
+ "properties": {
+ "endpointBaseUrl": "https://requestb.in/15ksip71"
+ },
+ "endpointType": "WebHook"
+ },
+ "filter": {
+ "isSubjectCaseSensitive": true,
+ "subjectBeginsWith": "existingPrefix",
+ "subjectEndsWith": "newSuffix"
+ },
+ "labels": [
+ "label1",
+ "label2"
+ ],
+ "eventDeliverySchema": "EventGridSchema",
+ "retryPolicy": {
+ "maxDeliveryAttempts": 30,
+ "eventTimeToLiveInMinutes": 1440
+ },
+ "provisioningState": "Succeeded",
+ "topic": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic1/eventSubscriptions/exampleEventSubscriptionName1",
+ "name": "exampleEventSubscriptionName1",
+ "type": "Microsoft.EventGrid/systemTopics/eventSubscriptions"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_CreateOrUpdate.json
new file mode 100644
index 000000000000..6f1e705dd76b
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_CreateOrUpdate.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "api-version": "2021-06-01-preview",
+ "systemTopicInfo": {
+ "properties": {
+ "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e",
+ "topicType": "microsoft.storage.storageaccounts"
+ },
+ "location": "westus2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e",
+ "topicType": "microsoft.storage.storageaccounts",
+ "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e"
+ },
+ "location": "centraluseuap",
+ "tags": null,
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2",
+ "name": "exampleSystemTopic2",
+ "type": "Microsoft.EventGrid/systemTopics"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e",
+ "topicType": "microsoft.storage.storageaccounts",
+ "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e"
+ },
+ "location": "centraluseuap",
+ "tags": null,
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2",
+ "name": "exampleSystemTopic2",
+ "type": "Microsoft.EventGrid/systemTopics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_Delete.json
new file mode 100644
index 000000000000..4dc3bc269b6a
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_Get.json
new file mode 100644
index 000000000000..6f2ed852108a
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_Get.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic2",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e",
+ "topicType": "microsoft.storage.storageaccounts",
+ "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e"
+ },
+ "location": "centraluseuap",
+ "tags": null,
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2",
+ "name": "exampleSystemTopic2",
+ "type": "Microsoft.EventGrid/systemTopics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_ListByResourceGroup.json
new file mode 100644
index 000000000000..6532104f0d16
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_ListByResourceGroup.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e",
+ "topicType": "microsoft.storage.storageaccounts",
+ "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e"
+ },
+ "location": "centraluseuap",
+ "tags": null,
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/pubstgrunnerb71cd29e-86fad330-7bac-4238-8cab-9e46b75165aa",
+ "name": "pubstgrunnerb71cd29e-86fad330-7bac-4238-8cab-9e46b75165aa",
+ "type": "Microsoft.EventGrid/systemTopics"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_ListBySubscription.json
new file mode 100644
index 000000000000..7bd800851db1
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_ListBySubscription.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "api-version": "2021-06-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e",
+ "topicType": "microsoft.storage.storageaccounts",
+ "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e"
+ },
+ "location": "centraluseuap",
+ "tags": null,
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2",
+ "name": "exampleSystemTopic2",
+ "type": "Microsoft.EventGrid/systemTopics"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_Update.json
new file mode 100644
index 000000000000..77be048df27e
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/SystemTopics_Update.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "systemTopicName": "exampleSystemTopic1",
+ "api-version": "2021-06-01-preview",
+ "systemTopicUpdateParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e",
+ "topicType": "microsoft.storage.storageaccounts",
+ "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e"
+ },
+ "location": "centraluseuap",
+ "tags": null,
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2",
+ "name": "exampleSystemTopic2",
+ "type": "Microsoft.EventGrid/systemTopics"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "source": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/azureeventgridrunnerrgcentraluseuap/providers/microsoft.storage/storageaccounts/pubstgrunnerb71cd29e",
+ "topicType": "microsoft.storage.storageaccounts",
+ "metricResourceId": "183c0fb1-17ff-47b6-ac77-5a47420ab01e"
+ },
+ "location": "centraluseuap",
+ "tags": null,
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/systemTopics/exampleSystemTopic2",
+ "name": "exampleSystemTopic2",
+ "type": "Microsoft.EventGrid/systemTopics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/TopicTypes_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/TopicTypes_Get.json
new file mode 100644
index 000000000000..8a5b5b95dc18
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/TopicTypes_Get.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "topicTypeName": "Microsoft.Storage.StorageAccounts",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "Microsoft Storage service events.",
+ "displayName": "Storage Accounts",
+ "provider": "Microsoft.Storage",
+ "provisioningState": "Succeeded",
+ "resourceRegionType": "RegionalResource"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts",
+ "name": "Microsoft.Storage.StorageAccounts",
+ "type": "Microsoft.EventGrid/topicTypes"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/TopicTypes_List.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/TopicTypes_List.json
new file mode 100644
index 000000000000..06bb41c66f85
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/TopicTypes_List.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "Microsoft EventHubs service events.",
+ "displayName": "EventHubs Namespace",
+ "provider": "Microsoft.Eventhub",
+ "provisioningState": "Succeeded",
+ "resourceRegionType": "RegionalResource"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Eventhub.Namespaces",
+ "name": "Microsoft.Eventhub.Namespaces",
+ "type": "Microsoft.EventGrid/topicTypes"
+ },
+ {
+ "properties": {
+ "description": "Microsoft Storage service events.",
+ "displayName": "Storage Accounts",
+ "provider": "Microsoft.Storage",
+ "provisioningState": "Succeeded",
+ "resourceRegionType": "RegionalResource"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts",
+ "name": "Microsoft.Storage.StorageAccounts",
+ "type": "Microsoft.EventGrid/topicTypes"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/TopicTypes_ListEventTypes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/TopicTypes_ListEventTypes.json
new file mode 100644
index 000000000000..98e62df5aa9e
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/TopicTypes_ListEventTypes.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "topicTypeName": "Microsoft.Storage.StorageAccounts",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "displayName": "Blob Created",
+ "description": "Raised when a blob is created.",
+ "schemaUrl": "tbd"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobCreated",
+ "name": "Microsoft.Storage.BlobCreated",
+ "type": "Microsoft.EventGrid/topicTypes/eventTypes"
+ },
+ {
+ "properties": {
+ "description": "Raised when a blob is deleted.",
+ "schemaUrl": "tbd",
+ "displayName": "Blob Deleted"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobDeleted",
+ "name": "Microsoft.Storage.BlobDeleted",
+ "type": "Microsoft.EventGrid/topicTypes/eventTypes"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_CreateOrUpdate.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_CreateOrUpdate.json
new file mode 100644
index 000000000000..5df2e89d6b4c
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_CreateOrUpdate.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic1",
+ "api-version": "2020-04-01-preview",
+ "topicInfo": {
+ "location": "westus2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "publicNetworkAccess": "Enabled",
+ "inboundIpRules": [
+ {
+ "ipMask": "12.18.30.15",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "12.18.176.1",
+ "action": "Allow"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Enabled",
+ "inboundIpRules": [
+ {
+ "ipMask": "12.18.30.15",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "12.18.176.1",
+ "action": "Allow"
+ }
+ ]
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "location": "westus2",
+ "name": "exampletopic1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_Delete.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_Delete.json
new file mode 100644
index 000000000000..8ad5954e6073
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic1",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_Get.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_Get.json
new file mode 100644
index 000000000000..5a447d1cbf5a
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_Get.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic2",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "endpoint": "https://exampletopic2.westcentralus-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2",
+ "location": "westcentralus",
+ "name": "exampletopic2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListByResourceGroup.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListByResourceGroup.json
new file mode 100644
index 000000000000..26462c27abda
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListByResourceGroup.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "location": "westus2",
+ "name": "exampletopic1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ },
+ {
+ "properties": {
+ "endpoint": "https://exampletopic2.westcentralus-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2",
+ "location": "westcentralus",
+ "name": "exampletopic2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListBySubscription.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListBySubscription.json
new file mode 100644
index 000000000000..12aef1a81833
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListBySubscription.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "location": "westus2",
+ "name": "exampletopic1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ },
+ {
+ "properties": {
+ "endpoint": "https://exampletopic2.westcentralus-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded"
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic2",
+ "location": "westcentralus",
+ "name": "exampletopic2",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListEventTypes.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListEventTypes.json
new file mode 100644
index 000000000000..5e5180b28c06
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListEventTypes.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "providerNamespace": "Microsoft.Storage",
+ "resourceTypeName": "storageAccounts",
+ "resourceName": "ExampleStorageAccount",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "Raised when a blob is created.",
+ "schemaUrl": "tbd",
+ "displayName": "Blob Created"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobCreated",
+ "name": "Microsoft.Storage.BlobCreated",
+ "type": "Microsoft.EventGrid/topicTypes/eventTypes"
+ },
+ {
+ "properties": {
+ "description": "Raised when a blob is deleted.",
+ "schemaUrl": "tbd",
+ "displayName": "Blob Deleted"
+ },
+ "id": "providers/Microsoft.EventGrid/topicTypes/Microsoft.Storage.StorageAccounts/eventTypes/Microsoft.Storage.BlobDeleted",
+ "name": "Microsoft.Storage.BlobDeleted",
+ "type": "Microsoft.EventGrid/topicTypes/eventTypes"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListSharedAccessKeys.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListSharedAccessKeys.json
new file mode 100644
index 000000000000..c4b3a879be3e
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_ListSharedAccessKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic2",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "",
+ "key2": ""
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_RegenerateKey.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_RegenerateKey.json
new file mode 100644
index 000000000000..528353fc908a
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_RegenerateKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic2",
+ "api-version": "2020-04-01-preview",
+ "regenerateKeyRequest": {
+ "keyName": "key1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key1": "",
+ "key2": ""
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_Update.json b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_Update.json
new file mode 100644
index 000000000000..71edda7cf0a7
--- /dev/null
+++ b/specification/eventgrid/resource-manager/Microsoft.EventGrid/stable/2021-12-01/examples/Topics_Update.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "5b4b650e-28b9-4790-b3ab-ddbd88d727c4",
+ "resourceGroupName": "examplerg",
+ "topicName": "exampletopic1",
+ "api-version": "2020-04-01-preview",
+ "topicUpdateParameters": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "publicNetworkAccess": "Enabled",
+ "inboundIpRules": [
+ {
+ "ipMask": "12.18.30.15",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "12.18.176.1",
+ "action": "Allow"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "201": {
+ "body": {
+ "properties": {
+ "endpoint": "https://exampletopic1.westus2-1.eventgrid.azure.net/api/events",
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Enabled",
+ "inboundIpRules": [
+ {
+ "ipMask": "12.18.30.15",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "12.18.176.1",
+ "action": "Allow"
+ }
+ ]
+ },
+ "id": "/subscriptions/5b4b650e-28b9-4790-b3ab-ddbd88d727c4/resourceGroups/examplerg/providers/Microsoft.EventGrid/topics/exampletopic1",
+ "location": "westus2",
+ "name": "exampletopic1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "type": "Microsoft.EventGrid/topics"
+ }
+ }
+ }
+}
diff --git a/specification/eventgrid/resource-manager/readme.go.md b/specification/eventgrid/resource-manager/readme.go.md
index c8e7ee3e949f..6cd7bee1be49 100644
--- a/specification/eventgrid/resource-manager/readme.go.md
+++ b/specification/eventgrid/resource-manager/readme.go.md
@@ -11,7 +11,7 @@ go:
``` yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/eventgrid/armeventgrid
+module-name: sdk/resourcemanager/eventgrid/armeventgrid
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
@@ -21,6 +21,7 @@ azure-arm: true
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-12
- tag: package-2021-06-preview
- tag: package-2020-10-preview
- tag: package-2020-06
@@ -35,6 +36,15 @@ batch:
- tag: package-2017-09-preview
- tag: package-2017-06-preview
```
+### Tag: package-2021-12 and go
+
+These settings apply only when `--tag=package-2021-12 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-12' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-12-01/$(namespace)
+```
+
### Tag: package-2021-06-preview and go
These settings apply only when `--tag=package-2021-06-preview --go` is specified on the command line.
diff --git a/specification/eventgrid/resource-manager/readme.java.md b/specification/eventgrid/resource-manager/readme.java.md
index 8cd94d1c8eeb..aa5e42612b55 100644
--- a/specification/eventgrid/resource-manager/readme.java.md
+++ b/specification/eventgrid/resource-manager/readme.java.md
@@ -16,6 +16,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-eventgrid
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2021-12
- tag: package-2021-06-preview
- tag: package-2020-10-preview
- tag: package-2020-06
@@ -28,6 +29,21 @@ batch:
- tag: package-2018-05-preview
- tag: package-2018-01
```
+
+### Tag: package-2021-12 and java
+
+These settings apply only when `--tag=package-2021-12 --java` is specified on the command line.
+
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2021-12' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.eventgrid.v2021_12_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/eventgrid/mgmt-v2021_12_01
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2021-06-preview and java
These settings apply only when `--tag=package-2021-06-preview --java` is specified on the command line.
diff --git a/specification/eventgrid/resource-manager/readme.md b/specification/eventgrid/resource-manager/readme.md
index 56fcd035ff46..a8725a8f3a3a 100644
--- a/specification/eventgrid/resource-manager/readme.md
+++ b/specification/eventgrid/resource-manager/readme.md
@@ -26,7 +26,25 @@ These are the global settings for the Azure EventGrid API.
``` yaml
openapi-type: arm
-tag: package-2021-06-preview
+tag: package-2021-12
+```
+
+### Tag: package-2021-12
+
+These settings apply only when `--tag=package-2021-12` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-12'
+input-file:
+- Microsoft.EventGrid/stable/2021-12-01/EventGrid.json
+```
+
+## Suppression
+
+``` yaml
+directive:
+ - suppress: OperationsApiResponseSchema
+ from: EventGrid.json
+ reason: Error is complaining about a section that already exists in all previous stable and preview swaggers.
```
### Tag: package-2021-06-preview
diff --git a/specification/eventgrid/resource-manager/readme.ruby.md b/specification/eventgrid/resource-manager/readme.ruby.md
index 4c22c30b24bc..dc87bc3e5b36 100644
--- a/specification/eventgrid/resource-manager/readme.ruby.md
+++ b/specification/eventgrid/resource-manager/readme.ruby.md
@@ -12,6 +12,7 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2021-12
- tag: package-2021-06-preview
- tag: package-2020-10-preview
- tag: package-2020-06
@@ -26,6 +27,16 @@ batch:
- tag: package-2017-09-preview
- tag: package-2017-06-preview
```
+### Tag: package-2021-12 and ruby
+These settings apply only when `--tag=package-2021-12 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-12' && $(ruby)
+
+namespace: "Azure::EventGrid::Mgmt::V2021_12_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_event_grid/lib
+```
+
### Tag: package-2021-06-preview and ruby
These settings apply only when `--tag=package-2021-06-preview --ruby` is specified on the command line.
Please also specify `--ruby-sdks-folder=`.
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json
new file mode 100644
index 000000000000..6fba7a5f1d87
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json
@@ -0,0 +1,891 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2021-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules": {
+ "get": {
+ "tags": [
+ "AuthorizationRules Namespaces"
+ ],
+ "operationId": "Namespaces_ListAuthorizationRules",
+ "x-ms-examples": {
+ "ListAuthorizationRules": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleListAll.json"
+ }
+ },
+ "description": "Gets a list of authorization rules for a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace AuthorizationRule successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}": {
+ "put": {
+ "tags": [
+ "AuthorizationRules Namespaces"
+ ],
+ "operationId": "Namespaces_CreateOrUpdateAuthorizationRule",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleCreate": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleCreate.json"
+ }
+ },
+ "description": "Creates or updates an AuthorizationRule for a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ },
+ "description": "The shared access AuthorizationRule."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace AuthorizationRule created",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AuthorizationRules Namespaces"
+ ],
+ "operationId": "Namespaces_DeleteAuthorizationRule",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleDelete": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleDelete.json"
+ }
+ },
+ "description": "Deletes an AuthorizationRule for a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace AuthorizationRule successfully deleted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "AuthorizationRules Namespaces"
+ ],
+ "operationId": "Namespaces_GetAuthorizationRule",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleGet": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleGet.json"
+ }
+ },
+ "description": "Gets an AuthorizationRule for a Namespace by rule name.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace AuthorizationRule returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/listKeys": {
+ "post": {
+ "tags": [
+ "AuthorizationRules Namespaces"
+ ],
+ "operationId": "Namespaces_ListKeys",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleListKey": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleListKey.json"
+ }
+ },
+ "description": "Gets the primary and secondary connection strings for the Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/regenerateKeys": {
+ "post": {
+ "tags": [
+ "AuthorizationRules Namespaces"
+ ],
+ "operationId": "Namespaces_RegenerateKeys",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleRegenerateKey": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceAuthorizationRuleRegenerateKey.json"
+ }
+ },
+ "description": "Regenerates the primary or secondary connection strings for the specified Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateAccessKeyParameters"
+ },
+ "description": "Parameters required to regenerate the connection string."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings regenerated successfully.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules": {
+ "get": {
+ "tags": [
+ "AuthorizationRules DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_ListAuthorizationRules",
+ "x-ms-examples": {
+ "ListAuthorizationRules": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListAll.json"
+ }
+ },
+ "description": "Gets a list of authorization rules for a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace AuthorizationRule successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules/{authorizationRuleName}": {
+ "get": {
+ "tags": [
+ "AuthorizationRules DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_GetAuthorizationRule",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleGet": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleGet.json"
+ }
+ },
+ "description": "Gets an AuthorizationRule for a Namespace by rule name.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Alias Namespace AuthorizationRule returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/authorizationRules/{authorizationRuleName}/listKeys": {
+ "post": {
+ "tags": [
+ "AuthorizationRules DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_ListKeys",
+ "x-ms-examples": {
+ "NameSpaceAuthorizationRuleListKey": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListKey.json"
+ }
+ },
+ "description": "Gets the primary and secondary connection strings for the Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules": {
+ "get": {
+ "tags": [
+ "AuthorizationRules EventHubs"
+ ],
+ "operationId": "EventHubs_ListAuthorizationRules",
+ "x-ms-examples": {
+ "EventHubAuthorizationRuleListAll": {
+ "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleListAll.json"
+ }
+ },
+ "description": "Gets the authorization rules for an Event Hub.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hub AuthorizationRule returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}": {
+ "put": {
+ "tags": [
+ "AuthorizationRules EventHubs"
+ ],
+ "operationId": "EventHubs_CreateOrUpdateAuthorizationRule",
+ "x-ms-examples": {
+ "EventHubAuthorizationRuleCreate": {
+ "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleCreate.json"
+ }
+ },
+ "description": "Creates or updates an AuthorizationRule for the specified Event Hub. Creation/update of the AuthorizationRule will take a few seconds to take effect.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ },
+ "description": "The shared access AuthorizationRule."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hub AuthorizationRule successfully created.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "EventHubs"
+ ],
+ "operationId": "EventHubs_GetAuthorizationRule",
+ "x-ms-examples": {
+ "EventHubAuthorizationRuleGet": {
+ "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleGet.json"
+ }
+ },
+ "description": "Gets an AuthorizationRule for an Event Hub by rule name.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hub AuthorizationRule successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/AuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "EventHubs"
+ ],
+ "operationId": "EventHubs_DeleteAuthorizationRule",
+ "x-ms-examples": {
+ "EventHubAuthorizationRuleDelete": {
+ "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleDelete.json"
+ }
+ },
+ "description": "Deletes an Event Hub AuthorizationRule.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hub AuthorizationRule successfully deleted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/listKeys": {
+ "post": {
+ "tags": [
+ "AuthorizationRules EventHubs"
+ ],
+ "operationId": "EventHubs_ListKeys",
+ "x-ms-examples": {
+ "EventHubAuthorizationRuleListKey": {
+ "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleListKey.json"
+ }
+ },
+ "description": "Gets the ACS and SAS connection strings for the Event Hub.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/authorizationRules/{authorizationRuleName}/regenerateKeys": {
+ "post": {
+ "tags": [
+ "AuthorizationRules EventHubs"
+ ],
+ "operationId": "EventHubs_RegenerateKeys",
+ "x-ms-examples": {
+ "EventHubAuthorizationRuleRegenerateKey": {
+ "$ref": "./examples/EventHubs/EHEventHubAuthorizationRuleRegenerateKey.json"
+ }
+ },
+ "description": "Regenerates the ACS and SAS connection strings for the Event Hub.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateAccessKeyParameters"
+ },
+ "description": "Parameters supplied to regenerate the AuthorizationRule Keys (PrimaryKey/SecondaryKey)."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Connection strings successfully regenerated.",
+ "schema": {
+ "$ref": "#/definitions/AccessKeys"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AuthorizationRuleListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AuthorizationRule"
+ },
+ "description": "Result of the List Authorization Rules operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains an incomplete list of Authorization Rules"
+ }
+ },
+ "description": "The response from the List namespace operation."
+ },
+ "AuthorizationRule": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "rights": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Manage",
+ "Send",
+ "Listen"
+ ],
+ "x-ms-enum": {
+ "name": "AccessRights",
+ "modelAsString": true
+ }
+ },
+ "description": "The rights associated with the rule."
+ }
+ },
+ "required": [
+ "rights"
+ ],
+ "description": "Properties supplied to create or update AuthorizationRule"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../common/v1/definitions.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Single item in a List or Get AuthorizationRule operation"
+ },
+ "AccessKeys": {
+ "properties": {
+ "primaryConnectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Primary connection string of the created namespace AuthorizationRule."
+ },
+ "secondaryConnectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Secondary connection string of the created namespace AuthorizationRule."
+ },
+ "aliasPrimaryConnectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Primary connection string of the alias if GEO DR is enabled"
+ },
+ "aliasSecondaryConnectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Secondary connection string of the alias if GEO DR is enabled"
+ },
+ "primaryKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token."
+ },
+ "secondaryKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token."
+ },
+ "keyName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A string that describes the AuthorizationRule."
+ }
+ },
+ "description": "Namespace/EventHub Connection String"
+ },
+ "RegenerateAccessKeyParameters": {
+ "properties": {
+ "keyType": {
+ "type": "string",
+ "description": "The access key to regenerate.",
+ "enum": [
+ "PrimaryKey",
+ "SecondaryKey"
+ ],
+ "x-ms-enum": {
+ "name": "KeyType",
+ "modelAsString": true
+ }
+ },
+ "key": {
+ "type": "string",
+ "description": "Optional, if the key value provided, is set for KeyType or autogenerated Key value set for keyType"
+ }
+ },
+ "required": [
+ "keyType"
+ ],
+ "description": "Parameters supplied to the Regenerate Authorization Rule operation, specifies which key needs to be reset."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AvailableClusterRegions-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AvailableClusterRegions-preview.json
new file mode 100644
index 000000000000..7b0d0864034d
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/AvailableClusterRegions-preview.json
@@ -0,0 +1,100 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client for managing Event Hubs Cluster, IPFilter Rules and VirtualNetworkRules resources.",
+ "version": "2021-11-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.EventHub/availableClusterRegions": {
+ "get": {
+ "tags": [
+ "Event Hubs Clusters AvailableClusterRegions"
+ ],
+ "operationId": "Clusters_ListAvailableClusterRegion",
+ "x-ms-examples": {
+ "ListAvailableClusters": {
+ "$ref": "./examples/Clusters/ListAvailableClustersGet.json"
+ }
+ },
+ "description": "List the quantity of available pre-provisioned Event Hubs Clusters, indexed by Azure region.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Available clusters listed successfully.",
+ "schema": {
+ "$ref": "#/definitions/AvailableClustersList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why available clusters could not be successfully listed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AvailableClustersList": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AvailableCluster"
+ },
+ "description": "The count of readily available and pre-provisioned Event Hubs Clusters per region."
+ }
+ },
+ "description": "The response of the List Available Clusters operation."
+ },
+ "AvailableCluster": {
+ "type": "object",
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Location fo the Available Cluster"
+ }
+ },
+ "description": "Pre-provisioned and readily available Event Hubs Cluster count per region."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/CheckNameAvailability.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/CheckNameAvailability.json
new file mode 100644
index 000000000000..63bfcb8192c7
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/CheckNameAvailability.json
@@ -0,0 +1,132 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2021-11-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.EventHub/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "CheckNameAvailability Namespaces"
+ ],
+ "operationId": "Namespaces_CheckNameAvailability",
+ "x-ms-examples": {
+ "NamespacesCheckNameAvailability": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceCheckNameAvailability.json"
+ }
+ },
+ "description": "Check the give Namespace name availability.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityParameter"
+ },
+ "description": "Parameters to check availability of the given Namespace name"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "check availability returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "UnavailableReason": {
+ "type": "string",
+ "enum": [
+ "None",
+ "InvalidName",
+ "SubscriptionIsDisabled",
+ "NameInUse",
+ "NameInLockdown",
+ "TooManyNamespaceInCurrentSubscription"
+ ],
+ "x-ms-enum": {
+ "name": "UnavailableReason",
+ "modelAsString": false
+ },
+ "description": "Specifies the reason for the unavailability of the service."
+ },
+ "CheckNameAvailabilityParameter": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name to check the namespace name availability"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Parameter supplied to check Namespace name availability operation "
+ },
+ "CheckNameAvailabilityResult": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The detailed info regarding the reason associated with the Namespace."
+ },
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "Value indicating Namespace is availability, true if the Namespace is available; otherwise, false."
+ },
+ "reason": {
+ "$ref": "#/definitions/UnavailableReason",
+ "description": "The reason for unavailability of a Namespace."
+ }
+ },
+ "description": "The Result of the CheckNameAvailability operation"
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/Clusters-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/Clusters-preview.json
new file mode 100644
index 000000000000..7541228cb9fa
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/Clusters-preview.json
@@ -0,0 +1,484 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client for managing Event Hubs Cluster, IPFilter Rules and VirtualNetworkRules resources.",
+ "version": "2021-11-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.EventHub/clusters": {
+ "get": {
+ "tags": [
+ "EventHubs Clusters"
+ ],
+ "operationId": "Clusters_ListBySubscription",
+ "x-ms-examples": {
+ "ClustersListBySubscription": {
+ "$ref": "./examples/Clusters/ClustersListBySubscription.json"
+ }
+ },
+ "description": "Lists the available Event Hubs Clusters within an ARM resource group",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Clusters returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/ClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Event Hub Cluster error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters": {
+ "get": {
+ "tags": [
+ "EventHubs Clusters"
+ ],
+ "operationId": "Clusters_ListByResourceGroup",
+ "x-ms-examples": {
+ "ClustersListByResourceGroup": {
+ "$ref": "./examples/Clusters/ClustersListByResourceGroup.json"
+ }
+ },
+ "description": "Lists the available Event Hubs Clusters within an ARM resource group",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Clusters returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/ClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Event Hub Cluster error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}": {
+ "get": {
+ "tags": [
+ "EventHubs Clusters"
+ ],
+ "operationId": "Clusters_Get",
+ "x-ms-examples": {
+ "ClusterGet": {
+ "$ref": "./examples/Clusters/ClusterGet.json"
+ }
+ },
+ "description": "Gets the resource description of the specified Event Hubs Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hubs Cluster resource description returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Event Hubs Cluster error response describing why the cluster description get operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "EventHubs Clusters"
+ ],
+ "operationId": "Clusters_CreateOrUpdate",
+ "x-ms-examples": {
+ "ClusterPut": {
+ "$ref": "./examples/Clusters/ClusterPut.json"
+ }
+ },
+ "description": "Creates or updates an instance of an Event Hubs Cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Cluster",
+ "required": [
+ "location"
+ ]
+ },
+ "description": "Parameters for creating a eventhub cluster resource."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hubs Cluster successfully created or updated.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "201": {
+ "description": "Event Hubs Cluster create or update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "202": {
+ "description": "Event Hubs Cluster create or update request accepted."
+ },
+ "default": {
+ "description": "Event Hubs error response detailing why the Event Hubs Cluster create or update operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "EventHubs Clusters"
+ ],
+ "operationId": "Clusters_Update",
+ "x-ms-examples": {
+ "ClusterPatch": {
+ "$ref": "./examples/Clusters/ClusterPatch.json"
+ }
+ },
+ "description": "Modifies mutable properties on the Event Hubs Cluster. This operation is idempotent.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ },
+ "description": "The properties of the Event Hubs Cluster which should be updated."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hubs Cluster successfully created.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "201": {
+ "description": "Event Hubs Cluster update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "202": {
+ "description": "Event Hubs Cluster update request accepted."
+ },
+ "default": {
+ "description": "Event Hubs error response detailing why the Event Hubs Cluster update operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "EventHubs Clusters"
+ ],
+ "operationId": "Clusters_Delete",
+ "x-ms-examples": {
+ "ClusterDelete": {
+ "$ref": "./examples/Clusters/ClusterDelete.json"
+ }
+ },
+ "description": "Deletes an existing Event Hubs Cluster. This operation is idempotent.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hubs Cluster successfully deleted."
+ },
+ "202": {
+ "description": "Event Hubs Cluster delete request accepted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Event Hubs error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}/namespaces": {
+ "get": {
+ "tags": [
+ "EventHubs Clusters Namespace"
+ ],
+ "operationId": "Clusters_ListNamespaces",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "description": "List all Event Hubs Namespace IDs in an Event Hubs Dedicated Cluster.",
+ "x-ms-examples": {
+ "ListNamespacesInCluster": {
+ "$ref": "./examples/Clusters/ListNamespacesInClusterGet.json"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "List of Namespace IDs in Cluster successfully delivered.",
+ "schema": {
+ "$ref": "#/definitions/EHNamespaceIdListResult"
+ }
+ },
+ "default": {
+ "description": "Event Hubs Cluster error response detailing why this operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Cluster": {
+ "type": "object",
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ClusterSku",
+ "description": "Properties of the cluster SKU."
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../common/v1/definitions.json#/definitions/systemData"
+ },
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "properties": {
+ "createdAt": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The UTC time when the Event Hubs Cluster was created."
+ },
+ "updatedAt": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The UTC time when the Event Hubs Cluster was last updated."
+ },
+ "metricId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The metric ID of the cluster resource. Provided by the service and not modifiable by the user."
+ },
+ "status": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Status of the Cluster resource"
+ }
+ },
+ "description": "Event Hubs Cluster properties supplied in responses in List or Get operations."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Single Event Hubs Cluster resource in List or Get operations."
+ },
+ "ClusterSku": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of this SKU.",
+ "enum": [
+ "Dedicated"
+ ],
+ "x-ms-enum": {
+ "name": "ClusterSkuName",
+ "modelAsString": true
+ }
+ },
+ "capacity": {
+ "format": "int32",
+ "minimum": 1,
+ "type": "integer",
+ "description": "The quantity of Event Hubs Cluster Capacity Units contained in this cluster."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "SKU parameters particular to a cluster instance."
+ },
+ "ClusterListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Cluster"
+ },
+ "description": "The Event Hubs Clusters present in the List Event Hubs operation results."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Empty unless the value parameter contains an incomplete list of Event Hubs Clusters."
+ }
+ },
+ "description": "The response of the List Event Hubs Clusters operation."
+ },
+ "EHNamespaceIdListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EHNamespaceIdContainer"
+ },
+ "description": "Result of the List Namespace IDs operation"
+ }
+ },
+ "description": "The response of the List Namespace IDs operation"
+ },
+ "EHNamespaceIdContainer": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "id parameter"
+ }
+ },
+ "description": "The full ARM ID of an Event Hubs Namespace"
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/SchemaRegistry.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/SchemaRegistry.json
new file mode 100644
index 000000000000..182f4f42f92d
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/SchemaRegistry.json
@@ -0,0 +1,321 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2021-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/schemagroups": {
+ "get": {
+ "tags": [
+ "SchemaRegistry"
+ ],
+ "operationId": "SchemaRegistry_ListByNamespace",
+ "x-ms-examples": {
+ "SchemaRegistryListAll": {
+ "$ref": "./examples/SchemaRegistry/SchemaRegistryListByNamespace.json"
+ }
+ },
+ "description": "Gets all the Schema Groups in a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of SchemaGroups.",
+ "schema": {
+ "$ref": "#/definitions/SchemaGroupListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/schemagroups/{schemaGroupName}": {
+ "put": {
+ "tags": [
+ "SchemaRegistry"
+ ],
+ "operationId": "SchemaRegistry_CreateOrUpdate",
+ "x-ms-examples": {
+ "SchemaRegistryCreate": {
+ "$ref": "./examples/SchemaRegistry/SchemaRegistryCreate.json"
+ }
+ },
+ "description": "",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v2/definitions.json#/parameters/SchemaGroupNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SchemaGroup"
+ },
+ "description": "Parameters supplied to create an Event Hub resource."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "SchemaGroup successfully created.",
+ "schema": {
+ "$ref": "#/definitions/SchemaGroup"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "SchemaRegistry"
+ ],
+ "operationId": "SchemaRegistry_Delete",
+ "x-ms-examples": {
+ "SchemaRegistryDelete": {
+ "$ref": "./examples/SchemaRegistry/SchemaRegistryDelete.json"
+ }
+ },
+ "description": "",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v2/definitions.json#/parameters/SchemaGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "SchemaGroup successfully deleted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "SchemaRegistry"
+ ],
+ "operationId": "SchemaRegistry_Get",
+ "x-ms-examples": {
+ "SchemaRegistryGet": {
+ "$ref": "./examples/SchemaRegistry/SchemaRegistryGet.json"
+ }
+ },
+ "description": "",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v2/definitions.json#/parameters/SchemaGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the Schema Group description.",
+ "schema": {
+ "$ref": "#/definitions/SchemaGroup"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "SchemaGroup": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "properties": {
+ "updatedAtUtc": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "Exact time the Schema Group was updated"
+ },
+ "createdAtUtc": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "Exact time the Schema Group was created."
+ },
+ "eTag": {
+ "readOnly": true,
+ "format": "uuid",
+ "type": "string",
+ "description": "The ETag value."
+ },
+ "groupProperties": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "dictionary object for SchemaGroup group properties"
+ },
+ "schemaCompatibility": {
+ "type": "string",
+ "description": "",
+ "enum": [
+ "None",
+ "Backward",
+ "Forward"
+ ],
+ "x-ms-enum": {
+ "name": "SchemaCompatibility",
+ "modelAsString": true
+ }
+ },
+ "schemaType": {
+ "type": "string",
+ "description": "",
+ "enum": [
+ "Unknown",
+ "Avro"
+ ],
+ "x-ms-enum": {
+ "name": "SchemaType",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": ""
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../common/v1/definitions.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Single item in List or Get Schema Group operation"
+ },
+ "SchemaGroupListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SchemaGroup"
+ },
+ "description": "Result of the List SchemaGroups operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of Schema Groups."
+ }
+ },
+ "description": "The result of the List SchemaGroup operation."
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/consumergroups.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/consumergroups.json
new file mode 100644
index 000000000000..167530b6d168
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/consumergroups.json
@@ -0,0 +1,297 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2021-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups/{consumerGroupName}": {
+ "put": {
+ "tags": [
+ "ConsumerGroups"
+ ],
+ "operationId": "ConsumerGroups_CreateOrUpdate",
+ "x-ms-examples": {
+ "ConsumerGroupCreate": {
+ "$ref": "./examples/ConsumerGroup/EHConsumerGroupCreate.json"
+ }
+ },
+ "description": "Creates or updates an Event Hubs consumer group as a nested resource within a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConsumerGroup"
+ },
+ "description": "Parameters supplied to create or update a consumer group resource."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Consumer group successfully created.",
+ "schema": {
+ "$ref": "#/definitions/ConsumerGroup"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ConsumerGroups"
+ ],
+ "operationId": "ConsumerGroups_Delete",
+ "x-ms-examples": {
+ "ConsumerGroupDelete": {
+ "$ref": "./examples/ConsumerGroup/EHConsumerGroupDelete.json"
+ }
+ },
+ "description": "Deletes a consumer group from the specified Event Hub and resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Consumer group deleted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ConsumerGroups"
+ ],
+ "operationId": "ConsumerGroups_Get",
+ "x-ms-examples": {
+ "ConsumerGroupGet": {
+ "$ref": "./examples/ConsumerGroup/EHConsumerGroupGet.json"
+ }
+ },
+ "description": "Gets a description for the specified consumer group.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the consumer group description.",
+ "schema": {
+ "$ref": "#/definitions/ConsumerGroup"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}/consumergroups": {
+ "get": {
+ "tags": [
+ "ConsumerGroups"
+ ],
+ "operationId": "ConsumerGroups_ListByEventHub",
+ "x-ms-examples": {
+ "ConsumerGroupsListAll": {
+ "$ref": "./examples/ConsumerGroup/EHConsumerGroupListByEventHub.json"
+ }
+ },
+ "description": "Gets all the consumer groups in a Namespace. An empty feed is returned if no consumer group exists in the Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of consumer groups.",
+ "schema": {
+ "$ref": "#/definitions/ConsumerGroupListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ConsumerGroup": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "createdAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "Exact time the message was created."
+ },
+ "updatedAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "The exact time the message was updated."
+ },
+ "userMetadata": {
+ "type": "string",
+ "description": "User Metadata is a placeholder to store user-defined string data with maximum length 1024. e.g. it can be used to store descriptive data, such as list of teams and their contact information also user-defined configuration settings can be stored."
+ }
+ },
+ "description": "Single item in List or Get Consumer group operation"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../common/v1/definitions.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Single item in List or Get Consumer group operation"
+ },
+ "ConsumerGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConsumerGroup"
+ },
+ "description": "Result of the List Consumer Group operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of Consumer Group"
+ }
+ },
+ "description": "The result to the List Consumer Group operation."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/disasterRecoveryConfigs.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/disasterRecoveryConfigs.json
new file mode 100644
index 000000000000..89f242b88d2b
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/disasterRecoveryConfigs.json
@@ -0,0 +1,490 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2021-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "CheckNameAvailability DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_CheckNameAvailability",
+ "x-ms-examples": {
+ "NamespacesCheckNameAvailability": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasCheckNameAvailability.json"
+ }
+ },
+ "description": "Check the give Namespace name availability.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityParameter"
+ },
+ "description": "Parameters to check availability of the given Alias name"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "check availability returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs": {
+ "get": {
+ "tags": [
+ "DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_List",
+ "x-ms-examples": {
+ "EHAliasList": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasList.json"
+ }
+ },
+ "description": "Gets all Alias(Disaster Recovery configurations)",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of Alias(Disaster Recovery configurations) for eventhub namespace",
+ "schema": {
+ "$ref": "#/definitions/ArmDisasterRecoveryListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}": {
+ "put": {
+ "tags": [
+ "DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_CreateOrUpdate",
+ "x-ms-examples": {
+ "EHAliasCreate": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasCreate.json"
+ }
+ },
+ "description": "Creates or updates a new Alias(Disaster Recovery configuration)",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ArmDisasterRecovery"
+ },
+ "description": "Parameters required to create an Alias(Disaster Recovery configuration)"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Alias(Disaster Recovery configuration) successfully created",
+ "schema": {
+ "$ref": "#/definitions/ArmDisasterRecovery"
+ }
+ },
+ "201": {
+ "description": "Alias(Disaster Recovery configuration) creation request received"
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_Delete",
+ "x-ms-examples": {
+ "EHAliasDelete": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasDelete.json"
+ }
+ },
+ "description": "Deletes an Alias(Disaster Recovery configuration)",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Delete Alias(Disaster Recovery configuration) request accepted"
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_Get",
+ "x-ms-examples": {
+ "EHAliasGet": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasGet.json"
+ }
+ },
+ "description": "Retrieves Alias(Disaster Recovery configuration) for primary or secondary namespace",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the Alias(Disaster Recovery configurations)",
+ "schema": {
+ "$ref": "#/definitions/ArmDisasterRecovery"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/breakPairing": {
+ "post": {
+ "tags": [
+ "DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_BreakPairing",
+ "x-ms-examples": {
+ "EHAliasBreakPairing": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasBreakPairing.json"
+ }
+ },
+ "description": "This operation disables the Disaster Recovery and stops replicating changes from primary to secondary namespaces",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Break-Pairing operation is successful."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/disasterRecoveryConfigs/{alias}/failover": {
+ "post": {
+ "tags": [
+ "DisasterRecoveryConfigs"
+ ],
+ "operationId": "DisasterRecoveryConfigs_FailOver",
+ "x-ms-examples": {
+ "EHAliasFailOver": {
+ "$ref": "./examples/disasterRecoveryConfigs/EHAliasFailOver.json"
+ }
+ },
+ "description": "Invokes GEO DR failover and reconfigure the alias to point to the secondary namespace",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Failover operation is successful."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "UnavailableReason": {
+ "type": "string",
+ "enum": [
+ "None",
+ "InvalidName",
+ "SubscriptionIsDisabled",
+ "NameInUse",
+ "NameInLockdown",
+ "TooManyNamespaceInCurrentSubscription"
+ ],
+ "x-ms-enum": {
+ "name": "UnavailableReason",
+ "modelAsString": false
+ },
+ "description": "Specifies the reason for the unavailability of the service."
+ },
+ "CheckNameAvailabilityParameter": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name to check the namespace name availability"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Parameter supplied to check Namespace name availability operation "
+ },
+ "CheckNameAvailabilityResult": {
+ "properties": {
+ "message": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The detailed info regarding the reason associated with the Namespace."
+ },
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "Value indicating Namespace is availability, true if the Namespace is available; otherwise, false."
+ },
+ "reason": {
+ "$ref": "#/definitions/UnavailableReason",
+ "description": "The reason for unavailability of a Namespace."
+ }
+ },
+ "description": "The Result of the CheckNameAvailability operation"
+ },
+ "ArmDisasterRecovery": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Provisioning state of the Alias(Disaster Recovery configuration) - possible values 'Accepted' or 'Succeeded' or 'Failed'",
+ "enum": [
+ "Accepted",
+ "Succeeded",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningStateDR",
+ "modelAsString": false
+ }
+ },
+ "partnerNamespace": {
+ "type": "string",
+ "description": "ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO DR pairing"
+ },
+ "alternateName": {
+ "type": "string",
+ "description": "Alternate name specified when alias and namespace names are same."
+ },
+ "role": {
+ "readOnly": true,
+ "type": "string",
+ "description": "role of namespace in GEO DR - possible values 'Primary' or 'PrimaryNotReplicating' or 'Secondary'",
+ "enum": [
+ "Primary",
+ "PrimaryNotReplicating",
+ "Secondary"
+ ],
+ "x-ms-enum": {
+ "name": "RoleDisasterRecovery",
+ "modelAsString": false
+ }
+ },
+ "pendingReplicationOperationsCount": {
+ "readOnly": true,
+ "format": "int64",
+ "type": "integer",
+ "description": "Number of entities pending to be replicated."
+ }
+ },
+ "description": "Properties required to the Create Or Update Alias(Disaster Recovery configurations)"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../common/v1/definitions.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Single item in List or Get Alias(Disaster Recovery configuration) operation"
+ },
+ "ArmDisasterRecoveryListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ArmDisasterRecovery"
+ },
+ "description": "List of Alias(Disaster Recovery configurations)"
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of Alias(Disaster Recovery configuration)"
+ }
+ },
+ "description": "The result of the List Alias(Disaster Recovery configuration) operation."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/eventhubs.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/eventhubs.json
new file mode 100644
index 000000000000..e0c9f8fa6b3d
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/eventhubs.json
@@ -0,0 +1,403 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2021-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs": {
+ "get": {
+ "tags": [
+ "EventHubs"
+ ],
+ "operationId": "EventHubs_ListByNamespace",
+ "x-ms-examples": {
+ "EventHubsListAll": {
+ "$ref": "./examples/EventHubs/EHEventHubListByNameSpace.json"
+ }
+ },
+ "description": "Gets all the Event Hubs in a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of Event Hubs.",
+ "schema": {
+ "$ref": "#/definitions/EventHubListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/eventhubs/{eventHubName}": {
+ "put": {
+ "tags": [
+ "EventHubs"
+ ],
+ "operationId": "EventHubs_CreateOrUpdate",
+ "x-ms-examples": {
+ "EventHubCreate": {
+ "$ref": "./examples/EventHubs/EHEventHubCreate.json"
+ }
+ },
+ "description": "Creates or updates a new Event Hub as a nested resource within a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Eventhub"
+ },
+ "description": "Parameters supplied to create an Event Hub resource."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hub successfully created.",
+ "schema": {
+ "$ref": "#/definitions/Eventhub"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "EventHubs"
+ ],
+ "operationId": "EventHubs_Delete",
+ "x-ms-examples": {
+ "EventHubDelete": {
+ "$ref": "./examples/EventHubs/EHEventHubDelete.json"
+ }
+ },
+ "description": "Deletes an Event Hub from the specified Namespace and resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Event Hub successfully deleted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "EventHubs"
+ ],
+ "operationId": "EventHubs_Get",
+ "x-ms-examples": {
+ "EventHubGet": {
+ "$ref": "./examples/EventHubs/EHEventHubGet.json"
+ }
+ },
+ "description": "Gets an Event Hubs description for the specified Event Hub.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the Event Hub description.",
+ "schema": {
+ "$ref": "#/definitions/Eventhub"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CaptureDescription": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "A value that indicates whether capture description is enabled. "
+ },
+ "encoding": {
+ "type": "string",
+ "description": "Enumerates the possible values for the encoding format of capture description. Note: 'AvroDeflate' will be deprecated in New API Version",
+ "enum": [
+ "Avro",
+ "AvroDeflate"
+ ],
+ "x-ms-enum": {
+ "name": "EncodingCaptureDescription",
+ "modelAsString": false
+ }
+ },
+ "intervalInSeconds": {
+ "format": "int32",
+ "type": "integer",
+ "description": "The time window allows you to set the frequency with which the capture to Azure Blobs will happen, value should between 60 to 900 seconds"
+ },
+ "sizeLimitInBytes": {
+ "format": "int32",
+ "type": "integer",
+ "description": "The size window defines the amount of data built up in your Event Hub before an capture operation, value should be between 10485760 to 524288000 bytes"
+ },
+ "destination": {
+ "$ref": "#/definitions/Destination",
+ "description": "Properties of Destination where capture will be stored. (Storage Account, Blob Names)"
+ },
+ "skipEmptyArchives": {
+ "type": "boolean",
+ "description": "A value that indicates whether to Skip Empty Archives"
+ }
+ },
+ "description": "Properties to configure capture description for eventhub"
+ },
+ "Eventhub": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "partitionIds": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Current number of shards on the Event Hub."
+ },
+ "createdAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "Exact time the Event Hub was created."
+ },
+ "updatedAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "The exact time the message was updated."
+ },
+ "messageRetentionInDays": {
+ "format": "int64",
+ "type": "integer",
+ "minimum": 1,
+ "description": "Number of days to retain the events for this Event Hub, value should be 1 to 7 days"
+ },
+ "partitionCount": {
+ "format": "int64",
+ "type": "integer",
+ "minimum": 1,
+ "description": "Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions."
+ },
+ "status": {
+ "type": "string",
+ "description": "Enumerates the possible values for the status of the Event Hub.",
+ "enum": [
+ "Active",
+ "Disabled",
+ "Restoring",
+ "SendDisabled",
+ "ReceiveDisabled",
+ "Creating",
+ "Deleting",
+ "Renaming",
+ "Unknown"
+ ],
+ "x-ms-enum": {
+ "name": "EntityStatus",
+ "modelAsString": false
+ }
+ },
+ "captureDescription": {
+ "$ref": "#/definitions/CaptureDescription",
+ "description": "Properties of capture description"
+ }
+ },
+ "description": "Properties supplied to the Create Or Update Event Hub operation."
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../common/v1/definitions.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Single item in List or Get Event Hub operation"
+ },
+ "EventHubListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Eventhub"
+ },
+ "description": "Result of the List EventHubs operation."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of EventHubs."
+ }
+ },
+ "description": "The result of the List EventHubs operation."
+ },
+ "Destination": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name for capture destination"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "storageAccountResourceId": {
+ "type": "string",
+ "description": "Resource id of the storage account to be used to create the blobs"
+ },
+ "blobContainer": {
+ "type": "string",
+ "description": "Blob container Name"
+ },
+ "archiveNameFormat": {
+ "type": "string",
+ "description": "Blob naming convention for archive, e.g. {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters (Namespace,EventHub .. etc) are mandatory irrespective of order"
+ },
+ "dataLakeSubscriptionId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "Subscription Id of Azure Data Lake Store"
+ },
+ "dataLakeAccountName": {
+ "type": "string",
+ "description": "The Azure Data Lake Store name for the captured events"
+ },
+ "dataLakeFolderPath": {
+ "type": "string",
+ "description": "The destination folder path for the captured events"
+ }
+ },
+ "description": "Properties describing the storage account, blob container and archive name format for capture destination"
+ }
+ },
+ "description": "Capture storage details for capture description"
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterDelete.json
new file mode 100644
index 000000000000..3b27bf400ac6
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "clusterName": "testCluster",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterGet.json
new file mode 100644
index 000000000000..87da7f356dbb
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "clusterName": "testCluster",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/myResourceGroup/providers/Microsoft.EventHub/clusters/testCluster",
+ "name": "testCluster",
+ "type": "Microsoft.EventHub/Clusters",
+ "location": "South Central US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "sku": {
+ "name": "Dedicated",
+ "capacity": 4
+ },
+ "properties": {
+ "createdAt": "2017-05-24T23:23:27.877Z",
+ "updatedAt": "2017-05-24T23:23:27.877Z",
+ "metricId": "SN6-008"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterPatch.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterPatch.json
new file mode 100644
index 000000000000..4c73f2934ac8
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterPatch.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "clusterName": "testCluster",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "location": "South Central US",
+ "tags": {
+ "tag3": "value3",
+ "tag4": "value4"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/myResourceGroup/providers/Microsoft.EventHub/clusters/testCluster",
+ "name": "testCluster",
+ "type": "Microsoft.EventHub/Clusters",
+ "location": "South Central US",
+ "tags": {
+ "tag3": "value3",
+ "tag4": "value4"
+ },
+ "sku": {
+ "name": "Dedicated",
+ "capacity": 4
+ },
+ "properties": {
+ "createdAt": "2017-06-01T21:37:04.46Z",
+ "updatedAt": "2017-06-01T21:37:53.413Z",
+ "metricId": "SN6-008"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/myResourceGroup/providers/Microsoft.EventHub/clusters/testCluster",
+ "name": "testCluster",
+ "type": "Microsoft.EventHub/Clusters",
+ "location": "South Central US",
+ "tags": {
+ "tag3": "value3",
+ "tag4": "value4"
+ },
+ "sku": {
+ "name": "Dedicated",
+ "capacity": 4
+ },
+ "properties": {
+ "createdAt": "2017-06-01T21:37:04.46Z",
+ "updatedAt": "2017-06-01T21:37:53.413Z",
+ "metricId": "SN6-008"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterPut.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterPut.json
new file mode 100644
index 000000000000..93bfadab22d7
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterPut.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "clusterName": "testCluster",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "sku": {
+ "name": "Dedicated",
+ "capacity": 1
+ },
+ "location": "South Central US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/myResourceGroup/providers/Microsoft.EventHub/clusters/testCluster",
+ "name": "testCluster",
+ "type": "Microsoft.EventHub/Clusters",
+ "location": "South Central US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "sku": {
+ "name": "Dedicated",
+ "capacity": 1
+ },
+ "properties": {
+ "createdAt": "2017-05-24T23:23:27.877Z",
+ "updatedAt": "2017-05-24T23:23:27.877Z",
+ "metricId": "SN6-008"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/myResourceGroup/providers/Microsoft.EventHub/clusters/testCluster",
+ "name": "testCluster",
+ "type": "Microsoft.EventHub/Clusters",
+ "location": "South Central US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "sku": {
+ "name": "Dedicated",
+ "capacity": 1
+ },
+ "properties": {
+ "createdAt": "2017-05-24T23:23:27.877Z",
+ "updatedAt": "2017-05-24T23:23:27.877Z",
+ "metricId": "SN6-008"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterQuotaConfigurationGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterQuotaConfigurationGet.json
new file mode 100644
index 000000000000..0cad764110cc
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterQuotaConfigurationGet.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "clusterName": "testCluster",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "settings": {
+ "namespaces-per-cluster-quota": "200",
+ "eventhub-per-namespace-quota": "20"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterQuotaConfigurationPatch.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterQuotaConfigurationPatch.json
new file mode 100644
index 000000000000..1df604125622
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClusterQuotaConfigurationPatch.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "clusterName": "testCluster",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "settings": {
+ "namespaces-per-cluster-quota": "200",
+ "eventhub-per-namespace-quota": "20"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "settings": {
+ "namespaces-per-cluster-quota": "200",
+ "eventhub-per-namespace-quota": "20"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "settings": {
+ "namespaces-per-cluster-quota": "200",
+ "eventhub-per-namespace-quota": "20"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClustersListByResourceGroup.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClustersListByResourceGroup.json
new file mode 100644
index 000000000000..29ccbd2db1aa
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClustersListByResourceGroup.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-EventHub-SouthCentralUS/providers/Microsoft.EventHub/clusters/testCluster",
+ "name": "testCluster",
+ "type": "Microsoft.EventHub/Clusters",
+ "location": "South Central US",
+ "tags": {},
+ "sku": {
+ "name": "Dedicated",
+ "capacity": 4
+ },
+ "properties": {
+ "createdAt": "2016-09-13T23:17:25.24Z",
+ "updatedAt": "2016-09-13T23:17:28.223Z",
+ "metricId": "SN6-008"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClustersListBySubscription.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClustersListBySubscription.json
new file mode 100644
index 000000000000..c01c628df5ab
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ClustersListBySubscription.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-EventHub-SouthCentralUS/providers/Microsoft.EventHub/clusters/testCluster",
+ "name": "testCluster",
+ "type": "Microsoft.EventHub/Clusters",
+ "location": "South Central US",
+ "tags": {},
+ "sku": {
+ "name": "Dedicated",
+ "capacity": 4
+ },
+ "properties": {
+ "createdAt": "2016-09-13T23:17:25.24Z",
+ "updatedAt": "2016-09-13T23:17:28.223Z",
+ "metricId": "SN6-008"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ListAvailableClustersGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ListAvailableClustersGet.json
new file mode 100644
index 000000000000..4eb7c590f75e
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ListAvailableClustersGet.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "westus"
+ },
+ {
+ "location": "eastus"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ListNamespacesInClusterGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ListNamespacesInClusterGet.json
new file mode 100644
index 000000000000..e542aa684201
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/Clusters/ListNamespacesInClusterGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "clusterName": "testCluster",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-EventHub-SouthCentralUS/providers/Microsoft.EventHub/namespaces/rrama-int7-ns1"
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-EventHub-SouthCentralUS/providers/Microsoft.EventHub/namespaces/rrama-ehns2-int7"
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/Default-ServiceBus-SouthCentralUS/providers/Microsoft.EventHub/namespaces/db3-rrama-foo1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupCreate.json
new file mode 100644
index 000000000000..b5dca5b6fc7f
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupCreate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-2661",
+ "eventHubName": "sdk-EventHub-6681",
+ "consumerGroupName": "sdk-ConsumerGroup-5563",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "properties": {
+ "userMetadata": "New consumergroup"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2661/eventhubs/sdk-EventHub-6681/consumergroups/sdk-ConsumerGroup-5563",
+ "name": "sdk-ConsumerGroup-5563",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/ConsumerGroups",
+ "properties": {
+ "createdAt": "2017-05-25T03:43:09.4536234Z",
+ "updatedAt": "2017-05-25T03:43:09.4536234Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupDelete.json
new file mode 100644
index 000000000000..4acf3e8ee29e
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-2661",
+ "eventHubName": "sdk-EventHub-6681",
+ "consumerGroupName": "sdk-ConsumerGroup-5563",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupGet.json
new file mode 100644
index 000000000000..a8d8c3863486
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-2661",
+ "eventHubName": "sdk-EventHub-6681",
+ "consumerGroupName": "sdk-ConsumerGroup-5563",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2661/eventhubs/sdk-EventHub-6681/consumergroups/sdk-ConsumerGroup-5563",
+ "name": "sdk-ConsumerGroup-5563",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/ConsumerGroups",
+ "properties": {
+ "createdAt": "2017-05-25T03:43:08.7152556Z",
+ "updatedAt": "2017-05-25T03:43:08.7152556Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupListByEventHub.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupListByEventHub.json
new file mode 100644
index 000000000000..51bbb9865253
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/ConsumerGroup/EHConsumerGroupListByEventHub.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-2661",
+ "eventHubName": "sdk-EventHub-6681",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2661/eventhubs/sdk-EventHub-6681/consumergroups/$Default",
+ "name": "$Default",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/ConsumerGroups",
+ "properties": {
+ "createdAt": "2017-05-25T03:42:52.287Z",
+ "updatedAt": "2017-05-25T03:42:52.287Z"
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2661/eventhubs/sdk-EventHub-6681/consumergroups/sdk-consumergroup-5563",
+ "name": "sdk-consumergroup-5563",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/ConsumerGroups",
+ "properties": {
+ "createdAt": "2017-05-25T03:43:09.314Z",
+ "updatedAt": "2017-05-25T03:43:09.314Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EHOperations_List.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EHOperations_List.json
new file mode 100644
index 000000000000..3c7bb437d797
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EHOperations_List.json
@@ -0,0 +1,213 @@
+{
+ "parameters": {
+ "api-version": "2021-11-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.EventHub/checkNameAvailability/action",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "Non Resource Operation",
+ "operation": "Get namespace availability."
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/register/action",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "EventHub Resource Provider",
+ "operation": "Registers the EventHub Resource Provider"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/write",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "Namespace",
+ "operation": "Create Or Update Namespace "
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/read",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "Namespace",
+ "operation": "Get Namespace Resource"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/Delete",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "Namespace",
+ "operation": "Delete Namespace"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/authorizationRules/read",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "AuthorizationRules",
+ "operation": "Get Namespace Authorization Rules"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/authorizationRules/write",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "AuthorizationRules",
+ "operation": "Create or Update Namespace Authorization Rules"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/authorizationRules/delete",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "AuthorizationRules",
+ "operation": "Delete Namespace Authorization Rule"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/authorizationRules/listkeys/action",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "AuthorizationRules",
+ "operation": "Get Namespace Listkeys"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/authorizationRules/regenerateKeys/action",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "AuthorizationRules",
+ "operation": "Resource Regeneratekeys"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventhubs/write",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "EventHub",
+ "operation": "Create or Update EventHub"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventhubs/read",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "EventHub",
+ "operation": "Get EventHub"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventhubs/Delete",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "EventHub",
+ "operation": "Delete EventHub"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventhubs/authorizationRules/read",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "EventHub AuthorizationRules",
+ "operation": " Get EventHub Authorization Rules"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventhubs/authorizationRules/write",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "EventHub AuthorizationRules",
+ "operation": "Create or Update EventHub Authorization Rule"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventhubs/authorizationRules/delete",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "EventHub AuthorizationRules",
+ "operation": "Delete EventHub Authorization Rules"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventhubs/authorizationRules/listkeys/action",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "EventHub AuthorizationRules",
+ "operation": "List EventHub keys"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventhubs/authorizationRules/regenerateKeys/action",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "EventHub AuthorizationRules",
+ "operation": "Resource Regeneratekeys"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventHubs/consumergroups/write",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "ConsumerGroup",
+ "operation": "Create or Update ConsumerGroup"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventHubs/consumergroups/read",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "ConsumerGroup",
+ "operation": "Get ConsumerGroup"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/eventHubs/consumergroups/Delete",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "ConsumerGroup",
+ "operation": "Delete ConsumerGroup"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "Namespace metrics",
+ "operation": "Get Namespace metrics"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "Namespace diagnostic settings",
+ "operation": "Get Namespace diagnostic settings"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "Namespace diagnostic settings",
+ "operation": "Create or Update Namespace diagnostic settings"
+ }
+ },
+ {
+ "name": "Microsoft.EventHub/namespaces/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Azure EventHub",
+ "resource": "Namespace logs",
+ "operation": "Get Namespace logs"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleCreate.json
new file mode 100644
index 000000000000..5b3c37e7ed6e
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleCreate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-960",
+ "eventHubName": "sdk-EventHub-532",
+ "authorizationRuleName": "sdk-Authrules-2513",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-960/eventhubs/sdk-EventHub-532/authorizationRules/sdk-Authrules-2513",
+ "name": "sdk-Authrules-2513",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleDelete.json
new file mode 100644
index 000000000000..3174a5c43e85
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-960",
+ "eventHubName": "sdk-EventHub-532",
+ "authorizationRuleName": "sdk-Authrules-2513",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleGet.json
new file mode 100644
index 000000000000..03fae7fbf515
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-960",
+ "eventHubName": "sdk-EventHub-532",
+ "authorizationRuleName": "sdk-Authrules-2513",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-960/eventhubs/sdk-EventHub-532/authorizationRules/sdk-Authrules-2513",
+ "name": "sdk-Authrules-2513",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleListAll.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleListAll.json
new file mode 100644
index 000000000000..9841522500e8
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleListAll.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-Namespace-960",
+ "eventHubName": "sdk-EventHub-532",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-960/eventhubs/sdk-EventHub-532/authorizationRules/sdk-Authrules-2513",
+ "name": "sdk-Authrules-2513",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleListKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleListKey.json
new file mode 100644
index 000000000000..c93240aaf189
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleListKey.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-namespace-960",
+ "eventHubName": "sdk-EventHub-532",
+ "authorizationRuleName": "sdk-Authrules-2513",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryConnectionString": "Endpoint=sb://sdk-namespace-960.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-2513;SharedAccessKey=############################################;EntityPath=sdk-EventHub-532",
+ "secondaryConnectionString": "Endpoint=sb://sdk-namespace-960.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-2513;SharedAccessKey=############################################;EntityPath=sdk-EventHub-532",
+ "primaryKey": "############################################",
+ "secondaryKey": "############################################",
+ "keyName": "sdk-Authrules-2513"
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleRegenerateKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleRegenerateKey.json
new file mode 100644
index 000000000000..b0260c2d4f2a
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubAuthorizationRuleRegenerateKey.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "resourceGroupName": "ArunMonocle",
+ "namespaceName": "sdk-namespace-960",
+ "eventHubName": "sdk-EventHub-532",
+ "authorizationRuleName": "sdk-Authrules-1534",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "keyType": "PrimaryKey"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryConnectionString": "Endpoint=sb://sdk-namespace-9027.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-1534;SharedAccessKey=#############################################;EntityPath=sdk-EventHub-1647",
+ "secondaryConnectionString": "Endpoint=sb://sdk-namespace-9027.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-1534;SharedAccessKey=#############################################;EntityPath=sdk-EventHub-1647",
+ "primaryKey": "#############################################",
+ "secondaryKey": "#############################################",
+ "keyName": "sdk-Authrules-1534"
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubCreate.json
new file mode 100644
index 000000000000..5fb6da5065b4
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubCreate.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-5357",
+ "resourceGroupName": "Default-NotificationHubs-AustraliaEast",
+ "eventHubName": "sdk-EventHub-6547",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "properties": {
+ "messageRetentionInDays": 4,
+ "partitionCount": 4,
+ "status": "Active",
+ "captureDescription": {
+ "enabled": true,
+ "encoding": "Avro",
+ "intervalInSeconds": 120,
+ "sizeLimitInBytes": 10485763,
+ "destination": {
+ "name": "EventHubArchive.AzureBlockBlob",
+ "properties": {
+ "storageAccountResourceId": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-Storage-SouthCentralUS/providers/Microsoft.ClassicStorage/storageAccounts/arjunteststorage",
+ "blobContainer": "container",
+ "archiveNameFormat": "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-NotificationHubs-AustraliaEast/providers/Microsoft.EventHub/namespaces/sdk-Namespace-716/eventhubs/sdk-EventHub-10",
+ "name": "sdk-EventHub-10",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs",
+ "properties": {
+ "messageRetentionInDays": 4,
+ "partitionCount": 4,
+ "status": "Active",
+ "createdAt": "2017-06-28T02:45:55.877Z",
+ "updatedAt": "2017-06-28T02:46:05.877Z",
+ "partitionIds": [
+ "0",
+ "1",
+ "2",
+ "3"
+ ],
+ "captureDescription": {
+ "enabled": true,
+ "encoding": "Avro",
+ "destination": {
+ "name": "EventHubArchive.AzureBlockBlob",
+ "properties": {
+ "storageAccountResourceId": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-Storage-SouthCentralUS/providers/Microsoft.ClassicStorage/storageAccounts/arjunteststorage",
+ "blobContainer": "container",
+ "archiveNameFormat": "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}"
+ }
+ },
+ "intervalInSeconds": 120,
+ "sizeLimitInBytes": 10485763
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubDelete.json
new file mode 100644
index 000000000000..85dbe3b8e5ce
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-5357",
+ "resourceGroupName": "ArunMonocle",
+ "eventHubName": "sdk-EventHub-6547",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubGet.json
new file mode 100644
index 000000000000..aa622e75cdaa
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-716",
+ "resourceGroupName": "Default-NotificationHubs-AustraliaEast",
+ "eventHubName": "sdk-EventHub-10",
+ "api-version": "2021-11-01",
+ "subscriptionId": "e2f361f0-3b27-4503-a9cc-21cfba380093"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-NotificationHubs-AustraliaEast/providers/Microsoft.EventHub/namespaces/sdk-Namespace-716/eventhubs/sdk-EventHub-10",
+ "name": "sdk-EventHub-10",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs",
+ "properties": {
+ "messageRetentionInDays": 4,
+ "partitionCount": 4,
+ "status": "Active",
+ "createdAt": "2017-06-28T02:45:55.877Z",
+ "updatedAt": "2017-06-28T02:46:05.877Z",
+ "partitionIds": [
+ "0",
+ "1",
+ "2",
+ "3"
+ ],
+ "captureDescription": {
+ "enabled": true,
+ "encoding": "Avro",
+ "destination": {
+ "name": "EventHubArchive.AzureBlockBlob",
+ "properties": {
+ "storageAccountResourceId": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-Storage-SouthCentralUS/providers/Microsoft.ClassicStorage/storageAccounts/arjunteststorage",
+ "blobContainer": "container",
+ "archiveNameFormat": "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}"
+ }
+ },
+ "intervalInSeconds": 120,
+ "sizeLimitInBytes": 10485763
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubListByNameSpace.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubListByNameSpace.json
new file mode 100644
index 000000000000..01bde1238b20
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/EventHubs/EHEventHubListByNameSpace.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-5357",
+ "resourceGroupName": "Default-NotificationHubs-AustraliaEast",
+ "api-version": "2021-11-01",
+ "eventHubName": "sdk-eventhub-10",
+ "subscriptionId": "e2f361f0-3b27-4503-a9cc-21cfba380093"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-NotificationHubs-AustraliaEast/providers/Microsoft.EventHub/namespaces/sdk-Namespace-716/eventhubs/sdk-eventhub-10",
+ "name": "sdk-eventhub-10",
+ "type": "Microsoft.EventHub/Namespaces/EventHubs",
+ "properties": {
+ "messageRetentionInDays": 4,
+ "partitionCount": 4,
+ "status": "Active",
+ "createdAt": "2017-06-28T02:45:55.877Z",
+ "updatedAt": "2017-06-28T02:46:05.877Z",
+ "partitionIds": [
+ "0",
+ "1",
+ "2",
+ "3"
+ ],
+ "captureDescription": {
+ "enabled": true,
+ "encoding": "Avro",
+ "destination": {
+ "name": "EventHubArchive.AzureBlockBlob",
+ "properties": {
+ "storageAccountResourceId": "/subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-Storage-SouthCentralUS/providers/Microsoft.ClassicStorage/storageAccounts/arjunteststorage",
+ "blobContainer": "container",
+ "archiveNameFormat": "{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}"
+ }
+ },
+ "intervalInSeconds": 120,
+ "sizeLimitInBytes": 10485763
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleCreate.json
new file mode 100644
index 000000000000..46e2bc1826f3
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleCreate.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2702",
+ "authorizationRuleName": "sdk-Authrules-1746",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2702/AuthorizationRules/sdk-Authrules-1746",
+ "name": "sdk-Authrules-1746",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleDelete.json
new file mode 100644
index 000000000000..fa9af151e919
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8980",
+ "authorizationRuleName": "sdk-Authrules-8929",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleGet.json
new file mode 100644
index 000000000000..09ce97c3cac1
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2702",
+ "authorizationRuleName": "sdk-Authrules-1746",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2702/AuthorizationRules/sdk-Authrules-1746",
+ "name": "sdk-Authrules-1746",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleListAll.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleListAll.json
new file mode 100644
index 000000000000..6715661bae28
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleListAll.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2702",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2702/AuthorizationRules?api-version=2017-04-01/RootManageSharedAccessKey",
+ "name": "RootManageSharedAccessKey",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Manage",
+ "Send"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/5f750a97-50d9-4e36-8081-c9ee4c0210d4/resourceGroups/ArunMonocle/providers/Microsoft.EventHub/namespaces/sdk-Namespace-2702/AuthorizationRules?api-version=2017-04-01/sdk-Authrules-1746",
+ "name": "sdk-Authrules-1746",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleListKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleListKey.json
new file mode 100644
index 000000000000..ff570c3e3d75
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleListKey.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2702",
+ "authorizationRuleName": "sdk-Authrules-1746",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryConnectionString": "Endpoint=sb://sdk-namespace-2702.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-1746;SharedAccessKey=############################################",
+ "secondaryConnectionString": "Endpoint=sb://sdk-namespace-2702.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-1746;SharedAccessKey=############################################",
+ "primaryKey": "############################################",
+ "secondaryKey": "############################################",
+ "keyName": "sdk-Authrules-1746"
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleRegenerateKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleRegenerateKey.json
new file mode 100644
index 000000000000..1ac506637852
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceAuthorizationRuleRegenerateKey.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8980",
+ "authorizationRuleName": "sdk-Authrules-8929",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "keyType": "PrimaryKey"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryConnectionString": "Endpoint=sb://sdk-namespace-8980.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-8929;SharedAccessKey=############################################",
+ "secondaryConnectionString": "Endpoint=sb://sdk-namespace-8980.servicebus.windows-int.net/;SharedAccessKeyName=sdk-Authrules-8929;SharedAccessKey=############################################",
+ "primaryKey": "############################################",
+ "secondaryKey": "############################################",
+ "keyName": "sdk-Authrules-8929"
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceCheckNameAvailability.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceCheckNameAvailability.json
new file mode 100644
index 000000000000..01fb7eb1c396
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceCheckNameAvailability.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4",
+ "parameters": {
+ "name": "sdk-Namespace-8458"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "None",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceCreate.json
new file mode 100644
index 000000000000..59616aaeb24e
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceCreate.json
@@ -0,0 +1,148 @@
+{
+ "parameters": {
+ "namespaceName": "NamespaceSample",
+ "resourceGroupName": "ResurceGroupSample",
+ "api-version": "2021-11-01",
+ "subscriptionId": "SampleSubscription",
+ "parameters": {
+ "location": "East US",
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": {},
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": {}
+ }
+ },
+ "properties": {
+ "encryption": {
+ "keyVaultProperties": [
+ {
+ "keyName": "Samplekey",
+ "keyVaultUri": "https://aprao-keyvault-user.vault-int.azure-int.net/",
+ "identity": {
+ "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1"
+ }
+ }
+ ],
+ "keySource": "Microsoft.KeyVault"
+ },
+ "clusterArmId": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/clusters/enc-test"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample",
+ "name": "NamespaceSample",
+ "type": "Microsoft.EventHub/Namespaces",
+ "location": "East US",
+ "tags": {},
+ "identity": {
+ "principalId": "PrincipalIdGUID",
+ "tenantId": "TenantIdGUID",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": {
+ "clientId": "ClientIdGUID",
+ "principalId": "PrincipalIdGUID"
+ },
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": {
+ "clientId": "6a35400f-6ccb-4817-8f1a-ce19ea4523bc",
+ "principalId": "ce2d5953-5c15-40ca-9d51-cc3f4a63b0f5"
+ }
+ }
+ },
+ "properties": {
+ "zoneRedundant": false,
+ "isAutoInflateEnabled": false,
+ "disableLocalAuth": false,
+ "maximumThroughputUnits": 0,
+ "encryption": {
+ "keySource": "Microsoft.KeyVault",
+ "keyVaultProperties": [
+ {
+ "keyName": "Samplekey",
+ "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net",
+ "keyVersion": "",
+ "identity": {
+ "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1"
+ }
+ }
+ ],
+ "requireInfrastructureEncryption": false
+ },
+ "clusterArmId": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/clusters/enc-test",
+ "kafkaEnabled": false,
+ "provisioningState": "Succeeded",
+ "metricId": "MetricGUID:NamespaceSample",
+ "createdAt": "2021-02-16T22:36:06.107Z",
+ "updatedAt": "2021-02-16T22:37:42.29Z",
+ "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443/"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample",
+ "name": "NamespaceSample",
+ "type": "Microsoft.EventHub/Namespaces",
+ "location": "East US",
+ "tags": {},
+ "identity": {
+ "principalId": "PrincipalIdGUID",
+ "tenantId": "TenantIdGUID",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": {
+ "clientId": "ClientIdGUID",
+ "principalId": "PrincipalIdGUID"
+ },
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": {
+ "clientId": "6a35400f-6ccb-4817-8f1a-ce19ea4523bc",
+ "principalId": "ce2d5953-5c15-40ca-9d51-cc3f4a63b0f5"
+ }
+ }
+ },
+ "properties": {
+ "zoneRedundant": false,
+ "isAutoInflateEnabled": false,
+ "disableLocalAuth": false,
+ "maximumThroughputUnits": 0,
+ "encryption": {
+ "keySource": "Microsoft.KeyVault",
+ "keyVaultProperties": [
+ {
+ "keyName": "Samplekey",
+ "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net",
+ "keyVersion": "",
+ "identity": {
+ "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1"
+ }
+ }
+ ],
+ "requireInfrastructureEncryption": false
+ },
+ "clusterArmId": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/clusters/enc-test",
+ "kafkaEnabled": false,
+ "provisioningState": "Succeeded",
+ "metricId": "MetricGUID:NamespaceSample",
+ "createdAt": "2021-02-16T22:36:06.107Z",
+ "updatedAt": "2021-02-16T22:37:42.29Z",
+ "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443/"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceDelete.json
new file mode 100644
index 000000000000..026f09fc8d67
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "namespaceName": "NamespaceSample",
+ "resourceGroupName": "ResurceGroupSample",
+ "api-version": "2021-11-01",
+ "subscriptionId": "SampleSubscription"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceGet.json
new file mode 100644
index 000000000000..6ac56efdc81f
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceGet.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "namespaceName": "NamespaceSample",
+ "resourceGroupName": "ResurceGroupSample",
+ "api-version": "2021-11-01",
+ "subscriptionId": "SampleSubscription"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample",
+ "name": "NamespaceSample",
+ "type": "Microsoft.EventHub/Namespaces",
+ "location": "East US",
+ "tags": {},
+ "identity": {
+ "principalId": "PrincipalIdGUID",
+ "tenantId": "TenantIdGUID",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": {
+ "clientId": "ClientIdGUID",
+ "principalId": "PrincipalIdGUID"
+ },
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": {
+ "clientId": "6a35400f-6ccb-4817-8f1a-ce19ea4523bc",
+ "principalId": "ce2d5953-5c15-40ca-9d51-cc3f4a63b0f5"
+ }
+ }
+ },
+ "properties": {
+ "isAutoInflateEnabled": false,
+ "disableLocalAuth": false,
+ "maximumThroughputUnits": 0,
+ "zoneRedundant": false,
+ "encryption": {
+ "keySource": "Microsoft.KeyVault",
+ "keyVaultProperties": [
+ {
+ "keyName": "Samplekey",
+ "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net",
+ "keyVersion": "",
+ "identity": {
+ "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1"
+ }
+ }
+ ],
+ "requireInfrastructureEncryption": false
+ },
+ "privateEndpointConnections": [
+ {
+ "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample/privateEndpointConnections/privateEndpointConnectionName",
+ "name": "privateEndpointConnectionName",
+ "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.Network/privateEndpoints/NamespaceSample"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved"
+ }
+ }
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "clusterArmId": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/clusters/enc-test",
+ "metricId": "MetricGUID:NamespaceSample",
+ "createdAt": "2021-01-30T00:28:38.963Z",
+ "updatedAt": "2021-01-30T00:30:55.143Z",
+ "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceList.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceList.json
new file mode 100644
index 000000000000..f6fdab6b6807
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceList.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2021-11-01",
+ "subscriptionId": "SampleSubscription"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 0
+ },
+ "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample",
+ "name": "NamespaceSample",
+ "type": "Microsoft.EventHub/Namespaces",
+ "location": "East US",
+ "tags": {},
+ "identity": {
+ "principalId": "PrincipalIdGUID",
+ "tenantId": "TenantIdGUID",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": {
+ "clientId": "ClientIdGUID",
+ "principalId": "PrincipalIdGUID"
+ },
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": {
+ "clientId": "6a35400f-6ccb-4817-8f1a-ce19ea4523bc",
+ "principalId": "ce2d5953-5c15-40ca-9d51-cc3f4a63b0f5"
+ }
+ }
+ },
+ "properties": {
+ "isAutoInflateEnabled": false,
+ "disableLocalAuth": false,
+ "maximumThroughputUnits": 0,
+ "zoneRedundant": false,
+ "encryption": {
+ "keySource": "Microsoft.KeyVault",
+ "keyVaultProperties": [
+ {
+ "keyName": "Samplekey",
+ "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net",
+ "keyVersion": "",
+ "identity": {
+ "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1"
+ }
+ }
+ ],
+ "requireInfrastructureEncryption": false
+ },
+ "clusterArmId": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/clusters/enc-test",
+ "provisioningState": "Succeeded",
+ "metricId": "MetricGUID:NamespaceSample",
+ "createdAt": "2021-01-30T00:28:38.963Z",
+ "updatedAt": "2021-01-30T00:30:55.143Z",
+ "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443/"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceListByResourceGroup.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceListByResourceGroup.json
new file mode 100644
index 000000000000..b120031fedd0
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceListByResourceGroup.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2021-11-01",
+ "subscriptionId": "SampleSubscription",
+ "resourceGroupName": "ResurceGroupSample"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample",
+ "name": "NamespaceSample",
+ "type": "Microsoft.EventHub/Namespaces",
+ "location": "East US",
+ "tags": {},
+ "identity": {
+ "principalId": "PrincipalIdGUID",
+ "tenantId": "TenantIdGUID",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": {
+ "clientId": "ClientIdGUID",
+ "principalId": "PrincipalIdGUID"
+ },
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": {
+ "clientId": "6a35400f-6ccb-4817-8f1a-ce19ea4523bc",
+ "principalId": "ce2d5953-5c15-40ca-9d51-cc3f4a63b0f5"
+ }
+ }
+ },
+ "properties": {
+ "isAutoInflateEnabled": false,
+ "disableLocalAuth": false,
+ "maximumThroughputUnits": 0,
+ "zoneRedundant": false,
+ "encryption": {
+ "keySource": "Microsoft.KeyVault",
+ "keyVaultProperties": [
+ {
+ "keyName": "Samplekey",
+ "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net",
+ "keyVersion": "",
+ "identity": {
+ "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1"
+ }
+ }
+ ],
+ "requireInfrastructureEncryption": false
+ },
+ "clusterArmId": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/clusters/enc-test",
+ "provisioningState": "Succeeded",
+ "metricId": "MetricGUID:NamespaceSample",
+ "createdAt": "2021-01-30T00:28:38.963Z",
+ "updatedAt": "2021-01-30T00:30:55.143Z",
+ "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443/"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceUpdate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceUpdate.json
new file mode 100644
index 000000000000..80b76c452b1c
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/EHNameSpaceUpdate.json
@@ -0,0 +1,120 @@
+{
+ "parameters": {
+ "namespaceName": "NamespaceSample",
+ "resourceGroupName": "ResurceGroupSample",
+ "api-version": "2021-11-01",
+ "subscriptionId": "SampleSubscription",
+ "parameters": {
+ "location": "East US",
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud2": null
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample",
+ "name": "NamespaceSample",
+ "type": "Microsoft.EventHub/Namespaces",
+ "location": "East US",
+ "tags": {},
+ "identity": {
+ "principalId": "PrincipalIdGUID",
+ "tenantId": "TenantIdGUID",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": {
+ "clientId": "ClientIdGUID",
+ "principalId": "PrincipalIdGUID"
+ }
+ }
+ },
+ "properties": {
+ "isAutoInflateEnabled": false,
+ "disableLocalAuth": false,
+ "maximumThroughputUnits": 0,
+ "zoneRedundant": false,
+ "encryption": {
+ "keySource": "Microsoft.KeyVault",
+ "keyVaultProperties": [
+ {
+ "keyName": "Samplekey",
+ "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net",
+ "keyVersion": "",
+ "identity": {
+ "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1"
+ }
+ }
+ ],
+ "requireInfrastructureEncryption": false
+ },
+ "provisioningState": "ActivatingIdentity",
+ "metricId": "MetricGUID:NamespaceSample",
+ "createdAt": "2021-01-30T00:28:38.963Z",
+ "updatedAt": "2021-01-30T00:31:13.657Z",
+ "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443/"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "name": "Standard",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "id": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.EventHub/namespaces/NamespaceSample",
+ "name": "NamespaceSample",
+ "type": "Microsoft.EventHub/Namespaces",
+ "location": "East US",
+ "tags": {},
+ "identity": {
+ "principalId": "PrincipalIdGUID",
+ "tenantId": "TenantIdGUID",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1": {
+ "clientId": "ClientIdGUID",
+ "principalId": "PrincipalIdGUID"
+ }
+ }
+ },
+ "properties": {
+ "isAutoInflateEnabled": false,
+ "disableLocalAuth": false,
+ "maximumThroughputUnits": 0,
+ "zoneRedundant": false,
+ "encryption": {
+ "keySource": "Microsoft.KeyVault",
+ "keyVaultProperties": [
+ {
+ "keyName": "Samplekey",
+ "keyVaultUri": "https://sample-keyvault-user.vault-int.azure-int.net",
+ "keyVersion": "",
+ "identity": {
+ "userAssignedIdentity": "/subscriptions/SampleSubscription/resourceGroups/ResurceGroupSample/providers/Microsoft.ManagedIdentity/userAssignedIdentities/ud1"
+ }
+ }
+ ],
+ "requireInfrastructureEncryption": false
+ },
+ "provisioningState": "ActivatingIdentity",
+ "metricId": "MetricGUID:NamespaceSample",
+ "createdAt": "2021-01-30T00:28:38.963Z",
+ "updatedAt": "2021-01-30T00:31:13.657Z",
+ "serviceBusEndpoint": "https://NamespaceSample.servicebus.windows-int.net:443/"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionCreate.json
new file mode 100644
index 000000000000..cccf71669713
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionCreate.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2924",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2021-11-01",
+ "subscriptionId": "subID",
+ "privateEndpointConnectionName": "privateEndpointConnectionName",
+ "parameters": {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-8396/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-2847"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Rejected",
+ "description": "testing"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5828/privateEndpointConnections/928c44d5-b7c6-423b-b6fa-811e0c27b3e0",
+ "name": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0",
+ "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5828"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5828/privateEndpointConnections/928c44d5-b7c6-423b-b6fa-811e0c27b3e0",
+ "name": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0",
+ "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5828"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionDelete.json
new file mode 100644
index 000000000000..02bdc76e87c7
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-3285",
+ "resourceGroupName": "ArunMonocle",
+ "privateEndpointConnectionName": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0",
+ "api-version": "2021-11-01",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionGet.json
new file mode 100644
index 000000000000..1e26551c9715
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-5828",
+ "resourceGroupName": "SDK-EventHub-4794",
+ "privateEndpointConnectionName": "privateEndpointConnectionName",
+ "api-version": "2021-11-01",
+ "subscriptionId": "subID"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5828/privateEndpointConnections/privateEndpointConnectionName",
+ "name": "privateEndpointConnectionName",
+ "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5828"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionList.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionList.json
new file mode 100644
index 000000000000..e4679470b555
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateEndPointConnectionList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-5828",
+ "resourceGroupName": "SDK-EventHub-4794",
+ "api-version": "2021-11-01",
+ "subscriptionId": "subID"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-7182/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5705-new/privateEndpointConnections/5dc668b3-70e4-437f-b61c-a3c1e594be7a",
+ "name": "5dc668b3-70e4-437f-b61c-a3c1e594be7a",
+ "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-7182/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5705-new"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateLinkResourcesGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateLinkResourcesGet.json
new file mode 100644
index 000000000000..f77366e72c06
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/PrivateLinkResourcesGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2924",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2021-11-01",
+ "subscriptionId": "subID"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/subID/resourceGroups/SDK-EventHub-4794/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5828/privateLinkResources/namespace",
+ "name": "namespace",
+ "type": "Microsoft.EventHub/namespaces/privateLinkResources",
+ "properties": {
+ "groupId": "namespace",
+ "requiredMembers": [
+ "namespace"
+ ],
+ "requiredZoneNames": [
+ "privatelink.EventHub.windows.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json
new file mode 100644
index 000000000000..08bd84fbe0c2
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-6019",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2021-11-01",
+ "subscriptionId": "Subscription",
+ "parameters": {
+ "properties": {
+ "defaultAction": "Deny",
+ "virtualNetworkRules": [
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2"
+ },
+ "ignoreMissingVnetServiceEndpoint": true
+ },
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3"
+ },
+ "ignoreMissingVnetServiceEndpoint": false
+ },
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6"
+ },
+ "ignoreMissingVnetServiceEndpoint": false
+ }
+ ],
+ "ipRules": [
+ {
+ "ipMask": "1.1.1.1",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.2",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.3",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.4",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.5",
+ "action": "Allow"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/854d368f-1828-428f-8f3c-f2affa9b2f7d/resourceGroups/resourcegroupid/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9659/networkruleset/default",
+ "name": "default",
+ "type": "Microsoft.EventHub/Namespaces/NetworkRuleSet",
+ "properties": {
+ "defaultAction": "Deny",
+ "virtualNetworkRules": [
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2"
+ },
+ "ignoreMissingVnetServiceEndpoint": true
+ },
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3"
+ },
+ "ignoreMissingVnetServiceEndpoint": false
+ },
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6"
+ },
+ "ignoreMissingVnetServiceEndpoint": false
+ }
+ ],
+ "ipRules": [
+ {
+ "ipMask": "1.1.1.1",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.2",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.3",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.4",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.5",
+ "action": "Allow"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json
new file mode 100644
index 000000000000..ae0eb3041796
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-6019",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2021-11-01",
+ "subscriptionId": "Subscription"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subscriptionid/resourceGroups/resourcegroupid/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9659/networkruleset/default",
+ "name": "default",
+ "type": "Microsoft.EventHub/Namespaces/NetworkRuleSet",
+ "properties": {
+ "defaultAction": "Deny",
+ "virtualNetworkRules": [
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2"
+ },
+ "ignoreMissingVnetServiceEndpoint": true
+ },
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3"
+ },
+ "ignoreMissingVnetServiceEndpoint": false
+ },
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6"
+ },
+ "ignoreMissingVnetServiceEndpoint": false
+ }
+ ],
+ "ipRules": [
+ {
+ "ipMask": "1.1.1.1",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.2",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.3",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.4",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.5",
+ "action": "Allow"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetList.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetList.json
new file mode 100644
index 000000000000..e231a8fc9263
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetList.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-6019",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2021-11-01",
+ "subscriptionId": "Subscription"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subscriptionid/resourceGroups/resourcegroupid/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9659/networkruleset/default",
+ "name": "default",
+ "type": "Microsoft.EventHub/Namespaces/NetworkRuleSet",
+ "properties": {
+ "defaultAction": "Deny",
+ "virtualNetworkRules": [
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet2"
+ },
+ "ignoreMissingVnetServiceEndpoint": true
+ },
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet3"
+ },
+ "ignoreMissingVnetServiceEndpoint": false
+ },
+ {
+ "subnet": {
+ "id": "/subscriptions/subscriptionid/resourcegroups/resourcegroupid/providers/Microsoft.Network/virtualNetworks/myvn/subnets/subnet6"
+ },
+ "ignoreMissingVnetServiceEndpoint": false
+ }
+ ],
+ "ipRules": [
+ {
+ "ipMask": "1.1.1.1",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.2",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.3",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.4",
+ "action": "Allow"
+ },
+ {
+ "ipMask": "1.1.1.5",
+ "action": "Allow"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryCreate.json
new file mode 100644
index 000000000000..e6992b1e21e5
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryCreate.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "namespaceName": "ali-ua-test-eh-system-1",
+ "resourceGroupName": "alitest",
+ "api-version": "2021-11-01",
+ "subscriptionId": "e8baea74-64ce-459b-bee3-5aa4c47b3ae3",
+ "schemaGroupName": "testSchemaGroup1",
+ "parameters": {
+ "properties": {
+ "groupProperties": {},
+ "schemaCompatibility": "Forward",
+ "schemaType": "Avro"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/e8baea74-64ce-459b-bee3-5aa4c47b3ae3/resourceGroups/alitest/providers/Microsoft.EventHub/namespaces/ali-ua-test-eh-system-1/schemagroups/testSchemaGroup1",
+ "name": "testSchemaGroup1",
+ "type": "Microsoft.EventHub/Namespaces/SchemaGroups",
+ "location": "EAST US 2 EUAP",
+ "properties": {
+ "updatedAtUtc": "2021-10-13T03:08:11.1671879Z",
+ "createdAtUtc": "2021-10-13T03:08:11.1671879Z",
+ "eTag": "51ddcff4-a287-423c-b194-7a8ebbfd8366",
+ "groupProperties": {},
+ "schemaCompatibility": "Forward",
+ "schemaType": "Avro"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryDelete.json
new file mode 100644
index 000000000000..317d14e4f2b1
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "namespaceName": "ali-ua-test-eh-system-1",
+ "resourceGroupName": "alitest",
+ "api-version": "2021-11-01",
+ "subscriptionId": "e8baea74-64ce-459b-bee3-5aa4c47b3ae3",
+ "schemaGroupName": "testSchemaGroup1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryGet.json
new file mode 100644
index 000000000000..a68833dabff7
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "namespaceName": "ali-ua-test-eh-system-1",
+ "resourceGroupName": "alitest",
+ "api-version": "2021-11-01",
+ "subscriptionId": "e8baea74-64ce-459b-bee3-5aa4c47b3ae3",
+ "schemaGroupName": "testSchemaGroup1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/e8baea74-64ce-459b-bee3-5aa4c47b3ae3/resourceGroups/alitest/providers/Microsoft.EventHub/namespaces/ali-ua-test-eh-system-1/schemagroups/testSchemaGroup1",
+ "name": "testSchemaGroup1",
+ "type": "Microsoft.EventHub/Namespaces/SchemaGroups",
+ "location": "EAST US 2 EUAP",
+ "properties": {
+ "updatedAtUtc": "2021-10-13T03:08:11.1671879Z",
+ "createdAtUtc": "2021-10-13T03:08:11.1671879Z",
+ "eTag": "51ddcff4-a287-423c-b194-7a8ebbfd8366",
+ "groupProperties": {},
+ "schemaCompatibility": "Forward",
+ "schemaType": "Avro"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryListByNamespace.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryListByNamespace.json
new file mode 100644
index 000000000000..739c59618590
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/SchemaRegistry/SchemaRegistryListByNamespace.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "namespaceName": "ali-ua-test-eh-system-1",
+ "resourceGroupName": "alitest",
+ "api-version": "2021-11-01",
+ "subscriptionId": "e8baea74-64ce-459b-bee3-5aa4c47b3ae3"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/e8baea74-64ce-459b-bee3-5aa4c47b3ae3/resourceGroups/alitest/providers/Microsoft.EventHub/namespaces/ali-ua-test-eh-system-1/schemagroups/testSchemaGroup1",
+ "name": "testSchemaGroup1",
+ "type": "Microsoft.EventHub/Namespaces/SchemaGroups",
+ "location": "EAST US 2 EUAP",
+ "properties": {
+ "updatedAtUtc": "2021-10-13T03:08:11.1671879Z",
+ "createdAtUtc": "2021-10-13T03:08:11.1671879Z",
+ "eTag": "51ddcff4-a287-423c-b194-7a8ebbfd8366",
+ "groupProperties": {},
+ "schemaCompatibility": "Forward",
+ "schemaType": "Avro"
+ }
+ },
+ {
+ "id": "/subscriptions/e8baea74-64ce-459b-bee3-5aa4c47b3ae3/resourceGroups/alitest/providers/Microsoft.EventHub/namespaces/ali-ua-test-eh-system-1/schemagroups/testSchemaGroup2",
+ "name": "testSchemaGroup2",
+ "type": "Microsoft.EventHub/Namespaces/SchemaGroups",
+ "location": "EAST US 2 EUAP",
+ "properties": {
+ "updatedAtUtc": "2021-10-13T03:10:33.6974319Z",
+ "createdAtUtc": "2021-10-13T03:10:33.6974319Z",
+ "eTag": "d01173a4-08c5-43c9-b30f-d9666196a907",
+ "groupProperties": {},
+ "schemaCompatibility": "None",
+ "schemaType": "Avro"
+ }
+ },
+ {
+ "id": "/subscriptions/e8baea74-64ce-459b-bee3-5aa4c47b3ae3/resourceGroups/alitest/providers/Microsoft.EventHub/namespaces/ali-ua-test-eh-system-1/schemagroups/testSchemaGroup3",
+ "name": "testSchemaGroup3",
+ "type": "Microsoft.EventHub/Namespaces/SchemaGroups",
+ "location": "EAST US 2 EUAP",
+ "properties": {
+ "updatedAtUtc": "2021-10-13T03:13:30.8938585Z",
+ "createdAtUtc": "2021-10-13T03:13:30.8938585Z",
+ "eTag": "2c1c3d08-2fb8-4a4e-91f4-6e8b940c1b7c",
+ "groupProperties": {},
+ "schemaCompatibility": "Backward",
+ "schemaType": "Avro"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleGet.json
new file mode 100644
index 000000000000..1e40424c9ac8
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-9080",
+ "authorizationRuleName": "sdk-Authrules-4879",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-4879",
+ "api-version": "2021-11-01",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-4879",
+ "name": "sdk-Authrules-4879",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListAll.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListAll.json
new file mode 100644
index 000000000000..148e42151461
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListAll.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-9080",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-4047",
+ "api-version": "2021-11-01",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/RootManageSharedAccessKey",
+ "name": "RootManageSharedAccessKey",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Manage",
+ "Send"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-1067",
+ "name": "sdk-Authrules-1067",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-1684",
+ "name": "sdk-Authrules-1684",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-9080/disasterRecoveryConfigs/sdk-DisasterRecovery-4047/AuthorizationRules/sdk-Authrules-4879",
+ "name": "sdk-Authrules-4879",
+ "type": "Microsoft.EventHub/Namespaces/AuthorizationRules",
+ "properties": {
+ "rights": [
+ "Listen",
+ "Send"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListKey.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListKey.json
new file mode 100644
index 000000000000..6d5a39b93219
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasAuthorizationRuleListKey.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2702",
+ "authorizationRuleName": "sdk-Authrules-1746",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-4047",
+ "api-version": "2021-11-01",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "aliasPrimaryConnectionString": "Endpoint=sb://sdk-disasterrecovery-4047.servicebus.windows-int.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=############################################",
+ "aliasSecondaryConnectionString": "Endpoint=sb://sdk-disasterrecovery-4047.servicebus.windows-int.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=############################################",
+ "primaryKey": "############################################",
+ "secondaryKey": "############################################",
+ "keyName": "sdk-Authrules-1746"
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasBreakPairing.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasBreakPairing.json
new file mode 100644
index 000000000000..a87d5ab83651
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasBreakPairing.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8859",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-3814",
+ "api-version": "2021-11-01",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasCheckNameAvailability.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasCheckNameAvailability.json
new file mode 100644
index 000000000000..a10a675e2f89
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasCheckNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-11-01",
+ "subscriptionId": "exampleSubscriptionId",
+ "namespaceName": "sdk-Namespace-9080",
+ "resourceGroupName": "exampleResourceGroup",
+ "parameters": {
+ "name": "sdk-DisasterRecovery-9474"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "None",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasCreate.json
new file mode 100644
index 000000000000..745dbad4cc07
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasCreate.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8859",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-3814",
+ "api-version": "2021-11-01",
+ "subscriptionId": "exampleSubscriptionId",
+ "parameters": {
+ "properties": {
+ "partnerNamespace": "sdk-Namespace-37"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/exampleResourceGroup/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-8859/disasterRecoveryConfig/sdk-DisasterRecovery-3814",
+ "name": "sdk-DisasterRecovery-3814",
+ "type": "Microsoft.EventHub/Namespaces/DisasterRecoveryConfig",
+ "properties": {
+ "provisioningState": "Accepted",
+ "partnerNamespace": "sdk-Namespace-37",
+ "role": "Primary"
+ }
+ }
+ },
+ "201": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasDelete.json
new file mode 100644
index 000000000000..b2169fafd4d0
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-5849",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-3814",
+ "api-version": "2021-11-01",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasFailOver.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasFailOver.json
new file mode 100644
index 000000000000..a87d5ab83651
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasFailOver.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8859",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-3814",
+ "api-version": "2021-11-01",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasGet.json
new file mode 100644
index 000000000000..498e89591537
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8859",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-3814",
+ "api-version": "2021-11-01",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-37/disasterRecoveryConfig/sdk-DisasterRecovery-3814",
+ "name": "sdk-DisasterRecovery-3814",
+ "type": "Microsoft.EventHub/Namespaces/DisasterRecoveryConfig",
+ "properties": {
+ "provisioningState": "Accepted",
+ "partnerNamespace": "sdk-Namespace-8859",
+ "role": "Secondary",
+ "pendingReplicationOperationsCount": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasList.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasList.json
new file mode 100644
index 000000000000..e0ae25339642
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/examples/disasterRecoveryConfigs/EHAliasList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-8859",
+ "resourceGroupName": "exampleResourceGroup",
+ "alias": "sdk-DisasterRecovery-3814",
+ "api-version": "2021-11-01",
+ "subscriptionId": "exampleSubscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/exampleSubscriptionId/resourceGroups/exampleResourceGroup/providers/Microsoft.EventHub/namespaces/sdk-Namespace-8859/disasterRecoveryConfig/sdk-DisasterRecovery-3814",
+ "name": "sdk-DisasterRecovery-3814",
+ "type": "Microsoft.EventHub/Namespaces/DisasterRecoveryConfig",
+ "properties": {
+ "provisioningState": "Accepted",
+ "partnerNamespace": "sdk-Namespace-37",
+ "role": "Primary"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/namespaces-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/namespaces-preview.json
new file mode 100644
index 000000000000..f858001d7de5
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/namespaces-preview.json
@@ -0,0 +1,1014 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client for managing namespaces.",
+ "version": "2021-11-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.EventHub/namespaces": {
+ "get": {
+ "tags": [
+ "Namespaces"
+ ],
+ "operationId": "Namespaces_List",
+ "x-ms-examples": {
+ "NamespacesListBySubscription": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceList.json"
+ }
+ },
+ "description": "Lists all the available Namespaces within a subscription, irrespective of the resource groups.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespaces returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/EHNamespaceListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces": {
+ "get": {
+ "tags": [
+ "Namespaces"
+ ],
+ "operationId": "Namespaces_ListByResourceGroup",
+ "x-ms-examples": {
+ "NamespaceListByResourceGroup": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceListByResourceGroup.json"
+ }
+ },
+ "description": "Lists the available Namespaces within a resource group.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespaces returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/EHNamespaceListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}": {
+ "put": {
+ "tags": [
+ "Namespaces"
+ ],
+ "operationId": "Namespaces_CreateOrUpdate",
+ "x-ms-examples": {
+ "NamespaceCreate": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceCreate.json"
+ }
+ },
+ "description": "Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EHNamespace",
+ "required": [
+ "location"
+ ]
+ },
+ "description": "Parameters for creating a namespace resource."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace successfully created.",
+ "schema": {
+ "$ref": "#/definitions/EHNamespace"
+ }
+ },
+ "201": {
+ "description": "Namespace create request accepted.",
+ "schema": {
+ "$ref": "#/definitions/EHNamespace"
+ }
+ },
+ "202": {
+ "description": "Namespace create or update request accepted."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Namespaces"
+ ],
+ "operationId": "Namespaces_Delete",
+ "x-ms-examples": {
+ "NameSpaceDelete": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceDelete.json"
+ }
+ },
+ "description": "Deletes an existing namespace. This operation also removes all associated resources under the namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace successfully deleted."
+ },
+ "202": {
+ "description": "Namespace delete request accepted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Namespaces"
+ ],
+ "operationId": "Namespaces_Get",
+ "x-ms-examples": {
+ "NameSpaceGet": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceGet.json"
+ }
+ },
+ "description": "Gets the description of the specified namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/EHNamespace"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Namespaces"
+ ],
+ "operationId": "Namespaces_Update",
+ "x-ms-examples": {
+ "NamespacesUpdate": {
+ "$ref": "./examples/NameSpaces/EHNameSpaceUpdate.json"
+ }
+ },
+ "description": "Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EHNamespace"
+ },
+ "description": "Parameters for updating a namespace resource."
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/EHNamespace"
+ }
+ },
+ "201": {
+ "description": "Namespace update request accepted.",
+ "schema": {
+ "$ref": "#/definitions/EHNamespace"
+ }
+ },
+ "202": {
+ "description": "Namespace create or update request accepted."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "Namespaces PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_List",
+ "x-ms-examples": {
+ "NameSpaceCreate": {
+ "$ref": "./examples/NameSpaces/PrivateEndPointConnectionList.json"
+ }
+ },
+ "description": "Gets the available PrivateEndpointConnections within a namespace.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "PrivateEndpointConnections successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "EventHubEventHub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "put": {
+ "tags": [
+ "Namespaces PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_CreateOrUpdate",
+ "x-ms-examples": {
+ "NameSpacePrivateEndPointConnectionCreate": {
+ "$ref": "./examples/NameSpaces/PrivateEndPointConnectionCreate.json"
+ }
+ },
+ "description": "Creates or updates PrivateEndpointConnections of service namespace.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639408.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "Parameters supplied to update Status of PrivateEndPoint Connection to namespace resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Status of PrivateEndPoint Connection Created successfully.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "201": {
+ "description": "Request to update Status of PrivateEndPoint Connection accepted.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Namespaces PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Delete",
+ "x-ms-examples": {
+ "NameSpacePrivateEndPointConnectionDelete": {
+ "$ref": "./examples/NameSpaces/PrivateEndPointConnectionDelete.json"
+ }
+ },
+ "description": "Deletes an existing namespace. This operation also removes all associated resources under the namespace.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639389.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/PrivateEndpointConnectionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Private Endpoint Connection successfully deleted."
+ },
+ "202": {
+ "description": "Private Endpoint Connection delete request accepted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Namespaces PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Get",
+ "x-ms-examples": {
+ "NameSpacePrivateEndPointConnectionGet": {
+ "$ref": "./examples/NameSpaces/PrivateEndPointConnectionGet.json"
+ }
+ },
+ "description": "Gets a description for the specified Private Endpoint Connection name.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639379.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Private Endpoint Connection successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "Namespaces PrivateLinkResources"
+ ],
+ "operationId": "PrivateLinkResources_Get",
+ "x-ms-examples": {
+ "NameSpacePrivateLinkResourcesGet": {
+ "$ref": "./examples/NameSpaces/PrivateLinkResourcesGet.json"
+ }
+ },
+ "description": "Gets lists of resources that supports Privatelinks.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639379.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Private Link resource List",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourcesListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "EHNamespaceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EHNamespace"
+ },
+ "description": "Result of the List Namespace operation"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of namespaces."
+ }
+ },
+ "description": "The response of the List Namespace operation"
+ },
+ "EHNamespace": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "Properties of sku resource"
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "Properties of BYOK Identity description"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../common/v1/definitions.json#/definitions/systemData"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Provisioning state of the Namespace."
+ },
+ "status": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Status of the Namespace."
+ },
+ "createdAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "The time the Namespace was created."
+ },
+ "updatedAt": {
+ "readOnly": true,
+ "format": "date-time",
+ "type": "string",
+ "description": "The time the Namespace was updated."
+ },
+ "serviceBusEndpoint": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Endpoint you can use to perform Service Bus operations."
+ },
+ "clusterArmId": {
+ "type": "string",
+ "description": "Cluster ARM ID of the Namespace."
+ },
+ "metricId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Identifier for Azure Insights metrics."
+ },
+ "isAutoInflateEnabled": {
+ "type": "boolean",
+ "description": "Value that indicates whether AutoInflate is enabled for eventhub namespace."
+ },
+ "maximumThroughputUnits": {
+ "format": "int32",
+ "type": "integer",
+ "description": "Upper limit of throughput units when AutoInflate is enabled, value should be within 0 to 20 throughput units. ( '0' if AutoInflateEnabled = true)"
+ },
+ "kafkaEnabled": {
+ "type": "boolean",
+ "description": "Value that indicates whether Kafka is enabled for eventhub namespace."
+ },
+ "zoneRedundant": {
+ "type": "boolean",
+ "description": "Enabling this property creates a Standard Event Hubs Namespace in regions supported availability zones."
+ },
+ "encryption": {
+ "$ref": "#/definitions/Encryption",
+ "description": "Properties of BYOK Encryption description"
+ },
+ "privateEndpointConnections": {
+ "description": "List of private endpoint connections.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "disableLocalAuth": {
+ "type": "boolean",
+ "description": "This property disables SAS authentication for the Event Hubs namespace."
+ },
+ "alternateName": {
+ "type": "string",
+ "description": "Alternate name specified when alias and namespace names are same."
+ }
+ },
+ "description": "Namespace properties supplied for create namespace operation."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Single Namespace item in List or Get Operation"
+ },
+ "Sku": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of this SKU.",
+ "enum": [
+ "Basic",
+ "Standard",
+ "Premium"
+ ],
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "The billing tier of this particular SKU.",
+ "enum": [
+ "Basic",
+ "Standard",
+ "Premium"
+ ],
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ },
+ "capacity": {
+ "format": "int32",
+ "minimum": 0,
+ "type": "integer",
+ "description": "The Event Hubs throughput units for Basic or Standard tiers, where value should be 0 to 20 throughput units. The Event Hubs premium units for Premium tier, where value should be 0 to 10 premium units."
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "SKU parameters supplied to the create namespace operation"
+ },
+ "Identity": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "ObjectId from the KeyVault",
+ "readOnly": true
+ },
+ "tenantId": {
+ "type": "string",
+ "description": "TenantId from the KeyVault",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of managed service identity.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedServiceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ },
+ "description": "Properties for User Assigned Identities"
+ }
+ },
+ "description": "Properties to configure Identity for Bring your Own Keys"
+ },
+ "UserAssignedIdentity": {
+ "description": "Recognized Dictionary value.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "Principal Id of user assigned identity",
+ "type": "string",
+ "x-ms-client-name": "PrincipalId",
+ "readOnly": true
+ },
+ "clientId": {
+ "description": "Client Id of user assigned identity",
+ "type": "string",
+ "x-ms-client-name": "ClientId",
+ "readOnly": true
+ }
+ }
+ },
+ "Encryption": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "keyVaultProperties": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyVaultProperties"
+ },
+ "x-ms-client-name": "KeyVaultProperties",
+ "description": "Properties of KeyVault"
+ },
+ "keySource": {
+ "type": "string",
+ "description": "Enumerates the possible value of keySource for Encryption",
+ "default": "Microsoft.KeyVault",
+ "enum": [
+ "Microsoft.KeyVault"
+ ],
+ "x-ms-enum": {
+ "name": "keySource",
+ "modelAsString": false
+ }
+ },
+ "requireInfrastructureEncryption": {
+ "type": "boolean",
+ "description": "Enable Infrastructure Encryption (Double Encryption)"
+ }
+ },
+ "description": "Properties to configure Encryption"
+ },
+ "KeyVaultProperties": {
+ "properties": {
+ "keyName": {
+ "type": "string",
+ "description": "Name of the Key from KeyVault",
+ "x-ms-client-name": "KeyName"
+ },
+ "keyVaultUri": {
+ "type": "string",
+ "description": "Uri of KeyVault",
+ "x-ms-client-name": "KeyVaultUri"
+ },
+ "keyVersion": {
+ "type": "string",
+ "description": "Key Version",
+ "x-ms-client-name": "KeyVersion"
+ },
+ "identity": {
+ "$ref": "#/definitions/userAssignedIdentityProperties"
+ }
+ },
+ "description": "Properties to configure keyVault Properties"
+ },
+ "PrivateEndpointConnection": {
+ "description": "Properties of the PrivateEndpointConnection.",
+ "allOf": [
+ {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "Properties of the PrivateEndpointConnection.",
+ "x-ms-client-flatten": true
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../common/v1/definitions.json#/definitions/systemData"
+ }
+ }
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "Properties of the private endpoint connection resource.",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The Private Endpoint resource for this Connection."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/ConnectionState",
+ "description": "Details about the state of the connection."
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the Private Endpoint Connection.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Canceled",
+ "Failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EndPointProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PrivateEndpoint": {
+ "description": "PrivateEndpoint information.",
+ "properties": {
+ "id": {
+ "description": "The ARM identifier for Private Endpoint.",
+ "type": "string"
+ }
+ }
+ },
+ "ConnectionState": {
+ "description": "ConnectionState information.",
+ "properties": {
+ "status": {
+ "description": "Status of the connection.",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PrivateLinkConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "description": "Description of the connection state.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateEndpointConnectionListResult": {
+ "description": "Result of the list of all private endpoint connections operation.",
+ "properties": {
+ "value": {
+ "description": "A collection of private endpoint connection resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of private endpoint connection resources.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "Information of the private link resource.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Properties of the private link resource.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "Fully qualified identifier of the resource.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the resource",
+ "type": "string"
+ },
+ "type": {
+ "description": "Type of the resource",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkResourceProperties": {
+ "description": "Properties of PrivateLinkResource",
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string"
+ },
+ "requiredMembers": {
+ "type": "array",
+ "description": "The private link resource required member names.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "requiredZoneNames": {
+ "type": "array",
+ "description": "The private link resource Private link DNS zone name.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PrivateLinkResourcesListResult": {
+ "description": "Result of the List private link resources operation.",
+ "properties": {
+ "value": {
+ "description": "A collection of private link resources",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "nextLink": {
+ "description": "A link for the next page of private link resources.",
+ "type": "string"
+ }
+ }
+ },
+ "userAssignedIdentityProperties": {
+ "x-ms-client-flatten": true,
+ "type": "object",
+ "properties": {
+ "userAssignedIdentity": {
+ "type": "string",
+ "description": "ARM ID of user Identity selected for encryption"
+ }
+ }
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/networkrulessets-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/networkrulessets-preview.json
new file mode 100644
index 000000000000..4a6211f16d66
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/networkrulessets-preview.json
@@ -0,0 +1,299 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client for managing Event Hubs Cluster, IPFilter Rules and VirtualNetworkRules resources.",
+ "version": "2021-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/networkRuleSets/default": {
+ "put": {
+ "tags": [
+ "NetworkRuleSets"
+ ],
+ "x-ms-examples": {
+ "NameSpaceNetworkRuleSetCreate": {
+ "$ref": "./examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetCreate.json"
+ }
+ },
+ "operationId": "Namespaces_CreateOrUpdateNetworkRuleSet",
+ "description": "Create or update NetworkRuleSet for a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/NetworkRuleSet"
+ },
+ "description": "The Namespace IpFilterRule."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace NetworkRuleSet successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/NetworkRuleSet"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "NetworkRuleSets"
+ ],
+ "x-ms-examples": {
+ "NameSpaceNetworkRuleSetGet": {
+ "$ref": "./examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetGet.json"
+ }
+ },
+ "operationId": "Namespaces_GetNetworkRuleSet",
+ "description": "Gets NetworkRuleSet for a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace NetworkRuleSet successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/NetworkRuleSet"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/networkRuleSets": {
+ "get": {
+ "tags": [
+ "NetworkRuleSets"
+ ],
+ "x-ms-examples": {
+ "NameSpaceNetworkRuleSetList": {
+ "$ref": "./examples/NameSpaces/VirtualNetworkRule/EHNetworkRuleSetList.json"
+ }
+ },
+ "operationId": "Namespaces_ListNetworkRuleSet",
+ "description": "Gets NetworkRuleSet for a Namespace.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Namespace NetworkRuleSet successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/NetworkRuleSetListResult"
+ }
+ },
+ "default": {
+ "description": "ServiceBus error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Subnet": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID of Virtual Network Subnet"
+ }
+ },
+ "description": "Properties supplied for Subnet"
+ },
+ "NWRuleSetIpRules": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "ipMask": {
+ "type": "string",
+ "description": "IP Mask"
+ },
+ "action": {
+ "type": "string",
+ "description": "The IP Filter Action",
+ "enum": [
+ "Allow"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkRuleIPAction",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "The response from the List namespace operation."
+ },
+ "NWRuleSetVirtualNetworkRules": {
+ "x-ms-client-flatten": true,
+ "properties": {
+ "subnet": {
+ "$ref": "#/definitions/Subnet",
+ "description": "Subnet properties"
+ },
+ "ignoreMissingVnetServiceEndpoint": {
+ "type": "boolean",
+ "description": "Value that indicates whether to ignore missing Vnet Service Endpoint"
+ }
+ },
+ "description": "The response from the List namespace operation."
+ },
+ "NetworkRuleSet": {
+ "properties": {
+ "properties": {
+ "description": "NetworkRuleSet properties",
+ "x-ms-client-flatten": true,
+ "properties": {
+ "trustedServiceAccessEnabled": {
+ "type": "boolean",
+ "description": "Value that indicates whether Trusted Service Access is Enabled or not."
+ },
+ "defaultAction": {
+ "type": "string",
+ "description": "Default Action for Network Rule Set",
+ "enum": [
+ "Allow",
+ "Deny"
+ ],
+ "x-ms-enum": {
+ "name": "DefaultAction",
+ "modelAsString": true
+ }
+ },
+ "virtualNetworkRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NWRuleSetVirtualNetworkRules"
+ },
+ "description": "List VirtualNetwork Rules"
+ },
+ "ipRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NWRuleSetIpRules"
+ },
+ "description": "List of IpRules"
+ },
+ "publicNetworkAccess": {
+ "description": "This determines if traffic is allowed over public network. By default it is enabled.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PublicNetworkAccessFlag",
+ "modelAsString": true
+ },
+ "default": "Enabled"
+ }
+ }
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../common/v1/definitions.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Description of topic resource."
+ },
+ "NetworkRuleSetListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkRuleSet"
+ },
+ "description": "Result of the List NetworkRuleSet operation"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to the next set of results. Not empty if Value contains incomplete list of NetworkRuleSet."
+ }
+ },
+ "description": "The response of the List NetworkRuleSet operation"
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/operations.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/operations.json
new file mode 100644
index 000000000000..d4a176f3221c
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/operations.json
@@ -0,0 +1,149 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client",
+ "version": "2021-11-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.EventHub/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "EHOperations_List": {
+ "$ref": "./examples/EHOperations_List.json"
+ }
+ },
+ "description": "Lists all of the available Event Hub REST API operations.",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "description": "Result of the request to list Event Hub operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "description": "List of Event Hub operations supported by the Microsoft.EventHub resource provider.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "Operation": {
+ "description": "A Event Hub REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operation name: {provider}/{resource}/{operation}"
+ },
+ "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": {
+ "description": "Properties of the operation",
+ "type": "object",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display payload",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Resource provider of the operation",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "Resource of the operation",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "Localized friendly name for the operation",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "Localized friendly description for the operation",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/quotaConfiguration-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/quotaConfiguration-preview.json
new file mode 100644
index 000000000000..d95d702df4f8
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2021-11-01/quotaConfiguration-preview.json
@@ -0,0 +1,157 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "EventHubManagementClient",
+ "description": "Azure Event Hubs client for managing Event Hubs Cluster, IPFilter Rules and VirtualNetworkRules resources.",
+ "version": "2021-11-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/clusters/{clusterName}/quotaConfiguration/default": {
+ "patch": {
+ "tags": [
+ "Event Hubs Clusters Configuration"
+ ],
+ "operationId": "Configuration_Patch",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterQuotaConfigurationProperties",
+ "required": [
+ "settings"
+ ]
+ },
+ "description": "Parameters for creating an Event Hubs Cluster resource."
+ }
+ ],
+ "x-ms-examples": {
+ "ClustersQuotasConfigurationPatch": {
+ "$ref": "./examples/Clusters/ClusterQuotaConfigurationPatch.json"
+ }
+ },
+ "description": "Replace all specified Event Hubs Cluster settings with those contained in the request body. Leaves the settings not specified in the request body unmodified.",
+ "responses": {
+ "200": {
+ "description": "Event Hubs Cluster settings configuration returned.",
+ "schema": {
+ "$ref": "#/definitions/ClusterQuotaConfigurationProperties"
+ }
+ },
+ "201": {
+ "description": "Event Hubs Cluster setting configuration request successfully accepted.",
+ "schema": {
+ "$ref": "#/definitions/ClusterQuotaConfigurationProperties"
+ }
+ },
+ "202": {
+ "description": "Event Hubs Cluster update request accepted."
+ },
+ "default": {
+ "description": "Event Hubs Cluster error response describing why the get cluster quotas and settings operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Event Hubs Clusters Configuration"
+ ],
+ "operationId": "Configuration_Get",
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "x-ms-examples": {
+ "ClustersQuotasConfigurationGet": {
+ "$ref": "./examples/Clusters/ClusterQuotaConfigurationGet.json"
+ }
+ },
+ "description": "Get all Event Hubs Cluster settings - a collection of key/value pairs which represent the quotas and settings imposed on the cluster.",
+ "responses": {
+ "200": {
+ "description": "Event Hubs Cluster settings configuration returned.",
+ "schema": {
+ "$ref": "#/definitions/ClusterQuotaConfigurationProperties"
+ }
+ },
+ "default": {
+ "description": "Event Hubs Cluster error response describing why the get cluster quotas and settings operation failed.",
+ "schema": {
+ "$ref": "../../../common/v2/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ClusterQuotaConfigurationProperties": {
+ "type": "object",
+ "properties": {
+ "settings": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "All possible Cluster settings - a collection of key/value paired settings which apply to quotas and configurations imposed on the cluster."
+ }
+ },
+ "description": "Contains all settings for the cluster."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/eventhub/resource-manager/common/v1/definitions.json b/specification/eventhub/resource-manager/common/v1/definitions.json
index a2e23cdaaa56..0d321f11ad03 100644
--- a/specification/eventhub/resource-manager/common/v1/definitions.json
+++ b/specification/eventhub/resource-manager/common/v1/definitions.json
@@ -1,23 +1,5 @@
{
"swagger": "2.0",
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
"info": {
"version": "1.0",
"title": "Common types"
@@ -50,24 +32,25 @@
"description": "Definition of resource."
},
"Resource": {
+ "title": "Resource",
+ "description": "Common fields that are returned in the response for all Azure Resource Manager resources",
"properties": {
"id": {
"readOnly": true,
"type": "string",
- "description": "Resource ID."
+ "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
},
"name": {
"readOnly": true,
"type": "string",
- "description": "Resource name."
+ "description": "The name of the resource"
},
"type": {
"readOnly": true,
"type": "string",
- "description": "Resource type."
+ "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\""
}
},
- "description": "The resource definition.",
"x-ms-azure-resource": true
},
"ErrorResponse": {
diff --git a/specification/eventhub/resource-manager/common/v2/definitions.json b/specification/eventhub/resource-manager/common/v2/definitions.json
new file mode 100644
index 000000000000..f9273f28d45c
--- /dev/null
+++ b/specification/eventhub/resource-manager/common/v2/definitions.json
@@ -0,0 +1,113 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2.0",
+ "title": "Common types"
+ },
+ "paths": {},
+ "definitions": {
+ "ProxyResource": {
+ "title": "Resource",
+ "description": "Common fields that are returned in the response for all Azure Resource Manager resources",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of the resource. E.g. \"Microsoft.EventHub/Namespaces\" or \"Microsoft.EventHub/Namespaces/EventHubs\""
+ },
+ "location": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The geo-location where the resource lives"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ErrorDetail": {
+ "description": "The error detail.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error code."
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error message."
+ },
+ "target": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error target."
+ },
+ "details": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
+ },
+ "description": "The error details."
+ },
+ "additionalInfo": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorAdditionalInfo"
+ },
+ "description": "The error additional info."
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates Event Hub service is not able to process the incoming request. The reason is provided in the error message.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The error object.",
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ }
+ },
+ "ErrorAdditionalInfo": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The additional info type."
+ },
+ "info": {
+ "readOnly": true,
+ "type": "object",
+ "description": "The additional info."
+ }
+ },
+ "description": "The resource management error additional info."
+ }
+ },
+ "parameters": {
+ "SchemaGroupNameParameter": {
+ "name": "schemaGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 256,
+ "x-ms-parameter-location": "method",
+ "description": "The Schema Group name "
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/readme.go.md b/specification/eventhub/resource-manager/readme.go.md
index 5cec8aab6180..082b9c18eebd 100644
--- a/specification/eventhub/resource-manager/readme.go.md
+++ b/specification/eventhub/resource-manager/readme.go.md
@@ -11,7 +11,7 @@ go:
``` yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/eventhub/armeventhub
+module-name: sdk/resourcemanager/eventhub/armeventhub
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
@@ -24,6 +24,8 @@ batch:
- tag: package-2017-04
- tag: package-2015-08
- tag: package-2018-01-preview
+ - tag: package-2021-01-preview
+ - tag: package-2021-11
```
### Tag: package-2017-04 and go
@@ -44,6 +46,33 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-01-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-01-01-preview/$(namespace)
+```
+
+### Tag: package-2021-06-preview and go
+
+These settings apply only when `--tag=package-2021-06-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-06-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-06-01-preview/$(namespace)
+```
+
+### Tag: package-2021-11 and go
+
+These settings apply only when `--tag=package-2021-11 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-11' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-11-01/$(namespace)
+```
+
### Tag: package-2015-08 and go
These settings apply only when `--tag=package-2015-08 --go` is specified on the command line.
diff --git a/specification/eventhub/resource-manager/readme.java.md b/specification/eventhub/resource-manager/readme.java.md
index 2debab97a829..e7504a0651ab 100644
--- a/specification/eventhub/resource-manager/readme.java.md
+++ b/specification/eventhub/resource-manager/readme.java.md
@@ -17,11 +17,53 @@ service-name: EventHubs
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2021-11
+ - tag: package-2021-06-preview
+ - tag: package-2021-01-preview
- tag: package-2018-01-preview
- tag: package-2015-08
- tag: package-2017-04
```
+### Tag: package-2021-11 and java
+
+These settings apply only when `--tag=package-2021-11 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2021-11' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.eventhubs.v2021_11_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/eventhubs/mgmt-v2021_11_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2021-06-preview and java
+
+These settings apply only when `--tag=package-2021-06-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2021-06-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.eventhubs.v2021_06_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/eventhubs/mgmt-v2021_06_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2021-01-preview and java
+
+These settings apply only when `--tag=package-2021-01-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2021-01-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.eventhubs.v2021_01_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/eventhubs/mgmt-v2021_01_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2018-01-preview and java
These settings apply only when `--tag=package-2018-01-preview --java` is specified on the command line.
@@ -60,3 +102,23 @@ java:
regenerate-manager: true
generate-interface: true
```
+
+### Tag: profile-hybrid-2020-09-01 and java
+
+These settings apply only when `--tag=profile-hybrid-2020-09-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'profile-hybrid-2020-09-01' && $(java)
+input-file:
+ - Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json
+ - Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json
+ - Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json
+ - Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json
+ - Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json
+ - Microsoft.EventHub/stable/2017-04-01/consumergroups.json
+ - Microsoft.EventHub/stable/2017-04-01/operations.json
+ - Microsoft.EventHub/stable/2017-04-01/eventhubs.json
+ - Microsoft.EventHub/stable/2017-04-01/sku.json
+ - Microsoft.EventHub/stable/2017-04-01/disasterRecoveryConfigs.json
+ - Microsoft.EventHub/stable/2017-04-01/networkRuleSets.json
+```
diff --git a/specification/eventhub/resource-manager/readme.md b/specification/eventhub/resource-manager/readme.md
index dddea3b88537..5e9ec13e349f 100644
--- a/specification/eventhub/resource-manager/readme.md
+++ b/specification/eventhub/resource-manager/readme.md
@@ -26,7 +26,7 @@ These are the global settings for the EventHub API.
``` yaml
openapi-type: arm
-tag: package-2021-06-preview
+tag: package-2021-11
```
### Suppression
@@ -131,6 +131,26 @@ input-file:
- Microsoft.EventHub/preview/2018-01-01-preview/sku.json
```
+### Tag: package-2021-11
+
+These settings apply only when `--tag=package-2021-11` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-11'
+input-file:
+- Microsoft.EventHub/stable/2021-11-01/AvailableClusterRegions-preview.json
+- Microsoft.EventHub/stable/2021-11-01/Clusters-preview.json
+- Microsoft.EventHub/stable/2021-11-01/quotaConfiguration-preview.json
+- Microsoft.EventHub/stable/2021-11-01/namespaces-preview.json
+- Microsoft.EventHub/stable/2021-11-01/operations.json
+- Microsoft.EventHub/stable/2021-11-01/eventhubs.json
+- Microsoft.EventHub/stable/2021-11-01/disasterRecoveryConfigs.json
+- Microsoft.EventHub/stable/2021-11-01/networkrulessets-preview.json
+- Microsoft.EventHub/stable/2021-11-01/AuthorizationRules.json
+- Microsoft.EventHub/stable/2021-11-01/consumergroups.json
+- Microsoft.EventHub/stable/2021-11-01/CheckNameAvailability.json
+- Microsoft.EventHub/stable/2021-11-01/SchemaRegistry.json
+```
+
### Tag: profile-hybrid-2020-09-01
These settings apply only when `--tag=profile-hybrid-2020-09-01` is specified on the command line.
diff --git a/specification/eventhub/resource-manager/readme.python.md b/specification/eventhub/resource-manager/readme.python.md
index 9376c4bcf43a..b0546daaa499 100644
--- a/specification/eventhub/resource-manager/readme.python.md
+++ b/specification/eventhub/resource-manager/readme.python.md
@@ -31,6 +31,7 @@ Generate all API versions currently shipped for this package
```yaml $(multiapi) && !$(track2)
batch:
+ - tag: package-2021-11
- tag: package-2021-06-preview
- tag: package-2021-01-preview
- tag: package-2018-01-preview
@@ -41,6 +42,7 @@ batch:
```yaml $(multiapi) && $(track2)
clear-output-folder: true
batch:
+ - tag: package-2021-11
- tag: package-2021-06-preview
- tag: package-2021-01-preview
- tag: package-2018-01-preview
@@ -55,6 +57,19 @@ clear-output-folder: false
perform-load: false
```
+### Tag: package-2021-11 and python
+
+These settings apply only when `--tag=package-2021-11 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-11'
+namespace: azure.mgmt.eventhub.v2021_11_01
+output-folder: $(python-sdks-folder)/eventhub/azure-mgmt-eventhub/azure/mgmt/eventhub/v2021_11_01
+python:
+ namespace: azure.mgmt.eventhub.v2021_11_01
+ output-folder: $(python-sdks-folder)/eventhub/azure-mgmt-eventhub/azure/mgmt/eventhub/v2021_11_01
+```
+
### Tag: package-2021-06-preview and python
These settings apply only when `--tag=package-2021-06-preview --python` is specified on the command line.
diff --git a/specification/eventhub/resource-manager/readme.ruby.md b/specification/eventhub/resource-manager/readme.ruby.md
index 4b4c1f8df273..1a0adbbdb6ff 100644
--- a/specification/eventhub/resource-manager/readme.ruby.md
+++ b/specification/eventhub/resource-manager/readme.ruby.md
@@ -12,6 +12,10 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2021-11
+ - tag: package-2021-06-preview
+ - tag: package-2021-01-preview
+ - tag: package-2018-01-preview
- tag: package-2017-04
- tag: package-2015-08
```
@@ -35,3 +39,47 @@ Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2018-01-preview' && $(ruby)
+
+namespace: "Azure::EventHub::Mgmt::V2018_01_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_event_hub/lib
+```
+
+### Tag: package-2021-01-preview and ruby
+
+These settings apply only when `--tag=package-2021-01-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-01-preview' && $(ruby)
+
+namespace: "Azure::EventHub::Mgmt::V2021_01_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_event_hub/lib
+```
+
+### Tag: package-2021-06-preview and ruby
+
+These settings apply only when `--tag=package-2021-06-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-06-preview' && $(ruby)
+
+namespace: "Azure::EventHub::Mgmt::V2021_06_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_event_hub/lib
+```
+
+### Tag: package-2021-11 and ruby
+
+These settings apply only when `--tag=package-2021-11 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2021-11' && $(ruby)
+
+namespace: "Azure::EventHub::Mgmt::V2021_11_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_event_hub/lib
+```
diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListOperations.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListOperations.json
index ace9a71bca28..66f5726dbeda 100644
--- a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListOperations.json
+++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/preview/2021-03-15-preview/examples/CustomLocationsListOperations.json
@@ -70,7 +70,7 @@
"resource": "Custom Locations"
},
"origin": "user,system",
- "isDataAction": true
+ "isDataAction": false
},
{
"name": "Microsoft.ExtendedLocation/customLocations/delete",
diff --git a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/stable/2021-08-15/examples/CustomLocationsListOperations.json b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/stable/2021-08-15/examples/CustomLocationsListOperations.json
index 52496af7bafb..4b87281d8485 100644
--- a/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/stable/2021-08-15/examples/CustomLocationsListOperations.json
+++ b/specification/extendedlocation/resource-manager/Microsoft.ExtendedLocation/stable/2021-08-15/examples/CustomLocationsListOperations.json
@@ -70,7 +70,7 @@
"resource": "Custom Locations"
},
"origin": "user,system",
- "isDataAction": true
+ "isDataAction": false
},
{
"name": "Microsoft.ExtendedLocation/customLocations/delete",
diff --git a/specification/hdinsight/resource-manager/readme.go.md b/specification/hdinsight/resource-manager/readme.go.md
index c7a07c4c158e..42390069b11a 100644
--- a/specification/hdinsight/resource-manager/readme.go.md
+++ b/specification/hdinsight/resource-manager/readme.go.md
@@ -2,21 +2,39 @@
These settings apply only when `--go` is specified on the command line.
-``` yaml $(go)
+``` yaml $(go) && !$(track2)
go:
license-header: MICROSOFT_MIT_NO_VERSION
namespace: hdinsight
clear-output-folder: true
```
+``` yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/resourcemanager/hdinsight/armhdinsight
+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-06
- tag: package-2018-06-preview
- tag: package-2015-03-preview
```
+### Tag: package-2021-06 and go
+
+These settings apply only when `--tag=package-2021-06 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2021-06' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-06-01/$(namespace)
+```
+
### Tag: package-2018-06-preview and go
These settings apply only when `--tag=package-2018-06-preview --go` is specified on the command line.
diff --git a/specification/hdinsight/resource-manager/readme.md b/specification/hdinsight/resource-manager/readme.md
index 69692c65af07..3c89a7b34e4a 100644
--- a/specification/hdinsight/resource-manager/readme.md
+++ b/specification/hdinsight/resource-manager/readme.md
@@ -174,6 +174,7 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-js
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/GetOperations.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/GetOperations.json
new file mode 100644
index 000000000000..43e44b7ea8a6
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/GetOperations.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-08-24"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Healthbot/healthbots/read",
+ "display": {
+ "provider": "Azure Health Bot",
+ "resource": "Azure Health Bot",
+ "operation": "Read Azure Health Bot",
+ "description": "Read Azure Health Bot"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.Healthbot/healthbots/write",
+ "display": {
+ "provider": "Azure Health Bot",
+ "resource": "Azure Health Bot",
+ "operation": "Write Azure Health Bot",
+ "description": "Writes Azure Health Bot"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.Healthbot/healthbots/delete",
+ "display": {
+ "provider": "Azure Health Bot",
+ "resource": "Azure Health Bot",
+ "operation": "Delete Azure Health Bot",
+ "description": "Deletes Azure Health Bot"
+ },
+ "origin": "user,system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ListBotsByResourceGroup.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ListBotsByResourceGroup.json
new file mode 100644
index 000000000000..398123090c28
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ListBotsByResourceGroup.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-08-24"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/samplebotname-1yhd91k"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ },
+ {
+ "location": "East US",
+ "name": "samplebotname2",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname2",
+ "sku": {
+ "name": "S1"
+ },
+ "identity": {
+ "userAssignedIdentities": {
+ "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {},
+ "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {}
+ },
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned, UserAssigned"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/samplebotname2-hdi1osc"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ListBotsBySubscription.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ListBotsBySubscription.json
new file mode 100644
index 000000000000..f8135e2477ec
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ListBotsBySubscription.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2021-08-24"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "East US",
+ "name": "samplebotname2",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname2",
+ "sku": {
+ "name": "S1"
+ },
+ "identity": {
+ "userAssignedIdentities": {
+ "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {},
+ "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {}
+ },
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned, UserAssigned"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/samplebotname2-hdi1osc"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceCreationPut.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceCreationPut.json
new file mode 100644
index 000000000000..736ecc67d2f0
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceCreationPut.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "resourceGroupName": "healthbotClient",
+ "api-version": "2021-08-24",
+ "subscriptionId": "subid",
+ "botName": "samplebotname",
+ "parameters": {
+ "location": "East US",
+ "sku": {
+ "name": "F0"
+ },
+ "identity": {
+ "userAssignedIdentities": {
+ "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {},
+ "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {}
+ },
+ "type": "SystemAssigned, UserAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "identity": {
+ "userAssignedIdentities": {
+ "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {},
+ "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {}
+ },
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned, UserAssigned"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso",
+ "provisioningState": "Provisioning"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceDeletionDelete.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceDeletionDelete.json
new file mode 100644
index 000000000000..7434003fb0ca
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceDeletionDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "resourceGroupName": "healthbotClient",
+ "api-version": "2021-08-24",
+ "subscriptionId": "subid",
+ "botName": "samplebotname"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceInfoGet.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceInfoGet.json
new file mode 100644
index 000000000000..07bdd23d2a01
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceInfoGet.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "resourceGroupName": "healthbotClient",
+ "api-version": "2021-08-24",
+ "subscriptionId": "subid",
+ "botName": "samplebotname"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "identity": {
+ "userAssignedIdentities": {
+ "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {},
+ "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {}
+ },
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned, UserAssigned"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceUpdatePatch.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceUpdatePatch.json
new file mode 100644
index 000000000000..88c3091858d1
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/examples/ResourceUpdatePatch.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "resourceGroupName": "healthbotClient",
+ "api-version": "2021-08-24",
+ "subscriptionId": "subid",
+ "botName": "samplebotname",
+ "identity": {
+ "userAssignedIdentities": {
+ "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {},
+ "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {}
+ },
+ "type": "SystemAssigned, UserAssigned"
+ },
+ "parameters": {
+ "sku": {
+ "name": "F0"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "identity": {
+ "userAssignedIdentities": {
+ "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi": {},
+ "/subscriptions/subscription-id/resourcegroups/myrg/providers/microsoft.managedidentity/userassignedidentities/my-mi2": {}
+ },
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned, UserAssigned"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "East US",
+ "name": "samplebotname",
+ "type": "Microsoft.HealthBot/healthBots",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.HealthBot/healthBots/samplebotname",
+ "sku": {
+ "name": "F0"
+ },
+ "properties": {
+ "botManagementPortalLink": "https://us.healthbot.microsoft.com/account/contoso"
+ },
+ "systemData": {
+ "createdBy": "jack@outlook.com",
+ "createdByType": "User",
+ "createdAt": "2020-05-05T17:18:19.1234567Z",
+ "lastModifiedBy": "ryan@outlook.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-05-06T17:18:19.1234567Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/healthbot.json b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/healthbot.json
new file mode 100644
index 000000000000..77e4b09bce17
--- /dev/null
+++ b/specification/healthbot/resource-manager/Microsoft.HealthBot/stable/2021-08-24/healthbot.json
@@ -0,0 +1,836 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-08-24",
+ "title": "Azure Health Bot",
+ "description": "Azure Health Bot is a cloud platform that empowers developers in Healthcare organizations to build and deploy their compliant, AI-powered virtual health assistants and health bots, that help them improve processes and reduce costs.",
+ "x-ms-code-generation-settings": {
+ "name": "healthbotClient"
+ }
+ },
+ "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.HealthBot/healthBots/{botName}": {
+ "put": {
+ "operationId": "Bots_Create",
+ "x-ms-examples": {
+ "BotCreate": {
+ "$ref": "./examples/ResourceCreationPut.json"
+ }
+ },
+ "description": "Create a new Azure Health Bot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/HealthBot"
+ },
+ "description": "The parameters to provide for the created Azure Health Bot."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is updated successfully, the service should return 200.",
+ "schema": {
+ "$ref": "#/definitions/HealthBot"
+ }
+ },
+ "201": {
+ "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/HealthBot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "get": {
+ "operationId": "Bots_Get",
+ "x-ms-examples": {
+ "ResourceInfoGet": {
+ "$ref": "./examples/ResourceInfoGet.json"
+ }
+ },
+ "description": "Get a HealthBot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is got successfully, the service should return 200.",
+ "schema": {
+ "$ref": "#/definitions/HealthBot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "Bots_Update",
+ "x-ms-examples": {
+ "BotUpdate": {
+ "$ref": "./examples/ResourceUpdatePatch.json"
+ }
+ },
+ "description": "Patch a HealthBot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/HealthBotUpdateParameters"
+ },
+ "description": "The parameters to provide for the required Azure Health Bot."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is patched successfully, the service should return 200.",
+ "schema": {
+ "$ref": "#/definitions/HealthBot"
+ }
+ },
+ "201": {
+ "description": "If resource is received update request successfully, the service should return 201 (Created). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/HealthBot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "Bots_Delete",
+ "x-ms-examples": {
+ "BotDelete": {
+ "$ref": "./examples/ResourceDeletionDelete.json"
+ }
+ },
+ "description": "Delete a HealthBot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is deleted successfully, the service should return 200."
+ },
+ "202": {
+ "description": "Accepted - Delete request accepted; operation will complete asynchronously"
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthBot/healthBots": {
+ "get": {
+ "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.HealthBot/healthBots": {
+ "get": {
+ "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/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. 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"
+ }
+ }
+ },
+ "/providers/Microsoft.HealthBot/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all the available Azure Health Bot operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "Get Operations": {
+ "$ref": "./examples/GetOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/AvailableOperations"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Identity": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal ID of resource identity. This property will only be provided for a system assigned identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of resource. This property will only be provided for a system assigned identity."
+ },
+ "type": {
+ "type": "string",
+ "description": "The identity type. 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 Azure Health Bot",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "$ref": "#/definitions/UserAssignedIdentityMap",
+ "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form:\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.\n"
+ }
+ },
+ "description": "Identity for the resource."
+ },
+ "UserAssignedIdentityMap": {
+ "type": "object",
+ "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form:\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.\n",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ },
+ "UserAssignedIdentity": {
+ "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."
+ }
+ },
+ "type": "object",
+ "description": "The details of the user assigned managed identity used by the Video Analyzer resource."
+ },
+ "KeyVaultProperties": {
+ "type": "object",
+ "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"
+ }
+ }
+ },
+ "Sku": {
+ "type": "object",
+ "description": "The resource model definition representing SKU",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the Azure Health Bot SKU",
+ "enum": [
+ "F0",
+ "S1",
+ "C0"
+ ],
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "Resource": {
+ "type": "object",
+ "description": "The resource model definition for a ARM tracked top level resource",
+ "x-ms-azure-resource": true,
+ "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
+ },
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "readOnly": true,
+ "description": "Metadata pertaining to creation and last modification of the resource"
+ }
+ }
+ },
+ "TrackedResource": {
+ "type": "object",
+ "description": "The resource model definition for a ARM tracked top level resource",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ },
+ "location": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "The geo-location where the resource lives"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "HealthBot": {
+ "type": "object",
+ "description": "Azure Health Bot resource definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "SKU of the Azure Health Bot."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the Azure Health Bot."
+ },
+ "properties": {
+ "$ref": "#/definitions/HealthBotProperties",
+ "description": "The set of properties specific to Azure Health Bot resource."
+ }
+ },
+ "required": [
+ "sku"
+ ]
+ },
+ "HealthBotProperties": {
+ "type": "object",
+ "title": "HealthBotProperties",
+ "description": "The properties of a Azure Health Bot. The Health Bot Service is a cloud platform that empowers developers in Healthcare organizations to build and deploy their compliant, AI-powered virtual health assistants and health bots, that help them improve processes and reduce costs.",
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the Azure Health Bot resource.",
+ "readOnly": true
+ },
+ "botManagementPortalLink": {
+ "type": "string",
+ "description": "The link.",
+ "readOnly": true
+ },
+ "keyVaultProperties": {
+ "$ref": "#/definitions/KeyVaultProperties",
+ "description": "KeyVault properties for the resource encryption."
+ }
+ }
+ },
+ "HealthBotUpdateParameters": {
+ "type": "object",
+ "description": "Parameters for updating a Azure Health Bot.",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/HealthBotProperties",
+ "description": "Properties of Azure Health Bot."
+ },
+ "tags": {
+ "type": "object",
+ "description": "Tags for a Azure Health Bot.",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ]
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "SKU of the Azure Health Bot."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the Azure Health Bot."
+ },
+ "location": {
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ }
+ }
+ },
+ "SystemData": {
+ "description": "Read only system data",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "createdBy": {
+ "type": "string",
+ "description": "The identity that created the resource."
+ },
+ "createdByType": {
+ "$ref": "#/definitions/IdentityType",
+ "description": "The type of identity that created the resource"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource creation (UTC)"
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "The identity that last modified the resource."
+ },
+ "lastModifiedByType": {
+ "$ref": "#/definitions/IdentityType",
+ "description": "The type of identity that last modified the resource"
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The timestamp of resource last modification (UTC)"
+ }
+ }
+ },
+ "IdentityType": {
+ "description": "The type of identity that creates/modifies resources",
+ "type": "string",
+ "enum": [
+ "User",
+ "Application",
+ "ManagedIdentity",
+ "Key"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": true
+ }
+ },
+ "ValidationResult": {
+ "type": "object",
+ "title": "ValidationResult",
+ "description": "The response returned from validation process",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The status code of the response validation."
+ }
+ }
+ },
+ "Error": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "object",
+ "description": "The error object.",
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error code."
+ },
+ "message": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error message."
+ },
+ "target": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The error target."
+ },
+ "details": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Error"
+ },
+ "description": "The error details."
+ },
+ "additionalInfo": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorAdditionalInfo"
+ },
+ "description": "The error additional info."
+ }
+ }
+ }
+ },
+ "description": "The resource management error response."
+ },
+ "ErrorAdditionalInfo": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The additional info type."
+ },
+ "info": {
+ "readOnly": true,
+ "type": "object",
+ "description": "The additional info."
+ }
+ },
+ "description": "The resource management error additional info."
+ },
+ "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": {
+ "description": "Additional properties.",
+ "type": "object"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "BotResponseList": {
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "readOnly": true,
+ "description": "The link used to get the next page of bot service resources.",
+ "type": "string"
+ },
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthBot"
+ },
+ "description": "Gets the list of Azure Health Bot results and their properties."
+ }
+ },
+ "description": "The list of Azure Health Bot operation response."
+ }
+ },
+ "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": "botName",
+ "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."
+ }
+ }
+}
diff --git a/specification/healthbot/resource-manager/readme.md b/specification/healthbot/resource-manager/readme.md
index 8c56ec316eb2..c0b39299658e 100644
--- a/specification/healthbot/resource-manager/readme.md
+++ b/specification/healthbot/resource-manager/readme.md
@@ -31,6 +31,17 @@ openapi-subtype: rpaas
tag: package-2021-06-10
```
+### Tag: package-2021-08-24
+
+These settings apply only when `--tag=package-2021-08-24` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-08-24'
+input-file:
+ - Microsoft.HealthBot/stable/2021-08-24/healthbot.json
+```
+
+---
+
### Tag: package-2021-06-10
These settings apply only when `--tag=package-2021-06-10` is specified on the command line.
diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsDeleteDefault.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsDeleteDefault.json
new file mode 100644
index 000000000000..164e62932f70
--- /dev/null
+++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsDeleteDefault.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine",
+ "api-version": "2021-10-06-preview",
+ "endpointName": "default"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsGetCustom.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsGetCustom.json
new file mode 100644
index 000000000000..2c9d1e3a37da
--- /dev/null
+++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsGetCustom.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine",
+ "api-version": "2021-10-06-preview",
+ "endpointName": "custom"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine/providers/Microsoft.HybridConnectivity/endpoints/custom",
+ "name": "custom",
+ "type": "Microsoft.HybridConnectivity/endpoints",
+ "properties": {
+ "type": "custom",
+ "resourceId": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.Relay/namespaces/custom-relay-namespace"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsGetDefault.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsGetDefault.json
new file mode 100644
index 000000000000..a433bad56209
--- /dev/null
+++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsGetDefault.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine",
+ "api-version": "2021-10-06-preview",
+ "endpointName": "default"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine/providers/Microsoft.HybridConnectivity/endpoints/default",
+ "name": "default",
+ "type": "Microsoft.HybridConnectivity/endpoints",
+ "properties": {
+ "type": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsList.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsList.json
new file mode 100644
index 000000000000..e201956d09e2
--- /dev/null
+++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine",
+ "api-version": "2021-10-06-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine/providers/Microsoft.HybridConnectivity/endpoints/default",
+ "name": "default",
+ "type": "Microsoft.HybridConnectivity/endpoints",
+ "properties": {
+ "type": "default"
+ }
+ },
+ {
+ "id": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine/providers/Microsoft.HybridConnectivity/endpoints/custom",
+ "name": "custom",
+ "type": "Microsoft.HybridConnectivity/endpoints",
+ "properties": {
+ "type": "custom",
+ "resourceId": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.Relay/namespaces/custom-relay-namespace"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPatchDefault.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPatchDefault.json
new file mode 100644
index 000000000000..dc850d159a30
--- /dev/null
+++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPatchDefault.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine",
+ "api-version": "2021-10-06-preview",
+ "endpointName": "default",
+ "EndpointResource": {
+ "properties": {
+ "type": "default"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine/providers/Microsoft.HybridConnectivity/endpoints/default",
+ "name": "default",
+ "type": "Microsoft.HybridConnectivity/endpoints",
+ "properties": {
+ "type": "default",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPostListCredentials.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPostListCredentials.json
new file mode 100644
index 000000000000..64333cd9116b
--- /dev/null
+++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPostListCredentials.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine",
+ "api-version": "2021-10-06-preview",
+ "endpointName": "default",
+ "expiresin": 10800
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "relay": {
+ "namespaceName": "azgnrelay-eastus-l1",
+ "namespaceNameSuffix": "servicebus.windows.net",
+ "hybridConnectionName": "microsoft.kubernetes/connectedclusters/a0e1fd7d1d974ddf6b11a952d67679c9f12c006eee16861857a8268da4eb1498/1619989456957411072",
+ "accessKey": "SharedAccessSignature sr=http%3A%2F%2Fazgnrelay-eastus-l1.servicebus.windows.net%2Fmicrosoft.kubernetes%2Fconnectedclusters%2Fa0e1fd7d1d974ddf6b11a952d67679c9f12c006eee16861857a8268da4eb1498%2F1619989456957411072%2F&sig=WxDwPF6AmmODaMHNnBGDSm773UG%2B%2Be",
+ "expiresOn": 1620000256
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPutCustom.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPutCustom.json
new file mode 100644
index 000000000000..a1fc54c17bb8
--- /dev/null
+++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPutCustom.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine",
+ "api-version": "2021-10-06-preview",
+ "endpointName": "custom",
+ "EndpointResource": {
+ "properties": {
+ "type": "custom",
+ "resourceId": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.Relay/namespaces/custom-relay-namespace"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine/providers/Microsoft.HybridConnectivity/endpoints/custom",
+ "name": "custom",
+ "type": "Microsoft.HybridConnectivity/endpoints",
+ "properties": {
+ "type": "custom",
+ "resourceId": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.Relay/namespaces/custom-relay-namespace",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPutDefault.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPutDefault.json
new file mode 100644
index 000000000000..dc850d159a30
--- /dev/null
+++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/EndpointsPutDefault.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine",
+ "api-version": "2021-10-06-preview",
+ "endpointName": "default",
+ "EndpointResource": {
+ "properties": {
+ "type": "default"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/f5bcc1d9-23af-4ae9-aca1-041d0f593a63/resourceGroups/hybridRG/providers/Microsoft.HybridCompute/machines/testMachine/providers/Microsoft.HybridConnectivity/endpoints/default",
+ "name": "default",
+ "type": "Microsoft.HybridConnectivity/endpoints",
+ "properties": {
+ "type": "default",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/OperationsList.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/OperationsList.json
new file mode 100644
index 000000000000..929b2d9e3772
--- /dev/null
+++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/examples/OperationsList.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2021-10-06-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.HybridConnectivity/operations/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.HybridConnectivity",
+ "resource": "Operations",
+ "operation": "Get operations",
+ "description": "Get the list of Operations"
+ }
+ },
+ {
+ "name": "Microsoft.HybridConnectivity/endpoints/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.HybridConnectivity",
+ "resource": "endpoints",
+ "operation": "Get/List endpoints",
+ "description": "Get or list of endpoints to the target resource."
+ }
+ },
+ {
+ "name": "Microsoft.HybridConnectivity/endpoints/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.HybridConnectivity",
+ "resource": "endpoints",
+ "operation": "Create/Update endpoint",
+ "description": "Create or update the endpoint to the target resource."
+ }
+ },
+ {
+ "name": "Microsoft.HybridConnectivity/endpoints/delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.HybridConnectivity",
+ "resource": "endpoints",
+ "operation": "Delete endpoint",
+ "description": "Deletes the endpoint access to the target resource."
+ }
+ },
+ {
+ "name": "Microsoft.HybridConnectivity/endpoints/listCredentials/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.HybridConnectivity",
+ "resource": "endpoints",
+ "operation": "List credentials for endpoint access",
+ "description": "List the endpoint access credentials to the resource."
+ }
+ },
+ {
+ "name": "Microsoft.HybridConnectivity/register/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.HybridConnectivity",
+ "resource": "Microsoft.HybridConnectivity",
+ "operation": "Register the Microsoft.HybridConnectivity",
+ "description": "Register the subscription for Microsoft.HybridConnectivity"
+ }
+ },
+ {
+ "name": "Microsoft.HybridConnectivity/unregister/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft.HybridConnectivity",
+ "resource": "Microsoft.HybridConnectivity",
+ "operation": "Unregister the Microsoft.HybridConnectivity",
+ "description": "Unregister the subscription for Microsoft.HybridConnectivity"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/hybridconnectivity.json b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/hybridconnectivity.json
new file mode 100644
index 000000000000..090f492c5698
--- /dev/null
+++ b/specification/hybridconnectivity/resource-manager/Microsoft.HybridConnectivity/preview/2021-10-06-preview/hybridconnectivity.json
@@ -0,0 +1,502 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Hybrid Connectivity Management API",
+ "description": "REST API for Hybrid Connectivity",
+ "version": "2021-10-06-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.HybridConnectivity/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists the available Hybrid Connectivity REST API operations.",
+ "operationId": "Operations_List",
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "HybridConnectivityOperationsList": {
+ "$ref": "./examples/OperationsList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operation details.",
+ "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"
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.HybridConnectivity/endpoints": {
+ "get": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "List of endpoints to the target resource.",
+ "operationId": "Endpoints_List",
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "HybridConnectivityEndpointsGet": {
+ "$ref": "./examples/EndpointsList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of endpoints.",
+ "schema": {
+ "$ref": "#/definitions/EndpointsList"
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.HybridConnectivity/endpoints/{endpointName}": {
+ "get": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Gets the endpoint to the resource.",
+ "operationId": "Endpoints_Get",
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "HybridConnectivityEndpointsGetDefault": {
+ "$ref": "./examples/EndpointsGetDefault.json"
+ },
+ "HybridConnectivityEndpointsGetCustom": {
+ "$ref": "./examples/EndpointsGetCustom.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "#/parameters/EndpointNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Endpoint details",
+ "schema": {
+ "$ref": "#/definitions/EndpointResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Create or update the endpoint to the target resource.",
+ "operationId": "Endpoints_CreateOrUpdate",
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "HybridConnectivityEndpointsPutDefault": {
+ "$ref": "./examples/EndpointsPutDefault.json"
+ },
+ "HybridConnectivityEndpointsPutCustom": {
+ "$ref": "./examples/EndpointsPutCustom.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "#/parameters/EndpointNameParameter"
+ },
+ {
+ "name": "EndpointResource",
+ "description": "Endpoint details",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EndpointResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Endpoint details.",
+ "schema": {
+ "$ref": "#/definitions/EndpointResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Update the endpoint to the target resource.",
+ "operationId": "Endpoints_Update",
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "HybridConnectivityEndpointsPatchDefault": {
+ "$ref": "./examples/EndpointsPatchDefault.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "#/parameters/EndpointNameParameter"
+ },
+ {
+ "name": "EndpointResource",
+ "description": "Endpoint details",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EndpointResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Endpoint resource.",
+ "schema": {
+ "$ref": "#/definitions/EndpointResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Deletes the endpoint access to the target resource.",
+ "operationId": "Endpoints_Delete",
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "HybridConnectivityEndpointsDeleteDefault": {
+ "$ref": "./examples/EndpointsDeleteDefault.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "#/parameters/EndpointNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The endpoint is deleted successfully."
+ },
+ "204": {
+ "description": "The endpoint has been deleted already."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{resourceUri}/providers/Microsoft.HybridConnectivity/endpoints/{endpointName}/listCredentials": {
+ "post": {
+ "tags": [
+ "Endpoints"
+ ],
+ "description": "Gets the endpoint access credentials to the resource.",
+ "operationId": "Endpoints_ListCredentials",
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-examples": {
+ "HybridConnectivityEndpointsPostListCredentials": {
+ "$ref": "./examples/EndpointsPostListCredentials.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "#/parameters/EndpointNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccessTokenExpirationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Endpoint access credentials",
+ "schema": {
+ "$ref": "#/definitions/EndpointAccessResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ }
+ },
+ "definitions": {
+ "RelayNamespaceAccessProperties": {
+ "type": "object",
+ "description": "Azure relay hybrid connection access properties",
+ "required": [
+ "namespaceName",
+ "namespaceNameSuffix",
+ "hybridConnectionName"
+ ],
+ "properties": {
+ "namespaceName": {
+ "type": "string",
+ "description": "The namespace name.",
+ "minLength": 1,
+ "maxLength": 200
+ },
+ "namespaceNameSuffix": {
+ "type": "string",
+ "description": "The suffix domain name of relay namespace.",
+ "minLength": 1,
+ "maxLength": 100
+ },
+ "hybridConnectionName": {
+ "type": "string",
+ "description": "Azure Relay hybrid connection name for the resource."
+ },
+ "accessKey": {
+ "type": "string",
+ "description": "Access key for hybrid connection.",
+ "readOnly": true
+ },
+ "expiresOn": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The expiration of access key in unix time."
+ }
+ }
+ },
+ "EndpointAccessResource": {
+ "description": "The endpoint access for the target resource.",
+ "type": "object",
+ "properties": {
+ "relay": {
+ "$ref": "#/definitions/RelayNamespaceAccessProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "EndpointProperties": {
+ "type": "object",
+ "description": "Endpoint details",
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The type of endpoint.",
+ "enum": [
+ "default",
+ "custom"
+ ],
+ "x-ms-enum": {
+ "name": "type",
+ "modelAsString": true
+ }
+ },
+ "resourceId": {
+ "type": "string",
+ "description": "The resource Id of the connectivity endpoint (optional)."
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EndpointResource": {
+ "description": "The endpoint for the target resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "System data of endpoint resource",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "x-ms-client-flatten": true
+ },
+ "properties": {
+ "description": "The endpoint properties.",
+ "$ref": "#/definitions/EndpointProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "EndpointsList": {
+ "description": "The list of endpoints.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of endpoints list.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The list of endpoint.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointResource"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ResourceUriParameter": {
+ "name": "resourceUri",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The fully qualified Azure Resource manager identifier of the resource to be connected.",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ },
+ "EndpointNameParameter": {
+ "name": "endpointName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The endpoint name.",
+ "x-ms-skip-url-encoding": true,
+ "x-ms-parameter-location": "method"
+ },
+ "AccessTokenExpirationParameter": {
+ "name": "expiresin",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int64",
+ "default": 10800,
+ "minimum": 600,
+ "maximum": 10800,
+ "description": "The is how long the endpoint access token is valid (in seconds).",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/hybridconnectivity/resource-manager/readme.az.md b/specification/hybridconnectivity/resource-manager/readme.az.md
new file mode 100644
index 000000000000..57f5bad54821
--- /dev/null
+++ b/specification/hybridconnectivity/resource-manager/readme.az.md
@@ -0,0 +1,28 @@
+## AZ
+
+These settings apply only when `--az` is specified on the command line.
+
+For new Resource Provider. It is highly recommended to onboard Azure CLI extensions. There's no differences in terms of customer usage.
+
+``` yaml $(az) && $(target-mode) != 'core'
+az:
+ extensions: hybridconnectivity
+ namespace: azure.mgmt.hybridconnectivity
+ package-name: azure-mgmt-hybridconnectivity
+az-output-folder: $(azure-cli-extension-folder)/src/hybridconnectivity
+python-sdk-output-folder: "$(az-output-folder)/azext_hybridconnectivity/vendored_sdks/hybridconnectivity"
+# add additional configuration here specific for Azure CLI
+# refer to the faq.md for more details
+```
+
+
+
+This is for command modules that already in azure cli main repo.
+``` yaml $(az) && $(target-mode) == 'core'
+az:
+ extensions: hybridconnectivity
+ namespace: azure.mgmt.hybridconnectivity
+ package-name: azure-mgmt-hybridconnectivity
+az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/hybridconnectivity
+python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/hybridconnectivity"
+```
\ No newline at end of file
diff --git a/specification/hybridconnectivity/resource-manager/readme.cli.md b/specification/hybridconnectivity/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..c6cf6ad37ea4
--- /dev/null
+++ b/specification/hybridconnectivity/resource-manager/readme.cli.md
@@ -0,0 +1 @@
+## CLI Common Settings for all the command line tools
\ No newline at end of file
diff --git a/specification/hybridconnectivity/resource-manager/readme.csharp.md b/specification/hybridconnectivity/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..483da256b6a3
--- /dev/null
+++ b/specification/hybridconnectivity/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.HybridConnectivity
+ output-folder: $(csharp-sdks-folder)/hybridconnectivity/management/Microsoft.HybridConnectivity/GeneratedProtocol
+```
diff --git a/specification/hybridconnectivity/resource-manager/readme.go.md b/specification/hybridconnectivity/resource-manager/readme.go.md
new file mode 100644
index 000000000000..17c468591895
--- /dev/null
+++ b/specification/hybridconnectivity/resource-manager/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+```yaml $(go) && !$(track2)
+go:
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: hybridconnectivity
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+```yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2021-10-06-preview
+```
+
+### Tag: package-2021-10-06-preview and go
+
+These settings apply only when `--tag=package-2021-10-06-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag) == 'package-2021-10-06-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-10-06-preview/$(namespace)
+```
diff --git a/specification/hybridconnectivity/resource-manager/readme.md b/specification/hybridconnectivity/resource-manager/readme.md
new file mode 100644
index 000000000000..e369f406fef0
--- /dev/null
+++ b/specification/hybridconnectivity/resource-manager/readme.md
@@ -0,0 +1,80 @@
+# hybridconnectivity
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for hybridconnectivity.
+
+## 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 hybridconnectivity.
+
+```yaml
+openapi-type: arm
+openapi-subtype: rpaas
+tag: package-2021-10-06-preview
+```
+
+### Tag: package-2021-10-06-preview
+
+These settings apply only when `--tag=package-2021-10-06-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-10-06-preview'
+input-file:
+ - Microsoft.HybridConnectivity/preview/2021-10-06-preview/hybridconnectivity.json
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+```yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-net
+ - repo: azure-sdk-for-python-track2
+ - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-resource-manager-schemas
+ - repo: azure-cli-extensions
+```
+## Az
+
+See configuration in [readme.az.md](./readme.az.md)
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+## TypeScript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+
+## CSharp
+
+See configuration in [readme.csharp.md](./readme.csharp.md)
diff --git a/specification/hybridconnectivity/resource-manager/readme.python.md b/specification/hybridconnectivity/resource-manager/readme.python.md
new file mode 100644
index 000000000000..5cf6d5378b3e
--- /dev/null
+++ b/specification/hybridconnectivity/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-hybridconnectivity
+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)/hybridconnectivity/azure-mgmt-hybridconnectivity/azure/mgmt/hybridconnectivity
+```
+
+``` yaml $(python-mode) == 'create' && $(track2)
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/hybridconnectivity/azure-mgmt-hybridconnectivity
+```
diff --git a/specification/hybridconnectivity/resource-manager/readme.typescript.md b/specification/hybridconnectivity/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..e6356be4ea96
--- /dev/null
+++ b/specification/hybridconnectivity/resource-manager/readme.typescript.md
@@ -0,0 +1,14 @@
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+``` yaml $(typescript)
+typescript:
+ azure-arm: true
+ package-name: "@azure/arm-hybridconnectivity"
+ output-folder: "$(typescript-sdks-folder)/sdk/hybridconnectivity/arm-hybridconnectivity"
+ payload-flattening-threshold: 1
+ clear-output-folder: true
+ generate-metadata: true
+```
diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/device.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/device.json
index 06a57e4ef093..6b6e7ef51509 100644
--- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/device.json
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/device.json
@@ -391,6 +391,25 @@
],
"description": "Device resource."
},
+ "AzureStackEdgeFormat": {
+ "description": "The reference to the Azure stack edge device.",
+ "required": [
+ "azureStackEdge"
+ ],
+ "x-ms-discriminator-value": "AzureStackEdge",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DevicePropertiesFormat"
+ }
+ ],
+ "properties": {
+ "azureStackEdge": {
+ "$ref": "./common.json#/definitions/SubResource",
+ "description": "The reference to the Azure stack edge device."
+ }
+ }
+ },
"DevicePropertiesFormat": {
"description": "Device properties.",
"required": [
@@ -430,11 +449,6 @@
"modelAsString": true
}
},
- "azureStackEdge": {
- "x-ms-discriminator-value": "AzureStackEdge",
- "$ref": "./common.json#/definitions/SubResource",
- "description": "The reference to the Azure stack edge device."
- },
"networkFunctions": {
"readOnly": true,
"type": "array",
diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/stable/2021-05-01/device.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/stable/2021-05-01/device.json
index d4692cac491c..823250bea977 100644
--- a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/stable/2021-05-01/device.json
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/stable/2021-05-01/device.json
@@ -396,6 +396,25 @@
],
"description": "Device resource."
},
+ "AzureStackEdgeFormat": {
+ "description": "The reference to the Azure stack edge device.",
+ "required": [
+ "azureStackEdge"
+ ],
+ "x-ms-discriminator-value": "AzureStackEdge",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DevicePropertiesFormat"
+ }
+ ],
+ "properties": {
+ "azureStackEdge": {
+ "$ref": "./common.json#/definitions/SubResource",
+ "description": "The reference to the Azure stack edge device."
+ }
+ }
+ },
"DevicePropertiesFormat": {
"description": "Device properties.",
"required": [
@@ -435,11 +454,6 @@
"modelAsString": true
}
},
- "azureStackEdge": {
- "x-ms-discriminator-value": "AzureStackEdge",
- "$ref": "./common.json#/definitions/SubResource",
- "description": "The reference to the Azure stack edge device. Once set, it cannot be updated."
- },
"networkFunctions": {
"readOnly": true,
"type": "array",
diff --git a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/stable/2020-02-14/imagebuilder.json b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/stable/2020-02-14/imagebuilder.json
index c9dc3144d1eb..0e2d34232c90 100644
--- a/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/stable/2020-02-14/imagebuilder.json
+++ b/specification/imagebuilder/resource-manager/Microsoft.VirtualMachineImages/stable/2020-02-14/imagebuilder.json
@@ -946,7 +946,7 @@
"vmSize": {
"type": "string",
"default": "",
- "description": "Size of the virtual machine used to build, customize and capture images. Omit or specify empty string to use the default (Standard_D1_v2)."
+ "description": "Size of the virtual machine used to build, customize and capture images. Omit or specify empty string to use the default (Standard_D1_v2 for Gen1 images and Standard_D2ds_v4 for Gen2 images)."
},
"osDiskSizeGB": {
"type": "integer",
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-03-01/examples/GetInstanceMetadata.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-03-01/examples/GetInstanceMetadata.json
index 9f6c5560e5de..537f3774cdb0 100644
--- a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-03-01/examples/GetInstanceMetadata.json
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-03-01/examples/GetInstanceMetadata.json
@@ -9,6 +9,10 @@
"compute": {
"azEnvironment": "AZUREPUBLICCLOUD",
"evictionPolicy": "deallocate",
+ "extendedLocation": {
+ "type": "edgeZone",
+ "name": "microsoftlosangeles"
+ },
"isHostCompatibilityLayerVm": "true",
"licenseType": "Windows_Server",
"location": "westus",
@@ -118,6 +122,9 @@
],
"userData": "Zm9vYmFy",
"version": "15.05.22",
+ "virtualMachineScaleSet": {
+ "id": "/subscriptions/xxxxxxxx-xxxxx-xxx-xxx-xxxx/resourceGroups/resource-group-name/providers/Microsoft.Compute/virtualMachineScaleSets/virtual-machine-scale-set-name"
+ },
"vmId": "02aab8a4-74ef-476e-8182-f6d2ba4166a6",
"vmScaleSetName": "crpteste9vflji9",
"vmSize": "Standard_A3",
diff --git a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-03-01/imds.json b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-03-01/imds.json
index 996fab2bd5e1..e074796502e6 100644
--- a/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-03-01/imds.json
+++ b/specification/imds/data-plane/Microsoft.InstanceMetadataService/stable/2021-03-01/imds.json
@@ -249,6 +249,11 @@
"type": "string",
"description": "Describes how the VM will be evicted if space needs to be freed up. Only applicable to Spot VMs. For a non-spot VM, this will be an empty string."
},
+ "extendedLocation": {
+ "type": "object",
+ "description": "Describes the extended location of the VM",
+ "$ref": "#/definitions/ExtendedLocationProperties"
+ },
"isHostCompatibilityLayerVm": {
"type": "string",
"description": "Identifies if the VM runs on the Host Compatibility Layer."
@@ -358,6 +363,11 @@
"type": "string",
"description": "This is the version of the VM image."
},
+ "virtualMachineScaleSet": {
+ "type": "object",
+ "description": "Information about the VMSS the VM belongs to (if applicable)",
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ },
"vmId": {
"type": "string",
"description": "This is the unique identifier for the VM."
@@ -391,6 +401,20 @@
},
"description": "Network Metadata"
},
+ "ExtendedLocationProperties": {
+ "type": "object",
+ "description": "Describes the extended location of the VM",
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "The type of the extended location of the VM"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the extended location of the VM"
+ }
+ }
+ },
"NetworkInterface": {
"type": "object",
"description": "This contains data about the network interface.",
@@ -771,6 +795,16 @@
}
}
},
+ "VirtualMachineScaleSet": {
+ "type": "object",
+ "description": "Information about the VMSS the VM belongs to (if applicable)",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "This is the ID of the VMSS the VM belongs to (if applicable)"
+ }
+ }
+ },
"ApplicationResponse": {
"type": "string",
"description": "This is a binary string containing the application."
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_adx.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_adx.json
new file mode 100644
index 000000000000..9f7dddc333e1
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_adx.json
@@ -0,0 +1,42 @@
+{
+ "title": "Create data export ADX destination",
+ "description": "Create an ADX destination with an Id.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "destinationId": "destination1",
+ "api-version": "1.1-preview",
+ "body": {
+ "displayName": "Azure Data Explorer",
+ "type": "dataexplorer@v1",
+ "clusterUrl": "https://[clusterName].westus2.kusto.windows.net",
+ "database": "database1",
+ "table": "table1",
+ "authorization": {
+ "type": "servicePrincipal",
+ "clientId": "3b420743-2020-44c6-9b70-cc42f945db0x",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "clientSecret": "[Secret]"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "destination1",
+ "displayName": "Azure Data Explorer",
+ "type": "dataexplorer@v1",
+ "clusterUrl": "https://[clusterName].westus2.kusto.windows.net",
+ "database": "database1",
+ "table": "table1",
+ "authorization": {
+ "type": "servicePrincipal",
+ "clientId": "3b420743-2020-44c6-9b70-cc42f945db0x",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "clientSecret": "*****"
+ },
+ "status": "waiting"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_blob.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_blob.json
new file mode 100644
index 000000000000..b5e713f1eacd
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_blob.json
@@ -0,0 +1,34 @@
+{
+ "title": "Create data export Blob Storage destination",
+ "description": "Create a Blob Storage destination with an Id.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "destinationId": "destination1",
+ "api-version": "1.1-preview",
+ "body": {
+ "displayName": "Blob Storage",
+ "type": "blobstorage@v1",
+ "authorization": {
+ "type": "connectionString",
+ "connectionString": "DefaultEndpointsProtocol=https;AccountName=[accountName];AccountKey=[key];EndpointSuffix=core.windows.net",
+ "containerName": "test"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "destination1",
+ "displayName": "Blob Storage",
+ "type": "blobstorage@v1",
+ "authorization": {
+ "type": "connectionString",
+ "connectionString": "DefaultEndpointsProtocol=https;AccountName=[accountName];AccountKey=*****;EndpointSuffix=core.windows.net",
+ "containerName": "test"
+ },
+ "status": "waiting"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_eventhub.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_eventhub.json
new file mode 100644
index 000000000000..8434210d4359
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_eventhub.json
@@ -0,0 +1,32 @@
+{
+ "title": "Create data export Event Hub destination",
+ "description": "Create an Event hub destination with an Id.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "destinationId": "destination1",
+ "api-version": "1.1-preview",
+ "body": {
+ "displayName": "Event Hub",
+ "type": "eventhubs@v1",
+ "authorization": {
+ "type": "connectionString",
+ "connectionString": "Endpoint=sb://[hubName].servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=[Key];EntityPath=entityPath1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "destination1",
+ "displayName": "Event Hub",
+ "type": "eventhubs@v1",
+ "authorization": {
+ "type": "connectionString",
+ "connectionString": "Endpoint=sb://[hubName].servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=*****;EntityPath=entityPath1"
+ },
+ "status": "waiting"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_queue.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_queue.json
new file mode 100644
index 000000000000..81baaf783c76
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_queue.json
@@ -0,0 +1,32 @@
+{
+ "title": "Create data export Service Bus Queue destination",
+ "description": "Create an Service Bus Queue destination with an Id.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "destinationId": "destination1",
+ "api-version": "1.1-preview",
+ "body": {
+ "displayName": "Service Bus Queue",
+ "type": "servicebusqueue@v1",
+ "authorization": {
+ "type": "connectionString",
+ "connectionString": "Endpoint=sb://[namespance].servicebus.windows.net/;SharedAccessKeyName=xxx;SharedAccessKey=[key];EntityPath=[name]"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "destination1",
+ "displayName": "Service Bus Queue",
+ "type": "servicebusqueue@v1",
+ "authorization": {
+ "type": "connectionString",
+ "connectionString": "Endpoint=sb://[namespace].servicebus.windows.net/;SharedAccessKeyName=xxx;SharedAccessKey=*****;EntityPath=[name]"
+ },
+ "status": "waiting"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_topic.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_topic.json
new file mode 100644
index 000000000000..34d7c59356e1
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_topic.json
@@ -0,0 +1,32 @@
+{
+ "title": "Create data export Event Hub destination",
+ "description": "Create an Event hub destination with an Id.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "destinationId": "destination1",
+ "api-version": "1.1-preview",
+ "body": {
+ "displayName": "Service Bus Topic",
+ "type": "servicebustopic@v1",
+ "authorization": {
+ "type": "connectionString",
+ "connectionString": "Endpoint=sb://[namespace].servicebus.windows.net/;SharedAccessKeyName=xxx;SharedAccessKey=[key];EntityPath=[name]"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "destination1",
+ "displayName": "Service Bus Topic",
+ "type": "servicebustopic@v1",
+ "authorization": {
+ "type": "connectionString",
+ "connectionString": "Endpoint=sb://[namespace].servicebus.windows.net/;SharedAccessKeyName=xxx;SharedAccessKey=*****;EntityPath=[name]"
+ },
+ "status": "waiting"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_webhook.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_webhook.json
new file mode 100644
index 000000000000..299cd1626b54
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_create_webhook.json
@@ -0,0 +1,38 @@
+{
+ "title": "Create data export Webhook destination",
+ "description": "Create a Webhook destination with an Id.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "destinationId": "destination1",
+ "api-version": "1.1-preview",
+ "body": {
+ "displayName": "Webhook No Auth",
+ "type": "webhook@v1",
+ "url": "https://webhook.site/9bda8769-d540-4d92-946b-48c5a01e59bd",
+ "headerCustomizations": {
+ "x-custom-region": {
+ "value": "westcentralus",
+ "secret": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "destination1",
+ "displayName": "Webhook No Auth",
+ "type": "webhook@v1",
+ "url": "https://webhook.site/9bda8769-d540-4d92-946b-48c5a01e59bd",
+ "headerCustomizations": {
+ "x-custom-region": {
+ "value": "westcentralus",
+ "secret": false
+ }
+ },
+ "status": "waiting"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_delete.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_delete.json
new file mode 100644
index 000000000000..1de306e3b487
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_delete.json
@@ -0,0 +1,13 @@
+{
+ "title": "Delete data export destination",
+ "description": "Delete a data export destination with Id.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "destinationId": "destination1",
+ "api-version": "1.1-preview"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_exports_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_exports_list.json
new file mode 100644
index 000000000000..b44d5372e464
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_exports_list.json
@@ -0,0 +1,32 @@
+{
+ "title": "List all data exports connected to the given destination",
+ "description": "Get a list of data exports connected to the given destination, returned exports include everything except the destination.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "api-version": "1.1-preview",
+ "destinationId": "destination1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "newTest",
+ "displayName": "Test Export 1",
+ "enabled": true,
+ "source": "telemetry",
+ "filter": "SELECT * FROM devices WHERE $displayName != \"abc\" AND $id = \"a\"",
+ "enrichments": {
+ "abc": {
+ "path": "$templateDisplayName"
+ }
+ },
+ "destinations": [],
+ "status": "healthy"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_get.json
new file mode 100644
index 000000000000..89cd1fbba408
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_get.json
@@ -0,0 +1,33 @@
+{
+ "title": "Get data export destination",
+ "description": "Get a data export destination with Id.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "destinationId": "destination1",
+ "api-version": "1.1-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "1021f12a-6969-4eff-8518-57cac5f128ab",
+ "displayName": "Webhook No Auth",
+ "type": "webhook@v1",
+ "url": "https://webhook.site/9bda8769-d540-4d92-946b-48c5a01e59bd",
+ "headerCustomizations": {
+ "x-custom-region": {
+ "value": "westcentralus",
+ "secret": false
+ }
+ },
+ "status": "error",
+ "errors": [
+ {
+ "code": "InvalidResponse",
+ "message": "The webhook returned a 4xx status code."
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_list.json
new file mode 100644
index 000000000000..e777d670cd11
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_list.json
@@ -0,0 +1,86 @@
+{
+ "title": "List data export destinations in your application",
+ "description": "Get a list of data export destinations in your application.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "api-version": "1.1-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "1021f12a-6969-4eff-8518-57cac5f128ab",
+ "displayName": "Webhook No Auth",
+ "type": "webhook@v1",
+ "url": "https://webhook.site/9bda8769-d540-4d92-946b-48c5a01e59bd",
+ "headerCustomizations": {
+ "x-custom-region": {
+ "value": "westcentralus",
+ "secret": false
+ }
+ },
+ "status": "waiting"
+ },
+ {
+ "id": "70bb70e7-e308-4628-95aa-706596646f02",
+ "displayName": "Service Bus Queue",
+ "type": "servicebusqueue@v1",
+ "authorization": {
+ "type": "connectionString",
+ "connectionString": "Endpoint=sb://[namespace].servicebus.windows.net/;SharedAccessKeyName=xxx;SharedAccessKey=*****;EntityPath=[queue name]"
+ },
+ "status": "waiting"
+ },
+ {
+ "id": "7308456f-c72b-43d8-99ba-22a49ea5d51a",
+ "displayName": "Service Bus Topic",
+ "type": "servicebustopic@v1",
+ "authorization": {
+ "type": "connectionString",
+ "connectionString": "Endpoint=sb://[namespace].servicebus.windows.net/;SharedAccessKeyName=xxx;SharedAccessKey=*****;EntityPath=[topic name]"
+ },
+ "status": "waiting"
+ },
+ {
+ "id": "b3bfe8f0-ea63-42f9-82e1-bbade5250aba",
+ "displayName": "Azure Data Explorer",
+ "type": "dataexplorer@v1",
+ "clusterUrl": "https://[clusterName].westus2.kusto.windows.net",
+ "database": "iiot",
+ "table": "demo",
+ "authorization": {
+ "type": "servicePrincipal",
+ "clientId": "5b420743-2020-44c6-9b70-cc42f945db0c",
+ "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
+ "clientSecret": "*****"
+ },
+ "status": "waiting"
+ },
+ {
+ "id": "beb083d0-cec9-4e7e-8e4b-22b88e8e3479",
+ "displayName": "Azure Blob Storage",
+ "type": "blobstorage@v1",
+ "authorization": {
+ "type": "connectionString",
+ "connectionString": "DefaultEndpointsProtocol=https;AccountName=[accountName];AccountKey=*****;EndpointSuffix=core.windows.net",
+ "containerName": "test"
+ },
+ "status": "waiting"
+ },
+ {
+ "id": "c0e2a49f-6d5b-4bc1-b448-069806b72781",
+ "displayName": "Event Hub",
+ "type": "eventhubs@v1",
+ "authorization": {
+ "type": "connectionString",
+ "connectionString": "Endpoint=sb://[namespace].servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=*****;EntityPath=[hub name]"
+ },
+ "status": "waiting"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_update_webhook.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_update_webhook.json
new file mode 100644
index 000000000000..18c8ad7066dd
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_destinations_update_webhook.json
@@ -0,0 +1,35 @@
+{
+ "title": "Update data export Webhook destination",
+ "description": "Updatea Webhook destination with an Id.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "destinationId": "destination1",
+ "api-version": "1.1-preview",
+ "body": {
+ "headerCustomizations": {
+ "x-custom-region": {
+ "value": "eastus",
+ "secret": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "destination1",
+ "displayName": "Webhook No Auth",
+ "type": "webhook@v1",
+ "url": "https://webhook.site/9bda8769-d540-4d92-946b-48c5a01e59bd",
+ "headerCustomizations": {
+ "x-custom-region": {
+ "value": "eastus",
+ "secret": false
+ }
+ },
+ "status": "waiting"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_create.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_create.json
new file mode 100644
index 000000000000..edf6508461ff
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_create.json
@@ -0,0 +1,50 @@
+{
+ "title": "Create a data export",
+ "description": "Create a data export with Id.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "exportId": "export1",
+ "api-version": "1.1-preview",
+ "body": {
+ "displayName": "Test Export 1",
+ "enabled": false,
+ "source": "telemetry",
+ "filter": "SELECT * FROM devices WHERE $displayName != \"abc\" AND $id = \"a\"",
+ "enrichments": {
+ "abc": {
+ "path": "$templateDisplayName"
+ }
+ },
+ "destinations": [
+ {
+ "id": "fa5792a4-ead3-41dc-a972-fbeed33d46ae",
+ "transform": "{ ApplicationId: .applicationId, Component: .component, DeviceName: .device.name }"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "export1",
+ "displayName": "Test Export 1",
+ "enabled": false,
+ "source": "telemetry",
+ "filter": "SELECT * FROM devices WHERE $displayName != \"abc\" AND $id = \"a\"",
+ "enrichments": {
+ "abc": {
+ "path": "$templateDisplayName"
+ }
+ },
+ "destinations": [
+ {
+ "id": "fa5792a4-ead3-41dc-a972-fbeed33d46ae",
+ "transform": "{ ApplicationId: .applicationId, Component: .component, DeviceName: .device.name }"
+ }
+ ],
+ "status": "notStarted"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_delete.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_delete.json
new file mode 100644
index 000000000000..be9dbbd5212a
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_delete.json
@@ -0,0 +1,13 @@
+{
+ "title": "Delete a data export",
+ "description": "Delete a data export with Id.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "exportId": "export1",
+ "api-version": "1.1-preview"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_destinations_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_destinations_list.json
new file mode 100644
index 000000000000..a50cc5059043
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_destinations_list.json
@@ -0,0 +1,26 @@
+{
+ "title": "List destinations defined in data export",
+ "description": "Get a list of destinations in your data export.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "api-version": "1.1-preview",
+ "exportId": "export1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "fa5792a4-ead3-41dc-a972-fbeed33d46ae",
+ "displayName": "Web Hook",
+ "type": "webhook@v1",
+ "url": "https://webhook.site/9bda8769-d540-4d92-946b-48c5a01e59bd",
+ "headerCustomizations": {},
+ "status": "healthy"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_get.json
new file mode 100644
index 000000000000..3b8facd0d5b2
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_get.json
@@ -0,0 +1,33 @@
+{
+ "title": "Get a data export",
+ "description": "Get a data export with Id.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "exportId": "export1",
+ "api-version": "1.1-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "export1",
+ "displayName": "Test Export 1",
+ "enabled": false,
+ "source": "telemetry",
+ "filter": "SELECT * FROM devices WHERE $displayName != \"abc\" AND $id = \"a\"",
+ "enrichments": {
+ "abc": {
+ "path": "$templateDisplayName"
+ }
+ },
+ "destinations": [
+ {
+ "id": "fa5792a4-ead3-41dc-a972-fbeed33d46ae",
+ "transform": "{ ApplicationId: .applicationId, Component: .component, DeviceName: .device.name }"
+ }
+ ],
+ "status": "notStarted"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_list.json
new file mode 100644
index 000000000000..29ab1f4097af
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_list.json
@@ -0,0 +1,67 @@
+{
+ "title": "List data exports in your application",
+ "description": "Get a list of data exports in your application.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "api-version": "1.1-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "export1",
+ "displayName": "Test Export 1",
+ "enabled": false,
+ "source": "telemetry",
+ "filter": "SELECT * FROM devices WHERE $displayName != \"abc\" AND $id = \"a\"",
+ "enrichments": {
+ "abc": {
+ "path": "$templateDisplayName"
+ }
+ },
+ "destinations": [
+ {
+ "id": "fa5792a4-ead3-41dc-a972-fbeed33d46ae",
+ "transform": "{ ApplicationId: .applicationId, Component: .component, DeviceName: .device.name }"
+ }
+ ],
+ "status": "notStarted"
+ },
+ {
+ "id": "export2",
+ "displayName": "Test Export 2",
+ "enabled": true,
+ "source": "telemetry",
+ "filter": "SELECT * FROM devices WHERE $id == \"a\"",
+ "enrichments": {
+ "abc": {
+ "path": "$deviceName"
+ }
+ },
+ "destinations": [
+ {
+ "id": "fa5792a4-ead3-41dc-a972-fbeed33d46ae"
+ }
+ ],
+ "status": "starting"
+ },
+ {
+ "id": "d7686dda-43d5-4e22-af4e-9518b0ebed29",
+ "displayName": "Test Export 3",
+ "enabled": true,
+ "source": "properties",
+ "filter": "SELECT * FROM devices WHERE CONTAINS($displayName, \"a\")",
+ "destinations": [
+ {
+ "id": "destination1"
+ }
+ ],
+ "status": "healthy"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_update.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_update.json
new file mode 100644
index 000000000000..e5024fed0936
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/dataexports_exports_update.json
@@ -0,0 +1,42 @@
+{
+ "title": "Update a data export",
+ "description": "Update a data export with Id.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "exportId": "export1",
+ "api-version": "1.1-preview",
+ "body": {
+ "displayName": "Test Export Update",
+ "enabled": true,
+ "enrichments": {
+ "abc": {
+ "path": "$provisioned"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "export1",
+ "displayName": "Test Export Update",
+ "enabled": true,
+ "source": "telemetry",
+ "filter": "SELECT * FROM devices WHERE $displayName != \"abc\" AND $id = \"a\"",
+ "enrichments": {
+ "abc": {
+ "path": "$provisioned"
+ }
+ },
+ "destinations": [
+ {
+ "id": "fa5792a4-ead3-41dc-a972-fbeed33d46ae",
+ "transform": "{ ApplicationId: .applicationId, Component: .component, DeviceName: .device.name }"
+ }
+ ],
+ "status": "starting"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_create.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_create.json
new file mode 100644
index 000000000000..edbbd3a1be67
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_create.json
@@ -0,0 +1,26 @@
+{
+ "title": "Create a relationship between device",
+ "description": "Create a relationship with an Id.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "deviceId": "device1",
+ "relationshipId": "relationship1",
+ "api-version": "1.1-preview",
+ "body": {
+ "name": "Relationship1",
+ "source": "device1",
+ "target": "device2"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "relationship1",
+ "name": "Relationship1",
+ "source": "device1",
+ "target": "device2"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_delete.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_delete.json
new file mode 100644
index 000000000000..3059c326ba7d
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_delete.json
@@ -0,0 +1,14 @@
+{
+ "title": "Delete device relationship",
+ "description": "Delete a device relationship by Id.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "deviceId": "device1",
+ "relationshipId": "relationship1",
+ "api-version": "1.1-preview"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_get.json
new file mode 100644
index 000000000000..ddb237074a77
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_get.json
@@ -0,0 +1,21 @@
+{
+ "title": "Get a relationship between device",
+ "description": "Get a relationship with an Id.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "deviceId": "device1",
+ "relationshipId": "relationship1",
+ "api-version": "1.1-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "relationship1",
+ "name": "Relationship1",
+ "source": "device1",
+ "target": "device2"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_list.json
new file mode 100644
index 000000000000..3d9df231bc22
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_list.json
@@ -0,0 +1,36 @@
+{
+ "title": "List device relationships",
+ "description": "List all relationships for your device.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "deviceId": "device1",
+ "api-version": "1.1-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "relationship1",
+ "name": "Relationship1",
+ "source": "device1",
+ "target": "device2"
+ },
+ {
+ "id": "relationship2",
+ "name": "Relationship2",
+ "source": "device3",
+ "target": "device1"
+ },
+ {
+ "id": "relationship3",
+ "name": "Relationship3",
+ "source": "device1",
+ "target": "device4"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_update.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_update.json
new file mode 100644
index 000000000000..cf51f5f5a5f2
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devices_relationships_update.json
@@ -0,0 +1,24 @@
+{
+ "title": "Update a relationship between device",
+ "description": "Update a relationship with an Id.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "deviceId": "device1",
+ "relationshipId": "relationship1",
+ "api-version": "1.1-preview",
+ "body": {
+ "target": "device3"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "relationship1",
+ "name": "Relationship1",
+ "source": "device1",
+ "target": "device3"
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_create.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_create.json
index 1b78f2bda9ed..796afe6e7a0d 100644
--- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_create.json
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_create.json
@@ -172,6 +172,97 @@
"schema": "dateTime"
}
]
+ },
+ "deploymentManifest": {
+ "modulesContent": {
+ "$edgeAgent": {
+ "properties.desired": {
+ "schemaVersion": "1.1",
+ "runtime": {
+ "type": "docker",
+ "settings": {
+ "minDockerVersion": "v1.25",
+ "loggingOptions": "",
+ "registryCredentials": {
+ "ContosoRegistry": {
+ "username": "myacr",
+ "password": "",
+ "address": "myacr.azurecr.io"
+ }
+ }
+ }
+ },
+ "systemModules": {
+ "edgeAgent": {
+ "type": "docker",
+ "settings": {
+ "image": "mcr.microsoft.com/azureiotedge-agent:1.1",
+ "createOptions": "{}"
+ }
+ },
+ "edgeHub": {
+ "type": "docker",
+ "status": "running",
+ "restartPolicy": "always",
+ "startupOrder": 0,
+ "settings": {
+ "image": "mcr.microsoft.com/azureiotedge-hub:1.1",
+ "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"443/tcp\":[{\"HostPort\":\"443\"}],\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}]}}}"
+ }
+ }
+ },
+ "modules": {
+ "SimulatedTemperatureSensor": {
+ "version": "1.0",
+ "type": "docker",
+ "status": "running",
+ "restartPolicy": "always",
+ "startupOrder": 2,
+ "settings": {
+ "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0",
+ "createOptions": "{}"
+ }
+ },
+ "testModule": {
+ "version": "1.0",
+ "type": "docker",
+ "status": "running",
+ "restartPolicy": "always",
+ "startupOrder": 1,
+ "env": {
+ "tempLimit": {
+ "value": "100"
+ }
+ },
+ "settings": {
+ "image": "myacr.azurecr.io/testModule:latest",
+ "createOptions": "{}"
+ }
+ }
+ }
+ }
+ },
+ "$edgeHub": {
+ "properties.desired": {
+ "schemaVersion": "1.1",
+ "routes": {
+ "sensorToFilter": {
+ "route": "FROM /messages/modules/SimulatedTemperatureSensor/outputs/temperatureOutput INTO BrokeredEndpoint(\"/modules/testModule/inputs/input1\")",
+ "priority": 0,
+ "timeToLiveSecs": 1800
+ },
+ "filterToIoTHub": {
+ "route": "FROM /messages/modules/testModule/outputs/output1 INTO $upstream",
+ "priority": 1,
+ "timeToLiveSecs": 1800
+ }
+ },
+ "storeAndForwardConfiguration": {
+ "timeToLiveSecs": 100
+ }
+ }
+ }
+ }
}
}
},
@@ -345,6 +436,97 @@
"schema": "dateTime"
}
]
+ },
+ "deploymentManifest": {
+ "modulesContent": {
+ "$edgeAgent": {
+ "properties.desired": {
+ "schemaVersion": "1.1",
+ "runtime": {
+ "type": "docker",
+ "settings": {
+ "minDockerVersion": "v1.25",
+ "loggingOptions": "",
+ "registryCredentials": {
+ "ContosoRegistry": {
+ "username": "myacr",
+ "password": "",
+ "address": "myacr.azurecr.io"
+ }
+ }
+ }
+ },
+ "systemModules": {
+ "edgeAgent": {
+ "type": "docker",
+ "settings": {
+ "image": "mcr.microsoft.com/azureiotedge-agent:1.1",
+ "createOptions": "{}"
+ }
+ },
+ "edgeHub": {
+ "type": "docker",
+ "status": "running",
+ "restartPolicy": "always",
+ "startupOrder": 0,
+ "settings": {
+ "image": "mcr.microsoft.com/azureiotedge-hub:1.1",
+ "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"443/tcp\":[{\"HostPort\":\"443\"}],\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}]}}}"
+ }
+ }
+ },
+ "modules": {
+ "SimulatedTemperatureSensor": {
+ "version": "1.0",
+ "type": "docker",
+ "status": "running",
+ "restartPolicy": "always",
+ "startupOrder": 2,
+ "settings": {
+ "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0",
+ "createOptions": "{}"
+ }
+ },
+ "testModule": {
+ "version": "1.0",
+ "type": "docker",
+ "status": "running",
+ "restartPolicy": "always",
+ "startupOrder": 1,
+ "env": {
+ "tempLimit": {
+ "value": "100"
+ }
+ },
+ "settings": {
+ "image": "myacr.azurecr.io/testModule:latest",
+ "createOptions": "{}"
+ }
+ }
+ }
+ }
+ },
+ "$edgeHub": {
+ "properties.desired": {
+ "schemaVersion": "1.1",
+ "routes": {
+ "sensorToFilter": {
+ "route": "FROM /messages/modules/SimulatedTemperatureSensor/outputs/temperatureOutput INTO BrokeredEndpoint(\"/modules/testModule/inputs/input1\")",
+ "priority": 0,
+ "timeToLiveSecs": 1800
+ },
+ "filterToIoTHub": {
+ "route": "FROM /messages/modules/testModule/outputs/output1 INTO $upstream",
+ "priority": 1,
+ "timeToLiveSecs": 1800
+ }
+ },
+ "storeAndForwardConfiguration": {
+ "timeToLiveSecs": 100
+ }
+ }
+ }
+ }
}
}
}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_get.json
index 0f9bba02f678..b560f6e2e73b 100644
--- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_get.json
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_get.json
@@ -177,6 +177,97 @@
"schema": "dateTime"
}
]
+ },
+ "deploymentManifest": {
+ "modulesContent": {
+ "$edgeAgent": {
+ "properties.desired": {
+ "schemaVersion": "1.1",
+ "runtime": {
+ "type": "docker",
+ "settings": {
+ "minDockerVersion": "v1.25",
+ "loggingOptions": "",
+ "registryCredentials": {
+ "ContosoRegistry": {
+ "username": "myacr",
+ "password": "",
+ "address": "myacr.azurecr.io"
+ }
+ }
+ }
+ },
+ "systemModules": {
+ "edgeAgent": {
+ "type": "docker",
+ "settings": {
+ "image": "mcr.microsoft.com/azureiotedge-agent:1.1",
+ "createOptions": "{}"
+ }
+ },
+ "edgeHub": {
+ "type": "docker",
+ "status": "running",
+ "restartPolicy": "always",
+ "startupOrder": 0,
+ "settings": {
+ "image": "mcr.microsoft.com/azureiotedge-hub:1.1",
+ "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"443/tcp\":[{\"HostPort\":\"443\"}],\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}]}}}"
+ }
+ }
+ },
+ "modules": {
+ "SimulatedTemperatureSensor": {
+ "version": "1.0",
+ "type": "docker",
+ "status": "running",
+ "restartPolicy": "always",
+ "startupOrder": 2,
+ "settings": {
+ "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0",
+ "createOptions": "{}"
+ }
+ },
+ "testModule": {
+ "version": "1.0",
+ "type": "docker",
+ "status": "running",
+ "restartPolicy": "always",
+ "startupOrder": 1,
+ "env": {
+ "tempLimit": {
+ "value": "100"
+ }
+ },
+ "settings": {
+ "image": "myacr.azurecr.io/testModule:latest",
+ "createOptions": "{}"
+ }
+ }
+ }
+ }
+ },
+ "$edgeHub": {
+ "properties.desired": {
+ "schemaVersion": "1.1",
+ "routes": {
+ "sensorToFilter": {
+ "route": "FROM /messages/modules/SimulatedTemperatureSensor/outputs/temperatureOutput INTO BrokeredEndpoint(\"/modules/testModule/inputs/input1\")",
+ "priority": 0,
+ "timeToLiveSecs": 1800
+ },
+ "filterToIoTHub": {
+ "route": "FROM /messages/modules/testModule/outputs/output1 INTO $upstream",
+ "priority": 1,
+ "timeToLiveSecs": 1800
+ }
+ },
+ "storeAndForwardConfiguration": {
+ "timeToLiveSecs": 100
+ }
+ }
+ }
+ }
}
}
}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_list.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_list.json
index 869589d04a80..54111c702361 100644
--- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_list.json
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_list.json
@@ -178,6 +178,97 @@
"schema": "dateTime"
}
]
+ },
+ "deploymentManifest": {
+ "modulesContent": {
+ "$edgeAgent": {
+ "properties.desired": {
+ "schemaVersion": "1.1",
+ "runtime": {
+ "type": "docker",
+ "settings": {
+ "minDockerVersion": "v1.25",
+ "loggingOptions": "",
+ "registryCredentials": {
+ "ContosoRegistry": {
+ "username": "myacr",
+ "password": "",
+ "address": "myacr.azurecr.io"
+ }
+ }
+ }
+ },
+ "systemModules": {
+ "edgeAgent": {
+ "type": "docker",
+ "settings": {
+ "image": "mcr.microsoft.com/azureiotedge-agent:1.1",
+ "createOptions": "{}"
+ }
+ },
+ "edgeHub": {
+ "type": "docker",
+ "status": "running",
+ "restartPolicy": "always",
+ "startupOrder": 0,
+ "settings": {
+ "image": "mcr.microsoft.com/azureiotedge-hub:1.1",
+ "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"443/tcp\":[{\"HostPort\":\"443\"}],\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}]}}}"
+ }
+ }
+ },
+ "modules": {
+ "SimulatedTemperatureSensor": {
+ "version": "1.0",
+ "type": "docker",
+ "status": "running",
+ "restartPolicy": "always",
+ "startupOrder": 2,
+ "settings": {
+ "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0",
+ "createOptions": "{}"
+ }
+ },
+ "testModule": {
+ "version": "1.0",
+ "type": "docker",
+ "status": "running",
+ "restartPolicy": "always",
+ "startupOrder": 1,
+ "env": {
+ "tempLimit": {
+ "value": "100"
+ }
+ },
+ "settings": {
+ "image": "myacr.azurecr.io/testModule:latest",
+ "createOptions": "{}"
+ }
+ }
+ }
+ }
+ },
+ "$edgeHub": {
+ "properties.desired": {
+ "schemaVersion": "1.1",
+ "routes": {
+ "sensorToFilter": {
+ "route": "FROM /messages/modules/SimulatedTemperatureSensor/outputs/temperatureOutput INTO BrokeredEndpoint(\"/modules/testModule/inputs/input1\")",
+ "priority": 0,
+ "timeToLiveSecs": 1800
+ },
+ "filterToIoTHub": {
+ "route": "FROM /messages/modules/testModule/outputs/output1 INTO $upstream",
+ "priority": 1,
+ "timeToLiveSecs": 1800
+ }
+ },
+ "storeAndForwardConfiguration": {
+ "timeToLiveSecs": 100
+ }
+ }
+ }
+ }
}
}
]
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_update.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_update.json
new file mode 100644
index 000000000000..1f63237c04eb
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/devicetemplates_update.json
@@ -0,0 +1,352 @@
+{
+ "title": "Update a device template",
+ "description": "Updates and publishes a device template.",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "deviceTemplateId": "dtmi:contoso:testDeviceTemplate;1",
+ "api-version": "1.1-preview",
+ "body": {
+ "@type": [
+ "ModelDefinition",
+ "DeviceModel",
+ "EdgeModel"
+ ],
+ "displayName": "Test Definition",
+ "capabilityModel": {
+ "@id": "dtmi:contoso:testCapabilityModel;1",
+ "@type": "Interface",
+ "displayName": "Test Capability Model",
+ "extends": [
+ {
+ "@id": "dtmi:contoso:testInterface;1",
+ "@type": "Interface",
+ "displayName": "Test Interface",
+ "contents": [
+ {
+ "@type": "Telemetry",
+ "displayName": "Test Telemetry",
+ "name": "testTelemetry",
+ "schema": "double"
+ },
+ {
+ "@type": [
+ "Telemetry",
+ "Event",
+ "EventValue"
+ ],
+ "displayName": "Test Event",
+ "name": "testEvent",
+ "schema": "integer",
+ "severity": "warning"
+ },
+ {
+ "@type": [
+ "Property",
+ "Initialized"
+ ],
+ "displayName": "Test Property",
+ "name": "testProperty",
+ "schema": "string",
+ "writable": true,
+ "initialValue": "initialValue1"
+ },
+ {
+ "@type": "Property",
+ "displayName": "Test Read-Only Property",
+ "name": "testReadOnly",
+ "schema": "string"
+ },
+ {
+ "@type": "Property",
+ "displayName": "Test Complex Property",
+ "name": "testComplex",
+ "schema": {
+ "@id": "dtmi:contoso:testComplex;1",
+ "@type": "Object",
+ "displayName": "Object",
+ "fields": [
+ {
+ "displayName": "First",
+ "name": "first",
+ "schema": "string"
+ },
+ {
+ "displayName": "Second",
+ "name": "second",
+ "schema": "string"
+ }
+ ]
+ },
+ "writable": true
+ },
+ {
+ "@type": "Command",
+ "commandType": "synchronous",
+ "displayName": "Test Command",
+ "name": "testCommand",
+ "request": {
+ "displayName": "Test Request",
+ "name": "testRequest",
+ "schema": "double"
+ },
+ "response": {
+ "displayName": "Test Response",
+ "name": "testResponse",
+ "schema": "geopoint"
+ }
+ },
+ {
+ "@type": "Property",
+ "displayName": "Test Enum",
+ "name": "testEnum",
+ "schema": {
+ "@id": "dtmi:contoso:testEnum;1",
+ "@type": "Enum",
+ "displayName": "Enum",
+ "enumValues": [
+ {
+ "displayName": "First",
+ "enumValue": 1,
+ "name": "first"
+ },
+ {
+ "displayName": "Second",
+ "enumValue": 2,
+ "name": "second"
+ }
+ ],
+ "valueSchema": "integer"
+ },
+ "writable": true
+ }
+ ]
+ }
+ ],
+ "contents": [
+ {
+ "@type": [
+ "Relationship",
+ "EdgeModule"
+ ],
+ "displayName": "Test Module",
+ "maxMultiplicity": 1,
+ "name": "testModule",
+ "target": [
+ {
+ "@id": "dtmi:contoso:testModuleCapabilityModel;1",
+ "@type": "Interface",
+ "displayName": "Test Module Capability Model",
+ "extends": [
+ {
+ "@id": "dtmi:contoso:testModuleInterface;1",
+ "@type": "Interface",
+ "contents": [
+ {
+ "@type": "Telemetry",
+ "displayName": "Test Module Telemetry",
+ "name": "testModuleTelemetry",
+ "schema": "double"
+ },
+ {
+ "@type": "Property",
+ "displayName": "Test Module Property",
+ "name": "testModuleProperty",
+ "schema": "string",
+ "writable": true
+ }
+ ],
+ "displayName": "Test Module Interface"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "@type": [
+ "Cloud",
+ "Property"
+ ],
+ "displayName": "Test Cloud Property",
+ "name": "testCloudProperty",
+ "schema": "dateTime"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "@id": "dtmi:contoso:testDeviceTemplate;1",
+ "@type": [
+ "ModelDefinition",
+ "DeviceModel",
+ "EdgeModel"
+ ],
+ "displayName": "Test Definition",
+ "etag": "\"~jbzfGhYctc9wtzNZXVmVua5JjTHO/FfjMUJvk9hqkRY=\"",
+ "capabilityModel": {
+ "@id": "dtmi:contoso:testCapabilityModel;1",
+ "@type": "Interface",
+ "displayName": "Test Capability Model",
+ "extends": [
+ {
+ "@id": "dtmi:contoso:testInterface;1",
+ "@type": "Interface",
+ "displayName": "Test Interface",
+ "contents": [
+ {
+ "@type": "Telemetry",
+ "displayName": "Test Telemetry",
+ "name": "testTelemetry",
+ "schema": "double"
+ },
+ {
+ "@type": [
+ "Telemetry",
+ "Event",
+ "EventValue"
+ ],
+ "displayName": "Test Event",
+ "name": "testEvent",
+ "schema": "integer",
+ "severity": "warning"
+ },
+ {
+ "@type": [
+ "Property",
+ "Initialized"
+ ],
+ "displayName": "Test Property",
+ "name": "testProperty",
+ "schema": "string",
+ "writable": true,
+ "initialValue": "initialValue1"
+ },
+ {
+ "@type": "Property",
+ "displayName": "Test Read-Only Property",
+ "name": "testReadOnly",
+ "schema": "string"
+ },
+ {
+ "@type": "Property",
+ "displayName": "Test Complex Property",
+ "name": "testComplex",
+ "schema": {
+ "@id": "dtmi:contoso:testComplex;1",
+ "@type": "Object",
+ "displayName": "Object",
+ "fields": [
+ {
+ "displayName": "First",
+ "name": "first",
+ "schema": "string"
+ },
+ {
+ "displayName": "Second",
+ "name": "second",
+ "schema": "string"
+ }
+ ]
+ },
+ "writable": true
+ },
+ {
+ "@type": "Command",
+ "commandType": "synchronous",
+ "displayName": "Test Command",
+ "name": "testCommand",
+ "request": {
+ "displayName": "Test Request",
+ "name": "testRequest",
+ "schema": "double"
+ },
+ "response": {
+ "displayName": "Test Response",
+ "name": "testResponse",
+ "schema": "geopoint"
+ }
+ },
+ {
+ "@type": "Property",
+ "displayName": "Test Enum",
+ "name": "testEnum",
+ "schema": {
+ "@id": "dtmi:contoso:testEnum;1",
+ "@type": "Enum",
+ "displayName": "Enum",
+ "enumValues": [
+ {
+ "displayName": "First",
+ "enumValue": 1,
+ "name": "first"
+ },
+ {
+ "displayName": "Second",
+ "enumValue": 2,
+ "name": "second"
+ }
+ ],
+ "valueSchema": "integer"
+ },
+ "writable": true
+ }
+ ]
+ }
+ ],
+ "contents": [
+ {
+ "@type": [
+ "Relationship",
+ "EdgeModule"
+ ],
+ "displayName": "Test Module",
+ "maxMultiplicity": 1,
+ "name": "testModule",
+ "target": [
+ {
+ "@id": "dtmi:contoso:testModuleCapabilityModel;1",
+ "@type": "Interface",
+ "displayName": "Test Module Capability Model",
+ "extends": [
+ {
+ "@id": "dtmi:contoso:testModuleInterface;1",
+ "@type": "Interface",
+ "contents": [
+ {
+ "@type": "Telemetry",
+ "displayName": "Test Module Telemetry",
+ "name": "testModuleTelemetry",
+ "schema": "double"
+ },
+ {
+ "@type": "Property",
+ "displayName": "Test Module Property",
+ "name": "testModuleProperty",
+ "schema": "string",
+ "writable": true
+ }
+ ],
+ "displayName": "Test Module Interface"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "@type": [
+ "Cloud",
+ "Property"
+ ],
+ "displayName": "Test Cloud Property",
+ "name": "testCloudProperty",
+ "schema": "dateTime"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/fileUpload_get.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/fileUpload_get.json
index 8c92cf9cead7..f8b252909c54 100644
--- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/fileUpload_get.json
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/fileUpload_get.json
@@ -12,7 +12,6 @@
"account": "contoso-account",
"connectionString": "DefaultEndpointsProtocol=https;AccountName=MyAccountName;AccountKey=*****;EndpointSuffix=core.windows.net",
"container": "container",
- "sasTtl": "PT2H",
"state": "succeeded"
}
}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/query_run.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/query_run.json
new file mode 100644
index 000000000000..f8dbf4c8310d
--- /dev/null
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/examples/query_run.json
@@ -0,0 +1,65 @@
+{
+ "title": "Query telemetry",
+ "description": "Telemetry Query with Aggregation",
+ "parameters": {
+ "baseDomain": "azureiotcentral.com",
+ "subdomain": "appsubdomain",
+ "api-version": "1.1-preview",
+ "body": {
+ "query": "SELECT AVG(RootTelemetry), MAX(RootTelemetry) FROM dtmi:modelDefinition:y5zk2yqblv:en9xfxjif WHERE WITHIN_WINDOW(P1D) AND RootTelemetry > 0 GROUP BY WINDOW(PT3H) ORDER BY $ts ASC"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "results": [
+ {
+ "$ts": "2021-07-13T15:00:00Z",
+ "avg_RootTelemetry": 50.694243369718016,
+ "max_RootTelemetry": 94.84065276149875
+ },
+ {
+ "$ts": "2021-07-13T18:00:00Z",
+ "avg_RootTelemetry": 50.18217245036151,
+ "max_RootTelemetry": 94.06959391609293
+ },
+ {
+ "$ts": "2021-07-13T21:00:00Z",
+ "avg_RootTelemetry": 49.146167597153536,
+ "max_RootTelemetry": 92.23986369686345
+ },
+ {
+ "$ts": "2021-07-14T00:00:00Z",
+ "avg_RootTelemetry": 50.175258720781486,
+ "max_RootTelemetry": 93.635346493204
+ },
+ {
+ "$ts": "2021-07-14T03:00:00Z",
+ "avg_RootTelemetry": 49.89615329936023,
+ "max_RootTelemetry": 97.06116727704713
+ },
+ {
+ "$ts": "2021-07-14T06:00:00Z",
+ "avg_RootTelemetry": 50.45104017085097,
+ "max_RootTelemetry": 97.62388863622462
+ },
+ {
+ "$ts": "2021-07-14T09:00:00Z",
+ "avg_RootTelemetry": 50.256835113864774,
+ "max_RootTelemetry": 97.920784666869
+ },
+ {
+ "$ts": "2021-07-14T12:00:00Z",
+ "avg_RootTelemetry": 49.68389289395193,
+ "max_RootTelemetry": 97.33361905646282
+ },
+ {
+ "$ts": "2021-07-14T15:00:00Z",
+ "avg_RootTelemetry": 50.27084162154068,
+ "max_RootTelemetry": 94.65114410748755
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/iotcentral.json b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/iotcentral.json
index 9c40c8f5961f..549de12aba5d 100644
--- a/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/iotcentral.json
+++ b/specification/iotcentral/data-plane/Microsoft.IoTCentral/preview/1.1-preview/iotcentral.json
@@ -107,6 +107,82 @@
],
"discriminator": "type"
},
+ "BlobStorageV1Destination": {
+ "x-ms-discriminator-value": "blobstorage@v1",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Destination"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "authorization": {
+ "$ref": "#/definitions/BlobStorageV1DestinationAuth"
+ }
+ },
+ "required": [
+ "authorization"
+ ]
+ },
+ "BlobStorageV1DestinationAuth": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The kind of authentication to use.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "discriminator": "type"
+ },
+ "BlobStorageV1DestinationConnectionStringAuth": {
+ "x-ms-discriminator-value": "connectionString",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BlobStorageV1DestinationAuth"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string for accessing the blob storage account.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Name of the container where data should be written in the storage account.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "connectionString",
+ "containerName"
+ ]
+ },
+ "BlobStorageV1DestinationSystemAssignedManagedIdentityAuth": {
+ "x-ms-discriminator-value": "systemAssignedManagedIdentity",
+ "allOf": [
+ {
+ "$ref": "#/definitions/BlobStorageV1DestinationAuth"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "endpointUri": {
+ "description": "The storage account's blob service endpoint URL.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Name of the container where data should be written in the storage account.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "endpointUri",
+ "containerName"
+ ]
+ },
"CloudPropertyJobData": {
"x-ms-discriminator-value": "cloudProperty",
"allOf": [
@@ -142,6 +218,181 @@
}
]
},
+ "DataExplorerV1Destination": {
+ "x-ms-discriminator-value": "dataexplorer@v1",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Destination"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "clusterUrl": {
+ "description": "The resource URI of the Data Explorer instance.",
+ "type": "string"
+ },
+ "database": {
+ "description": "Name Data Explorer database where data should be written.",
+ "type": "string"
+ },
+ "table": {
+ "description": "The table within the Data Explorer database that will receive the data.",
+ "type": "string"
+ },
+ "authorization": {
+ "$ref": "#/definitions/DataExplorerV1DestinationAuth"
+ }
+ },
+ "required": [
+ "clusterUrl",
+ "database",
+ "table",
+ "authorization"
+ ]
+ },
+ "DataExplorerV1DestinationAuth": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The kind of authentication to use.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "discriminator": "type"
+ },
+ "DataExplorerV1DestinationServicePrincipalAuth": {
+ "x-ms-discriminator-value": "servicePrincipal",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataExplorerV1DestinationAuth"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "clientId": {
+ "description": "Service Principal client ID.",
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "Service Principal tenant ID.",
+ "type": "string"
+ },
+ "clientSecret": {
+ "description": "Service Principal client secret.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "clientId",
+ "tenantId",
+ "clientSecret"
+ ]
+ },
+ "DataExportError": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The code for the error that occurred.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The description of the error that occurred.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataExportStatus": {
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Indication of the current health and operation of the export or destination.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errors": {
+ "description": "Errors encountered by the export or destination.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataExportError"
+ },
+ "readOnly": true
+ },
+ "lastExportTime": {
+ "description": "The timestamp of the last message that was sent to the export or destination.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ }
+ }
+ },
+ "Destination": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataExportStatus"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique ID of the destination.",
+ "type": "string",
+ "readOnly": true
+ },
+ "displayName": {
+ "description": "Display name of the destination.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of destination configuration.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "displayName",
+ "type"
+ ],
+ "discriminator": "type"
+ },
+ "DestinationCollection": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection of destinations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Destination"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next page of destinations.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "DestinationReference": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the destination where data should be sent."
+ },
+ "transform": {
+ "type": "string",
+ "description": "Query for transforming the message structure to a particular output."
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
"Device": {
"type": "object",
"properties": {
@@ -327,6 +578,48 @@
"type": "object",
"additionalProperties": true
},
+ "DeviceRelationship": {
+ "type": "object",
+ "description": "An object representing the relationship between an upstream and a downstream device.",
+ "properties": {
+ "id": {
+ "description": "The unique identifier of this relationship.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name which describes this relationship between given devices from source device template.",
+ "type": "string"
+ },
+ "source": {
+ "description": "The device ID of the source (parent) device.",
+ "type": "string"
+ },
+ "target": {
+ "description": "The device ID of the target (child) device.",
+ "type": "string"
+ }
+ }
+ },
+ "DeviceRelationshipCollection": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection of device relationships.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DeviceRelationship"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next page of device relationships.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
"DeviceTelemetry": {
"type": "object",
"properties": {
@@ -370,6 +663,10 @@
"capabilityModel": {
"description": "The capability model utilized by this device template.",
"type": "object"
+ },
+ "deploymentManifest": {
+ "description": "Deployment manifest associated to this device template.",
+ "type": "object"
}
},
"required": [
@@ -415,32 +712,227 @@
"email"
]
},
- "FileUpload": {
+ "Enrichment": {
"type": "object",
"properties": {
- "account": {
- "description": "The storage account name where to upload the file to",
+ "target": {
+ "description": "The device template or interface which defines the target capability for the enrichment.",
"type": "string"
},
- "connectionString": {
- "description": "The connection string used to configure the storage account",
+ "path": {
+ "description": "The path to the target capability within the device template or the system property to use.",
"type": "string"
},
- "container": {
- "description": "The name of the container inside the storage account",
+ "value": {
+ "description": "The raw value used for the enrichment."
+ }
+ }
+ },
+ "EventHubsV1Destination": {
+ "x-ms-discriminator-value": "eventhubs@v1",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Destination"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "authorization": {
+ "$ref": "#/definitions/EventHubsV1DestinationAuth"
+ }
+ },
+ "required": [
+ "authorization"
+ ]
+ },
+ "EventHubsV1DestinationAuth": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The kind of authentication to use.",
"type": "string"
- },
- "sasTtl": {
- "description": "ISO 8601 duration standard, The amount of time the device’s request to upload a file is valid before it expires.",
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "discriminator": "type"
+ },
+ "EventHubsV1DestinationConnectionStringAuth": {
+ "x-ms-discriminator-value": "connectionString",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventHubsV1DestinationAuth"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string for accessing the Event Hubs namespace, including the `EntityPath` of the event hub.",
"type": "string"
- },
- "state": {
- "description": "The state of the file upload configuration",
- "type": "string",
- "readOnly": true,
- "enum": [
- "pending",
- "updating",
+ }
+ },
+ "required": [
+ "connectionString"
+ ]
+ },
+ "EventHubsV1DestinationSystemAssignedManagedIdentityAuth": {
+ "x-ms-discriminator-value": "systemAssignedManagedIdentity",
+ "allOf": [
+ {
+ "$ref": "#/definitions/EventHubsV1DestinationAuth"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "hostName": {
+ "description": "The host name of the Event Hubs namespace.",
+ "type": "string"
+ },
+ "eventHubName": {
+ "description": "The Event Hubs instance name.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "hostName",
+ "eventHubName"
+ ]
+ },
+ "Export": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataExportStatus"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Unique ID of the export.",
+ "type": "string",
+ "readOnly": true
+ },
+ "displayName": {
+ "description": "Display name of the export.",
+ "type": "string"
+ },
+ "enabled": {
+ "description": "Toggle to start/stop an export from sending data.",
+ "type": "boolean"
+ },
+ "source": {
+ "description": "The type of data to export.",
+ "type": "string",
+ "enum": [
+ "telemetry",
+ "properties",
+ "deviceLifecycle",
+ "deviceTemplateLifecycle",
+ "deviceConnectivity"
+ ],
+ "x-ms-enum": {
+ "name": "DestinationSource",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "telemetry",
+ "name": "Telemetry",
+ "description": "Destination source from device telemetry"
+ },
+ {
+ "value": "properties",
+ "name": "Properties",
+ "description": "Destination source from device properties"
+ },
+ {
+ "value": "deviceLifecycle",
+ "name": "DeviceLifecycle",
+ "description": "Destination source from device lifecycle"
+ },
+ {
+ "value": "deviceTemplateLifecycle",
+ "name": "DeviceTemplateLifecycle",
+ "description": "Destination source from device template lifecycle"
+ },
+ {
+ "value": "deviceConnectivity",
+ "name": "DeviceConnectivity",
+ "description": "Destination source from device connectivity"
+ }
+ ]
+ }
+ },
+ "filter": {
+ "description": "Query defining which events from the source should be exported.",
+ "type": "string"
+ },
+ "enrichments": {
+ "description": "Additional pieces of information to include with each sent message. Data is represented as a set of key/value pairs, where the key is the name of the enrichment that will appear in the output message and the value identifies the data to send.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/Enrichment"
+ }
+ },
+ "destinations": {
+ "description": "The list of destinations to which the export should send data.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DestinationReference"
+ }
+ }
+ },
+ "required": [
+ "displayName",
+ "enabled",
+ "source",
+ "destinations"
+ ]
+ },
+ "ExportCollection": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection of exports.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next page of exports.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "FileUpload": {
+ "type": "object",
+ "properties": {
+ "account": {
+ "description": "The storage account name where to upload the file to",
+ "type": "string"
+ },
+ "connectionString": {
+ "description": "The connection string used to configure the storage account",
+ "type": "string"
+ },
+ "container": {
+ "description": "The name of the container inside the storage account",
+ "type": "string"
+ },
+ "sasTtl": {
+ "description": "ISO 8601 duration standard, The amount of time the device’s request to upload a file is valid before it expires.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The state of the file upload configuration",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "pending",
+ "updating",
"deleting",
"succeeded",
"failed"
@@ -522,6 +1014,15 @@
"description": "Indicates whether the job is starting, running, etc.",
"type": "string",
"readOnly": true
+ },
+ "organizations": {
+ "description": "List of organizations of the job.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1,
+ "maxItems": 1
}
},
"required": [
@@ -746,6 +1247,32 @@
}
]
},
+ "QueryRequest": {
+ "type": "object",
+ "properties": {
+ "query": {
+ "description": "Query to be executed.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "query"
+ ]
+ },
+ "QueryResponse": {
+ "type": "object",
+ "properties": {
+ "results": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ }
+ }
+ },
+ "required": [
+ "results"
+ ]
+ },
"Role": {
"type": "object",
"properties": {
@@ -795,6 +1322,148 @@
"value"
]
},
+ "ServiceBusQueueV1Destination": {
+ "x-ms-discriminator-value": "servicebusqueue@v1",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Destination"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "authorization": {
+ "$ref": "#/definitions/ServiceBusQueueV1DestinationAuth"
+ }
+ },
+ "required": [
+ "authorization"
+ ]
+ },
+ "ServiceBusQueueV1DestinationAuth": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The kind of authentication to use.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "discriminator": "type"
+ },
+ "ServiceBusQueueV1DestinationConnectionStringAuth": {
+ "x-ms-discriminator-value": "connectionString",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceBusQueueV1DestinationAuth"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string for accessing the Service Bus namespace, including the `EntityPath` of the queue.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "connectionString"
+ ]
+ },
+ "ServiceBusQueueV1DestinationSystemAssignedManagedIdentityAuth": {
+ "x-ms-discriminator-value": "systemAssignedManagedIdentity",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceBusQueueV1DestinationAuth"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "hostName": {
+ "description": "The host name of the Service Bus namespace.",
+ "type": "string"
+ },
+ "queueName": {
+ "description": "The Service Bus queue name.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "hostName",
+ "queueName"
+ ]
+ },
+ "ServiceBusTopicV1Destination": {
+ "x-ms-discriminator-value": "servicebustopic@v1",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Destination"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "authorization": {
+ "$ref": "#/definitions/ServiceBusTopicV1DestinationAuth"
+ }
+ },
+ "required": [
+ "authorization"
+ ]
+ },
+ "ServiceBusTopicV1DestinationAuth": {
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The kind of authentication to use.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "discriminator": "type"
+ },
+ "ServiceBusTopicV1DestinationConnectionStringAuth": {
+ "x-ms-discriminator-value": "connectionString",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceBusTopicV1DestinationAuth"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "description": "The connection string for accessing the Service Bus namespace, including the `EntityPath` of the topic.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "connectionString"
+ ]
+ },
+ "ServiceBusTopicV1DestinationSystemAssignedManagedIdentityAuth": {
+ "x-ms-discriminator-value": "systemAssignedManagedIdentity",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ServiceBusTopicV1DestinationAuth"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "hostName": {
+ "description": "The host name of the Service Bus namespace.",
+ "type": "string"
+ },
+ "topicName": {
+ "description": "The Service Bus topic name.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "hostName",
+ "topicName"
+ ]
+ },
"ServicePrincipalUser": {
"x-ms-discriminator-value": "servicePrincipal",
"allOf": [
@@ -925,38 +1594,186 @@
"value"
]
},
- "X509": {
- "type": "object",
- "properties": {
- "clientCertificates": {
- "description": "The X.509 client certificates for this credential.",
- "$ref": "#/definitions/X509Certificates"
- }
- }
- },
- "X509Attestation": {
- "x-ms-discriminator-value": "x509",
+ "WebhookV1Destination": {
+ "x-ms-discriminator-value": "webhook@v1",
"allOf": [
{
- "$ref": "#/definitions/Attestation"
+ "$ref": "#/definitions/Destination"
}
],
"type": "object",
"properties": {
- "x509": {
- "description": "The X.509 credentials for this attestation.",
- "$ref": "#/definitions/X509"
+ "url": {
+ "description": "The URL to invoke when exporting data.",
+ "type": "string"
+ },
+ "queryCustomizations": {
+ "description": "Additional query parameters that should be added to each request.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/WebhookV1DestinationCustomization"
+ }
+ },
+ "headerCustomizations": {
+ "description": "Additional headers that should be added to each request.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/WebhookV1DestinationCustomization"
+ }
+ },
+ "authorization": {
+ "$ref": "#/definitions/WebhookV1DestinationAuth"
}
},
"required": [
- "x509"
+ "url"
]
},
- "X509Certificate": {
+ "WebhookV1DestinationAuth": {
"type": "object",
"properties": {
- "certificate": {
- "description": "The string representation of this certificate.",
+ "type": {
+ "description": "The kind of authentication to use.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "discriminator": "type"
+ },
+ "WebhookV1DestinationCustomization": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value to use for this webhook customization.",
+ "type": "string"
+ },
+ "secret": {
+ "description": "Whether to consider the value to be a secret and hide it when retrieving the destination configuration.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "WebhookV1DestinationHeaderAuth": {
+ "x-ms-discriminator-value": "header",
+ "allOf": [
+ {
+ "$ref": "#/definitions/WebhookV1DestinationAuth"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Value to use for the Authorization header when making requests.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "WebhookV1DestinationOAuthAuth": {
+ "x-ms-discriminator-value": "oauth",
+ "allOf": [
+ {
+ "$ref": "#/definitions/WebhookV1DestinationAuth"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "tokenUrl": {
+ "description": "URL where an access token can be retrieved.",
+ "type": "string"
+ },
+ "clientId": {
+ "description": "OAuth2 client ID used when retrieving the token.",
+ "type": "string"
+ },
+ "clientSecret": {
+ "description": "OAuth2 client secret used to retrieve the token.",
+ "type": "string"
+ },
+ "audience": {
+ "description": "OAuth2 audience.",
+ "type": "string"
+ },
+ "scope": {
+ "description": "OAuth2 scope.",
+ "type": "string"
+ },
+ "requestType": {
+ "description": "Content-Type for the token request.",
+ "type": "string",
+ "enum": [
+ "auto",
+ "json",
+ "urlencoded"
+ ],
+ "x-ms-enum": {
+ "name": "OAuthRequestType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "auto",
+ "name": "Auto",
+ "description": "Use automatic Content-Type for token request"
+ },
+ {
+ "value": "json",
+ "name": "Json",
+ "description": "Content-Type as JSON for token request"
+ },
+ {
+ "value": "urlencoded",
+ "name": "UrlEncoded",
+ "description": "Content-Type as UrlEncoded for token request"
+ }
+ ]
+ }
+ }
+ },
+ "required": [
+ "tokenUrl",
+ "clientId",
+ "clientSecret"
+ ]
+ },
+ "X509": {
+ "type": "object",
+ "properties": {
+ "clientCertificates": {
+ "description": "The X.509 client certificates for this credential.",
+ "$ref": "#/definitions/X509Certificates"
+ }
+ }
+ },
+ "X509Attestation": {
+ "x-ms-discriminator-value": "x509",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Attestation"
+ }
+ ],
+ "type": "object",
+ "properties": {
+ "x509": {
+ "description": "The X.509 credentials for this attestation.",
+ "$ref": "#/definitions/X509"
+ }
+ },
+ "required": [
+ "x509"
+ ]
+ },
+ "X509Certificate": {
+ "type": "object",
+ "properties": {
+ "certificate": {
+ "description": "The string representation of this certificate.",
"type": "string"
},
"info": {
@@ -1028,8 +1845,351 @@
"operationId": "ApiTokens_Get",
"summary": "Get an API token by ID.",
"x-ms-examples": {
- "Get API token by ID": {
- "$ref": "./examples/apitoken_get.json"
+ "Get API token by ID": {
+ "$ref": "./examples/apitoken_get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/Version"
+ },
+ {
+ "in": "path",
+ "name": "tokenId",
+ "description": "Unique ID for the API token.",
+ "type": "string",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ApiToken"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "ApiTokens_Create",
+ "summary": "Create a new API token in the application to use in the IoT Central public API. The token value will be returned in the response, and won't be returned again in subsequent requests.",
+ "x-ms-examples": {
+ "Create API token": {
+ "$ref": "./examples/apitoken_create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/Version"
+ },
+ {
+ "in": "path",
+ "name": "tokenId",
+ "description": "Unique ID for the API token.",
+ "type": "string",
+ "required": true
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "API token body.",
+ "schema": {
+ "$ref": "#/definitions/ApiToken"
+ },
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ApiToken"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "ApiTokens_Remove",
+ "summary": "Delete an API token.",
+ "x-ms-examples": {
+ "Delete API token": {
+ "$ref": "./examples/apitoken_delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/Version"
+ },
+ {
+ "in": "path",
+ "name": "tokenId",
+ "description": "Unique ID for the API token.",
+ "type": "string",
+ "required": true
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ }
+ }
+ }
+ },
+ "/dataExport/destinations": {
+ "get": {
+ "operationId": "Destinations_List",
+ "summary": "Get the list of destinations in an application.",
+ "x-ms-examples": {
+ "List data export destinations": {
+ "$ref": "./examples/dataexports_destinations_list.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/Version"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DestinationCollection"
+ }
+ }
+ }
+ }
+ },
+ "/dataExport/destinations/{destinationId}": {
+ "get": {
+ "operationId": "Destinations_Get",
+ "summary": "Get a destination by ID.",
+ "x-ms-examples": {
+ "Get a data export destination": {
+ "$ref": "./examples/dataexports_destinations_get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/Version"
+ },
+ {
+ "$ref": "#/parameters/DestinationId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Destination"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "Destinations_Create",
+ "summary": "Create or update a destination",
+ "description": "Create or update a definition for where to send data.",
+ "x-ms-examples": {
+ "Create a webhook destination": {
+ "$ref": "./examples/dataexports_destinations_create_webhook.json"
+ },
+ "Create an azure blob storage destination": {
+ "$ref": "./examples/dataexports_destinations_create_blob.json"
+ },
+ "Create an azure data explorer destination": {
+ "$ref": "./examples/dataexports_destinations_create_adx.json"
+ },
+ "Create an azure event hub destination": {
+ "$ref": "./examples/dataexports_destinations_create_eventhub.json"
+ },
+ "Create an azure service bus queue destination": {
+ "$ref": "./examples/dataexports_destinations_create_queue.json"
+ },
+ "Create an azure service bus topic destination": {
+ "$ref": "./examples/dataexports_destinations_create_topic.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/Version"
+ },
+ {
+ "$ref": "#/parameters/DestinationId"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Destination body.",
+ "schema": {
+ "$ref": "#/definitions/Destination"
+ },
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Destination"
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "Destinations_Update",
+ "summary": "Patch a destination.",
+ "description": "Perform an incremental update to a destination.",
+ "x-ms-examples": {
+ "Update an webhook destination": {
+ "$ref": "./examples/dataexports_destinations_update_webhook.json"
+ }
+ },
+ "consumes": [
+ "application/json",
+ "application/json-patch+json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/Version"
+ },
+ {
+ "$ref": "#/parameters/DestinationId"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Destination patch body.",
+ "schema": {
+ "type": "object"
+ },
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Destination"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "Destinations_Remove",
+ "summary": "Delete a destination.",
+ "x-ms-examples": {
+ "Delete data export destination": {
+ "$ref": "./examples/dataexports_destinations_delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/Version"
+ },
+ {
+ "$ref": "#/parameters/DestinationId"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ }
+ }
+ }
+ },
+ "/dataExport/destinations/{destinationId}/exports": {
+ "get": {
+ "operationId": "Destinations_ListExports",
+ "summary": "List all exports connected to the given destination.",
+ "x-ms-examples": {
+ "List all exports connected to the given destination": {
+ "$ref": "./examples/dataexports_destinations_exports_list.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/Version"
+ },
+ {
+ "$ref": "#/parameters/DestinationId"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ExportCollection"
+ }
+ }
+ }
+ }
+ },
+ "/dataExport/exports": {
+ "get": {
+ "operationId": "Exports_List",
+ "summary": "Get the list of exports in an application.",
+ "x-ms-examples": {
+ "List data exports": {
+ "$ref": "./examples/dataexports_exports_list.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/Version"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ExportCollection"
+ }
+ }
+ }
+ }
+ },
+ "/dataExport/exports/{exportId}": {
+ "get": {
+ "operationId": "Exports_Get",
+ "summary": "Get an export by ID.",
+ "x-ms-examples": {
+ "Get data export by ID": {
+ "$ref": "./examples/dataexports_exports_get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/Version"
+ },
+ {
+ "$ref": "#/parameters/ExportId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "Exports_Create",
+ "summary": "Create or update an export",
+ "description": "Create or update a definition for exporting data. Also used to connect or disconnect an export from destinations.",
+ "x-ms-examples": {
+ "Create data export with ID": {
+ "$ref": "./examples/dataexports_exports_create.json"
}
},
"parameters": [
@@ -1037,10 +2197,15 @@
"$ref": "#/parameters/Version"
},
{
- "in": "path",
- "name": "tokenId",
- "description": "Unique ID for the API token.",
- "type": "string",
+ "$ref": "#/parameters/ExportId"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Export body.",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ },
"required": true
}
],
@@ -1048,36 +2213,37 @@
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ApiToken"
+ "$ref": "#/definitions/Export"
}
}
}
},
- "put": {
- "operationId": "ApiTokens_Create",
- "summary": "Create a new API token in the application to use in the IoT Central public API. The token value will be returned in the response, and won't be returned again in subsequent requests.",
+ "patch": {
+ "operationId": "Exports_Update",
+ "summary": "Patch an export.",
+ "description": "Perform an incremental update to an export.",
"x-ms-examples": {
- "Create API token": {
- "$ref": "./examples/apitoken_create.json"
+ "Update a data export": {
+ "$ref": "./examples/dataexports_exports_update.json"
}
},
+ "consumes": [
+ "application/json",
+ "application/json-patch+json"
+ ],
"parameters": [
{
"$ref": "#/parameters/Version"
},
{
- "in": "path",
- "name": "tokenId",
- "description": "Unique ID for the API token.",
- "type": "string",
- "required": true
+ "$ref": "#/parameters/ExportId"
},
{
"in": "body",
"name": "body",
- "description": "API token body.",
+ "description": "Export patch body.",
"schema": {
- "$ref": "#/definitions/ApiToken"
+ "type": "object"
},
"required": true
}
@@ -1086,17 +2252,17 @@
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ApiToken"
+ "$ref": "#/definitions/Export"
}
}
}
},
"delete": {
- "operationId": "ApiTokens_Remove",
- "summary": "Delete an API token.",
+ "operationId": "Exports_Remove",
+ "summary": "Delete an export.",
"x-ms-examples": {
- "Delete API token": {
- "$ref": "./examples/apitoken_delete.json"
+ "Delete a data export with ID": {
+ "$ref": "./examples/dataexports_exports_delete.json"
}
},
"parameters": [
@@ -1104,11 +2270,7 @@
"$ref": "#/parameters/Version"
},
{
- "in": "path",
- "name": "tokenId",
- "description": "Unique ID for the API token.",
- "type": "string",
- "required": true
+ "$ref": "#/parameters/ExportId"
}
],
"responses": {
@@ -1118,6 +2280,36 @@
}
}
},
+ "/dataExport/exports/{exportId}/destinations": {
+ "get": {
+ "operationId": "Exports_ListDestinations",
+ "summary": "List all destinations connected to the given export.",
+ "x-ms-examples": {
+ "List all destinations in given export": {
+ "$ref": "./examples/dataexports_exports_destinations_list.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/Version"
+ },
+ {
+ "$ref": "#/parameters/ExportId"
+ }
+ ],
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DestinationCollection"
+ }
+ }
+ }
+ }
+ },
"/deviceGroups": {
"get": {
"operationId": "DeviceGroups_List",
@@ -1148,7 +2340,7 @@
"/deviceTemplates": {
"get": {
"operationId": "DeviceTemplates_List",
- "summary": "Get the list of device templates in an application",
+ "summary": "Get the list of device templates in an application with basic ODATA support ($top, $filter, $orderby), [more details](https://aka.ms/iotcentralodatasupport).",
"x-ms-examples": {
"List device templates": {
"$ref": "./examples/devicetemplates_list.json"
@@ -1157,6 +2349,15 @@
"parameters": [
{
"$ref": "#/parameters/Version"
+ },
+ {
+ "$ref": "#/parameters/filter"
+ },
+ {
+ "$ref": "#/parameters/top"
+ },
+ {
+ "$ref": "#/parameters/orderBy"
}
],
"x-ms-pageable": {
@@ -1177,7 +2378,7 @@
"operationId": "DeviceTemplates_Get",
"summary": "Get a device template by ID",
"x-ms-examples": {
- "Get a device template by Id": {
+ "Get a device template by ID": {
"$ref": "./examples/devicetemplates_get.json"
}
},
@@ -1237,7 +2438,7 @@
"summary": "Update the cloud properties and overrides of an existing device template via patch.",
"x-ms-examples": {
"Update a device template": {
- "$ref": "./examples/devicetemplates_create.json"
+ "$ref": "./examples/devicetemplates_update.json"
}
},
"parameters": [
@@ -1271,7 +2472,7 @@
"summary": "Delete a device template",
"description": "Delete an existing device template by device ID.",
"x-ms-examples": {
- "Delete a device template by Id": {
+ "Delete a device template by ID": {
"$ref": "./examples/devicetemplates_delete.json"
}
},
@@ -1293,7 +2494,7 @@
"/devices": {
"get": {
"operationId": "Devices_List",
- "summary": "Get the list of devices in an application",
+ "summary": "Get the list of devices in an application with basic ODATA support ($top, $filter, $orderby), [more details](https://aka.ms/iotcentralodatasupport).",
"x-ms-examples": {
"List devices": {
"$ref": "./examples/devices_list.json"
@@ -1302,6 +2503,15 @@
"parameters": [
{
"$ref": "#/parameters/Version"
+ },
+ {
+ "$ref": "#/parameters/filter"
+ },
+ {
+ "$ref": "#/parameters/top"
+ },
+ {
+ "$ref": "#/parameters/orderBy"
}
],
"x-ms-pageable": {
@@ -1323,7 +2533,7 @@
"summary": "Get a device by ID",
"description": "Get details about an existing device by device ID.",
"x-ms-examples": {
- "Get device by Id": {
+ "Get device by ID": {
"$ref": "./examples/devices_get.json"
}
},
@@ -2537,6 +3747,171 @@
}
}
},
+ "/devices/{deviceId}/relationships/": {
+ "get": {
+ "operationId": "Devices_ListRelationships",
+ "summary": "Given the ID for an upstream device, will return the upstream and the downstream relationships associated with that gateway. These downstream relationships are only those associated with the direct downstream level (they don’t work recursively).",
+ "description": "List all relationships based on device ID",
+ "x-ms-examples": {
+ "List device relationships": {
+ "$ref": "./examples/devices_relationships_list.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/Version"
+ },
+ {
+ "$ref": "#/parameters/DeviceId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceRelationshipCollection"
+ }
+ }
+ }
+ }
+ },
+ "/devices/{deviceId}/relationships/{relationshipId}": {
+ "get": {
+ "operationId": "Devices_GetRelationship",
+ "summary": "Given the ID for a device and a relationship ID associated with this device, get the details of the relationship.",
+ "description": "Get device relationship by ID",
+ "x-ms-examples": {
+ "Get device relationship by ID": {
+ "$ref": "./examples/devices_relationships_get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/Version"
+ },
+ {
+ "$ref": "#/parameters/DeviceId"
+ },
+ {
+ "$ref": "#/parameters/RelationshipId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceRelationship"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "Devices_CreateRelationship",
+ "summary": "Given the ID for a device and a relationship ID associated with this device, create a new relationship for between the given device and a second device specified in the body.",
+ "description": "Create a device relationship",
+ "x-ms-examples": {
+ "Create a new device relationship": {
+ "$ref": "./examples/devices_relationships_create.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/Version"
+ },
+ {
+ "$ref": "#/parameters/DeviceId"
+ },
+ {
+ "$ref": "#/parameters/RelationshipId"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Device relationship body.",
+ "schema": {
+ "$ref": "#/definitions/DeviceRelationship"
+ },
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceRelationship"
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "Devices_UpdateRelationship",
+ "summary": "Patch a given relationship given the relationship ID and a given device ID.",
+ "description": "Update device relationship",
+ "x-ms-examples": {
+ "Update a device relationship": {
+ "$ref": "./examples/devices_relationships_update.json"
+ }
+ },
+ "consumes": [
+ "application/json",
+ "application/json-patch+json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/Version"
+ },
+ {
+ "$ref": "#/parameters/DeviceId"
+ },
+ {
+ "$ref": "#/parameters/RelationshipId"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "Device relationship patch body.",
+ "schema": {
+ "type": "object"
+ },
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/DeviceRelationship"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "Devices_RemoveRelationship",
+ "summary": "Given the ID for a device and an associated relationship ID, delete the relationship. The given device ID can be that of the upstream or downstream device.",
+ "description": "Delete a device relationship",
+ "x-ms-examples": {
+ "Delete a device relationship": {
+ "$ref": "./examples/devices_relationships_delete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/Version"
+ },
+ {
+ "$ref": "#/parameters/DeviceId"
+ },
+ {
+ "$ref": "#/parameters/RelationshipId"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Success"
+ }
+ }
+ }
+ },
"/devices/{deviceId}/telemetry/{telemetryName}": {
"get": {
"operationId": "Devices_GetTelemetryValue",
@@ -2694,7 +4069,7 @@
"summary": "Get a job by ID",
"description": "Get details about a running or completed job by job ID.",
"x-ms-examples": {
- "Get a job by Id": {
+ "Get a job by ID": {
"$ref": "./examples/jobs_get.json"
}
},
@@ -2868,7 +4243,7 @@
"/organizations": {
"get": {
"operationId": "Organizations_List",
- "summary": "Get the list of organizations the user has access to in an application.",
+ "summary": "Get the list of organizations the user has access to in an application",
"x-ms-examples": {
"List organizations": {
"$ref": "./examples/organizations_list.json"
@@ -3029,6 +4404,39 @@
}
}
},
+ "/query": {
+ "post": {
+ "operationId": "Query_Run",
+ "summary": "Run a query and obtain the result",
+ "x-ms-examples": {
+ "List devices": {
+ "$ref": "./examples/query_run.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/Version"
+ },
+ {
+ "in": "body",
+ "name": "body",
+ "description": "query, more details in [IoT central query language](https://aka.ms/iotcql)",
+ "schema": {
+ "$ref": "#/definitions/QueryRequest"
+ },
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/QueryResponse"
+ }
+ }
+ }
+ }
+ },
"/roles": {
"get": {
"operationId": "Roles_List",
@@ -3061,7 +4469,7 @@
"operationId": "Roles_Get",
"summary": "Get a role by ID.",
"x-ms-examples": {
- "Get role by Id": {
+ "Get role by ID": {
"$ref": "./examples/roles_get.json"
}
},
@@ -3281,6 +4689,14 @@
"type": "string",
"required": true
},
+ "DestinationId": {
+ "in": "path",
+ "name": "destinationId",
+ "description": "Unique ID for the destination.",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true
+ },
"DeviceId": {
"in": "path",
"name": "deviceId",
@@ -3297,6 +4713,14 @@
"type": "string",
"required": true
},
+ "ExportId": {
+ "in": "path",
+ "name": "exportId",
+ "description": "Unique ID for the export.",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true
+ },
"JobId": {
"in": "path",
"name": "jobId",
@@ -3313,6 +4737,14 @@
"type": "string",
"required": true
},
+ "RelationshipId": {
+ "in": "path",
+ "name": "relationshipId",
+ "description": "Unique ID of a relationship between devices.",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": true
+ },
"Subdomain": {
"in": "path",
"name": "subdomain",
@@ -3339,6 +4771,30 @@
"1.1-preview"
],
"required": true
+ },
+ "filter": {
+ "in": "query",
+ "name": "$filter",
+ "description": "Filter string for results.",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false
+ },
+ "orderBy": {
+ "in": "query",
+ "name": "$orderby",
+ "description": "The order by string for results.",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "required": false
+ },
+ "top": {
+ "in": "query",
+ "name": "$top",
+ "description": "Page size of returned results.",
+ "x-ms-parameter-location": "method",
+ "type": "integer",
+ "required": false
}
},
"securityDefinitions": {
diff --git a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_CreateOrUpdate.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_CreateOrUpdate.json
index 9475c57e83b3..024bf03bd538 100644
--- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_CreateOrUpdate.json
+++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_CreateOrUpdate.json
@@ -13,6 +13,9 @@
"displayName": "My IoT Central App",
"subdomain": "my-iot-central-app",
"template": "iotc-pnp-preview@1.0.0"
+ },
+ "identity": {
+ "type": "SystemAssigned"
}
}
},
@@ -39,6 +42,11 @@
},
"sku": {
"name": "ST2"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd",
+ "principalId": "8988ab15-3e7a-4586-8a1c-ed07a73a53e9"
}
}
},
@@ -65,6 +73,11 @@
},
"sku": {
"name": "ST2"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd",
+ "principalId": "8988ab15-3e7a-4586-8a1c-ed07a73a53e9"
}
}
},
diff --git a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_Get.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_Get.json
index 490a605e453e..df36d17487ae 100644
--- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_Get.json
+++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_Get.json
@@ -28,6 +28,11 @@
},
"sku": {
"name": "F1"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd",
+ "principalId": "8988ab15-3e7a-4586-8a1c-ed07a73a53e9"
}
}
},
diff --git a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_ListByResourceGroup.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_ListByResourceGroup.json
index bef602c32f24..5322d6def274 100644
--- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_ListByResourceGroup.json
+++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_ListByResourceGroup.json
@@ -28,6 +28,11 @@
},
"sku": {
"name": "F1"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd",
+ "principalId": "8988ab15-3e7a-4586-8a1c-ed07a73a53e9"
}
}
],
diff --git a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_ListBySubscription.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_ListBySubscription.json
index 6692ed91fff9..c05dfc8c6f2f 100644
--- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_ListBySubscription.json
+++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_ListBySubscription.json
@@ -27,6 +27,11 @@
},
"sku": {
"name": "F1"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd",
+ "principalId": "8988ab15-3e7a-4586-8a1c-ed07a73a53e9"
}
}
],
diff --git a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_Update.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_Update.json
index ac9b0261d5ab..697d2fb379aa 100644
--- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_Update.json
+++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/examples/Apps_Update.json
@@ -7,6 +7,9 @@
"AppPatch": {
"properties": {
"displayName": "My IoT Central App 2"
+ },
+ "identity": {
+ "type": "SystemAssigned"
}
}
},
@@ -34,6 +37,11 @@
},
"sku": {
"name": "ST2"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd",
+ "principalId": "8988ab15-3e7a-4586-8a1c-ed07a73a53e9"
}
}
},
diff --git a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/iotcentral.json b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/iotcentral.json
index 03e20a917cb9..59c41e92df94 100644
--- a/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/iotcentral.json
+++ b/specification/iotcentral/resource-manager/Microsoft.IoTCentral/stable/2021-06-01/iotcentral.json
@@ -567,6 +567,10 @@
"sku": {
"description": "A valid instance SKU.",
"$ref": "#/definitions/AppSkuInfo"
+ },
+ "identity": {
+ "description": "The managed identities for the IoT Central application.",
+ "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/SystemAssignedServiceIdentity"
}
},
"allOf": [
@@ -597,6 +601,10 @@
"description": "The common properties of an IoT Central application.",
"x-ms-client-flatten": true,
"$ref": "#/definitions/AppProperties"
+ },
+ "identity": {
+ "description": "The managed identities for the IoT Central application.",
+ "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/SystemAssignedServiceIdentity"
}
}
},
diff --git a/specification/iotcentral/resource-manager/readme.go.md b/specification/iotcentral/resource-manager/readme.go.md
index 6ae9907b07b5..d16c4ac2a9e0 100644
--- a/specification/iotcentral/resource-manager/readme.go.md
+++ b/specification/iotcentral/resource-manager/readme.go.md
@@ -13,9 +13,19 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2021-06
- tag: package-2018-09-01
```
+### Tag: package-2021-06 and go
+
+These settings apply only when `--tag=package-2021-06 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2021-06' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-06-01/$(namespace)
+```
+
### Tag: package-2018-09-01 and go
These settings apply only when `--tag=package-2018-09-01 --go` is specified on the command line.
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/IotHub_ManualFailover.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/IotHub_ManualFailover.json
new file mode 100644
index 000000000000..ba3ce8591da0
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/IotHub_ManualFailover.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "failoverInput": {
+ "failoverRegion": "testHub"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/checkNameAvailability.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/checkNameAvailability.json
new file mode 100644
index 000000000000..f9d5e2f6e31f
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/checkNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "operationInputs": {
+ "name": "test-request"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "Invalid",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_certificatescreateorupdate.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_certificatescreateorupdate.json
new file mode 100644
index 000000000000..5c7ffa5f75d2
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_certificatescreateorupdate.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "resourceName": "iothub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "certificateDescription": {
+ "properties": {
+ "certificate": "############################################"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "certificate": "############################################"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "certificate": "############################################"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_certificatesdelete.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_certificatesdelete.json
new file mode 100644
index 000000000000..6674ad724fce
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_certificatesdelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceName": "myhub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk="
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_certverify.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_certverify.json
new file mode 100644
index 000000000000..9f14c412ae66
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_certverify.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk=",
+ "certificateVerificationBody": {
+ "certificate": "#####################################"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=andbucdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": true,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:26:56 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpTQ="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_createOrUpdate.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_createOrUpdate.json
new file mode 100644
index 000000000000..b0e130d5660a
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_createOrUpdate.json
@@ -0,0 +1,305 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "iotHubDescription": {
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "ipFilterRules": [],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None",
+ "minTlsVersion": "1.2",
+ "enableDataResidency": true
+ },
+ "sku": {
+ "name": "S1",
+ "capacity": 1
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None",
+ "minTlsVersion": "1.2",
+ "enableDataResidency": true
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdAt": "2021-01-30T00:28:38.963Z"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None",
+ "minTlsVersion": "1.2",
+ "enableDataResidency": true
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdAt": "2021-01-30T00:28:38.963Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_createconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_createconsumergroup.json
new file mode 100644
index 000000000000..5ae8777b4386
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_createconsumergroup.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "name": "test",
+ "consumerGroupBody": {
+ "properties": {
+ "name": "test"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "created": "Thu, 15 Jun 2017 19:20:58 GMT"
+ },
+ "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default",
+ "name": "test",
+ "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups",
+ "etag": "AAAAAAFD6M4="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_delete.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_delete.json
new file mode 100644
index 000000000000..20685015f32a
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_delete.json
@@ -0,0 +1,224 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdAt": "2021-01-30T00:28:38.963Z"
+ }
+ }
+ },
+ "204": {},
+ "202": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdAt": "2021-01-30T00:28:38.963Z"
+ }
+ }
+ },
+ "404": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_deleteconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_deleteconsumergroup.json
new file mode 100644
index 000000000000..f8e12b770a27
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_deleteconsumergroup.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "name": "test"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_deleteprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_deleteprivateendpointconnection.json
new file mode 100644
index 000000000000..27d65e823743
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_deleteprivateendpointconnection.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Disconnected",
+ "description": "Deleted",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Disconnected",
+ "description": "Deleted",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_exportdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_exportdevices.json
new file mode 100644
index 000000000000..3e7a090bb890
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_exportdevices.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "exportDevicesParameters": {
+ "authenticationType": "identityBased",
+ "identity": {
+ "userAssignedIdentity": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1"
+ },
+ "exportBlobContainerUri": "testBlob",
+ "excludeKeys": true
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_generateverificationcode.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_generateverificationcode.json
new file mode 100644
index 000000000000..2a56c890fcc2
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_generateverificationcode.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cert",
+ "properties": {
+ "verificationCode": "##################################",
+ "subject": "CN=andbucdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "##############################",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:26:56 GMT"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_get.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_get.json
new file mode 100644
index 000000000000..083f33f8bc60
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_get.json
@@ -0,0 +1,131 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None",
+ "deviceStreams": {
+ "streamingEndpoints": [
+ "https://streams.azure-devices-int.net:9443"
+ ]
+ },
+ "locations": [
+ {
+ "location": "West US",
+ "role": "primary"
+ },
+ {
+ "location": "East US",
+ "role": "secondary"
+ }
+ ],
+ "minTlsVersion": "1.2"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdAt": "2021-01-30T00:28:38.963Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getcertificate.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getcertificate.json
new file mode 100644
index 000000000000..31ff921df634
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getcertificate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceName": "testhub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "certificate": "############################################"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getconsumergroup.json
new file mode 100644
index 000000000000..7d37e97dd0d5
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getconsumergroup.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "name": "test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "created": "Thu, 15 Jun 2017 19:20:58 GMT"
+ },
+ "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default",
+ "name": "test",
+ "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups",
+ "etag": "AAAAAAFD6M4="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getjob.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getjob.json
new file mode 100644
index 000000000000..11311db37fd6
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getjob.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "jobId": "test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getkey.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getkey.json
new file mode 100644
index 000000000000..bf4f814f8518
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getkey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "keyName": "iothubowner"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "keyName": "iothubowner",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "rights": "RegistryWrite, ServiceConnect, DeviceConnect"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getprivateendpointconnection.json
new file mode 100644
index 000000000000..4ff0b85da780
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getprivateendpointconnection.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request!",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getprivatelinkresources.json
new file mode 100644
index 000000000000..2208810789c9
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getprivatelinkresources.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "groupId": "iotHub"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateLinkResources/iotHub",
+ "name": "iotHub",
+ "type": "Microsoft.Devices/IotHubs/PrivateLinkResources",
+ "properties": {
+ "groupId": "iotHub",
+ "requiredMembers": [
+ "iotHub"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azure-devices.net"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getskus.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getskus.json
new file mode 100644
index 000000000000..367922d2f233
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_getskus.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "Microsoft.Devices/IotHubs",
+ "sku": {
+ "name": "S1",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ },
+ {
+ "resourceType": "Microsoft.Devices/IotHubs",
+ "sku": {
+ "name": "S2",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 200,
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ },
+ {
+ "resourceType": "Microsoft.Devices/IotHubs",
+ "sku": {
+ "name": "S3",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 10,
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_importdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_importdevices.json
new file mode 100644
index 000000000000..cf3940c37ac4
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_importdevices.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "importDevicesParameters": {
+ "inputBlobContainerUri": "testBlob",
+ "outputBlobContainerUri": "testBlob"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listbyrg.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listbyrg.json
new file mode 100644
index 000000000000..4c4d8590fd3f
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listbyrg.json
@@ -0,0 +1,120 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdAt": "2021-01-30T00:28:38.963Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listbysubscription.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listbysubscription.json
new file mode 100644
index 000000000000..4cba193e6de0
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listbysubscription.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdAt": "2021-01-30T00:28:38.963Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listcertificates.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listcertificates.json
new file mode 100644
index 000000000000..bac71cb62a87
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listcertificates.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceName": "testhub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "certificate": "############################################"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listehgroups.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listehgroups.json
new file mode 100644
index 000000000000..92f349047ce9
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listehgroups.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "created": "Thu, 15 Jun 2017 19:20:58 GMT"
+ },
+ "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default",
+ "name": "$Default",
+ "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups",
+ "etag": "AAAAAAFD6M4="
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listjobs.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listjobs.json
new file mode 100644
index 000000000000..c5a6c8fe132d
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listjobs.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listkeys.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listkeys.json
new file mode 100644
index 000000000000..51dfe405df35
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listkeys.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "keyName": "iothubowner",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "rights": "RegistryWrite, ServiceConnect, DeviceConnect"
+ },
+ {
+ "keyName": "service",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "rights": "ServiceConnect"
+ },
+ {
+ "keyName": "device",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "rights": "DeviceConnect"
+ },
+ {
+ "keyName": "registryRead",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "rights": "RegistryRead"
+ },
+ {
+ "keyName": "registryReadWrite",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "rights": "RegistryWrite"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listprivateendpointconnections.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listprivateendpointconnections.json
new file mode 100644
index 000000000000..8867691fb477
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listprivateendpointconnections.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request!",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listprivatelinkresources.json
new file mode 100644
index 000000000000..d690aa05e12c
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_listprivatelinkresources.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateLinkResources/iotHub",
+ "name": "iotHub",
+ "type": "Microsoft.Devices/IotHubs/PrivateLinkResources",
+ "properties": {
+ "groupId": "iotHub",
+ "requiredMembers": [
+ "iotHub"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azure-devices.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_operations.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_operations.json
new file mode 100644
index 000000000000..acd916d9d5ef
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_operations.json
@@ -0,0 +1,328 @@
+{
+ "parameters": {
+ "api-version": "2021-07-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Devices/register/action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Register Resource Provider",
+ "description": "Register the subscription for the IotHub resource provider and enables the creation of IotHub resources"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Diagnostic Setting",
+ "description": "Gets the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Set Diagnostic Setting",
+ "description": "Creates or updates the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read IotHub service metric definitions",
+ "description": "Gets the available metrics for the IotHub service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read IotHub service log definitions",
+ "description": "Gets the available log definitions for the IotHub Service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/operations/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get All ResourceProvider Operations",
+ "description": "Get All ResourceProvider Operations"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/checkNameAvailability/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Check If IotHub name is available",
+ "description": "Check If IotHub name is available"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/usages/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Subscription Usages",
+ "description": "Get subscription usage details for this provider."
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub(s)",
+ "description": "Gets the IotHub resource(s)"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Create or update IotHub Resource",
+ "description": "Create or update IotHub Resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Delete IotHub Resource",
+ "description": "Delete IotHub Resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/iotHubStats/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub Statistics",
+ "description": "Get IotHub Statistics"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/skus/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get valid IotHub Skus",
+ "description": "Get valid IotHub Skus"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get all IotHub Keys",
+ "description": "Get all IotHub Keys"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/iotHubKeys/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub Key for the given name",
+ "description": "Get IotHub Key for the given name"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Create EventHub Consumer Group",
+ "description": "Create EventHub Consumer Group"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get EventHub Consumer Group(s)",
+ "description": "Get EventHub Consumer Group(s)"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Delete EventHub Consumer Group",
+ "description": "Delete EventHub Consumer Group"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/exportDevices/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Export Devices",
+ "description": "Export Devices"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/importDevices/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Import Devices",
+ "description": "Import Devices"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/jobs/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get the Job(s) on IotHub",
+ "description": "Get Job(s) details submitted on given IotHub"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/quotaMetrics/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Quota Metrics",
+ "description": "Get Quota Metrics"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routing/routes/$testall/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Routing Rule Test All",
+ "description": "Test a message against all existing Routes"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routing/routes/$testnew/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Routing Rule Test Route",
+ "description": "Test a message against a provided test Route"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routingEndpointsHealth/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Endpoint Health",
+ "description": "Gets the health of all routing Endpoints for an IotHub"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Diagnostic Setting",
+ "description": "Gets the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Set Diagnostic Setting",
+ "description": "Creates or updates the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read DPS service metric definitions",
+ "description": "Gets the available metrics for the DPS service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read DPS service log definitions",
+ "description": "Gets the available log definitions for the DPS Service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/checkProvisioningServiceNameAvailability/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServives",
+ "operation": "Check If Provisioning Service name is available",
+ "description": "Check If Provisioning Service name is available"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Get Provisioning Service resource",
+ "description": "Get Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Create Provisioning Service resource",
+ "description": "Create Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Delete Provisioning Service resource",
+ "description": "Delete Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/skus/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Delete Provisioning Service resource",
+ "description": "Delete Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "get security related metadata",
+ "description": "get security related metadata"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_patch.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_patch.json
new file mode 100644
index 000000000000..8f28ea7a184e
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_patch.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "resourceName": "myHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "location": "East US",
+ "type": "Microsoft.Devices/IotHubs",
+ "IotHubTags": {
+ "tags": {
+ "foo": "bar"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {
+ "foo": "bar"
+ },
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdAt": "2021-01-30T00:28:38.963Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_quotametrics.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_quotametrics.json
new file mode 100644
index 000000000000..d8c89aa76fa3
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_quotametrics.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "TotalMessages",
+ "currentValue": 0,
+ "maxValue": 400000
+ },
+ {
+ "name": "TotalDeviceCount",
+ "currentValue": 0,
+ "maxValue": 500000
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_routingendpointhealth.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_routingendpointhealth.json
new file mode 100644
index 000000000000..a11d3e1bccd1
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_routingendpointhealth.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "endpointId": "id1",
+ "healthStatus": "healthy",
+ "lastSuccessfulSendAttemptTime": "2020-03-26T21:20:57Z",
+ "lastSendAttemptTime": "2020-03-26T21:24:57Z"
+ },
+ {
+ "endpointId": "id2",
+ "healthStatus": "unknown"
+ },
+ {
+ "endpointId": "id3",
+ "healthStatus": "unhealthy",
+ "lastKnownError": "NotFound",
+ "lastKnownErrorTime": "2020-03-26T21:24:57Z",
+ "lastSuccessfulSendAttemptTime": "2020-03-26T21:20:57Z",
+ "lastSendAttemptTime": "2020-03-26T21:24:57Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_stats.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_stats.json
new file mode 100644
index 000000000000..1a7bcb918e7e
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_stats.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-04-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "totalDeviceCount": 0,
+ "enabledDeviceCount": 0,
+ "disabledDeviceCount": 0
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_testallroutes.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_testallroutes.json
new file mode 100644
index 000000000000..852b33807074
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_testallroutes.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "input": {
+ "routingSource": "DeviceMessages",
+ "message": {
+ "body": "Body of message",
+ "appProperties": {
+ "key1": "value1"
+ },
+ "systemProperties": {
+ "key1": "value1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "routes": [
+ {
+ "properties": {
+ "name": "Routeid",
+ "source": "DeviceMessages",
+ "endpointNames": [
+ "id1"
+ ],
+ "isEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_testnewroute.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_testnewroute.json
new file mode 100644
index 000000000000..7d3725b8243f
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_testnewroute.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "input": {
+ "message": {
+ "body": "Body of message",
+ "appProperties": {
+ "key1": "value1"
+ },
+ "systemProperties": {
+ "key1": "value1"
+ }
+ },
+ "route": {
+ "name": "Routeid",
+ "source": "DeviceMessages",
+ "endpointNames": [
+ "id1"
+ ],
+ "isEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "result": "false",
+ "details": {
+ "compilationErrors": [
+ {
+ "message": "string response",
+ "severity": "error",
+ "location": {
+ "start": {
+ "line": 12,
+ "column": 12
+ },
+ "end": {
+ "line": 12,
+ "column": 24
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_updateprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_updateprivateendpointconnection.json
new file mode 100644
index 000000000000..791e5ee279fc
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_updateprivateendpointconnection.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection",
+ "privateEndpointConnection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_usages.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_usages.json
new file mode 100644
index 000000000000..ee71609f8b0c
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/examples/iothub_usages.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-07-02-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages/freeHubCount",
+ "type": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages",
+ "unit": "count",
+ "currentValue": 1,
+ "limit": 1,
+ "name": {
+ "value": "FreeHubCount",
+ "localizedValue": "Free Hub Count"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/iothub.json b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/iothub.json
new file mode 100644
index 000000000000..5dd7e602e110
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/preview/2021-07-02-preview/iothub.json
@@ -0,0 +1,4514 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-07-02-preview",
+ "title": "iotHubClient",
+ "description": "Use this API to manage the IoT hubs in your Azure subscription.",
+ "x-ms-code-generation-settings": {
+ "header": "MICROSOFT_MIT_NO_VERSION"
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Devices/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/iothub_operations.json"
+ }
+ },
+ "operationId": "Operations_List",
+ "description": "Lists all of the available IoT Hub REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the non-security related metadata of an IoT hub",
+ "description": "Get the non-security related metadata of an IoT hub.",
+ "operationId": "IotHubResource_Get",
+ "x-ms-examples": {
+ "IotHubResource_Get": {
+ "$ref": "./examples/iothub_get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains all the non-security properties of the IoT hub. Security-related properties are set to null.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Create or update the metadata of an IoT hub.",
+ "description": "Create or update the metadata of an Iot hub. The usual pattern to modify a property is to retrieve the IoT hub metadata and security metadata, and then combine them with the modified values in a new body to update the IoT hub.",
+ "operationId": "IotHubResource_CreateOrUpdate",
+ "x-ms-examples": {
+ "IotHubResource_CreateOrUpdate": {
+ "$ref": "./examples/iothub_createOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "iotHubDescription",
+ "in": "body",
+ "description": "The IoT hub metadata and security metadata.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the IoT Hub. Do not specify for creating a brand new IoT Hub. Required to update an existing IoT Hub."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the create or update operation. The body contains the resource representation that indicates a transitional provisioning state.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "patch": {
+ "tags": [
+ "PATCH"
+ ],
+ "summary": "Update an existing IoT Hubs tags.",
+ "description": "Update an existing IoT Hub tags. to update other fields use the CreateOrUpdate method",
+ "x-ms-long-running-operation": true,
+ "operationId": "IotHubResource_Update",
+ "x-ms-examples": {
+ "IotHubResource_Update": {
+ "$ref": "./examples/iothub_patch.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of iot hub to update."
+ },
+ {
+ "name": "IotHubTags",
+ "in": "body",
+ "required": true,
+ "description": "Updated tag information to set into the iot hub instance.",
+ "schema": {
+ "$ref": "#/definitions/TagsResource"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Iot Hub was successfully updated",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete an IoT hub",
+ "description": "Delete an IoT hub.",
+ "operationId": "IotHubResource_Delete",
+ "x-ms-examples": {
+ "IotHubResource_Delete": {
+ "$ref": "./examples/iothub_delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Iot Hub resource provider always returns a 202 Accepted status code with valid Location and Retry-After headers. The resource provider also sets the Azure-AsyncOperation header with a URL that points to the operation resource for this operation. Subsequent GET attempts on the resource after a DELETE operation return a resource representation that indicates a transitional provisioning state (such as Terminating). To retrieve the status of the operation, a client can either poll the URL returned in the Location header after the Retry-After interval, get the IoT Hub service status directly, or query the operation resource.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "204": {
+ "description": "Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the Iot hub metadata in the service and the status of the delete operation is set to a completed state."
+ },
+ "404": {
+ "description": "After the long running delete operation completes successfully, a 404 Not Found is returned when the status polling request no longer finds the Iot hub metadata in the service.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get all the IoT hubs in a subscription",
+ "description": "Get all the IoT hubs in a subscription.",
+ "operationId": "IotHubResource_ListBySubscription",
+ "x-ms-examples": {
+ "IotHubResource_ListBySubscription": {
+ "$ref": "./examples/iothub_listbysubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get all the IoT hubs in a resource group",
+ "description": "Get all the IoT hubs in a resource group.",
+ "operationId": "IotHubResource_ListByResourceGroup",
+ "x-ms-examples": {
+ "IotHubResource_ListByResourceGroup": {
+ "$ref": "./examples/iothub_listbyrg.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the statistics from an IoT hub",
+ "description": "Get the statistics from an IoT hub.",
+ "operationId": "IotHubResource_GetStats",
+ "x-ms-examples": {
+ "IotHubResource_GetStats": {
+ "$ref": "./examples/iothub_stats.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains JSON-serialized statistics from the identity registry in the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/RegistryStatistics"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the list of valid SKUs for an IoT hub",
+ "description": "Get the list of valid SKUs for an IoT hub.",
+ "operationId": "IotHubResource_GetValidSkus",
+ "x-ms-examples": {
+ "IotHubResource_GetValidSkus": {
+ "$ref": "./examples/iothub_getskus.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the valid SKUs for this IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/IotHubSkuDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub",
+ "description": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub.",
+ "operationId": "IotHubResource_ListEventHubConsumerGroups",
+ "x-ms-examples": {
+ "IotHubResource_ListEventHubConsumerGroups": {
+ "$ref": "./examples/iothub_listehgroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized list of the consumer groups in the Event Hub-compatible endpoint in this IoT hub",
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupsListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub",
+ "description": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub.",
+ "operationId": "IotHubResource_GetEventHubConsumerGroup",
+ "x-ms-examples": {
+ "IotHubResource_ListEventHubConsumerGroups": {
+ "$ref": "./examples/iothub_getconsumergroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint in the IoT hub.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the consumer group to retrieve.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized consumer group.",
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupInfo"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub",
+ "description": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub.",
+ "operationId": "IotHubResource_CreateEventHubConsumerGroup",
+ "x-ms-examples": {
+ "IotHubResource_CreateEventHubConsumerGroup": {
+ "$ref": "./examples/iothub_createconsumergroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint in the IoT hub.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the consumer group to add.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "consumerGroupBody",
+ "in": "body",
+ "description": "The consumer group to add.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupBodyDescription"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation.",
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupInfo"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub",
+ "description": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub.",
+ "operationId": "IotHubResource_DeleteEventHubConsumerGroup",
+ "x-ms-examples": {
+ "IotHubResource_DeleteEventHubConsumerGroup": {
+ "$ref": "./examples/iothub_deleteconsumergroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint in the IoT hub.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the consumer group to delete.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry",
+ "description": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.",
+ "operationId": "IotHubResource_ListJobs",
+ "x-ms-examples": {
+ "IotHubResource_ListJobs": {
+ "$ref": "./examples/iothub_listjobs.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The response contains a JSON-serialized array of all the jobs in the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/JobResponseListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs/{jobId}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry",
+ "description": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.",
+ "operationId": "IotHubResource_GetJob",
+ "x-ms-examples": {
+ "IotHubResource_GetJob": {
+ "$ref": "./examples/iothub_getjob.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "The job identifier.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The response contains a JSON-serialized description of the job in the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the quota metrics for an IoT hub",
+ "description": "Get the quota metrics for an IoT hub.",
+ "operationId": "IotHubResource_GetQuotaMetrics",
+ "x-ms-examples": {
+ "IotHubResource_GetQuotaMetrics": {
+ "$ref": "./examples/iothub_quotametrics.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The response contains a JSON-serialized array of the quota metrics for the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/IotHubQuotaMetricInfoListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routingEndpointsHealth": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "operationId": "IotHubResource_GetEndpointHealth",
+ "summary": "Get the health for routing endpoints",
+ "description": "Get the health for routing endpoints.",
+ "x-ms-examples": {
+ "IotHubResource_GetEndpointHealth": {
+ "$ref": "./examples/iothub_routingendpointhealth.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "iotHubName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EndpointHealthDataListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Check if an IoT hub name is available",
+ "description": "Check if an IoT hub name is available.",
+ "operationId": "IotHubResource_CheckNameAvailability",
+ "x-ms-examples": {
+ "IotHubResource_CheckNameAvailability": {
+ "$ref": "./examples/checkNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "operationInputs",
+ "in": "body",
+ "description": "Set the name parameter in the OperationInputs structure to the name of the IoT hub to check.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OperationInputs"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the IoT hub name is available. If the name is not available, the body contains the reason.",
+ "schema": {
+ "$ref": "#/definitions/IotHubNameAvailabilityInfo"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/usages": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the number of iot hubs in the subscription",
+ "description": "Get the number of free and paid iot hubs in the subscription",
+ "operationId": "ResourceProviderCommon_GetSubscriptionQuota",
+ "x-ms-examples": {
+ "ResourceProviderCommon_GetSubscriptionQuota": {
+ "$ref": "./examples/iothub_usages.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UserSubscriptionQuotaListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotHubResource_TestAllRoutes",
+ "summary": "Test all routes",
+ "description": "Test all routes configured in this Iot Hub",
+ "x-ms-examples": {
+ "IotHubResource_TestAllRoutes": {
+ "$ref": "./examples/iothub_testallroutes.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "input",
+ "description": "Input for testing all routes",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestAllRoutesInput"
+ }
+ },
+ {
+ "name": "iotHubName",
+ "description": "IotHub to be tested",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "resource group which Iot Hub belongs to",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TestAllRoutesResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotHubResource_TestRoute",
+ "summary": "Test the new route",
+ "description": "Test the new route for this Iot Hub",
+ "x-ms-examples": {
+ "IotHubResource_TestRoute": {
+ "$ref": "./examples/iothub_testnewroute.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "input",
+ "description": "Route that needs to be tested",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestRouteInput"
+ }
+ },
+ {
+ "name": "iotHubName",
+ "description": "IotHub to be tested",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "resource group which Iot Hub belongs to",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TestRouteResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security",
+ "description": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.",
+ "operationId": "IotHubResource_ListKeys",
+ "x-ms-examples": {
+ "IotHubResource_ListKeys": {
+ "$ref": "./examples/iothub_listkeys.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of shared access policies, including keys, that you can use to access the IoT hub endpoints.",
+ "schema": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security",
+ "description": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.",
+ "operationId": "IotHubResource_GetKeysForKeyName",
+ "x-ms-examples": {
+ "IotHubResource_GetKeysForKeyName": {
+ "$ref": "./examples/iothub_getkey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "keyName",
+ "in": "path",
+ "description": "The name of the shared access policy.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized shared access policy, including keys, that you can use to access one or more IoT hub endpoints.",
+ "schema": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities",
+ "description": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.",
+ "operationId": "IotHubResource_ExportDevices",
+ "x-ms-examples": {
+ "IotHubResource_ExportDevices": {
+ "$ref": "./examples/iothub_exportdevices.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "exportDevicesParameters",
+ "in": "body",
+ "description": "The parameters that specify the export devices operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExportDevicesRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities",
+ "description": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.",
+ "operationId": "IotHubResource_ImportDevices",
+ "x-ms-examples": {
+ "IotHubResource_ImportDevices": {
+ "$ref": "./examples/iothub_importdevices.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "importDevicesParameters",
+ "in": "body",
+ "description": "The parameters that specify the import devices operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImportDevicesRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates": {
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Get the certificate list.",
+ "description": "Returns the list of certificates.",
+ "operationId": "Certificates_ListByIotHub",
+ "x-ms-examples": {
+ "Certificates_ListByIotHub": {
+ "$ref": "./examples/iothub_listcertificates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains all the certificate list.",
+ "schema": {
+ "$ref": "#/definitions/CertificateListDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}": {
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Get the certificate.",
+ "description": "Returns the certificate.",
+ "operationId": "Certificates_Get",
+ "x-ms-examples": {
+ "Certificates_Get": {
+ "$ref": "./examples/iothub_getcertificate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Upload the certificate to the IoT hub.",
+ "description": "Adds new or replaces existing certificate.",
+ "operationId": "Certificates_CreateOrUpdate",
+ "x-ms-examples": {
+ "Certificates_CreateOrUpdate": {
+ "$ref": "./examples/iothub_certificatescreateorupdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "certificateDescription",
+ "in": "body",
+ "description": "The certificate body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the Certificate. Do not specify for creating a brand new certificate. Required to update an existing certificate."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "If certificate didn't exist creation was successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "200": {
+ "description": "If certificate already exist and update was successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Delete an X509 certificate.",
+ "description": "Deletes an existing X509 certificate or does nothing if it does not exist.",
+ "operationId": "Certificates_Delete",
+ "x-ms-examples": {
+ "Certificates_Delete": {
+ "$ref": "./examples/iothub_certificatesdelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the Certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Certificate has been deleted."
+ },
+ "204": {
+ "description": "Certificate does not exist."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode": {
+ "post": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Generate verification code for proof of possession flow.",
+ "description": "Generates verification code for proof of possession flow. The verification code will be used to generate a leaf certificate.",
+ "operationId": "Certificates_GenerateVerificationCode",
+ "x-ms-examples": {
+ "Certificates_GenerateVerificationCode": {
+ "$ref": "./examples/iothub_generateverificationcode.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the Certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateWithNonceDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify": {
+ "post": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Verify certificate's private key possession.",
+ "description": "Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.",
+ "operationId": "Certificates_Verify",
+ "x-ms-examples": {
+ "Certificates_Verify": {
+ "$ref": "./examples/iothub_certverify.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "certificateVerificationBody",
+ "in": "body",
+ "description": "The name of the certificate",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateVerificationDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the Certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/failover": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotHub_ManualFailover",
+ "summary": "Manually initiate a failover for the IoT Hub to its secondary region",
+ "description": "Manually initiate a failover for the IoT Hub to its secondary region. To learn more, see https://aka.ms/manualfailover",
+ "x-ms-examples": {
+ "IotHub_ManualFailover": {
+ "$ref": "./examples/IotHub_ManualFailover.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "name": "iotHubName",
+ "description": "Name of the IoT hub to failover",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "failoverInput",
+ "description": "Region to failover to. Must be the Azure paired region. Get the value from the secondary location in the locations property. To learn more, see https://aka.ms/manualfailover/region",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FailoverInput"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "Name of the resource group containing the IoT hub resource",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Long running manual failover operation for the IoT hub completed"
+ },
+ "202": {
+ "description": "Manual failover initiated"
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "List private link resources",
+ "description": "List private link resources for the given IotHub",
+ "operationId": "PrivateLinkResources_List",
+ "x-ms-examples": {
+ "PrivateLinkResources_List": {
+ "$ref": "./examples/iothub_listprivatelinkresources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the list of private link resources",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResources"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateLinkResources/{groupId}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the specified private link resource",
+ "description": "Get the specified private link resource for the given IotHub",
+ "operationId": "PrivateLinkResources_Get",
+ "x-ms-examples": {
+ "PrivateLinkResources_List": {
+ "$ref": "./examples/iothub_getprivatelinkresources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/groupId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the specified of private link resource",
+ "schema": {
+ "$ref": "#/definitions/GroupIdInformation"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "List private endpoint connections",
+ "description": "List private endpoint connection properties",
+ "operationId": "PrivateEndpointConnections_List",
+ "x-ms-examples": {
+ "PrivateEndpointConnections_List": {
+ "$ref": "./examples/iothub_listprivateendpointconnections.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the list of private endpoint connection properties",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionsList"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get private endpoint connection",
+ "description": "Get private endpoint connection properties",
+ "operationId": "PrivateEndpointConnections_Get",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_Get": {
+ "$ref": "./examples/iothub_getprivateendpointconnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the private endpoint connection properties",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Update private endpoint connection",
+ "description": "Update the status of a private endpoint connection with the specified name",
+ "operationId": "PrivateEndpointConnections_Update",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_Update": {
+ "$ref": "./examples/iothub_updateprivateendpointconnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ },
+ {
+ "name": "privateEndpointConnection",
+ "in": "body",
+ "description": "The private endpoint connection with updated properties",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the update operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete private endpoint connection",
+ "description": "Delete private endpoint connection with the specified name",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_Delete": {
+ "$ref": "./examples/iothub_deleteprivateendpointconnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "This is a long running operation. The operation returns a 202 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the delete operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "204": {
+ "description": "PrivateEndpoint does not exist."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ }
+ },
+ "definitions": {
+ "CertificateVerificationDescription": {
+ "description": "The JSON-serialized leaf certificate",
+ "type": "object",
+ "properties": {
+ "certificate": {
+ "description": "base-64 representation of X509 certificate .cer file or just .pem file content.",
+ "type": "string"
+ }
+ }
+ },
+ "CertificateListDescription": {
+ "description": "The JSON-serialized array of Certificate objects.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of Certificate objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ }
+ }
+ },
+ "CertificateBodyDescription": {
+ "description": "The JSON-serialized X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "certificate": {
+ "description": "base-64 representation of the X509 leaf certificate .cer file or just .pem file content.",
+ "type": "string"
+ },
+ "isVerified": {
+ "description": "True indicates that the certificate will be created in verified state and proof of possession will not be required.",
+ "type": "boolean"
+ }
+ }
+ },
+ "CertificateDescription": {
+ "description": "The X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CertificateProperties"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "description": "The name of the certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The entity tag.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "CertificateWithNonceDescription": {
+ "description": "The X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CertificatePropertiesWithNonce"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "description": "The name of the certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The entity tag.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "SharedAccessSignatureAuthorizationRule": {
+ "description": "The properties of an IoT hub shared access policy.",
+ "type": "object",
+ "properties": {
+ "keyName": {
+ "description": "The name of the shared access policy.",
+ "type": "string"
+ },
+ "primaryKey": {
+ "description": "The primary key.",
+ "type": "string"
+ },
+ "secondaryKey": {
+ "description": "The secondary key.",
+ "type": "string"
+ },
+ "rights": {
+ "description": "The permissions assigned to the shared access policy.",
+ "enum": [
+ "RegistryRead",
+ "RegistryWrite",
+ "ServiceConnect",
+ "DeviceConnect",
+ "RegistryRead, RegistryWrite",
+ "RegistryRead, ServiceConnect",
+ "RegistryRead, DeviceConnect",
+ "RegistryWrite, ServiceConnect",
+ "RegistryWrite, DeviceConnect",
+ "ServiceConnect, DeviceConnect",
+ "RegistryRead, RegistryWrite, ServiceConnect",
+ "RegistryRead, RegistryWrite, DeviceConnect",
+ "RegistryRead, ServiceConnect, DeviceConnect",
+ "RegistryWrite, ServiceConnect, DeviceConnect",
+ "RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccessRights",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "keyName",
+ "rights"
+ ]
+ },
+ "CertificateProperties": {
+ "description": "The description of an X509 CA Certificate.",
+ "type": "object",
+ "properties": {
+ "subject": {
+ "description": "The certificate's subject name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "expiry": {
+ "description": "The certificate's expiration date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "thumbprint": {
+ "description": "The certificate's thumbprint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isVerified": {
+ "description": "Determines whether certificate has been verified.",
+ "type": "boolean"
+ },
+ "created": {
+ "description": "The certificate's create date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "updated": {
+ "description": "The certificate's last update date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "certificate": {
+ "description": "The certificate content",
+ "type": "string"
+ }
+ }
+ },
+ "CertificatePropertiesWithNonce": {
+ "description": "The description of an X509 CA Certificate including the challenge nonce issued for the Proof-Of-Possession flow.",
+ "type": "object",
+ "properties": {
+ "subject": {
+ "description": "The certificate's subject name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "expiry": {
+ "description": "The certificate's expiration date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "thumbprint": {
+ "description": "The certificate's thumbprint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isVerified": {
+ "description": "Determines whether certificate has been verified.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "created": {
+ "description": "The certificate's create date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "updated": {
+ "description": "The certificate's last update date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "verificationCode": {
+ "description": "The certificate's verification code that will be used for proof of possession.",
+ "type": "string",
+ "readOnly": true
+ },
+ "certificate": {
+ "description": "The certificate content",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubProperties": {
+ "description": "The properties of an IoT hub.",
+ "type": "object",
+ "properties": {
+ "authorizationPolicies": {
+ "description": "The shared access policies you can use to secure a connection to the IoT hub.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule"
+ }
+ },
+ "disableLocalAuth": {
+ "description": "If true, SAS tokens with Iot hub scoped SAS keys cannot be used for authentication.",
+ "type": "boolean"
+ },
+ "disableDeviceSAS": {
+ "description": "If true, all device(including Edge devices but excluding modules) scoped SAS keys cannot be used for authentication.",
+ "type": "boolean"
+ },
+ "disableModuleSAS": {
+ "description": "If true, all module scoped SAS keys cannot be used for authentication.",
+ "type": "boolean"
+ },
+ "restrictOutboundNetworkAccess": {
+ "description": "If true, egress from IotHub will be restricted to only the allowed FQDNs that are configured via allowedFqdnList.",
+ "type": "boolean"
+ },
+ "allowedFqdnList": {
+ "description": "List of allowed FQDNs(Fully Qualified Domain Name) for egress from Iot Hub.",
+ "type": "array",
+ "items": {
+ "description": "FQDN to be allowed for egress. Example: my-eventhub.servicebus.windows.net",
+ "type": "string"
+ }
+ },
+ "publicNetworkAccess": {
+ "type": "string",
+ "description": "Whether requests from Public Network are allowed",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PublicNetworkAccess"
+ }
+ },
+ "ipFilterRules": {
+ "description": "The IP filter rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpFilterRule"
+ }
+ },
+ "networkRuleSets": {
+ "$ref": "#/definitions/NetworkRuleSetProperties"
+ },
+ "minTlsVersion": {
+ "type": "string",
+ "description": "Specifies the minimum TLS version to support for this hub. Can be set to \"1.2\" to have clients that use a TLS version below 1.2 to be rejected."
+ },
+ "privateEndpointConnections": {
+ "description": "Private endpoint connections created on this IotHub",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "provisioningState": {
+ "description": "The provisioning state.",
+ "type": "string",
+ "readOnly": true
+ },
+ "state": {
+ "description": "The hub state.",
+ "type": "string",
+ "readOnly": true
+ },
+ "hostName": {
+ "description": "The name of the host.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eventHubEndpoints": {
+ "description": "The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. This key has to be present in the dictionary while making create or update calls for the IoT hub.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/EventHubProperties"
+ }
+ },
+ "routing": {
+ "$ref": "#/definitions/RoutingProperties"
+ },
+ "storageEndpoints": {
+ "description": "The list of Azure Storage endpoints where you can upload files. Currently you can configure only one Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, causes an error to be thrown.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/StorageEndpointProperties"
+ }
+ },
+ "messagingEndpoints": {
+ "description": "The messaging endpoint properties for the file upload notification queue.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/MessagingEndpointProperties"
+ }
+ },
+ "enableFileUploadNotifications": {
+ "description": "If True, file upload notifications are enabled.",
+ "type": "boolean"
+ },
+ "cloudToDevice": {
+ "$ref": "#/definitions/CloudToDeviceProperties"
+ },
+ "comments": {
+ "description": "IoT hub comments.",
+ "type": "string"
+ },
+ "deviceStreams": {
+ "description": "The device streams properties of iothub.",
+ "type": "object",
+ "properties": {
+ "streamingEndpoints": {
+ "description": "List of Device Streams Endpoints.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "features": {
+ "description": "The capabilities and features enabled for the IoT hub.",
+ "enum": [
+ "None",
+ "DeviceManagement"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Capabilities",
+ "modelAsString": true
+ }
+ },
+ "encryption": {
+ "description": "The encryption properties for the IoT hub.",
+ "$ref": "#/definitions/EncryptionPropertiesDescription"
+ },
+ "locations": {
+ "description": "Primary and secondary location for iot hub",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubLocationDescription"
+ }
+ },
+ "enableDataResidency": {
+ "description": "This property when set to true, will enable data residency, thus, disabling disaster recovery.",
+ "type": "boolean"
+ }
+ }
+ },
+ "IotHubSkuInfo": {
+ "description": "Information about the SKU of the IoT hub.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the SKU.",
+ "enum": [
+ "F1",
+ "S1",
+ "S2",
+ "S3",
+ "B1",
+ "B2",
+ "B3"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotHubSku",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "description": "The billing tier for the IoT hub.",
+ "enum": [
+ "Free",
+ "Standard",
+ "Basic"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "IotHubSkuTier",
+ "modelAsString": false
+ }
+ },
+ "capacity": {
+ "format": "int64",
+ "description": "The number of provisioned IoT Hub units. See: https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "EventHubProperties": {
+ "description": "The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub.",
+ "type": "object",
+ "properties": {
+ "retentionTimeInDays": {
+ "format": "int64",
+ "description": "The retention time for device-to-cloud messages in days. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages",
+ "type": "integer"
+ },
+ "partitionCount": {
+ "format": "int32",
+ "description": "The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages.",
+ "type": "integer"
+ },
+ "partitionIds": {
+ "description": "The partition ids in the Event Hub-compatible endpoint.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "path": {
+ "description": "The Event Hub-compatible name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endpoint": {
+ "description": "The Event Hub-compatible endpoint.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageEndpointProperties": {
+ "description": "The properties of the Azure Storage endpoint for file upload.",
+ "type": "object",
+ "properties": {
+ "sasTtlAsIso8601": {
+ "description": "The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options.",
+ "type": "string",
+ "format": "duration"
+ },
+ "connectionString": {
+ "description": "The connection string for the Azure Storage account to which files are uploaded.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified.",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Specifies authentication type being used for connecting to the storage account.",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of storage endpoint for file upload.",
+ "$ref": "#/definitions/ManagedIdentity"
+ }
+ },
+ "required": [
+ "connectionString",
+ "containerName"
+ ]
+ },
+ "MessagingEndpointProperties": {
+ "description": "The properties of the messaging endpoints used by this IoT hub.",
+ "type": "object",
+ "properties": {
+ "lockDurationAsIso8601": {
+ "description": "The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
+ "type": "string",
+ "format": "duration"
+ },
+ "ttlAsIso8601": {
+ "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
+ "type": "string",
+ "format": "duration"
+ },
+ "maxDeliveryCount": {
+ "description": "The number of times the IoT hub attempts to deliver a message. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ }
+ }
+ },
+ "CloudToDeviceProperties": {
+ "description": "The IoT hub cloud-to-device messaging properties.",
+ "type": "object",
+ "properties": {
+ "maxDeliveryCount": {
+ "description": "The max delivery count for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ },
+ "defaultTtlAsIso8601": {
+ "description": "The default time to live for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "type": "string",
+ "format": "duration"
+ },
+ "feedback": {
+ "$ref": "#/definitions/FeedbackProperties"
+ }
+ }
+ },
+ "IpFilterRule": {
+ "description": "The IP filter rules for the IoT hub.",
+ "type": "object",
+ "properties": {
+ "filterName": {
+ "description": "The name of the IP filter rule.",
+ "type": "string"
+ },
+ "action": {
+ "description": "The desired action for requests captured by this rule.",
+ "enum": [
+ "Accept",
+ "Reject"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IpFilterActionType",
+ "modelAsString": false
+ }
+ },
+ "ipMask": {
+ "description": "A string that contains the IP address range in CIDR notation for the rule.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "filterName",
+ "action",
+ "ipMask"
+ ]
+ },
+ "NetworkRuleSetProperties": {
+ "description": "Network Rule Set Properties of IotHub",
+ "type": "object",
+ "properties": {
+ "defaultAction": {
+ "type": "string",
+ "description": "Default Action for Network Rule Set",
+ "enum": [
+ "Deny",
+ "Allow"
+ ],
+ "x-ms-enum": {
+ "name": "DefaultAction",
+ "modelAsString": true
+ },
+ "default": "Deny"
+ },
+ "applyToBuiltInEventHubEndpoint": {
+ "type": "boolean",
+ "description": "If True, then Network Rule Set is also applied to BuiltIn EventHub EndPoint of IotHub"
+ },
+ "ipRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkRuleSetIpRule"
+ },
+ "description": "List of IP Rules"
+ }
+ },
+ "required": [
+ "applyToBuiltInEventHubEndpoint",
+ "ipRules"
+ ]
+ },
+ "NetworkRuleSetIpRule": {
+ "description": "IP Rule to be applied as part of Network Rule Set",
+ "type": "object",
+ "properties": {
+ "filterName": {
+ "type": "string",
+ "description": "Name of the IP filter rule."
+ },
+ "action": {
+ "type": "string",
+ "description": "IP Filter Action",
+ "enum": [
+ "Allow"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkRuleIPAction",
+ "modelAsString": true
+ },
+ "default": "Allow"
+ },
+ "ipMask": {
+ "type": "string",
+ "description": "A string that contains the IP address range in CIDR notation for the rule."
+ }
+ },
+ "required": [
+ "filterName",
+ "ipMask"
+ ]
+ },
+ "PrivateLinkResources": {
+ "description": "The available private link resources for an IotHub",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of available private link resources for an IotHub",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GroupIdInformation"
+ }
+ }
+ }
+ },
+ "GroupIdInformation": {
+ "description": "The group information for creating a private endpoint on an IotHub",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "$ref": "#/definitions/GroupIdInformationProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "GroupIdInformationProperties": {
+ "description": "The properties for a group information object",
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "type": "string",
+ "description": "The group id"
+ },
+ "requiredMembers": {
+ "description": "The required members for a specific group id",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "requiredZoneNames": {
+ "description": "The required DNS zones for a specific group id",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnectionsList": {
+ "description": "The list of private endpoint connections for an IotHub",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "The private endpoint connection of an IotHub",
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "The properties of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState"
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ]
+ },
+ "PrivateEndpoint": {
+ "description": "The private endpoint property of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The current state of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The status of a private endpoint connection",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PrivateLinkServiceConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The description for the current state of a private endpoint connection"
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "Actions required for a private endpoint connection"
+ }
+ },
+ "required": [
+ "status",
+ "description"
+ ]
+ },
+ "FeedbackProperties": {
+ "description": "The properties of the feedback queue for cloud-to-device messages.",
+ "type": "object",
+ "properties": {
+ "lockDurationAsIso8601": {
+ "description": "The lock duration for the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "type": "string",
+ "format": "duration"
+ },
+ "ttlAsIso8601": {
+ "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "type": "string",
+ "format": "duration"
+ },
+ "maxDeliveryCount": {
+ "description": "The number of times the IoT hub attempts to deliver a message on the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ }
+ }
+ },
+ "RoutingProperties": {
+ "description": "The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging",
+ "type": "object",
+ "properties": {
+ "endpoints": {
+ "$ref": "#/definitions/RoutingEndpoints"
+ },
+ "routes": {
+ "description": "The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteProperties"
+ }
+ },
+ "fallbackRoute": {
+ "description": "The properties of the route that is used as a fall-back route when none of the conditions specified in the 'routes' section are met. This is an optional parameter. When this property is not set, the messages which do not meet any of the conditions specified in the 'routes' section get routed to the built-in eventhub endpoint.",
+ "$ref": "#/definitions/FallbackRouteProperties"
+ },
+ "enrichments": {
+ "description": "The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and custom endpoints. See: https://aka.ms/telemetryoneventgrid",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnrichmentProperties"
+ }
+ }
+ }
+ },
+ "RoutingEndpoints": {
+ "description": "The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs.",
+ "type": "object",
+ "properties": {
+ "serviceBusQueues": {
+ "description": "The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingServiceBusQueueEndpointProperties"
+ }
+ },
+ "serviceBusTopics": {
+ "description": "The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingServiceBusTopicEndpointProperties"
+ }
+ },
+ "eventHubs": {
+ "description": "The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does not include the built-in Event Hubs endpoint.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingEventHubProperties"
+ }
+ },
+ "storageContainers": {
+ "description": "The list of storage container endpoints that IoT hub routes messages to, based on the routing rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingStorageContainerProperties"
+ }
+ }
+ }
+ },
+ "RoutingServiceBusQueueEndpointProperties": {
+ "description": "The properties related to service bus queue endpoint types.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the service bus queue endpoint",
+ "type": "string"
+ },
+ "connectionString": {
+ "description": "The connection string of the service bus queue endpoint.",
+ "type": "string"
+ },
+ "endpointUri": {
+ "description": "The url of the service bus queue endpoint. It must include the protocol sb://",
+ "type": "string"
+ },
+ "entityPath": {
+ "description": "Queue name on the service bus namespace",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Method used to authenticate against the service bus queue endpoint",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "authenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of routing service bus queue endpoint.",
+ "$ref": "#/definitions/ManagedIdentity"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the service bus queue endpoint.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the service bus queue endpoint.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "RoutingServiceBusTopicEndpointProperties": {
+ "description": "The properties related to service bus topic endpoint types.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the service bus topic endpoint",
+ "type": "string"
+ },
+ "connectionString": {
+ "description": "The connection string of the service bus topic endpoint.",
+ "type": "string"
+ },
+ "endpointUri": {
+ "description": "The url of the service bus topic endpoint. It must include the protocol sb://",
+ "type": "string"
+ },
+ "entityPath": {
+ "description": "Queue name on the service bus topic",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Method used to authenticate against the service bus topic endpoint",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "authenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of routing service bus topic endpoint.",
+ "$ref": "#/definitions/ManagedIdentity"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the service bus topic endpoint.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the service bus topic endpoint.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "RoutingEventHubProperties": {
+ "description": "The properties related to an event hub endpoint.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the event hub endpoint",
+ "type": "string"
+ },
+ "connectionString": {
+ "description": "The connection string of the event hub endpoint. ",
+ "type": "string"
+ },
+ "endpointUri": {
+ "description": "The url of the event hub endpoint. It must include the protocol sb://",
+ "type": "string"
+ },
+ "entityPath": {
+ "description": "Event hub name on the event hub namespace",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Method used to authenticate against the event hub endpoint",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "authenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of routing event hub endpoint.",
+ "$ref": "#/definitions/ManagedIdentity"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the event hub endpoint.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the event hub endpoint.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "RoutingStorageContainerProperties": {
+ "description": "The properties related to a storage container endpoint.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the storage container endpoint",
+ "type": "string"
+ },
+ "connectionString": {
+ "description": "The connection string of the storage account.",
+ "type": "string"
+ },
+ "endpointUri": {
+ "description": "The url of the storage endpoint. It must include the protocol https://",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Method used to authenticate against the storage endpoint",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "authenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of routing storage endpoint.",
+ "$ref": "#/definitions/ManagedIdentity"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the storage account.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the storage account.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "The name of storage container in the storage account.",
+ "type": "string"
+ },
+ "fileNameFormat": {
+ "description": "File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.",
+ "type": "string"
+ },
+ "batchFrequencyInSeconds": {
+ "description": "Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.",
+ "format": "int32",
+ "type": "integer",
+ "maximum": 720,
+ "minimum": 60
+ },
+ "maxChunkSizeInBytes": {
+ "description": "Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).",
+ "format": "int32",
+ "type": "integer",
+ "maximum": 524288000,
+ "minimum": 10485760
+ },
+ "encoding": {
+ "description": "Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. Default value is 'avro'.",
+ "type": "string",
+ "enum": [
+ "Avro",
+ "AvroDeflate",
+ "JSON"
+ ]
+ }
+ },
+ "required": [
+ "name",
+ "containerName"
+ ]
+ },
+ "RouteProperties": {
+ "description": "The properties of a routing rule that your IoT hub uses to route messages to endpoints.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "source": {
+ "description": "The source that the routing rule is to be applied to, such as DeviceMessages.",
+ "enum": [
+ "Invalid",
+ "DeviceMessages",
+ "TwinChangeEvents",
+ "DeviceLifecycleEvents",
+ "DeviceJobLifecycleEvents",
+ "DigitalTwinChangeEvents",
+ "DeviceConnectionStateEvents",
+ "MqttBrokerMessages"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoutingSource",
+ "modelAsString": true
+ }
+ },
+ "condition": {
+ "description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language",
+ "type": "string"
+ },
+ "endpointNames": {
+ "description": "The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed.",
+ "minItems": 1,
+ "maxItems": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isEnabled": {
+ "description": "Used to specify whether a route is enabled.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "name",
+ "endpointNames",
+ "source",
+ "isEnabled"
+ ]
+ },
+ "FallbackRouteProperties": {
+ "description": "The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.",
+ "type": "string"
+ },
+ "source": {
+ "description": "The source to which the routing rule is to be applied to. For example, DeviceMessages",
+ "enum": [
+ "DeviceMessages"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoutingSource",
+ "modelAsString": true
+ }
+ },
+ "condition": {
+ "description": "The condition which is evaluated in order to apply the fallback route. If the condition is not provided it will evaluate to true by default. For grammar, See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language",
+ "type": "string"
+ },
+ "endpointNames": {
+ "description": "The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 endpoint is allowed.",
+ "minItems": 1,
+ "maxItems": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isEnabled": {
+ "description": "Used to specify whether the fallback route is enabled.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "endpointNames",
+ "source",
+ "isEnabled"
+ ]
+ },
+ "EnrichmentProperties": {
+ "description": "The properties of an enrichment that your IoT hub applies to messages delivered to endpoints.",
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "The key or name for the enrichment property.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value for the enrichment property.",
+ "type": "string"
+ },
+ "endpointNames": {
+ "description": "The list of endpoints for which the enrichment is applied to the message.",
+ "minItems": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "key",
+ "value",
+ "endpointNames"
+ ]
+ },
+ "IotHubDescription": {
+ "description": "The description of the IoT hub.",
+ "type": "object",
+ "properties": {
+ "etag": {
+ "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "IotHub properties",
+ "$ref": "#/definitions/IotHubProperties"
+ },
+ "sku": {
+ "description": "IotHub SKU info",
+ "$ref": "#/definitions/IotHubSkuInfo"
+ },
+ "identity": {
+ "description": "The managed identities for the IotHub.",
+ "$ref": "#/definitions/ArmIdentity"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "sku"
+ ]
+ },
+ "Resource": {
+ "description": "The common properties of an Azure resource.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "The resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ }
+ },
+ "x-ms-azure-resource": true,
+ "required": [
+ "location"
+ ]
+ },
+ "SharedAccessSignatureAuthorizationRuleListResult": {
+ "description": "The list of shared access policies with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of shared access policies.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list IoT Hub operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "description": "List of IoT Hub operations supported by the Microsoft.Devices resource provider.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "Operation": {
+ "description": "IoT Hub REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operation name: {provider}/{resource}/{read | write | action | delete}"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Service provider: Microsoft Devices"
+ },
+ "resource": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Type: IotHubs"
+ },
+ "operation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the operation"
+ },
+ "description": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Description of the operation"
+ }
+ }
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "Error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "httpStatusCode": {
+ "description": "The HTTP status code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "The error details.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubQuotaMetricInfoListResult": {
+ "description": "The JSON-serialized array of IotHubQuotaMetricInfo objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of quota metrics objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubQuotaMetricInfo"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EndpointHealthDataListResult": {
+ "description": "The JSON-serialized array of EndpointHealthData objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "JSON-serialized array of Endpoint health data",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointHealthData"
+ }
+ },
+ "nextLink": {
+ "description": "Link to more results",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EndpointHealthData": {
+ "description": "The health data for an endpoint",
+ "type": "object",
+ "properties": {
+ "endpointId": {
+ "description": "Id of the endpoint",
+ "type": "string"
+ },
+ "healthStatus": {
+ "description": "Health statuses have following meanings. The 'healthy' status shows that the endpoint is accepting messages as expected. The 'unhealthy' status shows that the endpoint is not accepting messages as expected and IoT Hub is retrying to send data to this endpoint. The status of an unhealthy endpoint will be updated to healthy when IoT Hub has established an eventually consistent state of health. The 'dead' status shows that the endpoint is not accepting messages, after IoT Hub retried sending messages for the retrial period. See IoT Hub metrics to identify errors and monitor issues with endpoints. The 'unknown' status shows that the IoT Hub has not established a connection with the endpoint. No messages have been delivered to or rejected from this endpoint",
+ "enum": [
+ "unknown",
+ "healthy",
+ "degraded",
+ "unhealthy",
+ "dead"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EndpointHealthStatus",
+ "modelAsString": true
+ }
+ },
+ "lastKnownError": {
+ "description": "Last error obtained when a message failed to be delivered to iot hub",
+ "type": "string"
+ },
+ "lastKnownErrorTime": {
+ "description": "Time at which the last known error occurred",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "lastSuccessfulSendAttemptTime": {
+ "description": "Last time iot hub successfully sent a message to the endpoint",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "lastSendAttemptTime": {
+ "description": "Last time iot hub tried to send a message to the endpoint",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ }
+ },
+ "RegistryStatistics": {
+ "description": "Identity registry statistics.",
+ "type": "object",
+ "properties": {
+ "totalDeviceCount": {
+ "format": "int64",
+ "description": "The total count of devices in the identity registry.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "enabledDeviceCount": {
+ "format": "int64",
+ "description": "The count of enabled devices in the identity registry.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "disabledDeviceCount": {
+ "format": "int64",
+ "description": "The count of disabled devices in the identity registry.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResponseListResult": {
+ "description": "The JSON-serialized array of JobResponse objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of JobResponse objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubSkuDescription": {
+ "description": "SKU properties.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sku": {
+ "description": "The type of the resource.",
+ "$ref": "#/definitions/IotHubSkuInfo"
+ },
+ "capacity": {
+ "description": "IotHub capacity",
+ "$ref": "#/definitions/IotHubCapacity"
+ }
+ },
+ "required": [
+ "sku",
+ "capacity"
+ ]
+ },
+ "TagsResource": {
+ "properties": {
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "A container holding only the Tags for a resource, allowing the user to update the tags on an IoT Hub instance."
+ },
+ "IotHubCapacity": {
+ "description": "IoT Hub capacity information.",
+ "type": "object",
+ "properties": {
+ "minimum": {
+ "format": "int64",
+ "description": "The minimum number of units.",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1,
+ "readOnly": true
+ },
+ "maximum": {
+ "format": "int64",
+ "description": "The maximum number of units.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "default": {
+ "format": "int64",
+ "description": "The default number of units.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "scaleType": {
+ "description": "The type of the scaling enabled.",
+ "enum": [
+ "Automatic",
+ "Manual",
+ "None"
+ ],
+ "readOnly": true,
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotHubScaleType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "EventHubConsumerGroupsListResult": {
+ "description": "The JSON-serialized array of Event Hub-compatible consumer group names with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of consumer groups objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EventHubConsumerGroupInfo"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EventHubConsumerGroupBodyDescription": {
+ "description": "The EventHub consumer group.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EventHubConsumerGroupName"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "EventHubConsumerGroupName": {
+ "description": "The EventHub consumer group name.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "EventHub consumer group name",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "EventHubConsumerGroupInfo": {
+ "description": "The properties of the EventHubConsumerGroupInfo object.",
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "The tags.",
+ "type": "object",
+ "additionalProperties": {}
+ },
+ "id": {
+ "description": "The Event Hub-compatible consumer group identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The Event Hub-compatible consumer group name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "the resource type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The etag.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubSkuDescriptionListResult": {
+ "description": "The JSON-serialized array of IotHubSkuDescription objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of IotHubSkuDescription.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubSkuDescription"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResponse": {
+ "description": "The properties of the Job Response object.",
+ "type": "object",
+ "properties": {
+ "jobId": {
+ "description": "The job identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTimeUtc": {
+ "format": "date-time-rfc1123",
+ "description": "The start time of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTimeUtc": {
+ "format": "date-time-rfc1123",
+ "description": "The time the job stopped processing.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the job.",
+ "enum": [
+ "unknown",
+ "export",
+ "import",
+ "backup",
+ "readDeviceProperties",
+ "writeDeviceProperties",
+ "updateDeviceConfiguration",
+ "rebootDevice",
+ "factoryResetDevice",
+ "firmwareUpdate"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobType",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "The status of the job.",
+ "enum": [
+ "unknown",
+ "enqueued",
+ "running",
+ "completed",
+ "failed",
+ "cancelled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": false
+ }
+ },
+ "failureReason": {
+ "description": "If status == failed, this string containing the reason for the failure.",
+ "type": "string",
+ "readOnly": true
+ },
+ "statusMessage": {
+ "description": "The status message for the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "parentJobId": {
+ "description": "The job identifier of the parent job, if any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubDescriptionListResult": {
+ "description": "The JSON-serialized array of IotHubDescription objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of IotHubDescription objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubQuotaMetricInfo": {
+ "description": "Quota metrics properties.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the quota metric.",
+ "type": "string",
+ "readOnly": true
+ },
+ "currentValue": {
+ "format": "int64",
+ "description": "The current value for the quota metric.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "maxValue": {
+ "format": "int64",
+ "description": "The maximum value of the quota metric.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationInputs": {
+ "description": "Input values.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the IoT hub to check.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "IotHubNameAvailabilityInfo": {
+ "description": "The properties indicating whether a given IoT hub name is available.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "The value which indicates whether the provided name is available.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "reason": {
+ "description": "The reason for unavailability.",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "IotHubNameUnavailabilityReason",
+ "modelAsString": false
+ }
+ },
+ "message": {
+ "description": "The detailed reason message.",
+ "type": "string"
+ }
+ }
+ },
+ "UserSubscriptionQuotaListResult": {
+ "type": "object",
+ "description": "Json-serialized array of User subscription quota response",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserSubscriptionQuota"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UserSubscriptionQuota": {
+ "description": "User subscription quota response",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "IotHub type id",
+ "type": "string"
+ },
+ "type": {
+ "description": "Response type",
+ "type": "string"
+ },
+ "unit": {
+ "description": "Unit of IotHub type",
+ "type": "string"
+ },
+ "currentValue": {
+ "description": "Current number of IotHub type",
+ "format": "int32",
+ "type": "integer"
+ },
+ "limit": {
+ "description": "Numerical limit on IotHub type",
+ "format": "int32",
+ "type": "integer"
+ },
+ "name": {
+ "description": "IotHub type",
+ "$ref": "#/definitions/Name"
+ }
+ }
+ },
+ "Name": {
+ "description": "Name of Iot Hub type",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "IotHub type",
+ "type": "string"
+ },
+ "localizedValue": {
+ "description": "Localized value of name",
+ "type": "string"
+ }
+ }
+ },
+ "TestAllRoutesInput": {
+ "description": "Input for testing all routes",
+ "type": "object",
+ "properties": {
+ "routingSource": {
+ "description": "Routing source",
+ "enum": [
+ "Invalid",
+ "DeviceMessages",
+ "TwinChangeEvents",
+ "DeviceLifecycleEvents",
+ "DeviceJobLifecycleEvents",
+ "DigitalTwinChangeEvents",
+ "DeviceConnectionStateEvents",
+ "MqttBrokerMessages"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoutingSource",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "Routing message",
+ "$ref": "#/definitions/RoutingMessage"
+ },
+ "twin": {
+ "description": "Routing Twin Reference",
+ "$ref": "#/definitions/RoutingTwin"
+ }
+ }
+ },
+ "RoutingTwin": {
+ "description": "Twin reference input parameter. This is an optional parameter",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Twin Tags",
+ "type": "object"
+ },
+ "properties": {
+ "properties": {
+ "desired": {
+ "description": "Twin desired properties",
+ "type": "object"
+ },
+ "reported": {
+ "description": "Twin desired properties",
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
+ "RoutingMessage": {
+ "description": "Routing message",
+ "type": "object",
+ "properties": {
+ "body": {
+ "description": "Body of routing message",
+ "type": "string"
+ },
+ "appProperties": {
+ "description": "App properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "systemProperties": {
+ "description": "System properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TestAllRoutesResult": {
+ "description": "Result of testing all routes",
+ "type": "object",
+ "properties": {
+ "routes": {
+ "description": "JSON-serialized array of matched routes",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MatchedRoute"
+ }
+ }
+ }
+ },
+ "MatchedRoute": {
+ "description": "Routes that matched",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of routes that matched",
+ "$ref": "#/definitions/RouteProperties"
+ }
+ }
+ },
+ "TestRouteInput": {
+ "required": [
+ "route"
+ ],
+ "description": "Input for testing route",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Routing message",
+ "$ref": "#/definitions/RoutingMessage"
+ },
+ "route": {
+ "description": "Route properties",
+ "$ref": "#/definitions/RouteProperties"
+ },
+ "twin": {
+ "description": "Routing Twin Reference",
+ "$ref": "#/definitions/RoutingTwin"
+ }
+ }
+ },
+ "TestRouteResult": {
+ "description": "Result of testing one route",
+ "type": "object",
+ "properties": {
+ "result": {
+ "description": "Result of testing route",
+ "enum": [
+ "undefined",
+ "false",
+ "true"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TestResultStatus",
+ "modelAsString": true
+ }
+ },
+ "details": {
+ "description": "Detailed result of testing route",
+ "$ref": "#/definitions/TestRouteResultDetails"
+ }
+ }
+ },
+ "TestRouteResultDetails": {
+ "description": "Detailed result of testing a route",
+ "type": "object",
+ "properties": {
+ "compilationErrors": {
+ "description": "JSON-serialized list of route compilation errors",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteCompilationError"
+ }
+ }
+ }
+ },
+ "RouteCompilationError": {
+ "description": "Compilation error when evaluating route",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Route error message",
+ "type": "string"
+ },
+ "severity": {
+ "description": "Severity of the route error",
+ "enum": [
+ "error",
+ "warning"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RouteErrorSeverity",
+ "modelAsString": true
+ }
+ },
+ "location": {
+ "description": "Location where the route error happened",
+ "$ref": "#/definitions/RouteErrorRange"
+ }
+ }
+ },
+ "RouteErrorRange": {
+ "description": "Range of route errors",
+ "type": "object",
+ "properties": {
+ "start": {
+ "description": "Start where the route error happened",
+ "$ref": "#/definitions/RouteErrorPosition"
+ },
+ "end": {
+ "description": "End where the route error happened",
+ "$ref": "#/definitions/RouteErrorPosition"
+ }
+ }
+ },
+ "RouteErrorPosition": {
+ "description": "Position where the route error happened",
+ "type": "object",
+ "properties": {
+ "line": {
+ "description": "Line where the route error happened",
+ "format": "int32",
+ "type": "integer"
+ },
+ "column": {
+ "description": "Column where the route error happened",
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "ExportDevicesRequest": {
+ "description": "Use to provide parameters when requesting an export of all devices in the IoT hub.",
+ "type": "object",
+ "properties": {
+ "exportBlobContainerUri": {
+ "description": "The export blob container URI.",
+ "type": "string"
+ },
+ "excludeKeys": {
+ "description": "The value indicating whether keys should be excluded during export.",
+ "type": "boolean"
+ },
+ "exportBlobName": {
+ "description": "The name of the blob that will be created in the provided output blob container. This blob will contain the exported device registry information for the IoT Hub.",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Specifies authentication type being used for connecting to the storage account.",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of storage endpoint for export devices.",
+ "$ref": "#/definitions/ManagedIdentity"
+ },
+ "includeConfigurations": {
+ "description": "The value indicating whether configurations should be exported.",
+ "type": "boolean"
+ },
+ "configurationsBlobName": {
+ "description": "The name of the blob that will be created in the provided output blob container. This blob will contain the exported configurations for the Iot Hub.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "exportBlobContainerUri",
+ "excludeKeys"
+ ]
+ },
+ "ImportDevicesRequest": {
+ "description": "Use to provide parameters when requesting an import of all devices in the hub.",
+ "type": "object",
+ "properties": {
+ "inputBlobContainerUri": {
+ "description": "The input blob container URI.",
+ "type": "string"
+ },
+ "outputBlobContainerUri": {
+ "description": "The output blob container URI.",
+ "type": "string"
+ },
+ "inputBlobName": {
+ "description": "The blob name to be used when importing from the provided input blob container.",
+ "type": "string"
+ },
+ "outputBlobName": {
+ "description": "The blob name to use for storing the status of the import job.",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Specifies authentication type being used for connecting to the storage account.",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of storage endpoint for import devices.",
+ "$ref": "#/definitions/ManagedIdentity"
+ },
+ "includeConfigurations": {
+ "description": "The value indicating whether configurations should be imported.",
+ "type": "boolean"
+ },
+ "configurationsBlobName": {
+ "description": "The blob name to be used when importing configurations from the provided input blob container.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "inputBlobContainerUri",
+ "outputBlobContainerUri"
+ ]
+ },
+ "FailoverInput": {
+ "description": "Use to provide failover region when requesting manual Failover for a hub.",
+ "type": "object",
+ "properties": {
+ "failoverRegion": {
+ "description": "Region the hub will be failed over to",
+ "type": "string"
+ }
+ },
+ "required": [
+ "failoverRegion"
+ ]
+ },
+ "IotHubLocationDescription": {
+ "description": "Public representation of one of the locations where a resource is provisioned.",
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "The name of the Azure region",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role of the region, can be either primary or secondary. The primary region is where the IoT hub is currently provisioned. The secondary region is the Azure disaster recovery (DR) paired region and also the region where the IoT hub can failover to.",
+ "enum": [
+ "primary",
+ "secondary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotHubReplicaRoleType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ArmIdentity": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "Principal Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "Tenant Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service.",
+ "type": "string",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/ArmUserIdentity"
+ }
+ }
+ }
+ },
+ "ArmUserIdentity": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "readOnly": true
+ },
+ "clientId": {
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EncryptionPropertiesDescription": {
+ "description": "The encryption properties for the IoT hub.",
+ "type": "object",
+ "properties": {
+ "keySource": {
+ "description": "The source of the key.",
+ "type": "string"
+ },
+ "keyVaultProperties": {
+ "description": "The properties of the KeyVault key.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyVaultKeyProperties"
+ }
+ }
+ }
+ },
+ "KeyVaultKeyProperties": {
+ "description": "The properties of the KeyVault key.",
+ "type": "object",
+ "properties": {
+ "keyIdentifier": {
+ "type": "string",
+ "description": "The identifier of the key."
+ },
+ "identity": {
+ "description": "Managed identity properties of KeyVault Key.",
+ "$ref": "#/definitions/ManagedIdentity"
+ }
+ }
+ },
+ "ManagedIdentity": {
+ "description": "The properties of the Managed identity.",
+ "type": "object",
+ "properties": {
+ "userAssignedIdentity": {
+ "type": "string",
+ "description": "The user assigned identity."
+ }
+ }
+ },
+ "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 timestamp of resource last modification (UTC)"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription identifier.",
+ "required": true,
+ "type": "string"
+ },
+ "api-version": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The version of the API.",
+ "required": true,
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "name": "resourceGroupName",
+ "description": "The name of the resource group that contains the IoT hub.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceName": {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the IoT hub.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "certificateName": {
+ "name": "certificateName",
+ "in": "path",
+ "description": "The name of the certificate",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$",
+ "x-ms-parameter-location": "method"
+ },
+ "groupId": {
+ "name": "groupId",
+ "in": "path",
+ "description": "The name of the private link resource",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "privateEndpointConnectionName": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/IotHub_ManualFailover.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/IotHub_ManualFailover.json
new file mode 100644
index 000000000000..bfc6242a5896
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/IotHub_ManualFailover.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "failoverInput": {
+ "failoverRegion": "testHub"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/checkNameAvailability.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/checkNameAvailability.json
new file mode 100644
index 000000000000..e1ca60af51a3
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/checkNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "operationInputs": {
+ "name": "test-request"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "Invalid",
+ "message": ""
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_certificatescreateorupdate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_certificatescreateorupdate.json
new file mode 100644
index 000000000000..8c3a96d4ff38
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_certificatescreateorupdate.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "resourceName": "iothub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "certificateDescription": {
+ "properties": {
+ "certificate": "############################################"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "certificate": "############################################"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "certificate": "############################################"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_certificatesdelete.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_certificatesdelete.json
new file mode 100644
index 000000000000..ced3518d4bf1
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_certificatesdelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "resourceName": "myhub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk="
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_certverify.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_certverify.json
new file mode 100644
index 000000000000..11716d457441
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_certverify.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk=",
+ "certificateVerificationBody": {
+ "certificate": "#####################################"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=andbucdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": true,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:26:56 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpTQ="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_createOrUpdate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_createOrUpdate.json
new file mode 100644
index 000000000000..d61619a681c2
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_createOrUpdate.json
@@ -0,0 +1,305 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "iotHubDescription": {
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "ipFilterRules": [],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None",
+ "minTlsVersion": "1.2",
+ "enableDataResidency": true
+ },
+ "sku": {
+ "name": "S1",
+ "capacity": 1
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None",
+ "minTlsVersion": "1.2",
+ "enableDataResidency": true
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdAt": "2021-01-30T00:28:38.963Z"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None",
+ "minTlsVersion": "1.2",
+ "enableDataResidency": true
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdAt": "2021-01-30T00:28:38.963Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_createconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_createconsumergroup.json
new file mode 100644
index 000000000000..5e16e28cbd00
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_createconsumergroup.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "name": "test",
+ "consumerGroupBody": {
+ "properties": {
+ "name": "test"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "created": "Thu, 15 Jun 2017 19:20:58 GMT"
+ },
+ "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default",
+ "name": "test",
+ "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups",
+ "etag": "AAAAAAFD6M4="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_delete.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_delete.json
new file mode 100644
index 000000000000..f22c280da49d
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_delete.json
@@ -0,0 +1,221 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdAt": "2021-01-30T00:28:38.963Z"
+ }
+ }
+ },
+ "204": {},
+ "202": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ },
+ "404": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_deleteconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_deleteconsumergroup.json
new file mode 100644
index 000000000000..2810ea0bfc55
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_deleteconsumergroup.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "name": "test"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_deleteprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_deleteprivateendpointconnection.json
new file mode 100644
index 000000000000..6976546d7c42
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_deleteprivateendpointconnection.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Disconnected",
+ "description": "Deleted",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Disconnected",
+ "description": "Deleted",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_exportdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_exportdevices.json
new file mode 100644
index 000000000000..888bc880025f
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_exportdevices.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "exportDevicesParameters": {
+ "exportBlobContainerUri": "testBlob",
+ "excludeKeys": true
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_generateverificationcode.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_generateverificationcode.json
new file mode 100644
index 000000000000..27a7a0c69f30
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_generateverificationcode.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cert",
+ "properties": {
+ "verificationCode": "##################################",
+ "subject": "CN=andbucdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "##############################",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:26:56 GMT"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_get.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_get.json
new file mode 100644
index 000000000000..0ecf98efef5e
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_get.json
@@ -0,0 +1,126 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None",
+ "locations": [
+ {
+ "location": "West US",
+ "role": "primary"
+ },
+ {
+ "location": "East US",
+ "role": "secondary"
+ }
+ ],
+ "minTlsVersion": "1.2"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdAt": "2021-01-30T00:28:38.963Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getcertificate.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getcertificate.json
new file mode 100644
index 000000000000..43c74b11bab5
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getcertificate.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceName": "testhub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "certificate": "############################################"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getconsumergroup.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getconsumergroup.json
new file mode 100644
index 000000000000..a35054285982
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getconsumergroup.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "name": "test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "created": "Thu, 15 Jun 2017 19:20:58 GMT"
+ },
+ "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default",
+ "name": "test",
+ "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups",
+ "etag": "AAAAAAFD6M4="
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getjob.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getjob.json
new file mode 100644
index 000000000000..e5f577a7dde2
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getjob.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "jobId": "test"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getkey.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getkey.json
new file mode 100644
index 000000000000..d37ba4de19c5
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getkey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "keyName": "iothubowner"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "keyName": "iothubowner",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "rights": "RegistryWrite, ServiceConnect, DeviceConnect"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getprivateendpointconnection.json
new file mode 100644
index 000000000000..5de62c0d9cb3
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getprivateendpointconnection.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request!",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getprivatelinkresources.json
new file mode 100644
index 000000000000..9f31c9601431
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getprivatelinkresources.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "groupId": "iotHub"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateLinkResources/iotHub",
+ "name": "iotHub",
+ "type": "Microsoft.Devices/IotHubs/PrivateLinkResources",
+ "properties": {
+ "groupId": "iotHub",
+ "requiredMembers": [
+ "iotHub"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azure-devices.net"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getskus.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getskus.json
new file mode 100644
index 000000000000..718ada061b5b
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_getskus.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "Microsoft.Devices/IotHubs",
+ "sku": {
+ "name": "S1",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ },
+ {
+ "resourceType": "Microsoft.Devices/IotHubs",
+ "sku": {
+ "name": "S2",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 200,
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ },
+ {
+ "resourceType": "Microsoft.Devices/IotHubs",
+ "sku": {
+ "name": "S3",
+ "tier": "Standard"
+ },
+ "capacity": {
+ "minimum": 1,
+ "maximum": 10,
+ "default": 1,
+ "scaleType": "Manual"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_importdevices.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_importdevices.json
new file mode 100644
index 000000000000..99930d1af580
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_importdevices.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "importDevicesParameters": {
+ "inputBlobContainerUri": "testBlob",
+ "outputBlobContainerUri": "testBlob"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listbyrg.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listbyrg.json
new file mode 100644
index 000000000000..12c8a9812c28
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listbyrg.json
@@ -0,0 +1,120 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdAt": "2021-01-30T00:28:38.963Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listbysubscription.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listbysubscription.json
new file mode 100644
index 000000000000..5a0a912f9689
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listbysubscription.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {},
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdAt": "2021-01-30T00:28:38.963Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listcertificates.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listcertificates.json
new file mode 100644
index 000000000000..fddcd478408c
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listcertificates.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceName": "testhub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "certificate": "############################################"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/IotHubs/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listehgroups.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listehgroups.json
new file mode 100644
index 000000000000..23213bce92a6
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listehgroups.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "eventHubEndpointName": "events",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "created": "Thu, 15 Jun 2017 19:20:58 GMT"
+ },
+ "id": "/subscriptions/cmd-sub-1/resourceGroups/cmd-rg-1/providers/Microsoft.Devices/IotHubs/test-hub-2/eventHubEndpoints/events/ConsumerGroups/%24Default",
+ "name": "$Default",
+ "type": "Microsoft.Devices/IotHubs/EventHubEndpoints/ConsumerGroups",
+ "etag": "AAAAAAFD6M4="
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listjobs.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listjobs.json
new file mode 100644
index 000000000000..6a906e79a6c6
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listjobs.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "jobId": "test",
+ "startTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "endTimeUtc": "Thu, 15 Jun 2017 19:20:58 GMT",
+ "type": "unknown",
+ "status": "unknown"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listkeys.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listkeys.json
new file mode 100644
index 000000000000..d0d9f8752ba5
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listkeys.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "keyName": "iothubowner",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "rights": "RegistryWrite, ServiceConnect, DeviceConnect"
+ },
+ {
+ "keyName": "service",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "rights": "ServiceConnect"
+ },
+ {
+ "keyName": "device",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "rights": "DeviceConnect"
+ },
+ {
+ "keyName": "registryRead",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "rights": "RegistryRead"
+ },
+ {
+ "keyName": "registryReadWrite",
+ "primaryKey": "",
+ "secondaryKey": "",
+ "rights": "RegistryWrite"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listprivateendpointconnections.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listprivateendpointconnections.json
new file mode 100644
index 000000000000..6fd8c45e5993
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listprivateendpointconnections.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request!",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listprivatelinkresources.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listprivatelinkresources.json
new file mode 100644
index 000000000000..67c5b5aae14c
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_listprivatelinkresources.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateLinkResources/iotHub",
+ "name": "iotHub",
+ "type": "Microsoft.Devices/IotHubs/PrivateLinkResources",
+ "properties": {
+ "groupId": "iotHub",
+ "requiredMembers": [
+ "iotHub"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azure-devices.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_operations.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_operations.json
new file mode 100644
index 000000000000..ee483dc94a63
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_operations.json
@@ -0,0 +1,328 @@
+{
+ "parameters": {
+ "api-version": "2021-07-02"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Devices/register/action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Register Resource Provider",
+ "description": "Register the subscription for the IotHub resource provider and enables the creation of IotHub resources"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Diagnostic Setting",
+ "description": "Gets the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Set Diagnostic Setting",
+ "description": "Creates or updates the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read IotHub service metric definitions",
+ "description": "Gets the available metrics for the IotHub service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read IotHub service log definitions",
+ "description": "Gets the available log definitions for the IotHub Service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/operations/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get All ResourceProvider Operations",
+ "description": "Get All ResourceProvider Operations"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/checkNameAvailability/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Check If IotHub name is available",
+ "description": "Check If IotHub name is available"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/usages/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Subscription Usages",
+ "description": "Get subscription usage details for this provider."
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub(s)",
+ "description": "Gets the IotHub resource(s)"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Create or update IotHub Resource",
+ "description": "Create or update IotHub Resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Delete IotHub Resource",
+ "description": "Delete IotHub Resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/iotHubStats/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub Statistics",
+ "description": "Get IotHub Statistics"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/skus/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get valid IotHub Skus",
+ "description": "Get valid IotHub Skus"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get all IotHub Keys",
+ "description": "Get all IotHub Keys"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/iotHubKeys/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub Key for the given name",
+ "description": "Get IotHub Key for the given name"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Create EventHub Consumer Group",
+ "description": "Create EventHub Consumer Group"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get EventHub Consumer Group(s)",
+ "description": "Get EventHub Consumer Group(s)"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Delete EventHub Consumer Group",
+ "description": "Delete EventHub Consumer Group"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/exportDevices/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Export Devices",
+ "description": "Export Devices"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/importDevices/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Import Devices",
+ "description": "Import Devices"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/jobs/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get the Job(s) on IotHub",
+ "description": "Get Job(s) details submitted on given IotHub"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/quotaMetrics/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Quota Metrics",
+ "description": "Get Quota Metrics"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routing/routes/$testall/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Routing Rule Test All",
+ "description": "Test a message against all existing Routes"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routing/routes/$testnew/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Routing Rule Test Route",
+ "description": "Test a message against a provided test Route"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routingEndpointsHealth/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Endpoint Health",
+ "description": "Gets the health of all routing Endpoints for an IotHub"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Diagnostic Setting",
+ "description": "Gets the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Set Diagnostic Setting",
+ "description": "Creates or updates the diagnostic setting for the resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read DPS service metric definitions",
+ "description": "Gets the available metrics for the DPS service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read DPS service log definitions",
+ "description": "Gets the available log definitions for the DPS Service"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/checkProvisioningServiceNameAvailability/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServives",
+ "operation": "Check If Provisioning Service name is available",
+ "description": "Check If Provisioning Service name is available"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Get Provisioning Service resource",
+ "description": "Get Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Create Provisioning Service resource",
+ "description": "Create Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Delete Provisioning Service resource",
+ "description": "Delete Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/skus/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Delete Provisioning Service resource",
+ "description": "Delete Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "get security related metadata",
+ "description": "get security related metadata"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_patch.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_patch.json
new file mode 100644
index 000000000000..028b3bc423e0
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_patch.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "resourceName": "myHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "location": "East US",
+ "type": "Microsoft.Devices/IotHubs",
+ "IotHubTags": {
+ "tags": {
+ "foo": "bar"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/ae24ff83-d2ca-4fc8-9717-05dae4bba489/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub",
+ "name": "testHub",
+ "type": "Microsoft.Devices/IotHubs",
+ "location": "centraluseuap",
+ "tags": {
+ "foo": "bar"
+ },
+ "etag": "AAAAAAFD6M4=",
+ "properties": {
+ "state": "Active",
+ "provisioningState": "Succeeded",
+ "ipFilterRules": [
+ {
+ "filterName": "rule1",
+ "action": "Accept",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Accept",
+ "ipMask": "157.55.59.128/25"
+ }
+ ],
+ "networkRuleSets": {
+ "defaultAction": "Deny",
+ "applyToBuiltInEventHubEndpoint": true,
+ "ipRules": [
+ {
+ "filterName": "rule1",
+ "action": "Allow",
+ "ipMask": "131.117.159.53"
+ },
+ {
+ "filterName": "rule2",
+ "action": "Allow",
+ "ipMask": "157.55.59.128/25"
+ }
+ ]
+ },
+ "hostName": "iot-dps-cit-hub-1.azure-devices.net",
+ "eventHubEndpoints": {
+ "events": {
+ "retentionTimeInDays": 1,
+ "partitionCount": 2,
+ "partitionIds": [
+ "0",
+ "1"
+ ],
+ "path": "iot-dps-cit-hub-1",
+ "endpoint": "sb://iothub-ns-iot-dps-ci-245306-76aca8e13b.servicebus.windows.net/"
+ }
+ },
+ "routing": {
+ "endpoints": {
+ "serviceBusQueues": [],
+ "serviceBusTopics": [],
+ "eventHubs": [],
+ "storageContainers": []
+ },
+ "routes": [],
+ "fallbackRoute": {
+ "name": "$fallback",
+ "source": "DeviceMessages",
+ "condition": "true",
+ "endpointNames": [
+ "events"
+ ],
+ "isEnabled": true
+ }
+ },
+ "storageEndpoints": {
+ "$default": {
+ "sasTtlAsIso8601": "PT1H",
+ "connectionString": "",
+ "containerName": ""
+ }
+ },
+ "messagingEndpoints": {
+ "fileNotifications": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "enableFileUploadNotifications": false,
+ "cloudToDevice": {
+ "maxDeliveryCount": 10,
+ "defaultTtlAsIso8601": "PT1H",
+ "feedback": {
+ "lockDurationAsIso8601": "PT1M",
+ "ttlAsIso8601": "PT1H",
+ "maxDeliveryCount": 10
+ }
+ },
+ "features": "None"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "systemData": {
+ "createdAt": "2021-01-30T00:28:38.963Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_quotametrics.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_quotametrics.json
new file mode 100644
index 000000000000..103c5abc4a10
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_quotametrics.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "TotalMessages",
+ "currentValue": 0,
+ "maxValue": 400000
+ },
+ {
+ "name": "TotalDeviceCount",
+ "currentValue": 0,
+ "maxValue": 500000
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_routingendpointhealth.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_routingendpointhealth.json
new file mode 100644
index 000000000000..0758819fa53d
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_routingendpointhealth.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "endpointId": "id1",
+ "healthStatus": "healthy",
+ "lastSuccessfulSendAttemptTime": "2020-03-26T21:20:57Z",
+ "lastSendAttemptTime": "2020-03-26T21:24:57Z"
+ },
+ {
+ "endpointId": "id2",
+ "healthStatus": "unknown"
+ },
+ {
+ "endpointId": "id3",
+ "healthStatus": "unhealthy",
+ "lastKnownError": "NotFound",
+ "lastKnownErrorTime": "2020-03-26T21:24:57Z",
+ "lastSuccessfulSendAttemptTime": "2020-03-26T21:20:57Z",
+ "lastSendAttemptTime": "2020-03-26T21:24:57Z"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_stats.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_stats.json
new file mode 100644
index 000000000000..1a7bcb918e7e
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_stats.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-04-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "totalDeviceCount": 0,
+ "enabledDeviceCount": 0,
+ "disabledDeviceCount": 0
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_testallroutes.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_testallroutes.json
new file mode 100644
index 000000000000..c8f74622f99c
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_testallroutes.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "input": {
+ "routingSource": "DeviceMessages",
+ "message": {
+ "body": "Body of message",
+ "appProperties": {
+ "key1": "value1"
+ },
+ "systemProperties": {
+ "key1": "value1"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "routes": [
+ {
+ "properties": {
+ "name": "Routeid",
+ "source": "DeviceMessages",
+ "endpointNames": [
+ "id1"
+ ],
+ "isEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_testnewroute.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_testnewroute.json
new file mode 100644
index 000000000000..110186954258
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_testnewroute.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "iotHubName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "input": {
+ "message": {
+ "body": "Body of message",
+ "appProperties": {
+ "key1": "value1"
+ },
+ "systemProperties": {
+ "key1": "value1"
+ }
+ },
+ "route": {
+ "name": "Routeid",
+ "source": "DeviceMessages",
+ "endpointNames": [
+ "id1"
+ ],
+ "isEnabled": true
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "result": "false",
+ "details": {
+ "compilationErrors": [
+ {
+ "message": "string response",
+ "severity": "error",
+ "location": {
+ "start": {
+ "line": 12,
+ "column": 12
+ },
+ "end": {
+ "line": 12,
+ "column": 24
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_updateprivateendpointconnection.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_updateprivateendpointconnection.json
new file mode 100644
index 000000000000..8837af90f02e
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_updateprivateendpointconnection.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceName": "testHub",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection",
+ "privateEndpointConnection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/testHub/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/IotHubs/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_usages.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_usages.json
new file mode 100644
index 000000000000..44f11e6b099e
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/examples/iothub_usages.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-07-02",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages/freeHubCount",
+ "type": "/subscription/91d12660-3dec-467a-be2a-213b5544ddc0/providers/Microsoft.Devices/usages",
+ "unit": "count",
+ "currentValue": 1,
+ "limit": 1,
+ "name": {
+ "value": "FreeHubCount",
+ "localizedValue": "Free Hub Count"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/iothub.json b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/iothub.json
new file mode 100644
index 000000000000..5e6af1e267da
--- /dev/null
+++ b/specification/iothub/resource-manager/Microsoft.Devices/stable/2021-07-02/iothub.json
@@ -0,0 +1,4462 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-07-02",
+ "title": "iotHubClient",
+ "description": "Use this API to manage the IoT hubs in your Azure subscription.",
+ "x-ms-code-generation-settings": {
+ "header": "MICROSOFT_MIT_NO_VERSION"
+ }
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Devices/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/iothub_operations.json"
+ }
+ },
+ "operationId": "Operations_List",
+ "description": "Lists all of the available IoT Hub REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the non-security related metadata of an IoT hub",
+ "description": "Get the non-security related metadata of an IoT hub.",
+ "operationId": "IotHubResource_Get",
+ "x-ms-examples": {
+ "IotHubResource_Get": {
+ "$ref": "./examples/iothub_get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains all the non-security properties of the IoT hub. Security-related properties are set to null.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Create or update the metadata of an IoT hub.",
+ "description": "Create or update the metadata of an Iot hub. The usual pattern to modify a property is to retrieve the IoT hub metadata and security metadata, and then combine them with the modified values in a new body to update the IoT hub. If certain properties are missing in the JSON, updating IoT Hub may cause these values to fallback to default, which may lead to unexpected behavior.",
+ "operationId": "IotHubResource_CreateOrUpdate",
+ "x-ms-examples": {
+ "IotHubResource_CreateOrUpdate": {
+ "$ref": "./examples/iothub_createOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "iotHubDescription",
+ "in": "body",
+ "description": "The IoT hub metadata and security metadata.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the IoT Hub. Do not specify for creating a brand new IoT Hub. Required to update an existing IoT Hub."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the create or update operation. The body contains the resource representation that indicates a transitional provisioning state.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "patch": {
+ "tags": [
+ "PATCH"
+ ],
+ "summary": "Update an existing IoT Hubs tags.",
+ "description": "Update an existing IoT Hub tags. to update other fields use the CreateOrUpdate method",
+ "x-ms-long-running-operation": true,
+ "operationId": "IotHubResource_Update",
+ "x-ms-examples": {
+ "IotHubResource_Update": {
+ "$ref": "./examples/iothub_patch.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of iot hub to update."
+ },
+ {
+ "name": "IotHubTags",
+ "in": "body",
+ "required": true,
+ "description": "Updated tag information to set into the iot hub instance.",
+ "schema": {
+ "$ref": "#/definitions/TagsResource"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Iot Hub was successfully updated",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete an IoT hub",
+ "description": "Delete an IoT hub.",
+ "operationId": "IotHubResource_Delete",
+ "x-ms-examples": {
+ "IotHubResource_Delete": {
+ "$ref": "./examples/iothub_delete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The Iot Hub resource provider always returns a 202 Accepted status code with valid Location and Retry-After headers. The resource provider also sets the Azure-AsyncOperation header with a URL that points to the operation resource for this operation. Subsequent GET attempts on the resource after a DELETE operation return a resource representation that indicates a transitional provisioning state (such as Terminating). To retrieve the status of the operation, a client can either poll the URL returned in the Location header after the Retry-After interval, get the IoT Hub service status directly, or query the operation resource.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "204": {
+ "description": "Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the Iot hub metadata in the service and the status of the delete operation is set to a completed state."
+ },
+ "404": {
+ "description": "After the long running delete operation completes successfully, a 404 Not Found is returned when the status polling request no longer finds the Iot hub metadata in the service.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get all the IoT hubs in a subscription",
+ "description": "Get all the IoT hubs in a subscription.",
+ "operationId": "IotHubResource_ListBySubscription",
+ "x-ms-examples": {
+ "IotHubResource_ListBySubscription": {
+ "$ref": "./examples/iothub_listbysubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get all the IoT hubs in a resource group",
+ "description": "Get all the IoT hubs in a resource group.",
+ "operationId": "IotHubResource_ListByResourceGroup",
+ "x-ms-examples": {
+ "IotHubResource_ListByResourceGroup": {
+ "$ref": "./examples/iothub_listbyrg.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoT hubs in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/IotHubDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the statistics from an IoT hub",
+ "description": "Get the statistics from an IoT hub.",
+ "operationId": "IotHubResource_GetStats",
+ "x-ms-examples": {
+ "IotHubResource_GetStats": {
+ "$ref": "./examples/iothub_stats.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains JSON-serialized statistics from the identity registry in the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/RegistryStatistics"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the list of valid SKUs for an IoT hub",
+ "description": "Get the list of valid SKUs for an IoT hub.",
+ "operationId": "IotHubResource_GetValidSkus",
+ "x-ms-examples": {
+ "IotHubResource_GetValidSkus": {
+ "$ref": "./examples/iothub_getskus.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the valid SKUs for this IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/IotHubSkuDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub",
+ "description": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub.",
+ "operationId": "IotHubResource_ListEventHubConsumerGroups",
+ "x-ms-examples": {
+ "IotHubResource_ListEventHubConsumerGroups": {
+ "$ref": "./examples/iothub_listehgroups.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized list of the consumer groups in the Event Hub-compatible endpoint in this IoT hub",
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupsListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub",
+ "description": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub.",
+ "operationId": "IotHubResource_GetEventHubConsumerGroup",
+ "x-ms-examples": {
+ "IotHubResource_ListEventHubConsumerGroups": {
+ "$ref": "./examples/iothub_getconsumergroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint in the IoT hub.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the consumer group to retrieve.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized consumer group.",
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupInfo"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub",
+ "description": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub.",
+ "operationId": "IotHubResource_CreateEventHubConsumerGroup",
+ "x-ms-examples": {
+ "IotHubResource_CreateEventHubConsumerGroup": {
+ "$ref": "./examples/iothub_createconsumergroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint in the IoT hub.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the consumer group to add.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "consumerGroupBody",
+ "in": "body",
+ "description": "The consumer group to add.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupBodyDescription"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation.",
+ "schema": {
+ "$ref": "#/definitions/EventHubConsumerGroupInfo"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub",
+ "description": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub.",
+ "operationId": "IotHubResource_DeleteEventHubConsumerGroup",
+ "x-ms-examples": {
+ "IotHubResource_DeleteEventHubConsumerGroup": {
+ "$ref": "./examples/iothub_deleteconsumergroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "eventHubEndpointName",
+ "in": "path",
+ "description": "The name of the Event Hub-compatible endpoint in the IoT hub.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the consumer group to delete.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry",
+ "description": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.",
+ "operationId": "IotHubResource_ListJobs",
+ "x-ms-examples": {
+ "IotHubResource_ListJobs": {
+ "$ref": "./examples/iothub_listjobs.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The response contains a JSON-serialized array of all the jobs in the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/JobResponseListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs/{jobId}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry",
+ "description": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.",
+ "operationId": "IotHubResource_GetJob",
+ "x-ms-examples": {
+ "IotHubResource_GetJob": {
+ "$ref": "./examples/iothub_getjob.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "jobId",
+ "in": "path",
+ "description": "The job identifier.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The response contains a JSON-serialized description of the job in the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the quota metrics for an IoT hub",
+ "description": "Get the quota metrics for an IoT hub.",
+ "operationId": "IotHubResource_GetQuotaMetrics",
+ "x-ms-examples": {
+ "IotHubResource_GetQuotaMetrics": {
+ "$ref": "./examples/iothub_quotametrics.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The response contains a JSON-serialized array of the quota metrics for the IoT hub.",
+ "schema": {
+ "$ref": "#/definitions/IotHubQuotaMetricInfoListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routingEndpointsHealth": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "operationId": "IotHubResource_GetEndpointHealth",
+ "summary": "Get the health for routing endpoints",
+ "description": "Get the health for routing endpoints.",
+ "x-ms-examples": {
+ "IotHubResource_GetEndpointHealth": {
+ "$ref": "./examples/iothub_routingendpointhealth.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "iotHubName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/EndpointHealthDataListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Check if an IoT hub name is available",
+ "description": "Check if an IoT hub name is available.",
+ "operationId": "IotHubResource_CheckNameAvailability",
+ "x-ms-examples": {
+ "IotHubResource_CheckNameAvailability": {
+ "$ref": "./examples/checkNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "operationInputs",
+ "in": "body",
+ "description": "Set the name parameter in the OperationInputs structure to the name of the IoT hub to check.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OperationInputs"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the IoT hub name is available. If the name is not available, the body contains the reason.",
+ "schema": {
+ "$ref": "#/definitions/IotHubNameAvailabilityInfo"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/usages": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the number of iot hubs in the subscription",
+ "description": "Get the number of free and paid iot hubs in the subscription",
+ "operationId": "ResourceProviderCommon_GetSubscriptionQuota",
+ "x-ms-examples": {
+ "ResourceProviderCommon_GetSubscriptionQuota": {
+ "$ref": "./examples/iothub_usages.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UserSubscriptionQuotaListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotHubResource_TestAllRoutes",
+ "summary": "Test all routes",
+ "description": "Test all routes configured in this Iot Hub",
+ "x-ms-examples": {
+ "IotHubResource_TestAllRoutes": {
+ "$ref": "./examples/iothub_testallroutes.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "input",
+ "description": "Input for testing all routes",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestAllRoutesInput"
+ }
+ },
+ {
+ "name": "iotHubName",
+ "description": "IotHub to be tested",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "resource group which Iot Hub belongs to",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TestAllRoutesResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotHubResource_TestRoute",
+ "summary": "Test the new route",
+ "description": "Test the new route for this Iot Hub",
+ "x-ms-examples": {
+ "IotHubResource_TestRoute": {
+ "$ref": "./examples/iothub_testnewroute.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "input",
+ "description": "Route that needs to be tested",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TestRouteInput"
+ }
+ },
+ {
+ "name": "iotHubName",
+ "description": "IotHub to be tested",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "resource group which Iot Hub belongs to",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/TestRouteResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security",
+ "description": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.",
+ "operationId": "IotHubResource_ListKeys",
+ "x-ms-examples": {
+ "IotHubResource_ListKeys": {
+ "$ref": "./examples/iothub_listkeys.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of shared access policies, including keys, that you can use to access the IoT hub endpoints.",
+ "schema": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security",
+ "description": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.",
+ "operationId": "IotHubResource_GetKeysForKeyName",
+ "x-ms-examples": {
+ "IotHubResource_GetKeysForKeyName": {
+ "$ref": "./examples/iothub_getkey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "keyName",
+ "in": "path",
+ "description": "The name of the shared access policy.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized shared access policy, including keys, that you can use to access one or more IoT hub endpoints.",
+ "schema": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities",
+ "description": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.",
+ "operationId": "IotHubResource_ExportDevices",
+ "x-ms-examples": {
+ "IotHubResource_ExportDevices": {
+ "$ref": "./examples/iothub_exportdevices.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "exportDevicesParameters",
+ "in": "body",
+ "description": "The parameters that specify the export devices operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExportDevicesRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "summary": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities",
+ "description": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.",
+ "operationId": "IotHubResource_ImportDevices",
+ "x-ms-examples": {
+ "IotHubResource_ImportDevices": {
+ "$ref": "./examples/iothub_importdevices.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "name": "importDevicesParameters",
+ "in": "body",
+ "description": "The parameters that specify the import devices operation.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImportDevicesRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates": {
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Get the certificate list.",
+ "description": "Returns the list of certificates.",
+ "operationId": "Certificates_ListByIotHub",
+ "x-ms-examples": {
+ "Certificates_ListByIotHub": {
+ "$ref": "./examples/iothub_listcertificates.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains all the certificate list.",
+ "schema": {
+ "$ref": "#/definitions/CertificateListDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}": {
+ "get": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Get the certificate.",
+ "description": "Returns the certificate.",
+ "operationId": "Certificates_Get",
+ "x-ms-examples": {
+ "Certificates_Get": {
+ "$ref": "./examples/iothub_getcertificate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Upload the certificate to the IoT hub.",
+ "description": "Adds new or replaces existing certificate.",
+ "operationId": "Certificates_CreateOrUpdate",
+ "x-ms-examples": {
+ "Certificates_CreateOrUpdate": {
+ "$ref": "./examples/iothub_certificatescreateorupdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "certificateDescription",
+ "in": "body",
+ "description": "The certificate body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the Certificate. Do not specify for creating a brand new certificate. Required to update an existing certificate."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "If certificate didn't exist creation was successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "200": {
+ "description": "If certificate already exist and update was successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Delete an X509 certificate.",
+ "description": "Deletes an existing X509 certificate or does nothing if it does not exist.",
+ "operationId": "Certificates_Delete",
+ "x-ms-examples": {
+ "Certificates_Delete": {
+ "$ref": "./examples/iothub_certificatesdelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the Certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Certificate has been deleted."
+ },
+ "204": {
+ "description": "Certificate does not exist."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode": {
+ "post": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Generate verification code for proof of possession flow.",
+ "description": "Generates verification code for proof of possession flow. The verification code will be used to generate a leaf certificate.",
+ "operationId": "Certificates_GenerateVerificationCode",
+ "x-ms-examples": {
+ "Certificates_GenerateVerificationCode": {
+ "$ref": "./examples/iothub_generateverificationcode.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the Certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateWithNonceDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify": {
+ "post": {
+ "tags": [
+ "Certificates"
+ ],
+ "summary": "Verify certificate's private key possession.",
+ "description": "Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.",
+ "operationId": "Certificates_Verify",
+ "x-ms-examples": {
+ "Certificates_Verify": {
+ "$ref": "./examples/iothub_certverify.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/certificateName"
+ },
+ {
+ "name": "certificateVerificationBody",
+ "in": "body",
+ "description": "The name of the certificate",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateVerificationDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the Certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/failover": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotHub_ManualFailover",
+ "summary": "Manually initiate a failover for the IoT Hub to its secondary region",
+ "description": "Manually initiate a failover for the IoT Hub to its secondary region. To learn more, see https://aka.ms/manualfailover",
+ "x-ms-examples": {
+ "IotHub_ManualFailover": {
+ "$ref": "./examples/IotHub_ManualFailover.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "name": "iotHubName",
+ "description": "Name of the IoT hub to failover",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "failoverInput",
+ "description": "Region to failover to. Must be the Azure paired region. Get the value from the secondary location in the locations property. To learn more, see https://aka.ms/manualfailover/region",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FailoverInput"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "Name of the resource group containing the IoT hub resource",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Long running manual failover operation for the IoT hub completed"
+ },
+ "202": {
+ "description": "Manual failover initiated"
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "List private link resources",
+ "description": "List private link resources for the given IotHub",
+ "operationId": "PrivateLinkResources_List",
+ "x-ms-examples": {
+ "PrivateLinkResources_List": {
+ "$ref": "./examples/iothub_listprivatelinkresources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the list of private link resources",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResources"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateLinkResources/{groupId}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the specified private link resource",
+ "description": "Get the specified private link resource for the given IotHub",
+ "operationId": "PrivateLinkResources_Get",
+ "x-ms-examples": {
+ "PrivateLinkResources_List": {
+ "$ref": "./examples/iothub_getprivatelinkresources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/groupId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the specified of private link resource",
+ "schema": {
+ "$ref": "#/definitions/GroupIdInformation"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "List private endpoint connections",
+ "description": "List private endpoint connection properties",
+ "operationId": "PrivateEndpointConnections_List",
+ "x-ms-examples": {
+ "PrivateEndpointConnections_List": {
+ "$ref": "./examples/iothub_listprivateendpointconnections.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the list of private endpoint connection properties",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionsList"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get private endpoint connection",
+ "description": "Get private endpoint connection properties",
+ "operationId": "PrivateEndpointConnections_Get",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_Get": {
+ "$ref": "./examples/iothub_getprivateendpointconnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the private endpoint connection properties",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Update private endpoint connection",
+ "description": "Update the status of a private endpoint connection with the specified name",
+ "operationId": "PrivateEndpointConnections_Update",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_Update": {
+ "$ref": "./examples/iothub_updateprivateendpointconnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ },
+ {
+ "name": "privateEndpointConnection",
+ "in": "body",
+ "description": "The private endpoint connection with updated properties",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the update operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete private endpoint connection",
+ "description": "Delete private endpoint connection with the specified name",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_Delete": {
+ "$ref": "./examples/iothub_deleteprivateendpointconnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "This is a long running operation. The operation returns a 202 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the delete operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "204": {
+ "description": "PrivateEndpoint does not exist."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ }
+ },
+ "definitions": {
+ "CertificateVerificationDescription": {
+ "description": "The JSON-serialized leaf certificate",
+ "type": "object",
+ "properties": {
+ "certificate": {
+ "description": "base-64 representation of X509 certificate .cer file or just .pem file content.",
+ "type": "string"
+ }
+ }
+ },
+ "CertificateListDescription": {
+ "description": "The JSON-serialized array of Certificate objects.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of Certificate objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateDescription"
+ }
+ }
+ }
+ },
+ "CertificateBodyDescription": {
+ "description": "The JSON-serialized X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "certificate": {
+ "description": "base-64 representation of the X509 leaf certificate .cer file or just .pem file content.",
+ "type": "string"
+ },
+ "isVerified": {
+ "description": "True indicates that the certificate will be created in verified state and proof of possession will not be required.",
+ "type": "boolean"
+ }
+ }
+ },
+ "CertificateDescription": {
+ "description": "The X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CertificateProperties"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "description": "The name of the certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The entity tag.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "CertificateWithNonceDescription": {
+ "description": "The X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/CertificatePropertiesWithNonce"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "description": "The name of the certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The entity tag.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "SharedAccessSignatureAuthorizationRule": {
+ "description": "The properties of an IoT hub shared access policy.",
+ "type": "object",
+ "properties": {
+ "keyName": {
+ "description": "The name of the shared access policy.",
+ "type": "string"
+ },
+ "primaryKey": {
+ "description": "The primary key.",
+ "type": "string"
+ },
+ "secondaryKey": {
+ "description": "The secondary key.",
+ "type": "string"
+ },
+ "rights": {
+ "description": "The permissions assigned to the shared access policy.",
+ "enum": [
+ "RegistryRead",
+ "RegistryWrite",
+ "ServiceConnect",
+ "DeviceConnect",
+ "RegistryRead, RegistryWrite",
+ "RegistryRead, ServiceConnect",
+ "RegistryRead, DeviceConnect",
+ "RegistryWrite, ServiceConnect",
+ "RegistryWrite, DeviceConnect",
+ "ServiceConnect, DeviceConnect",
+ "RegistryRead, RegistryWrite, ServiceConnect",
+ "RegistryRead, RegistryWrite, DeviceConnect",
+ "RegistryRead, ServiceConnect, DeviceConnect",
+ "RegistryWrite, ServiceConnect, DeviceConnect",
+ "RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccessRights",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "keyName",
+ "rights"
+ ]
+ },
+ "CertificateProperties": {
+ "description": "The description of an X509 CA Certificate.",
+ "type": "object",
+ "properties": {
+ "subject": {
+ "description": "The certificate's subject name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "expiry": {
+ "description": "The certificate's expiration date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "thumbprint": {
+ "description": "The certificate's thumbprint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isVerified": {
+ "description": "Determines whether certificate has been verified.",
+ "type": "boolean"
+ },
+ "created": {
+ "description": "The certificate's create date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "updated": {
+ "description": "The certificate's last update date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "certificate": {
+ "description": "The certificate content",
+ "type": "string"
+ }
+ }
+ },
+ "CertificatePropertiesWithNonce": {
+ "description": "The description of an X509 CA Certificate including the challenge nonce issued for the Proof-Of-Possession flow.",
+ "type": "object",
+ "properties": {
+ "subject": {
+ "description": "The certificate's subject name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "expiry": {
+ "description": "The certificate's expiration date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "thumbprint": {
+ "description": "The certificate's thumbprint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isVerified": {
+ "description": "Determines whether certificate has been verified.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "created": {
+ "description": "The certificate's create date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "updated": {
+ "description": "The certificate's last update date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "verificationCode": {
+ "description": "The certificate's verification code that will be used for proof of possession.",
+ "type": "string",
+ "readOnly": true
+ },
+ "certificate": {
+ "description": "The certificate content",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubProperties": {
+ "description": "The properties of an IoT hub.",
+ "type": "object",
+ "properties": {
+ "authorizationPolicies": {
+ "description": "The shared access policies you can use to secure a connection to the IoT hub.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule"
+ }
+ },
+ "disableLocalAuth": {
+ "description": "If true, SAS tokens with Iot hub scoped SAS keys cannot be used for authentication.",
+ "type": "boolean"
+ },
+ "disableDeviceSAS": {
+ "description": "If true, all device(including Edge devices but excluding modules) scoped SAS keys cannot be used for authentication.",
+ "type": "boolean"
+ },
+ "disableModuleSAS": {
+ "description": "If true, all module scoped SAS keys cannot be used for authentication.",
+ "type": "boolean"
+ },
+ "restrictOutboundNetworkAccess": {
+ "description": "If true, egress from IotHub will be restricted to only the allowed FQDNs that are configured via allowedFqdnList.",
+ "type": "boolean"
+ },
+ "allowedFqdnList": {
+ "description": "List of allowed FQDNs(Fully Qualified Domain Name) for egress from Iot Hub.",
+ "type": "array",
+ "items": {
+ "description": "FQDN to be allowed for egress. Example: my-eventhub.servicebus.windows.net",
+ "type": "string"
+ }
+ },
+ "publicNetworkAccess": {
+ "type": "string",
+ "description": "Whether requests from Public Network are allowed",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PublicNetworkAccess"
+ }
+ },
+ "ipFilterRules": {
+ "description": "The IP filter rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpFilterRule"
+ }
+ },
+ "networkRuleSets": {
+ "$ref": "#/definitions/NetworkRuleSetProperties"
+ },
+ "minTlsVersion": {
+ "type": "string",
+ "description": "Specifies the minimum TLS version to support for this hub. Can be set to \"1.2\" to have clients that use a TLS version below 1.2 to be rejected."
+ },
+ "privateEndpointConnections": {
+ "description": "Private endpoint connections created on this IotHub",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "provisioningState": {
+ "description": "The provisioning state.",
+ "type": "string",
+ "readOnly": true
+ },
+ "state": {
+ "description": "The hub state.",
+ "type": "string",
+ "readOnly": true
+ },
+ "hostName": {
+ "description": "The name of the host.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eventHubEndpoints": {
+ "description": "The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. This key has to be present in the dictionary while making create or update calls for the IoT hub.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/EventHubProperties"
+ }
+ },
+ "routing": {
+ "$ref": "#/definitions/RoutingProperties"
+ },
+ "storageEndpoints": {
+ "description": "The list of Azure Storage endpoints where you can upload files. Currently you can configure only one Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, causes an error to be thrown.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/StorageEndpointProperties"
+ }
+ },
+ "messagingEndpoints": {
+ "description": "The messaging endpoint properties for the file upload notification queue.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/MessagingEndpointProperties"
+ }
+ },
+ "enableFileUploadNotifications": {
+ "description": "If True, file upload notifications are enabled.",
+ "type": "boolean"
+ },
+ "cloudToDevice": {
+ "$ref": "#/definitions/CloudToDeviceProperties"
+ },
+ "comments": {
+ "description": "IoT hub comments.",
+ "type": "string"
+ },
+ "features": {
+ "description": "The capabilities and features enabled for the IoT hub.",
+ "enum": [
+ "None",
+ "DeviceManagement"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "Capabilities",
+ "modelAsString": true
+ }
+ },
+ "locations": {
+ "description": "Primary and secondary location for iot hub",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubLocationDescription"
+ }
+ },
+ "enableDataResidency": {
+ "description": "This property when set to true, will enable data residency, thus, disabling disaster recovery.",
+ "type": "boolean"
+ }
+ }
+ },
+ "IotHubSkuInfo": {
+ "description": "Information about the SKU of the IoT hub.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the SKU.",
+ "enum": [
+ "F1",
+ "S1",
+ "S2",
+ "S3",
+ "B1",
+ "B2",
+ "B3"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotHubSku",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "description": "The billing tier for the IoT hub.",
+ "enum": [
+ "Free",
+ "Standard",
+ "Basic"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "IotHubSkuTier",
+ "modelAsString": false
+ }
+ },
+ "capacity": {
+ "format": "int64",
+ "description": "The number of provisioned IoT Hub units. See: https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "EventHubProperties": {
+ "description": "The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub.",
+ "type": "object",
+ "properties": {
+ "retentionTimeInDays": {
+ "format": "int64",
+ "description": "The retention time for device-to-cloud messages in days. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages",
+ "type": "integer"
+ },
+ "partitionCount": {
+ "format": "int32",
+ "description": "The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages.",
+ "type": "integer"
+ },
+ "partitionIds": {
+ "description": "The partition ids in the Event Hub-compatible endpoint.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "path": {
+ "description": "The Event Hub-compatible name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endpoint": {
+ "description": "The Event Hub-compatible endpoint.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageEndpointProperties": {
+ "description": "The properties of the Azure Storage endpoint for file upload.",
+ "type": "object",
+ "properties": {
+ "sasTtlAsIso8601": {
+ "description": "The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options.",
+ "type": "string",
+ "format": "duration"
+ },
+ "connectionString": {
+ "description": "The connection string for the Azure Storage account to which files are uploaded.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified.",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Specifies authentication type being used for connecting to the storage account.",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of storage endpoint for file upload.",
+ "$ref": "#/definitions/ManagedIdentity"
+ }
+ },
+ "required": [
+ "connectionString",
+ "containerName"
+ ]
+ },
+ "MessagingEndpointProperties": {
+ "description": "The properties of the messaging endpoints used by this IoT hub.",
+ "type": "object",
+ "properties": {
+ "lockDurationAsIso8601": {
+ "description": "The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
+ "type": "string",
+ "format": "duration"
+ },
+ "ttlAsIso8601": {
+ "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
+ "type": "string",
+ "format": "duration"
+ },
+ "maxDeliveryCount": {
+ "description": "The number of times the IoT hub attempts to deliver a message. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ }
+ }
+ },
+ "CloudToDeviceProperties": {
+ "description": "The IoT hub cloud-to-device messaging properties.",
+ "type": "object",
+ "properties": {
+ "maxDeliveryCount": {
+ "description": "The max delivery count for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ },
+ "defaultTtlAsIso8601": {
+ "description": "The default time to live for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "type": "string",
+ "format": "duration"
+ },
+ "feedback": {
+ "$ref": "#/definitions/FeedbackProperties"
+ }
+ }
+ },
+ "IpFilterRule": {
+ "description": "The IP filter rules for the IoT hub.",
+ "type": "object",
+ "properties": {
+ "filterName": {
+ "description": "The name of the IP filter rule.",
+ "type": "string"
+ },
+ "action": {
+ "description": "The desired action for requests captured by this rule.",
+ "enum": [
+ "Accept",
+ "Reject"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IpFilterActionType",
+ "modelAsString": false
+ }
+ },
+ "ipMask": {
+ "description": "A string that contains the IP address range in CIDR notation for the rule.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "filterName",
+ "action",
+ "ipMask"
+ ]
+ },
+ "NetworkRuleSetProperties": {
+ "description": "Network Rule Set Properties of IotHub",
+ "type": "object",
+ "properties": {
+ "defaultAction": {
+ "type": "string",
+ "description": "Default Action for Network Rule Set",
+ "enum": [
+ "Deny",
+ "Allow"
+ ],
+ "x-ms-enum": {
+ "name": "DefaultAction",
+ "modelAsString": true
+ },
+ "default": "Deny"
+ },
+ "applyToBuiltInEventHubEndpoint": {
+ "type": "boolean",
+ "description": "If True, then Network Rule Set is also applied to BuiltIn EventHub EndPoint of IotHub"
+ },
+ "ipRules": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkRuleSetIpRule"
+ },
+ "description": "List of IP Rules"
+ }
+ },
+ "required": [
+ "applyToBuiltInEventHubEndpoint",
+ "ipRules"
+ ]
+ },
+ "NetworkRuleSetIpRule": {
+ "description": "IP Rule to be applied as part of Network Rule Set",
+ "type": "object",
+ "properties": {
+ "filterName": {
+ "type": "string",
+ "description": "Name of the IP filter rule."
+ },
+ "action": {
+ "type": "string",
+ "description": "IP Filter Action",
+ "enum": [
+ "Allow"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkRuleIPAction",
+ "modelAsString": true
+ },
+ "default": "Allow"
+ },
+ "ipMask": {
+ "type": "string",
+ "description": "A string that contains the IP address range in CIDR notation for the rule."
+ }
+ },
+ "required": [
+ "filterName",
+ "ipMask"
+ ]
+ },
+ "PrivateLinkResources": {
+ "description": "The available private link resources for an IotHub",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of available private link resources for an IotHub",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GroupIdInformation"
+ }
+ }
+ }
+ },
+ "GroupIdInformation": {
+ "description": "The group information for creating a private endpoint on an IotHub",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "$ref": "#/definitions/GroupIdInformationProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "GroupIdInformationProperties": {
+ "description": "The properties for a group information object",
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "type": "string",
+ "description": "The group id"
+ },
+ "requiredMembers": {
+ "description": "The required members for a specific group id",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "requiredZoneNames": {
+ "description": "The required DNS zones for a specific group id",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnectionsList": {
+ "description": "The list of private endpoint connections for an IotHub",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "The private endpoint connection of an IotHub",
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "The properties of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState"
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ]
+ },
+ "PrivateEndpoint": {
+ "description": "The private endpoint property of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The current state of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The status of a private endpoint connection",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PrivateLinkServiceConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The description for the current state of a private endpoint connection"
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "Actions required for a private endpoint connection"
+ }
+ },
+ "required": [
+ "status",
+ "description"
+ ]
+ },
+ "FeedbackProperties": {
+ "description": "The properties of the feedback queue for cloud-to-device messages.",
+ "type": "object",
+ "properties": {
+ "lockDurationAsIso8601": {
+ "description": "The lock duration for the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "type": "string",
+ "format": "duration"
+ },
+ "ttlAsIso8601": {
+ "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "type": "string",
+ "format": "duration"
+ },
+ "maxDeliveryCount": {
+ "description": "The number of times the IoT hub attempts to deliver a message on the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
+ "format": "int32",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ }
+ }
+ },
+ "RoutingProperties": {
+ "description": "The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging",
+ "type": "object",
+ "properties": {
+ "endpoints": {
+ "$ref": "#/definitions/RoutingEndpoints"
+ },
+ "routes": {
+ "description": "The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteProperties"
+ }
+ },
+ "fallbackRoute": {
+ "description": "The properties of the route that is used as a fall-back route when none of the conditions specified in the 'routes' section are met. This is an optional parameter. When this property is not set, the messages which do not meet any of the conditions specified in the 'routes' section get routed to the built-in eventhub endpoint.",
+ "$ref": "#/definitions/FallbackRouteProperties"
+ },
+ "enrichments": {
+ "description": "The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and custom endpoints. See: https://aka.ms/telemetryoneventgrid",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnrichmentProperties"
+ }
+ }
+ }
+ },
+ "RoutingEndpoints": {
+ "description": "The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs.",
+ "type": "object",
+ "properties": {
+ "serviceBusQueues": {
+ "description": "The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingServiceBusQueueEndpointProperties"
+ }
+ },
+ "serviceBusTopics": {
+ "description": "The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingServiceBusTopicEndpointProperties"
+ }
+ },
+ "eventHubs": {
+ "description": "The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does not include the built-in Event Hubs endpoint.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingEventHubProperties"
+ }
+ },
+ "storageContainers": {
+ "description": "The list of storage container endpoints that IoT hub routes messages to, based on the routing rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoutingStorageContainerProperties"
+ }
+ }
+ }
+ },
+ "RoutingServiceBusQueueEndpointProperties": {
+ "description": "The properties related to service bus queue endpoint types.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the service bus queue endpoint",
+ "type": "string"
+ },
+ "connectionString": {
+ "description": "The connection string of the service bus queue endpoint.",
+ "type": "string"
+ },
+ "endpointUri": {
+ "description": "The url of the service bus queue endpoint. It must include the protocol sb://",
+ "type": "string"
+ },
+ "entityPath": {
+ "description": "Queue name on the service bus namespace",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Method used to authenticate against the service bus queue endpoint",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "authenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of routing service bus queue endpoint.",
+ "$ref": "#/definitions/ManagedIdentity"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the service bus queue endpoint.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the service bus queue endpoint.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "RoutingServiceBusTopicEndpointProperties": {
+ "description": "The properties related to service bus topic endpoint types.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the service bus topic endpoint",
+ "type": "string"
+ },
+ "connectionString": {
+ "description": "The connection string of the service bus topic endpoint.",
+ "type": "string"
+ },
+ "endpointUri": {
+ "description": "The url of the service bus topic endpoint. It must include the protocol sb://",
+ "type": "string"
+ },
+ "entityPath": {
+ "description": "Queue name on the service bus topic",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Method used to authenticate against the service bus topic endpoint",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "authenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of routing service bus topic endpoint.",
+ "$ref": "#/definitions/ManagedIdentity"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the service bus topic endpoint.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the service bus topic endpoint.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "RoutingEventHubProperties": {
+ "description": "The properties related to an event hub endpoint.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the event hub endpoint",
+ "type": "string"
+ },
+ "connectionString": {
+ "description": "The connection string of the event hub endpoint. ",
+ "type": "string"
+ },
+ "endpointUri": {
+ "description": "The url of the event hub endpoint. It must include the protocol sb://",
+ "type": "string"
+ },
+ "entityPath": {
+ "description": "Event hub name on the event hub namespace",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Method used to authenticate against the event hub endpoint",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "authenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of routing event hub endpoint.",
+ "$ref": "#/definitions/ManagedIdentity"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the event hub endpoint.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the event hub endpoint.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "RoutingStorageContainerProperties": {
+ "description": "The properties related to a storage container endpoint.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Id of the storage container endpoint",
+ "type": "string"
+ },
+ "connectionString": {
+ "description": "The connection string of the storage account.",
+ "type": "string"
+ },
+ "endpointUri": {
+ "description": "The url of the storage endpoint. It must include the protocol https://",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Method used to authenticate against the storage endpoint",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "authenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of routing storage endpoint.",
+ "$ref": "#/definitions/ManagedIdentity"
+ },
+ "name": {
+ "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "subscriptionId": {
+ "description": "The subscription identifier of the storage account.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "The name of the resource group of the storage account.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "The name of storage container in the storage account.",
+ "type": "string"
+ },
+ "fileNameFormat": {
+ "description": "File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.",
+ "type": "string"
+ },
+ "batchFrequencyInSeconds": {
+ "description": "Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.",
+ "format": "int32",
+ "type": "integer",
+ "maximum": 720,
+ "minimum": 60
+ },
+ "maxChunkSizeInBytes": {
+ "description": "Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).",
+ "format": "int32",
+ "type": "integer",
+ "maximum": 524288000,
+ "minimum": 10485760
+ },
+ "encoding": {
+ "description": "Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. Default value is 'avro'.",
+ "type": "string",
+ "enum": [
+ "Avro",
+ "AvroDeflate",
+ "JSON"
+ ]
+ }
+ },
+ "required": [
+ "name",
+ "containerName"
+ ]
+ },
+ "RouteProperties": {
+ "description": "The properties of a routing rule that your IoT hub uses to route messages to endpoints.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.",
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$"
+ },
+ "source": {
+ "description": "The source that the routing rule is to be applied to, such as DeviceMessages.",
+ "enum": [
+ "Invalid",
+ "DeviceMessages",
+ "TwinChangeEvents",
+ "DeviceLifecycleEvents",
+ "DeviceJobLifecycleEvents",
+ "DeviceConnectionStateEvents"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoutingSource",
+ "modelAsString": true
+ }
+ },
+ "condition": {
+ "description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language",
+ "type": "string"
+ },
+ "endpointNames": {
+ "description": "The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed.",
+ "minItems": 1,
+ "maxItems": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isEnabled": {
+ "description": "Used to specify whether a route is enabled.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "name",
+ "endpointNames",
+ "source",
+ "isEnabled"
+ ]
+ },
+ "FallbackRouteProperties": {
+ "description": "The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.",
+ "type": "string"
+ },
+ "source": {
+ "description": "The source to which the routing rule is to be applied to. For example, DeviceMessages",
+ "enum": [
+ "DeviceMessages"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoutingSource",
+ "modelAsString": true
+ }
+ },
+ "condition": {
+ "description": "The condition which is evaluated in order to apply the fallback route. If the condition is not provided it will evaluate to true by default. For grammar, See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language",
+ "type": "string"
+ },
+ "endpointNames": {
+ "description": "The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 endpoint is allowed.",
+ "minItems": 1,
+ "maxItems": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "isEnabled": {
+ "description": "Used to specify whether the fallback route is enabled.",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "endpointNames",
+ "source",
+ "isEnabled"
+ ]
+ },
+ "EnrichmentProperties": {
+ "description": "The properties of an enrichment that your IoT hub applies to messages delivered to endpoints.",
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "The key or name for the enrichment property.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The value for the enrichment property.",
+ "type": "string"
+ },
+ "endpointNames": {
+ "description": "The list of endpoints for which the enrichment is applied to the message.",
+ "minItems": 1,
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "key",
+ "value",
+ "endpointNames"
+ ]
+ },
+ "IotHubDescription": {
+ "description": "The description of the IoT hub.",
+ "type": "object",
+ "properties": {
+ "etag": {
+ "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "IotHub properties",
+ "$ref": "#/definitions/IotHubProperties"
+ },
+ "sku": {
+ "description": "IotHub SKU info",
+ "$ref": "#/definitions/IotHubSkuInfo"
+ },
+ "identity": {
+ "description": "The managed identities for the IotHub.",
+ "$ref": "#/definitions/ArmIdentity"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "sku"
+ ]
+ },
+ "Resource": {
+ "description": "The common properties of an Azure resource.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "The resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ }
+ },
+ "x-ms-azure-resource": true,
+ "required": [
+ "location"
+ ]
+ },
+ "SharedAccessSignatureAuthorizationRuleListResult": {
+ "description": "The list of shared access policies with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of shared access policies.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list IoT Hub operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "description": "List of IoT Hub operations supported by the Microsoft.Devices resource provider.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "Operation": {
+ "description": "IoT Hub REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operation name: {provider}/{resource}/{read | write | action | delete}"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Service provider: Microsoft Devices"
+ },
+ "resource": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Type: IotHubs"
+ },
+ "operation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the operation"
+ },
+ "description": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Description of the operation"
+ }
+ }
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "Error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "httpStatusCode": {
+ "description": "The HTTP status code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "The error details.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubQuotaMetricInfoListResult": {
+ "description": "The JSON-serialized array of IotHubQuotaMetricInfo objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of quota metrics objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubQuotaMetricInfo"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EndpointHealthDataListResult": {
+ "description": "The JSON-serialized array of EndpointHealthData objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "JSON-serialized array of Endpoint health data",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EndpointHealthData"
+ }
+ },
+ "nextLink": {
+ "description": "Link to more results",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EndpointHealthData": {
+ "description": "The health data for an endpoint",
+ "type": "object",
+ "properties": {
+ "endpointId": {
+ "description": "Id of the endpoint",
+ "type": "string"
+ },
+ "healthStatus": {
+ "description": "Health statuses have following meanings. The 'healthy' status shows that the endpoint is accepting messages as expected. The 'unhealthy' status shows that the endpoint is not accepting messages as expected and IoT Hub is retrying to send data to this endpoint. The status of an unhealthy endpoint will be updated to healthy when IoT Hub has established an eventually consistent state of health. The 'dead' status shows that the endpoint is not accepting messages, after IoT Hub retried sending messages for the retrial period. See IoT Hub metrics to identify errors and monitor issues with endpoints. The 'unknown' status shows that the IoT Hub has not established a connection with the endpoint. No messages have been delivered to or rejected from this endpoint",
+ "enum": [
+ "unknown",
+ "healthy",
+ "degraded",
+ "unhealthy",
+ "dead"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EndpointHealthStatus",
+ "modelAsString": true
+ }
+ },
+ "lastKnownError": {
+ "description": "Last error obtained when a message failed to be delivered to iot hub",
+ "type": "string"
+ },
+ "lastKnownErrorTime": {
+ "description": "Time at which the last known error occurred",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "lastSuccessfulSendAttemptTime": {
+ "description": "Last time iot hub successfully sent a message to the endpoint",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ },
+ "lastSendAttemptTime": {
+ "description": "Last time iot hub tried to send a message to the endpoint",
+ "type": "string",
+ "format": "date-time-rfc1123"
+ }
+ }
+ },
+ "RegistryStatistics": {
+ "description": "Identity registry statistics.",
+ "type": "object",
+ "properties": {
+ "totalDeviceCount": {
+ "format": "int64",
+ "description": "The total count of devices in the identity registry.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "enabledDeviceCount": {
+ "format": "int64",
+ "description": "The count of enabled devices in the identity registry.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "disabledDeviceCount": {
+ "format": "int64",
+ "description": "The count of disabled devices in the identity registry.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResponseListResult": {
+ "description": "The JSON-serialized array of JobResponse objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of JobResponse objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobResponse"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubSkuDescription": {
+ "description": "SKU properties.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sku": {
+ "description": "The type of the resource.",
+ "$ref": "#/definitions/IotHubSkuInfo"
+ },
+ "capacity": {
+ "description": "IotHub capacity",
+ "$ref": "#/definitions/IotHubCapacity"
+ }
+ },
+ "required": [
+ "sku",
+ "capacity"
+ ]
+ },
+ "TagsResource": {
+ "properties": {
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "A container holding only the Tags for a resource, allowing the user to update the tags on an IoT Hub instance."
+ },
+ "IotHubCapacity": {
+ "description": "IoT Hub capacity information.",
+ "type": "object",
+ "properties": {
+ "minimum": {
+ "format": "int64",
+ "description": "The minimum number of units.",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1,
+ "readOnly": true
+ },
+ "maximum": {
+ "format": "int64",
+ "description": "The maximum number of units.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "default": {
+ "format": "int64",
+ "description": "The default number of units.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "scaleType": {
+ "description": "The type of the scaling enabled.",
+ "enum": [
+ "Automatic",
+ "Manual",
+ "None"
+ ],
+ "readOnly": true,
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotHubScaleType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "EventHubConsumerGroupsListResult": {
+ "description": "The JSON-serialized array of Event Hub-compatible consumer group names with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of consumer groups objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EventHubConsumerGroupInfo"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EventHubConsumerGroupBodyDescription": {
+ "description": "The EventHub consumer group.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EventHubConsumerGroupName"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "EventHubConsumerGroupName": {
+ "description": "The EventHub consumer group name.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "EventHub consumer group name",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "EventHubConsumerGroupInfo": {
+ "description": "The properties of the EventHubConsumerGroupInfo object.",
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "The tags.",
+ "type": "object",
+ "additionalProperties": {}
+ },
+ "id": {
+ "description": "The Event Hub-compatible consumer group identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The Event Hub-compatible consumer group name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "the resource type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The etag.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubSkuDescriptionListResult": {
+ "description": "The JSON-serialized array of IotHubSkuDescription objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of IotHubSkuDescription.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubSkuDescription"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResponse": {
+ "description": "The properties of the Job Response object.",
+ "type": "object",
+ "properties": {
+ "jobId": {
+ "description": "The job identifier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTimeUtc": {
+ "format": "date-time-rfc1123",
+ "description": "The start time of the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTimeUtc": {
+ "format": "date-time-rfc1123",
+ "description": "The time the job stopped processing.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the job.",
+ "enum": [
+ "unknown",
+ "export",
+ "import",
+ "backup",
+ "readDeviceProperties",
+ "writeDeviceProperties",
+ "updateDeviceConfiguration",
+ "rebootDevice",
+ "factoryResetDevice",
+ "firmwareUpdate"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobType",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "The status of the job.",
+ "enum": [
+ "unknown",
+ "enqueued",
+ "running",
+ "completed",
+ "failed",
+ "cancelled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": false
+ }
+ },
+ "failureReason": {
+ "description": "If status == failed, this string containing the reason for the failure.",
+ "type": "string",
+ "readOnly": true
+ },
+ "statusMessage": {
+ "description": "The status message for the job.",
+ "type": "string",
+ "readOnly": true
+ },
+ "parentJobId": {
+ "description": "The job identifier of the parent job, if any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubDescriptionListResult": {
+ "description": "The JSON-serialized array of IotHubDescription objects with a next link.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of IotHubDescription objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotHubDescription"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotHubQuotaMetricInfo": {
+ "description": "Quota metrics properties.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the quota metric.",
+ "type": "string",
+ "readOnly": true
+ },
+ "currentValue": {
+ "format": "int64",
+ "description": "The current value for the quota metric.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "maxValue": {
+ "format": "int64",
+ "description": "The maximum value of the quota metric.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationInputs": {
+ "description": "Input values.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the IoT hub to check.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "IotHubNameAvailabilityInfo": {
+ "description": "The properties indicating whether a given IoT hub name is available.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "The value which indicates whether the provided name is available.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "reason": {
+ "description": "The reason for unavailability.",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "IotHubNameUnavailabilityReason",
+ "modelAsString": false
+ }
+ },
+ "message": {
+ "description": "The detailed reason message.",
+ "type": "string"
+ }
+ }
+ },
+ "UserSubscriptionQuotaListResult": {
+ "type": "object",
+ "description": "Json-serialized array of User subscription quota response",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserSubscriptionQuota"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UserSubscriptionQuota": {
+ "description": "User subscription quota response",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "IotHub type id",
+ "type": "string"
+ },
+ "type": {
+ "description": "Response type",
+ "type": "string"
+ },
+ "unit": {
+ "description": "Unit of IotHub type",
+ "type": "string"
+ },
+ "currentValue": {
+ "description": "Current number of IotHub type",
+ "format": "int32",
+ "type": "integer"
+ },
+ "limit": {
+ "description": "Numerical limit on IotHub type",
+ "format": "int32",
+ "type": "integer"
+ },
+ "name": {
+ "description": "IotHub type",
+ "$ref": "#/definitions/Name"
+ }
+ }
+ },
+ "Name": {
+ "description": "Name of Iot Hub type",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "IotHub type",
+ "type": "string"
+ },
+ "localizedValue": {
+ "description": "Localized value of name",
+ "type": "string"
+ }
+ }
+ },
+ "TestAllRoutesInput": {
+ "description": "Input for testing all routes",
+ "type": "object",
+ "properties": {
+ "routingSource": {
+ "description": "Routing source",
+ "enum": [
+ "Invalid",
+ "DeviceMessages",
+ "TwinChangeEvents",
+ "DeviceLifecycleEvents",
+ "DeviceJobLifecycleEvents",
+ "DeviceConnectionStateEvents"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoutingSource",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "Routing message",
+ "$ref": "#/definitions/RoutingMessage"
+ },
+ "twin": {
+ "description": "Routing Twin Reference",
+ "$ref": "#/definitions/RoutingTwin"
+ }
+ }
+ },
+ "RoutingTwin": {
+ "description": "Twin reference input parameter. This is an optional parameter",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Twin Tags",
+ "type": "object"
+ },
+ "properties": {
+ "properties": {
+ "desired": {
+ "description": "Twin desired properties",
+ "type": "object"
+ },
+ "reported": {
+ "description": "Twin desired properties",
+ "type": "object"
+ }
+ }
+ }
+ }
+ },
+ "RoutingMessage": {
+ "description": "Routing message",
+ "type": "object",
+ "properties": {
+ "body": {
+ "description": "Body of routing message",
+ "type": "string"
+ },
+ "appProperties": {
+ "description": "App properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "systemProperties": {
+ "description": "System properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "TestAllRoutesResult": {
+ "description": "Result of testing all routes",
+ "type": "object",
+ "properties": {
+ "routes": {
+ "description": "JSON-serialized array of matched routes",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MatchedRoute"
+ }
+ }
+ }
+ },
+ "MatchedRoute": {
+ "description": "Routes that matched",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of routes that matched",
+ "$ref": "#/definitions/RouteProperties"
+ }
+ }
+ },
+ "TestRouteInput": {
+ "required": [
+ "route"
+ ],
+ "description": "Input for testing route",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Routing message",
+ "$ref": "#/definitions/RoutingMessage"
+ },
+ "route": {
+ "description": "Route properties",
+ "$ref": "#/definitions/RouteProperties"
+ },
+ "twin": {
+ "description": "Routing Twin Reference",
+ "$ref": "#/definitions/RoutingTwin"
+ }
+ }
+ },
+ "TestRouteResult": {
+ "description": "Result of testing one route",
+ "type": "object",
+ "properties": {
+ "result": {
+ "description": "Result of testing route",
+ "enum": [
+ "undefined",
+ "false",
+ "true"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TestResultStatus",
+ "modelAsString": true
+ }
+ },
+ "details": {
+ "description": "Detailed result of testing route",
+ "$ref": "#/definitions/TestRouteResultDetails"
+ }
+ }
+ },
+ "TestRouteResultDetails": {
+ "description": "Detailed result of testing a route",
+ "type": "object",
+ "properties": {
+ "compilationErrors": {
+ "description": "JSON-serialized list of route compilation errors",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RouteCompilationError"
+ }
+ }
+ }
+ },
+ "RouteCompilationError": {
+ "description": "Compilation error when evaluating route",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Route error message",
+ "type": "string"
+ },
+ "severity": {
+ "description": "Severity of the route error",
+ "enum": [
+ "error",
+ "warning"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RouteErrorSeverity",
+ "modelAsString": true
+ }
+ },
+ "location": {
+ "description": "Location where the route error happened",
+ "$ref": "#/definitions/RouteErrorRange"
+ }
+ }
+ },
+ "RouteErrorRange": {
+ "description": "Range of route errors",
+ "type": "object",
+ "properties": {
+ "start": {
+ "description": "Start where the route error happened",
+ "$ref": "#/definitions/RouteErrorPosition"
+ },
+ "end": {
+ "description": "End where the route error happened",
+ "$ref": "#/definitions/RouteErrorPosition"
+ }
+ }
+ },
+ "RouteErrorPosition": {
+ "description": "Position where the route error happened",
+ "type": "object",
+ "properties": {
+ "line": {
+ "description": "Line where the route error happened",
+ "format": "int32",
+ "type": "integer"
+ },
+ "column": {
+ "description": "Column where the route error happened",
+ "format": "int32",
+ "type": "integer"
+ }
+ }
+ },
+ "ExportDevicesRequest": {
+ "description": "Use to provide parameters when requesting an export of all devices in the IoT hub.",
+ "type": "object",
+ "properties": {
+ "exportBlobContainerUri": {
+ "description": "The export blob container URI.",
+ "type": "string"
+ },
+ "excludeKeys": {
+ "description": "The value indicating whether keys should be excluded during export.",
+ "type": "boolean"
+ },
+ "exportBlobName": {
+ "description": "The name of the blob that will be created in the provided output blob container. This blob will contain the exported device registry information for the IoT Hub.",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Specifies authentication type being used for connecting to the storage account.",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of storage endpoint for export devices.",
+ "$ref": "#/definitions/ManagedIdentity"
+ },
+ "includeConfigurations": {
+ "description": "The value indicating whether configurations should be exported.",
+ "type": "boolean"
+ },
+ "configurationsBlobName": {
+ "description": "The name of the blob that will be created in the provided output blob container. This blob will contain the exported configurations for the Iot Hub.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "exportBlobContainerUri",
+ "excludeKeys"
+ ]
+ },
+ "ImportDevicesRequest": {
+ "description": "Use to provide parameters when requesting an import of all devices in the hub.",
+ "type": "object",
+ "properties": {
+ "inputBlobContainerUri": {
+ "description": "The input blob container URI.",
+ "type": "string"
+ },
+ "outputBlobContainerUri": {
+ "description": "The output blob container URI.",
+ "type": "string"
+ },
+ "inputBlobName": {
+ "description": "The blob name to be used when importing from the provided input blob container.",
+ "type": "string"
+ },
+ "outputBlobName": {
+ "description": "The blob name to use for storing the status of the import job.",
+ "type": "string"
+ },
+ "authenticationType": {
+ "description": "Specifies authentication type being used for connecting to the storage account.",
+ "enum": [
+ "keyBased",
+ "identityBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "identity": {
+ "description": "Managed identity properties of storage endpoint for import devices.",
+ "$ref": "#/definitions/ManagedIdentity"
+ },
+ "includeConfigurations": {
+ "description": "The value indicating whether configurations should be imported.",
+ "type": "boolean"
+ },
+ "configurationsBlobName": {
+ "description": "The blob name to be used when importing configurations from the provided input blob container.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "inputBlobContainerUri",
+ "outputBlobContainerUri"
+ ]
+ },
+ "FailoverInput": {
+ "description": "Use to provide failover region when requesting manual Failover for a hub.",
+ "type": "object",
+ "properties": {
+ "failoverRegion": {
+ "description": "Region the hub will be failed over to",
+ "type": "string"
+ }
+ },
+ "required": [
+ "failoverRegion"
+ ]
+ },
+ "IotHubLocationDescription": {
+ "description": "Public representation of one of the locations where a resource is provisioned.",
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "The name of the Azure region",
+ "type": "string"
+ },
+ "role": {
+ "description": "The role of the region, can be either primary or secondary. The primary region is where the IoT hub is currently provisioned. The secondary region is the Azure disaster recovery (DR) paired region and also the region where the IoT hub can failover to.",
+ "enum": [
+ "primary",
+ "secondary"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotHubReplicaRoleType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ArmIdentity": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "Principal Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "Tenant Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service.",
+ "type": "string",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/ArmUserIdentity"
+ }
+ }
+ }
+ },
+ "ArmUserIdentity": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "readOnly": true
+ },
+ "clientId": {
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ManagedIdentity": {
+ "description": "The properties of the Managed identity.",
+ "type": "object",
+ "properties": {
+ "userAssignedIdentity": {
+ "type": "string",
+ "description": "The user assigned identity."
+ }
+ }
+ },
+ "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 timestamp of resource last modification (UTC)"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription identifier.",
+ "required": true,
+ "type": "string"
+ },
+ "api-version": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The version of the API.",
+ "required": true,
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "name": "resourceGroupName",
+ "description": "The name of the resource group that contains the IoT hub.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceName": {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the IoT hub.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "certificateName": {
+ "name": "certificateName",
+ "in": "path",
+ "description": "The name of the certificate",
+ "required": true,
+ "type": "string",
+ "pattern": "^[A-Za-z0-9-._]{1,64}$",
+ "x-ms-parameter-location": "method"
+ },
+ "groupId": {
+ "name": "groupId",
+ "in": "path",
+ "description": "The name of the private link resource",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "privateEndpointConnectionName": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/iothub/resource-manager/readme.go.md b/specification/iothub/resource-manager/readme.go.md
index 32301c498df3..f5d6a008771e 100644
--- a/specification/iothub/resource-manager/readme.go.md
+++ b/specification/iothub/resource-manager/readme.go.md
@@ -11,7 +11,7 @@ go:
``` yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/iothub/armiothub
+module-name: sdk/resourcemanager/iothub/armiothub
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
diff --git a/specification/iothub/resource-manager/readme.md b/specification/iothub/resource-manager/readme.md
index 1e9386dd9079..16fb75f38613 100644
--- a/specification/iothub/resource-manager/readme.md
+++ b/specification/iothub/resource-manager/readme.md
@@ -26,18 +26,35 @@ These are the global settings for the IotHub API.
``` yaml
openapi-type: arm
-tag: package-2021-07
+tag: package-preview-2021-07
```
+### Tag: package-preview-2021-07
+
+These settings apply only when `--tag=package-preview-2021-07-02` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2021-07-02'
+input-file:
+ - Microsoft.Devices/preview/2021-07-02-preview/iothub.json
+```
+### Tag: package-2021-07
+
+These settings apply only when `--tag=package-2021-07-02` is specified on the command line.
+
+```yaml $(tag) == 'package-2021-07-02'
+input-file:
+ - Microsoft.Devices/stable/2021-07-02/iothub.json
+```
### Tag: package-2021-07
These settings apply only when `--tag=package-2021-07` is specified on the command line.
-```yaml $(tag) == 'package-2021-07'
+``` yaml $(tag) == 'package-2021-07'
input-file:
- Microsoft.Devices/stable/2021-07-01/iothub.json
```
+
### Tag: package-preview-2021-07
These settings apply only when `--tag=package-preview-2021-07` is specified on the command line.
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Locations/Get.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Locations/Get.json
deleted file mode 100644
index 56eeb061163a..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Locations/Get.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
- "iotDefenderLocation": "eastus"
- },
- "responses": {
- "200": {
- "body": {
- "name": "eastus",
- "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus",
- "type": "Microsoft.IoTSecurity/locations",
- "properties": {},
- "systemData": {
- "createdBy": "string",
- "createdByType": "User",
- "createdAt": "2020-04-27T21:53:29.0928001Z",
- "lastModifiedBy": "string",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
- }
- }
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Locations/List.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Locations/List.json
deleted file mode 100644
index 1808c6e91e67..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Locations/List.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "name": "eastus",
- "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus",
- "type": "Microsoft.IoTSecurity/locations",
- "properties": {},
- "systemData": {
- "createdBy": "string",
- "createdByType": "User",
- "createdAt": "2020-04-27T21:53:29.0928001Z",
- "lastModifiedBy": "string",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/Delete.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/Delete.json
deleted file mode 100644
index 185e11fbcad8..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/Delete.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
- "iotDefenderLocation": "eastus",
- "siteName": "site",
- "sensorName": "mySensor"
- },
- "responses": {
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/DownloadActivation.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/DownloadActivation.json
deleted file mode 100644
index 58d27d7bd681..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/DownloadActivation.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
- "iotDefenderLocation": "eastus",
- "siteName": "site",
- "sensorName": "mySensor"
- },
- "responses": {
- "200": {
- "headers": {
- "content-type": "application/zip"
- },
- "body": "{Binary}"
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/DownloadResetPassword.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/DownloadResetPassword.json
deleted file mode 100644
index dcbfbaf13e90..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/DownloadResetPassword.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
- "iotDefenderLocation": "eastus",
- "siteName": "site",
- "sensorName": "mySensor",
- "body": {
- "applianceId": "3214-528AV23-D121-D3-E1"
- }
- },
- "responses": {
- "200": {
- "headers": {
- "content-type": "application/zip"
- },
- "body": "{Binary}"
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/Get.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/Get.json
deleted file mode 100644
index 29fbe0d08bcc..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/Get.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
- "iotDefenderLocation": "eastus",
- "siteName": "site",
- "sensorName": "mySensor"
- },
- "responses": {
- "200": {
- "body": {
- "name": "mySensor",
- "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/sites/site/sensors/mySensor",
- "type": "Microsoft.IoTSecurity/locations/sites/sensors",
- "properties": {
- "connectivityTime": "2020-11-17T12:31:25Z",
- "dynamicLearning": true,
- "learningMode": true,
- "sensorStatus": "Ok",
- "sensorVersion": "2020.11.01.1643",
- "tiAutomaticUpdates": true,
- "tiStatus": "Ok",
- "tiVersion": "2020-11-17T12:31:25Z",
- "zone": "Zone Name",
- "sensorType": "Ot"
- },
- "systemData": {
- "createdBy": "string",
- "createdByType": "User",
- "createdAt": "2020-04-27T21:53:29.0928001Z",
- "lastModifiedBy": "string",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
- }
- }
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/Delete.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/Delete.json
deleted file mode 100644
index e1d7a79a61d2..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/Delete.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub",
- "sensorName": "mySensor"
- },
- "responses": {
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/DownloadActivation.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/DownloadActivation.json
deleted file mode 100644
index 8baf6636651b..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/DownloadActivation.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub",
- "sensorName": "mySensor"
- },
- "responses": {
- "200": {
- "headers": {
- "content-type": "application/zip"
- },
- "body": "{Binary}"
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/DownloadResetPassword.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/DownloadResetPassword.json
deleted file mode 100644
index 72e17198b29d..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/DownloadResetPassword.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub",
- "sensorName": "mySensor",
- "body": {
- "applianceId": "3214-528AV23-D121-D3-E1"
- }
- },
- "responses": {
- "200": {
- "headers": {
- "content-type": "application/zip"
- },
- "body": "{Binary}"
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/Get.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/Get.json
deleted file mode 100644
index 2c879b84d9fa..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/Get.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub",
- "sensorName": "mySensor"
- },
- "responses": {
- "200": {
- "body": {
- "name": "mySensor",
- "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.IoTSecurity/sensors/mySensor",
- "type": "Microsoft.IoTSecurity/sensors",
- "properties": {
- "connectivityTime": "2020-11-17T12:31:25Z",
- "dynamicLearning": true,
- "learningMode": true,
- "sensorStatus": "Ok",
- "sensorVersion": "2020.11.01.1643",
- "tiAutomaticUpdates": true,
- "tiStatus": "Ok",
- "tiVersion": "2020-11-17T12:31:25Z",
- "zone": "Zone Name",
- "sensorType": "Ot"
- },
- "systemData": {
- "createdBy": "string",
- "createdByType": "User",
- "createdAt": "2020-04-27T21:53:29.0928001Z",
- "lastModifiedBy": "string",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
- }
- }
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/List.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/List.json
deleted file mode 100644
index 5c6d203121b9..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/List.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "name": "mySensor",
- "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.IoTSecurity/sensors/mySensor",
- "type": "Microsoft.IoTSecurity/sensors",
- "properties": {
- "connectivityTime": "2020-11-17T12:31:25Z",
- "dynamicLearning": true,
- "learningMode": true,
- "sensorStatus": "Ok",
- "sensorVersion": "2020.11.01.1643",
- "tiAutomaticUpdates": true,
- "tiStatus": "Ok",
- "tiVersion": "2020-11-17T12:31:25Z",
- "zone": "Zone Name",
- "sensorType": "Ot"
- },
- "systemData": {
- "createdBy": "string",
- "createdByType": "User",
- "createdAt": "2020-04-27T21:53:29.0928001Z",
- "lastModifiedBy": "string",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
- }
- },
- {
- "name": "otherSensor",
- "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.IoTSecurity/sensors/otherSensor",
- "type": "Microsoft.IoTSecurity/sensors",
- "properties": {
- "connectivityTime": "2020-11-17T12:31:25Z",
- "dynamicLearning": false,
- "learningMode": false,
- "sensorStatus": "Disconnected",
- "sensorVersion": "2020.11.01.1643",
- "tiAutomaticUpdates": true,
- "tiStatus": "Ok",
- "tiVersion": "2020-11-17T12:31:25Z",
- "zone": "Zone Name",
- "sensorType": "Ot"
- },
- "systemData": {
- "createdBy": "string",
- "createdByType": "User",
- "createdAt": "2020-04-27T21:53:29.0928001Z",
- "lastModifiedBy": "string",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/Put.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/Put.json
deleted file mode 100644
index 421900f4248f..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/Put.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub",
- "sensorName": "mySensor",
- "sensorModel": {
- "properties": {
- "tiAutomaticUpdates": true,
- "zone": "Zone Name",
- "sensorType": "Ot"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "name": "mySensor",
- "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.IoTSecurity/sensors/mySensor",
- "type": "Microsoft.IoTSecurity/sensors",
- "properties": {
- "connectivityTime": "2020-11-17T12:31:25Z",
- "dynamicLearning": true,
- "learningMode": true,
- "sensorStatus": "Ok",
- "sensorVersion": "2020.11.01.1643",
- "tiAutomaticUpdates": true,
- "tiStatus": "Ok",
- "tiVersion": "2020-11-17T12:31:25Z",
- "zone": "Zone Name",
- "sensorType": "Ot"
- }
- }
- },
- "201": {
- "body": {
- "name": "mySensor",
- "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.IoTSecurity/sensors/mySensor",
- "type": "Microsoft.IoTSecurity/sensors",
- "properties": {
- "connectivityTime": "2020-11-17T12:31:25Z",
- "dynamicLearning": true,
- "learningMode": true,
- "sensorStatus": "Ok",
- "sensorVersion": "2020.11.01.1643",
- "tiAutomaticUpdates": true,
- "tiStatus": "Ok",
- "tiVersion": "2020-11-17T12:31:25Z",
- "zone": "Zone Name",
- "sensorType": "Ot"
- },
- "systemData": {
- "createdBy": "string",
- "createdByType": "User",
- "createdAt": "2020-04-27T21:53:29.0928001Z",
- "lastModifiedBy": "string",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
- }
- }
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/TriggerTiPackageUpdate.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/TriggerTiPackageUpdate.json
deleted file mode 100644
index aa72c8785c2d..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/IoTHub/TriggerTiPackageUpdate.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub",
- "sensorName": "mySensor"
- },
- "responses": {
- "200": {}
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/List.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/List.json
deleted file mode 100644
index 2a3d81b9e84b..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/List.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
- "iotDefenderLocation": "eastus",
- "siteName": "site"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "name": "mySensor",
- "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/sites/site/sensors/mySensor",
- "type": "Microsoft.IoTSecurity/locations/sites/sensors",
- "properties": {
- "connectivityTime": "2020-11-17T12:31:25Z",
- "dynamicLearning": true,
- "learningMode": true,
- "sensorStatus": "Ok",
- "sensorVersion": "2020.11.01.1643",
- "tiAutomaticUpdates": true,
- "tiStatus": "Ok",
- "tiVersion": "2020-11-17T12:31:25Z",
- "zone": "Zone Name",
- "sensorType": "Ot"
- },
- "systemData": {
- "createdBy": "string",
- "createdByType": "User",
- "createdAt": "2020-04-27T21:53:29.0928001Z",
- "lastModifiedBy": "string",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
- }
- },
- {
- "name": "otherSensor",
- "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/sites/site/sensors/otherSensor",
- "type": "Microsoft.IoTSecurity/locations/sites/sensors",
- "properties": {
- "connectivityTime": "2020-11-17T12:31:25Z",
- "dynamicLearning": false,
- "learningMode": false,
- "sensorStatus": "Disconnected",
- "sensorVersion": "2020.11.01.1643",
- "tiAutomaticUpdates": true,
- "tiStatus": "Ok",
- "tiVersion": "2020-11-17T12:31:25Z",
- "zone": "Zone Name",
- "sensorType": "Ot"
- },
- "systemData": {
- "createdBy": "string",
- "createdByType": "User",
- "createdAt": "2020-04-27T21:53:29.0928001Z",
- "lastModifiedBy": "string",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/Put.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/Put.json
deleted file mode 100644
index f6b9f99b2158..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/Put.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
- "iotDefenderLocation": "eastus",
- "siteName": "site",
- "sensorName": "mySensor",
- "sensorModel": {
- "properties": {
- "tiAutomaticUpdates": true,
- "zone": "Zone Name",
- "sensorType": "Ot"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "name": "mySensor",
- "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/sites/site/sensors/mySensor",
- "type": "Microsoft.IoTSecurity/locations/sites/sensors",
- "properties": {
- "connectivityTime": "2020-11-17T12:31:25Z",
- "dynamicLearning": true,
- "learningMode": true,
- "sensorStatus": "Ok",
- "sensorVersion": "2020.11.01.1643",
- "tiAutomaticUpdates": true,
- "tiStatus": "Ok",
- "tiVersion": "2020-11-17T12:31:25Z",
- "zone": "Zone Name",
- "sensorType": "Ot"
- }
- }
- },
- "201": {
- "body": {
- "name": "mySensor",
- "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/sites/site/sensors/mySensor",
- "type": "Microsoft.IoTSecurity/locations/sites/sensors",
- "properties": {
- "connectivityTime": "2020-11-17T12:31:25Z",
- "dynamicLearning": true,
- "learningMode": true,
- "sensorStatus": "Ok",
- "sensorVersion": "2020.11.01.1643",
- "tiAutomaticUpdates": true,
- "tiStatus": "Ok",
- "tiVersion": "2020-11-17T12:31:25Z",
- "zone": "Zone Name",
- "sensorType": "Ot"
- },
- "systemData": {
- "createdBy": "string",
- "createdByType": "User",
- "createdAt": "2020-04-27T21:53:29.0928001Z",
- "lastModifiedBy": "string",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
- }
- }
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/TriggerTiPackageUpdate.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/TriggerTiPackageUpdate.json
deleted file mode 100644
index 9dd0b146f876..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sensors/TriggerTiPackageUpdate.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
- "iotDefenderLocation": "eastus",
- "siteName": "site",
- "sensorName": "mySensor"
- },
- "responses": {
- "200": {}
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/Delete.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/Delete.json
deleted file mode 100644
index 4e5caff95116..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/Delete.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
- "iotDefenderLocation": "eastus",
- "siteName": "site"
- },
- "responses": {
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/Get.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/Get.json
deleted file mode 100644
index 5785d533bb5e..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/Get.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
- "iotDefenderLocation": "eastus",
- "siteName": "site"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/sites/site",
- "type": "Microsoft.IoTSecurity/locations/sites",
- "name": "site",
- "properties": {
- "displayName": "IoT site name",
- "tags": {
- "key1": "value1",
- "key2": "value2"
- }
- },
- "systemData": {
- "createdBy": "string",
- "createdByType": "User",
- "createdAt": "2020-04-27T21:53:29.0928001Z",
- "lastModifiedBy": "string",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
- }
- }
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/Delete.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/Delete.json
deleted file mode 100644
index 8c7bec2c91b7..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/Delete.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub"
- },
- "responses": {
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/Get.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/Get.json
deleted file mode 100644
index f01f09e6b032..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/Get.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub"
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.IoTSecurity/sites/default",
- "type": "Microsoft.IoTSecurity/sites",
- "name": "default",
- "properties": {
- "displayName": "IoT site name",
- "tags": {
- "key1": "value1",
- "key2": "value2"
- }
- },
- "systemData": {
- "createdBy": "string",
- "createdByType": "User",
- "createdAt": "2020-04-27T21:53:29.0928001Z",
- "lastModifiedBy": "string",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
- }
- }
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/List.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/List.json
deleted file mode 100644
index 262e4243745e..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/List.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/sites"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "name": "default",
- "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.IoTSecurity/sites/default",
- "type": "Microsoft.IoTSecurity/sites",
- "properties": {
- "displayName": "IoT site name",
- "tags": {
- "key1": "value1",
- "key2": "value2"
- }
- },
- "systemData": {
- "createdBy": "string",
- "createdByType": "User",
- "createdAt": "2020-04-27T21:53:29.0928001Z",
- "lastModifiedBy": "string",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/Put.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/Put.json
deleted file mode 100644
index d0844663fc24..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/IoTHub/Put.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "scope": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub",
- "siteModel": {
- "properties": {
- "displayName": "IoT site name",
- "tags": {
- "key1": "value1",
- "key2": "value2"
- }
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "name": "default",
- "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.IoTSecurity/sites/default",
- "type": "Microsoft.IoTSecurity/sites",
- "properties": {
- "displayName": "IoT site name",
- "tags": {
- "key1": "value1",
- "key2": "value2"
- }
- },
- "systemData": {
- "createdBy": "string",
- "createdByType": "User",
- "createdAt": "2020-04-27T21:53:29.0928001Z",
- "lastModifiedBy": "string",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
- }
- }
- },
- "201": {
- "body": {
- "name": "default",
- "id": "subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/resourceGroups/myRg/providers/Microsoft.Devices/IotHubs/myHub/providers/Microsoft.IoTSecurity/sites/default",
- "type": "Microsoft.IoTSecurity/sites",
- "properties": {
- "displayName": "IoT site name",
- "tags": {
- "key1": "value1",
- "key2": "value2"
- }
- },
- "systemData": {
- "createdBy": "string",
- "createdByType": "User",
- "createdAt": "2020-04-27T21:53:29.0928001Z",
- "lastModifiedBy": "string",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
- }
- }
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/List.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/List.json
deleted file mode 100644
index 80ced4212195..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/List.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
- "iotDefenderLocation": "eastus"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/sites/site",
- "type": "Microsoft.IoTSecurity/locations/sites",
- "name": "site",
- "properties": {
- "displayName": "IoT site name",
- "tags": {
- "key1": "value1",
- "key2": "value2"
- }
- },
- "systemData": {
- "createdBy": "string",
- "createdByType": "User",
- "createdAt": "2020-04-27T21:53:29.0928001Z",
- "lastModifiedBy": "string",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/Put.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/Put.json
deleted file mode 100644
index ceeb6649c21f..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/examples/Sites/Put.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "parameters": {
- "api-version": "2021-09-01-preview",
- "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
- "iotDefenderLocation": "eastus",
- "siteName": "site",
- "siteModel": {
- "properties": {
- "displayName": "IoT site name",
- "tags": {
- "key1": "value1",
- "key2": "value2"
- }
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/sites/site",
- "type": "Microsoft.IoTSecurity/locations/sites",
- "name": "site",
- "properties": {
- "displayName": "IoT site name",
- "tags": {
- "key1": "value1",
- "key2": "value2"
- }
- },
- "systemData": {
- "createdBy": "string",
- "createdByType": "User",
- "createdAt": "2020-04-27T21:53:29.0928001Z",
- "lastModifiedBy": "string",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
- }
- }
- },
- "201": {
- "body": {
- "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.IoTSecurity/locations/eastus/sites/site",
- "type": "Microsoft.IoTSecurity/locations/sites",
- "name": "site",
- "properties": {
- "displayName": "IoT site name",
- "tags": {
- "key1": "value1",
- "key2": "value2"
- }
- },
- "systemData": {
- "createdBy": "string",
- "createdByType": "User",
- "createdAt": "2020-04-27T21:53:29.0928001Z",
- "lastModifiedBy": "string",
- "lastModifiedByType": "User",
- "lastModifiedAt": "2020-04-27T21:53:29.0928001Z"
- }
- }
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/locations.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/locations.json
deleted file mode 100644
index e492048bb089..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/locations.json
+++ /dev/null
@@ -1,164 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "Azure Defender for IoT",
- "description": "API spec for Microsoft.IoTSecurity (Azure Defender for IoT) resource provider",
- "version": "2021-09-01-preview"
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "paths": {
- "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations": {
- "get": {
- "x-ms-examples": {
- "List locations": {
- "$ref": "./examples/Locations/List.json"
- }
- },
- "tags": [
- "Locations"
- ],
- "description": "Lists Defender for IoT locations associated with the given subscription.",
- "operationId": "Locations_List",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/LocationList"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}": {
- "get": {
- "x-ms-examples": {
- "Get location": {
- "$ref": "./examples/Locations/Get.json"
- }
- },
- "tags": [
- "Locations"
- ],
- "operationId": "Locations_Get",
- "description": "Get a Defender for IoT location associated with the given subscription.",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/LocationModel"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- }
- }
- },
- "definitions": {
- "LocationList": {
- "description": "List of Defender for IoT locations",
- "type": "object",
- "properties": {
- "value": {
- "description": "List data",
- "readOnly": true,
- "type": "array",
- "items": {
- "$ref": "#/definitions/LocationModel"
- }
- },
- "nextLink": {
- "description": "Link to next page of resources.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "LocationModel": {
- "type": "object",
- "description": "IoT Defender location",
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "IoT Defender location properties",
- "$ref": "#/definitions/LocationProperties"
- },
- "systemData": {
- "readOnly": true,
- "type": "object",
- "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.",
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
- }
- },
- "allOf": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
- }
- ]
- },
- "LocationProperties": {
- "type": "object",
- "description": "Defender for IoT location properties",
- "properties": {}
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/sensors.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/sensors.json
deleted file mode 100644
index eee6f46e19f1..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/sensors.json
+++ /dev/null
@@ -1,869 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "Azure Defender for IoT",
- "description": "API spec for Microsoft.IoTSecurity (Azure Defender for IoT) resource provider",
- "version": "2021-09-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": {
- "/{scope}/providers/Microsoft.IoTSecurity/sensors": {
- "get": {
- "x-ms-examples": {
- "List IoT sensors": {
- "$ref": "./examples/Sensors/IoTHub/List.json"
- }
- },
- "tags": [
- "Sensors"
- ],
- "description": "List IoT sensors",
- "operationId": "Sensors_List",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SensorScope"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/SensorsList"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- }
- },
- "/{scope}/providers/Microsoft.IoTSecurity/sensors/{sensorName}": {
- "get": {
- "x-ms-examples": {
- "Get IoT sensor": {
- "$ref": "./examples/Sensors/IoTHub/Get.json"
- }
- },
- "tags": [
- "Sensors"
- ],
- "operationId": "Sensors_Get",
- "description": "Get IoT sensor",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SensorScope"
- },
- {
- "$ref": "#/parameters/SensorName"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/SensorModel"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- },
- "put": {
- "x-ms-examples": {
- "Create or update IoT sensor": {
- "$ref": "./examples/Sensors/IoTHub/Put.json"
- }
- },
- "tags": [
- "Sensors"
- ],
- "operationId": "Sensors_CreateOrUpdate",
- "description": "Create or update IoT sensor",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SensorScope"
- },
- {
- "$ref": "#/parameters/SensorName"
- },
- {
- "$ref": "#/parameters/SensorModel"
- }
- ],
- "responses": {
- "200": {
- "description": "Updated IoT sensor",
- "schema": {
- "$ref": "#/definitions/SensorModel"
- }
- },
- "201": {
- "description": "Created IoT sensor",
- "schema": {
- "$ref": "#/definitions/SensorModel"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- },
- "delete": {
- "x-ms-examples": {
- "Delete IoT sensor": {
- "$ref": "./examples/Sensors/IoTHub/Delete.json"
- }
- },
- "tags": [
- "Sensors"
- ],
- "operationId": "Sensors_Delete",
- "description": "Delete IoT sensor",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SensorScope"
- },
- {
- "$ref": "#/parameters/SensorName"
- }
- ],
- "responses": {
- "200": {
- "description": "Deleted IoT sensor"
- },
- "204": {
- "description": "IoT sensor does not exist"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- }
- },
- "/{scope}/providers/Microsoft.IoTSecurity/sensors/{sensorName}/downloadActivation": {
- "post": {
- "x-ms-examples": {
- "Download activation file": {
- "$ref": "./examples/Sensors/IoTHub/DownloadActivation.json"
- }
- },
- "tags": [
- "Sensors"
- ],
- "operationId": "Sensors_DownloadActivation",
- "description": "Download sensor activation file",
- "produces": [
- "application/zip"
- ],
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SensorScope"
- },
- {
- "$ref": "#/parameters/SensorName"
- }
- ],
- "responses": {
- "200": {
- "description": "Downloaded activation file",
- "schema": {
- "type": "object",
- "format": "file"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- }
- },
- "/{scope}/providers/Microsoft.IoTSecurity/sensors/{sensorName}/downloadResetPassword": {
- "post": {
- "x-ms-examples": {
- "Download file for reset password of the sensor": {
- "$ref": "./examples/Sensors/IoTHub/DownloadResetPassword.json"
- }
- },
- "tags": [
- "Sensors"
- ],
- "operationId": "Sensors_DownloadResetPassword",
- "description": "Download file for reset password of the sensor",
- "produces": [
- "application/zip"
- ],
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SensorScope"
- },
- {
- "$ref": "#/parameters/SensorName"
- },
- {
- "in": "body",
- "name": "body",
- "required": true,
- "description": "The reset password input.",
- "schema": {
- "$ref": "#/definitions/ResetPasswordInput"
- },
- "x-ms-parameter-location": "method"
- }
- ],
- "responses": {
- "200": {
- "description": "Downloaded reset password file",
- "schema": {
- "type": "object",
- "format": "file"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- }
- },
- "/{scope}/providers/Microsoft.IoTSecurity/sensors/{sensorName}/triggerTiPackageUpdate": {
- "post": {
- "x-ms-examples": {
- "Trigger threat intelligence package update": {
- "$ref": "./examples/Sensors/IoTHub/TriggerTiPackageUpdate.json"
- }
- },
- "tags": [
- "Sensors"
- ],
- "operationId": "Sensors_TriggerTiPackageUpdate",
- "description": "Trigger threat intelligence package update",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SensorScope"
- },
- {
- "$ref": "#/parameters/SensorName"
- }
- ],
- "responses": {
- "200": {
- "description": "Triggered threat intelligence package update"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}/sites/{siteName}/sensors": {
- "get": {
- "x-ms-examples": {
- "List Sensors": {
- "$ref": "./examples/Sensors/List.json"
- }
- },
- "tags": [
- "Sensors"
- ],
- "description": "List IoT sensors",
- "operationId": "SiteSensors_List",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation"
- },
- {
- "$ref": "#/parameters/SiteName"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/SensorsList"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}/sites/{siteName}/sensors/{sensorName}": {
- "get": {
- "x-ms-examples": {
- "Get Sensor": {
- "$ref": "./examples/Sensors/Get.json"
- }
- },
- "tags": [
- "Sensors"
- ],
- "operationId": "SiteSensors_Get",
- "description": "Get IoT sensor",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation"
- },
- {
- "$ref": "#/parameters/SiteName"
- },
- {
- "$ref": "#/parameters/SensorName"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/SensorModel"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- },
- "put": {
- "x-ms-examples": {
- "Create or update sensor": {
- "$ref": "./examples/Sensors/Put.json"
- }
- },
- "tags": [
- "Sensors"
- ],
- "operationId": "SiteSensors_CreateOrUpdate",
- "description": "Create or update IoT sensor",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation"
- },
- {
- "$ref": "#/parameters/SiteName"
- },
- {
- "$ref": "#/parameters/SensorName"
- },
- {
- "$ref": "#/parameters/SensorModel"
- }
- ],
- "responses": {
- "200": {
- "description": "Updated IoT sensor",
- "schema": {
- "$ref": "#/definitions/SensorModel"
- }
- },
- "201": {
- "description": "Created IoT sensor",
- "schema": {
- "$ref": "#/definitions/SensorModel"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- },
- "delete": {
- "x-ms-examples": {
- "Delete Sensor": {
- "$ref": "./examples/Sensors/Delete.json"
- }
- },
- "tags": [
- "Sensors"
- ],
- "operationId": "SiteSensors_Delete",
- "description": "Delete IoT sensor",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation"
- },
- {
- "$ref": "#/parameters/SiteName"
- },
- {
- "$ref": "#/parameters/SensorName"
- }
- ],
- "responses": {
- "200": {
- "description": "Deleted IoT sensor"
- },
- "204": {
- "description": "IoT sensor does not exist"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}/sites/{siteName}/sensors/{sensorName}/downloadActivation": {
- "post": {
- "x-ms-examples": {
- "Download sensor activation file": {
- "$ref": "./examples/Sensors/DownloadActivation.json"
- }
- },
- "tags": [
- "Sensors"
- ],
- "operationId": "SiteSensors_DownloadActivation",
- "description": "Download sensor activation file",
- "produces": [
- "application/zip"
- ],
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation"
- },
- {
- "$ref": "#/parameters/SiteName"
- },
- {
- "$ref": "#/parameters/SensorName"
- }
- ],
- "responses": {
- "200": {
- "description": "Downloaded activation file",
- "schema": {
- "type": "object",
- "format": "file"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}/sites/{siteName}/sensors/{sensorName}/downloadResetPassword": {
- "post": {
- "x-ms-examples": {
- "Download reset password file of the sensor": {
- "$ref": "./examples/Sensors/DownloadResetPassword.json"
- }
- },
- "tags": [
- "Sensors"
- ],
- "operationId": "SiteSensors_DownloadResetPassword",
- "description": "Download file for reset password of the sensor",
- "produces": [
- "application/zip"
- ],
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation"
- },
- {
- "$ref": "#/parameters/SiteName"
- },
- {
- "$ref": "#/parameters/SensorName"
- },
- {
- "in": "body",
- "name": "body",
- "required": true,
- "description": "The reset password input.",
- "schema": {
- "$ref": "#/definitions/ResetPasswordInput"
- },
- "x-ms-parameter-location": "method"
- }
- ],
- "responses": {
- "200": {
- "description": "Downloaded reset password file",
- "schema": {
- "type": "object",
- "format": "file"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}/sites/{siteName}/sensors/{sensorName}/triggerTiPackageUpdate": {
- "post": {
- "x-ms-examples": {
- "Trigger threat intelligence package sensor update": {
- "$ref": "./examples/Sensors/TriggerTiPackageUpdate.json"
- }
- },
- "tags": [
- "Sensors"
- ],
- "operationId": "SiteSensors_TriggerTiPackageUpdate",
- "description": "Trigger threat intelligence package update",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation"
- },
- {
- "$ref": "#/parameters/SiteName"
- },
- {
- "$ref": "#/parameters/SensorName"
- }
- ],
- "responses": {
- "200": {
- "description": "Triggered threat intelligence package update"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- }
- }
- },
- "definitions": {
- "SensorsList": {
- "description": "List of IoT sensors",
- "type": "object",
- "properties": {
- "value": {
- "description": "List data",
- "readOnly": true,
- "type": "array",
- "items": {
- "$ref": "#/definitions/SensorModel"
- }
- }
- }
- },
- "SensorModel": {
- "type": "object",
- "description": "IoT sensor model",
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "IoT sensor properties",
- "$ref": "#/definitions/SensorProperties"
- },
- "systemData": {
- "readOnly": true,
- "type": "object",
- "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.",
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
- }
- },
- "allOf": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource"
- }
- ]
- },
- "SensorProperties": {
- "type": "object",
- "description": "IoT sensor properties",
- "properties": {
- "connectivityTime": {
- "description": "Last connectivity time of the IoT sensor",
- "readOnly": true,
- "type": "string",
- "example": "2020-11-17T12:31:25Z"
- },
- "dynamicLearning": {
- "description": "Dynamic mode status of the IoT sensor",
- "example": true,
- "readOnly": true,
- "type": "boolean"
- },
- "learningMode": {
- "description": "Learning mode status of the IoT sensor",
- "example": true,
- "readOnly": true,
- "type": "boolean"
- },
- "sensorStatus": {
- "readOnly": true,
- "type": "string",
- "example": "Ok",
- "description": "Status of the IoT sensor",
- "enum": [
- "Ok",
- "Disconnected",
- "Unavailable"
- ],
- "x-ms-enum": {
- "name": "sensorStatus",
- "modelAsString": true,
- "values": [
- {
- "value": "Ok"
- },
- {
- "value": "Disconnected"
- },
- {
- "value": "Unavailable"
- }
- ]
- }
- },
- "sensorVersion": {
- "description": "Version of the IoT sensor",
- "readOnly": true,
- "type": "string",
- "example": "2020.11.01.1643"
- },
- "tiAutomaticUpdates": {
- "description": "TI Automatic mode status of the IoT sensor",
- "example": true,
- "type": "boolean"
- },
- "tiStatus": {
- "readOnly": true,
- "type": "string",
- "example": "Ok",
- "description": "TI Status of the IoT sensor",
- "enum": [
- "Ok",
- "Failed",
- "InProgress",
- "UpdateAvailable"
- ],
- "x-ms-enum": {
- "name": "tiStatus",
- "modelAsString": true,
- "values": [
- {
- "value": "Ok"
- },
- {
- "value": "Failed"
- },
- {
- "value": "InProgress"
- },
- {
- "value": "UpdateAvailable"
- }
- ]
- }
- },
- "tiVersion": {
- "description": "TI Version of the IoT sensor",
- "readOnly": true,
- "type": "string",
- "example": "2020-11-17T12:31:25Z"
- },
- "zone": {
- "type": "string",
- "description": "Zone of the IoT sensor",
- "example": "A12"
- },
- "sensorType": {
- "description": "Type of sensor",
- "example": "Ot",
- "type": "string",
- "enum": [
- "Ot",
- "Enterprise"
- ],
- "x-ms-enum": {
- "name": "sensorType",
- "modelAsString": true,
- "values": [
- {
- "value": "Ot"
- },
- {
- "value": "Enterprise"
- }
- ]
- }
- }
- }
- },
- "ResetPasswordInput": {
- "type": "object",
- "description": "Reset password input.",
- "properties": {
- "applianceId": {
- "description": "The appliance id of the sensor.",
- "type": "string"
- }
- }
- }
- },
- "parameters": {
- "SensorScope": {
- "name": "scope",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Scope of the query (IoT Hub, /providers/Microsoft.Devices/iotHubs/myHub)",
- "x-ms-parameter-location": "method",
- "x-ms-skip-url-encoding": true
- },
- "SiteName": {
- "name": "siteName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Site Name",
- "x-ms-parameter-location": "method",
- "x-ms-skip-url-encoding": true
- },
- "SensorName": {
- "name": "sensorName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Name of the IoT sensor",
- "x-ms-parameter-location": "method"
- },
- "SensorModel": {
- "name": "sensorModel",
- "in": "body",
- "required": true,
- "description": "The IoT sensor model",
- "schema": {
- "$ref": "#/definitions/SensorModel"
- },
- "x-ms-parameter-location": "method"
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/sites.json b/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/sites.json
deleted file mode 100644
index 940046a2e2c2..000000000000
--- a/specification/iotsecurity/resource-manager/Microsoft.IoTSecurity/preview/2021-09-01-preview/sites.json
+++ /dev/null
@@ -1,445 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "Azure Defender for IoT",
- "description": "API spec for Microsoft.IoTSecurity (Azure Defender for IoT) resource provider",
- "version": "2021-09-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": {
- "/{scope}/providers/Microsoft.IoTSecurity/sites": {
- "get": {
- "x-ms-examples": {
- "List IoT sites": {
- "$ref": "./examples/Sites/IoTHub/List.json"
- }
- },
- "tags": [
- "Sites"
- ],
- "description": "List IoT sites",
- "operationId": "Sites_List",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SiteScope"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/SitesList"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- }
- },
- "/{scope}/providers/Microsoft.IoTSecurity/sites/default": {
- "get": {
- "x-ms-examples": {
- "Get IoT site": {
- "$ref": "./examples/Sites/IoTHub/Get.json"
- }
- },
- "tags": [
- "Sites"
- ],
- "operationId": "Sites_Get",
- "description": "Get IoT site",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SiteScope"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/SiteModel"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- },
- "put": {
- "x-ms-examples": {
- "Create or update IoT site": {
- "$ref": "./examples/Sites/IoTHub/Put.json"
- }
- },
- "tags": [
- "Sites"
- ],
- "operationId": "Sites_CreateOrUpdate",
- "description": "Create or update IoT site",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SiteScope"
- },
- {
- "$ref": "#/parameters/SiteModel"
- }
- ],
- "responses": {
- "200": {
- "description": "Updated IoT site",
- "schema": {
- "$ref": "#/definitions/SiteModel"
- }
- },
- "201": {
- "description": "Created IoT site",
- "schema": {
- "$ref": "#/definitions/SiteModel"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- },
- "delete": {
- "x-ms-examples": {
- "Delete IoT site": {
- "$ref": "./examples/Sites/IoTHub/Delete.json"
- }
- },
- "tags": [
- "Sites"
- ],
- "operationId": "Sites_Delete",
- "description": "Delete IoT site",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "#/parameters/SiteScope"
- }
- ],
- "responses": {
- "200": {
- "description": "Deleted IoT site"
- },
- "204": {
- "description": "IoT site does not exist"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}/sites": {
- "get": {
- "x-ms-examples": {
- "List sites": {
- "$ref": "./examples/Sites/List.json"
- }
- },
- "tags": [
- "Sites"
- ],
- "description": "List IoT sites",
- "operationId": "LocationSites_List",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/SitesList"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSecurity/locations/{iotDefenderLocation}/sites/{siteName}": {
- "get": {
- "x-ms-examples": {
- "Get site": {
- "$ref": "./examples/Sites/Get.json"
- }
- },
- "tags": [
- "Sites"
- ],
- "operationId": "LocationSites_Get",
- "description": "Get IoT site",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation"
- },
- {
- "$ref": "#/parameters/SiteName"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/SiteModel"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- },
- "put": {
- "x-ms-examples": {
- "Create or update site": {
- "$ref": "./examples/Sites/Put.json"
- }
- },
- "tags": [
- "Sites"
- ],
- "operationId": "LocationSites_CreateOrUpdate",
- "description": "Create or update IoT site",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation"
- },
- {
- "$ref": "#/parameters/SiteName"
- },
- {
- "$ref": "#/parameters/SiteModel"
- }
- ],
- "responses": {
- "200": {
- "description": "Updated IoT site",
- "schema": {
- "$ref": "#/definitions/SiteModel"
- }
- },
- "201": {
- "description": "Created IoT site",
- "schema": {
- "$ref": "#/definitions/SiteModel"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- },
- "delete": {
- "x-ms-examples": {
- "Delete Site": {
- "$ref": "./examples/Sites/Delete.json"
- }
- },
- "tags": [
- "Sites"
- ],
- "operationId": "LocationSites_Delete",
- "description": "Delete IoT site",
- "parameters": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
- },
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "../../../common/1.0/types.json#/parameters/IotDefenderLocation"
- },
- {
- "$ref": "#/parameters/SiteName"
- }
- ],
- "responses": {
- "200": {
- "description": "Deleted IoT site"
- },
- "204": {
- "description": "IoT site does not exist"
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
- }
- }
- }
- }
- }
- },
- "definitions": {
- "SitesList": {
- "description": "List of IoT sites",
- "type": "object",
- "properties": {
- "value": {
- "description": "List data",
- "readOnly": true,
- "type": "array",
- "items": {
- "$ref": "#/definitions/SiteModel"
- }
- }
- }
- },
- "SiteModel": {
- "type": "object",
- "description": "IoT site model",
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "IoT site properties",
- "$ref": "#/definitions/SiteProperties"
- },
- "systemData": {
- "readOnly": true,
- "type": "object",
- "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.",
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
- }
- },
- "allOf": [
- {
- "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
- }
- ]
- },
- "SiteProperties": {
- "type": "object",
- "description": "IoT site properties",
- "properties": {
- "displayName": {
- "type": "string",
- "description": "Display name of the IoT site"
- },
- "tags": {
- "type": "object",
- "description": "Tags of the IoT site",
- "additionalProperties": {
- "type": "string"
- }
- }
- },
- "required": [
- "displayName"
- ]
- }
- },
- "parameters": {
- "SiteScope": {
- "name": "scope",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Scope of the query (IoT Hub, /providers/Microsoft.Devices/iotHubs/myHub)",
- "x-ms-parameter-location": "method",
- "x-ms-skip-url-encoding": true
- },
- "SiteName": {
- "name": "siteName",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Site Name",
- "x-ms-parameter-location": "method",
- "x-ms-skip-url-encoding": true
- },
- "SiteModel": {
- "name": "siteModel",
- "in": "body",
- "required": true,
- "description": "The IoT sites model",
- "schema": {
- "$ref": "#/definitions/SiteModel"
- },
- "x-ms-parameter-location": "method"
- }
- }
-}
diff --git a/specification/iotsecurity/resource-manager/readme.md b/specification/iotsecurity/resource-manager/readme.md
index faceebb1f548..16a224504fef 100644
--- a/specification/iotsecurity/resource-manager/readme.md
+++ b/specification/iotsecurity/resource-manager/readme.md
@@ -90,26 +90,6 @@ input-file:
- Microsoft.IoTSecurity/preview/2021-07-01-preview/vulnerabilities.json
```
-
-``` yaml
-title: IoTSecurity
-description: API spec for Microsoft.IoTSecurity (Azure Defender for IoT) resource provider
-openapi-type: arm
-tag: 2021-09-01-preview
-```
-
-### Tag: 2021-09-01-preview
-
-These settings apply only when `--tag=2021-09-01-preview` is specified on the command line.
-
-``` yaml $(tag) == '2021-09-01-preview'
-input-file:
-- Microsoft.IoTSecurity/preview/2021-02-01-preview/operations.json
-- Microsoft.IoTSecurity/preview/2021-09-01-preview/locations.json
-- Microsoft.IoTSecurity/preview/2021-09-01-preview/sites.json
-- Microsoft.IoTSecurity/preview/2021-09-01-preview/sensors.json
-```
-
---
# Code Generation
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/backuprestore.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/backuprestore.json
index 2348ad3f90c3..d756cec023cc 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/backuprestore.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/backuprestore.json
@@ -37,7 +37,7 @@
"x-ms-long-running-operation-options": {
"final-state-via": "azure-async-operation"
},
- "description": "Creates a full backup using a user-provided SAS token to an Azure blob storage container.",
+ "description": "Creates a full backup using a user-provided SAS token to an Azure blob storage container. This operation is supported only by the Managed HSM service.",
"parameters": [
{
"in": "body",
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaindownloadpost-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaindownloadpost-example.json
index d0d853a1abb1..78b71a4eb817 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaindownloadpost-example.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaindownloadpost-example.json
@@ -1,64 +1,58 @@
{
"parameters": {
- "vaultBaseUrl": "https://myvault.vault.azure.net/",
+ "vaultBaseUrl": "https://myhsmvault.managedhsm.azure.net/",
"CertificateInfoObject": {
"certificates": [
{
- "value": {
- "kid": "id1",
- "kty": "RSA",
- "key_ops": [
- "verify",
- "encrypt",
- "wrapKey"
- ],
- "alg": "RSA-OAEP-256",
- "x5c": [
- "MIIEnTCCBAgIBATANBgkAoWgAwIqhkiG9w0BAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H"
- ],
- "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI",
- "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A",
- "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs",
- "e": "AQAB"
- }
+ "kid": "id1",
+ "kty": "RSA",
+ "key_ops": [
+ "verify",
+ "encrypt",
+ "wrapKey"
+ ],
+ "alg": "RSA-OAEP-256",
+ "x5c": [
+ "MIIEnTCCBAgIBATANBgkAoWgAwIqhkiG9w0BAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H"
+ ],
+ "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI",
+ "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A",
+ "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs",
+ "e": "AQAB"
},
{
- "value": {
- "kid": "id2",
- "kty": "RSA",
- "key_ops": [
- "verify",
- "encrypt",
- "wrapKey"
- ],
- "alg": "RSA-OAEP-256",
- "x5c": [
- "MIIEnTCCBAgIBAoWgAwIqhkiG9w0BTANBgkAAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H"
- ],
- "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI",
- "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A",
- "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs",
- "e": "AQAB"
- }
+ "kid": "id2",
+ "kty": "RSA",
+ "key_ops": [
+ "verify",
+ "encrypt",
+ "wrapKey"
+ ],
+ "alg": "RSA-OAEP-256",
+ "x5c": [
+ "MIIEnTCCBAgIBAoWgAwIqhkiG9w0BTANBgkAAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H"
+ ],
+ "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI",
+ "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A",
+ "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs",
+ "e": "AQAB"
},
{
- "value": {
- "kid": "id3",
- "kty": "RSA",
- "key_ops": [
- "verify",
- "encrypt",
- "wrapKey"
- ],
- "alg": "RSA-OAEP-256",
- "x5c": [
- "MIIEnTCCBkiG9w0BAQsFADAQMQ4wDAYDVQQDDAgIBATANBgkAoWgAwIqhAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H"
- ],
- "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI",
- "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A",
- "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs",
- "e": "AQAB"
- }
+ "kid": "id3",
+ "kty": "RSA",
+ "key_ops": [
+ "verify",
+ "encrypt",
+ "wrapKey"
+ ],
+ "alg": "RSA-OAEP-256",
+ "x5c": [
+ "MIIEnTCCBkiG9w0BAQsFADAQMQ4wDAYDVQQDDAgIBATANBgkAoWgAwIqhAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H"
+ ],
+ "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI",
+ "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A",
+ "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs",
+ "e": "AQAB"
}
],
"required": 2
@@ -69,7 +63,7 @@
"202": {
"headers": {
"Retry-After": 5,
- "Azure-AsyncOperation": "https://myvault.vault.azure.net/securitydomain/download/pending"
+ "Azure-AsyncOperation": "https://myhsmvault.managedhsm.azure.net/securitydomain/download/pending"
},
"body": {
"value": "eyJFbmNEYXRhIjp7ImRhdGEiOlt7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhSE50WDJKaFkydDFjQ0o5Li53dGhUcG5Dakh6d0Fvbm14SlJrcmhnLmIxU21NcjJkX2J3VUZJS0tlRnZ0Y2lvS1BiUXo3OGJyd1duclVBZE4tM0txY01FUXNtSU5FN09WZ2JLbFZ0V2tkemJmaGdrUHd1dUhtaG9QUHpJd2tHQTQwYXVLZW9OaC1EN2RWanBJd2NVcDVMNDVVVlNRWXM5elRQQnRmSnItcy0xbk1DNEhwZnpXRHNhZUxUTzhfcGRtNGxISi1lN3dGeTE3NVJQMDRZR0xPZlVEaVBTaUZXTzVQd3djQjRsSUx1ZXI4cmgyaGYtSFN1M3lnYW02N3VGdjc1WTAtU0gxN1F3VHpwbkRtXzZUbzNaUWZIRHp3WUprQjlWYmRvaHVMcWl4QUY2MS14UjVvXzc3MUdtOHlkZHF1Ri1qV2ppUjAwNWZBSnFLb1UyM3lmYXhZdmROaFdNQVUwU3RfTG5HTnYxaXRQYVg3cXV2aWkzOFlhbjd3TU9VZGg4TW5VS19rN1hhSU96VTJfUFVWVll2R2RNcXFlaVRNLXBrekFxZC02LU5vZ3llc000NzdXdnBNa0F2STZLS2xvRkJKQzRfUlFYYUxITHZwMnAxTlM0NUZLNTEzb1JJeHROd3AtM3JUME5FU2RTbnZfb3ZCeDhFVGpZdF9Mcm1RNHplb2pqRFVLZC1EWmxQcFlGUVAwZWFfNmpSckpsZ3lvVC16czhWTEFFREdoX1lmZDRydHNENVhFZGVMZ0IyMEF2NWlLRk1jcHhtTVVSakRJQTZES1hNUXFIa1RLam1pQmU2aHROZ2FNNjE3S2FYclRuWjE5Ui0zWlIxbGs4UmhoQm5yZ0NBamlWd1lVcE8xUGl0ZDY2bl82VFlTVTJ5eFkxMkxoZ0V3Z1hxR2pzOGJIVEtGYnZVVmxKQTduV1RSN2hTUHpTZDJjanlBaUNDR1ZEUjQ4VjBTY1FBVXFLTGVFZUl5NzhueXJQSE9kXzk3dGtGSXBsdmhncnBkdXRISUNyakQ3T1BMWVJ6UGpFQlJxUFFzQm1RSzl2V1NDNDk5ZGFITzRJOUtRTG9mVTc1VmhOOGt0NlV4aGZFVF95eURfSGM0UGJLZkc5TG1hYUlxVGVtVWZCVnU5REx4RXJLbzhLVC1RX1dFRi1LOEZFbXhZdUFKWEgyMktrTWxfSGFva280NlRCV0FPcTduLW8zaHRpbVBlUmxuSkZxa0lqbTBIc3UzWEJETkdpMEFZZGtpakE0QzgtOFVwNk9ZSWVDZnZOeVEzYVllcmhJVGpHR1puMnJ5SEZCRnR3WVIwbkJCc0ZfMFo4SkR6NTlvTEtlMThheVlvaUp1UHNTdWp4VHFNeF8yNG44WndQTnB6LVhYLXBEVWpkSUZvVS1FSXV0UWxnT3dqUmVKZ3I3WF8yUks5cVBfT25ERkRNUnZzUU5oS1pIWklhREdVdEROd2JxMmNHQzBNRElpeDgzR2RIS29kbGJqNkJ6VXEtUXFXT1dSdUtiQ1NnTFdULVdSdnNzUXlONnhIYXRHb1VSMUVMcVpPejJUZmw0cm5Ka2QtSTlRTE15c01zbVFiZldlTXBJWXA3M29STGxVNm9iRnNkM2JNNnVGeGFGcDUzT0pDamNGUUNlLWM4X0xEMWk2dWhFeFNZenNSYjhLR2cyX0dpMFNCSkcwdjBSb205X3oyVklScER5MFdyZmhnLV9YRjZUdFNtZkhoYWpRVzVqTC1xMnNmQkNlcVI5M3FXYUt1TFJQS0RfSm4zWElJR1R4UklDMzRETTlfbXprRTE2SUZDa0dnN3FEMmZCZ2EwNHA2c1hrdlEtUkdYVFhKZGlOd3NpVW1RUFR3Ql9LSVA2OFRNQWdSTWpBMEFJMjZOSmZ0b2Z4eng2X0w2VTU1SDZELVZ1UjdDOWsyR2lWa2Y0VnU0Q2p4WTI5TWdwUERlaHdScjVVMXRBUFU3Wi1nVU9Eb0NTcGRINVRjY1NROGtKb3FEby04SWRKMjlYa0NEUTdDX3U2aTFVVF9feUhLbjFwSUxocnBxZm5lb081SE5sNEJTbjJ5cEdFZUpfYldCNl9GMU4tYXBoVDNjRmpQWjVnb0tfM3ZPVWw4N0gtSjMxNnhpUGRiZGhiM3ZkSTVkQ3daekhzOEZwbFpVaXJGNGlsRHM4bklrRGs0cXdIZGZvQ2VWTlgtWE1neUFOUTlKZTQxOHJEZkprZF82OWFiSzB6MXlKcmg4ZHhNajFHSnc2N2FzZHZ1XzV1elZPcjBldE95WDUzUVMtUkhLeEs4RWZUZ0U2SThwVjBTQ1hRYkg5S2lNd1dYcm45cjk0QzFhZ3dJLUZ1b0JlNFl4eHo4OFc2RUdvUzJMMmkwWTM0LWFjWVJxSTl5M3l2aVJ3T29Ub2NnUmF3NDFUU3ZROE5zUzBPQUlyY1JzMlJfMWhOeFlObFAyUm04VktPcldEcjQ1MHNJRC13elYzUmJxenJLcVJnbmxBOEFKcnVCa1FPbTQzVUFIVnBDY1pvVGtUMVYxYi1Weml3bUQzV0hHZFFnM216RVItdmlGR0RJLWJKX09NN1JWdlFwT21xQVFBWTFvQ3ljOWh0cUZKSUlhYTdibzEtQ1lqcDNTd0ItYnBsTjhuWDhHVWFUbkNFbVM1N1VTbDMxUGVpNkszeXJmUWVJWl84Q2RSdngtZzUya2E5NU1nRmZGcUFOdFNQUzhXbTJQSm55aDlxYTliTVhzSmI5RmVYUnFZSlV2OGxfc2VkVWJEWFRBS3BGWl9hWVI3VUpLa0xWejNiNEcxQWptcFJQQXdzd01TWDJtUkFzcGt4Z2ZrdV94QjRyaDBuX2t4NDQ3Q2pYa1VjSncxNlpBVHI1Nk92THZCNmZoRXNqejhVWGRyNTJHQ1R2MzluUjBsUGVLQzlZcC1GTGZHaXNNTVk3TEM4WHNFU3ZhWVU0NnZGZzJGVUhjYmgyM19xbENiWldPWm9vd1FrSnFJM2VCU2s1Rkc3ZXVPOERLS2tBU2N3dkFmc3cxM0VCTHJ2djhLem5mMndRbFN1VFVEMjdWaEt3Mk55SUtuUTJkeTN5d0NtT0EyRnNBdkRwUWpybXNITjVmVDVTLWlTRjRyZTBrMFU1VzVJUVg2RzNJMlBDWFJDOHJnZFA3SjFNOHEwVGtOZE0yRUVqdzBtbWpkaVM2RFUzbWMtUDVya0hEdTh0anpPYktESE5MbTJfa0NoQWFqTXNtcUlDMzFiOUxvTUg0c2xYbUNjUDhQTXF6M1c4TXB0V2NGSHFLT3pDeDJTWmlVRkdaN2h2a1c0dWFyczFDMG95ekFJYTA3eDF5aWZxSFUtbW1Mai1FTEp1Y0xkZ1VOSkJjeGFuVFNSc3VpRjhnNU5iUFBIdDVHdEtiUC1SdmlQd2V2cHdjbjdrVU9RUDNRUnpiUjlLdUpFZ0JTdGFndU1GMlNwVjRDNlJNZ2E1RlB6UDRVajdtNmdDMk9WSjB4RG95ZEdYSnJPa2NiRlhHQnRfXzFHSG1uWUw1cVhVbGJBT3F4RS03ZmJiem91OGhpSi1IeFBTY1lfUHJwOG9ZUUZ0Q29sSkhMZFFHaHBUT1hKd19lU0phRU5jaGczbDVFNkxCNVU5TFlkeTRmSnh0ekY4dDdHenR4Z1BlMnFLN0xBTkRVZXNxZUJEMzJTVEd6cVhzVG43UWNlcEEwcjBzTnlyaXFuSERTYk9vXzNTdDNKbkJzdlNselRiWWFuZEozY1pJN1c2RWsxQlZLeGhVNUQtRGNJb1R2cWNvN0t0WW1pS29FT1hjbG9jQkZLTFhPWENhMVhvUUZsUnRCdGNUQW9LTDNZSmZTS0ZwRUw4VVc3bnZlcTlfcXZ2UFRtMmpUUW96UHAtYjhNZFJDZjFVc3RId1JxeDcyVXNxcDBKbnhTVERaRi10Sm1zdlZHYkJHcVIzZmNmT1lGaExZN3c0UDYxVS01U2NUMWpxaGhnOVVQbDdJVFFBMTlJRHJkWHZrSEotSkZsVXRoVHY2YnNaT3FuMmNNaURjdUdTY3BLckgxMHRnZmZ2cWxSZWcxLVlJTGJMLXJ4eDk0ZER2R3RkXzV2eWNBZjFiY2Qwd3RaRzdLaWg4OVhZaS1xVjZVc0stYWZyT2V4VG9pX1Y5clNPMmZ4RG9GQ0JoV2dUc3RMc1pIQUN4VU82SzZzbFFwbVBpRTFKNldXdjIzYnZORF84Q3dwM004UURsay1TUWlsNEJUZnFjeVdzRHN0Y05tRnJGVkJBMWdGdFdGVWh4cTlHQVUyQ2o1bWtWM2REekgwM3FYLWI2cGdpSlE1SFFWRmw1SkV2bTFLQWd2ajJQRGFwNmhyd3NXZVBIanhjMXNwQ0dJcnA2Sk91LVZQMm84Mk5hWXY0S1UxUkFRai1mdXYtVFhfaG4zSG9Md2lDa2NRaEdpWWpWRjJvVEdDTEhkLV9rVEFRRjZDZ2hDRjlQVXFmdVNaSFlfRW94MG1NdlBZRDB6NURZMFhISUY4UzQ4cExOUE9seUJRZ3pSNU84c0VHZk5BOVM0cnJwVVdJQmpETnpyVGlZMjVqV3V0czNIaHhVUU53X0c1dFFqLS1hVTlCcUItZkg0TVVKNm9HM1lDSHpkcUVBd05MclVWQkF3M2s4NFhkZ0xjVnFhVzJBSUpxMTBLQ1NQdUxOY3ZURHM2WEhXS3kyTHd0UTRHdUN6REhCQWliT19vV0hQcjZyaERKVWcyZTV2aGV0cVBlejV1M0oxeFN0VDhyYUIyT3ZOYk9ob05BYmNwMDRQbGJ3UHJpZ0FFQ0dTMVQ4ODVaTjdqYjlEd1FOckxwWU9Db0lQRGNlaVhuYXg1al9UNmF4LUhadF9jQTAya1JZMFNBSEJITkZOQXE4eUxIdkh1MmJxQkpiUmZ4cEo5TkZmeFF6ZEoyYlpSNmJHOG54dVNUSmVqeXVRdlJaNzBOZUZqR05FaERFQ3JTNUoySTBBVFBaMDVPTE1OUU53NnZERGJBSmR5NV9WT2F6c3BhLWoxM3dwVVJuSDBzWlBJd1YwVWpSdHRjUTVHNzRNLXctZXppNUk2dkdZOTlyUHhZZkZRMlVITnJzTV9COVVxTlZXZk1qcjFRM2Z5cWxuZ2IwUmF6WHRoX2FjLVJiOFBtV3FBYnBvV3N6cXctZnFDQ0otb0drWkwtLXhOeGFjdjBfWDh4QjlYT21NajgyWGFKdkhNVmJpdWZwUUNsWnBPS0E2QmtjQlhqSVM0LTkwWDVneXlhTVd3bHozcEdud1UxSFZNRHBNeVBJN1VKYUZtdkRQcFU2WlhZZXZWRUZEMzg2NVBKeEZDZnBfdVhoWVBqMEFZLVRNRWpPZlIzUEktMjJ4bDl0REEzOUNuMlhzeDNrQ2c1Vkhlb01BbWZsM3YtaWZxUWxnZ0YyVS1uNEJXXzA0QlpOb1F5Y0ZQdnA0Q0Y1c21MVXUwSmVsN3BuMFF4OFQ4cjRLaEVRdWRoUk13RTJtWlc4TEZTeVdobXFzRDRXNVRDYi1QVTBQZXNHMDdFMXJLYkdFV2NaWi0xek5pam1SWUpxUHdZSWRnUmdhMV8wZktCNFcxZEVRNnE5elRESnl6YTNTS0M3TVhhbjR6d2F5aGM0aTc5Ty1NM3JPSUIzT0lJUFc2RjY1MTM1WXlUVVpETGJqZUJPOGZ2NlJCQU9MR0xqXzgyc2hPQUFrRXNJcThPSnVHTWNiMEZUVXVqYUNHQURaLW85RWNhWDdMMm4xanJBNVVEaFNaV2xhQ0JfZ2pFTzhDTTdJV2xYMnVRYTVJOVg4ZDd5VE9TZFZWX0ZDbk5zcjRUdWNvcWNZalpDd1VmaUpSLXJfYWxKbVluVE5RMFphOGt5ZVRWZWZYTDkyNnFyQ1FqSUcxV29BV2FtYkRNUHV6QkJNZG5sWVNyaXMyV2VyU3hFX3RjeTE3djdvaU9Xbm05TGFVam5ob0VXVTlTTjBBSEJ1Mmhsa2dHOGM0TzhHMmo2eEd0QUVURnJJRnk3MTNJMi03eGVCNjNFMjJqZ0FQSlFqbVV4RzZaaExFSFJBOXNHWUt5Snl6dTNmd3c0SGxFS1EzdFpXN0JTV01ueXFYOUJsVG5rZEJrSHVBTkpiLW1JcWl6UVR5ekVodTBLQU5GY2w3OFpaNzYyU0pfdERaQTRhZDhweGR6TVZoZnpvYkt2Qmo2dUlKcjFvQlpIbmp3cFJvM1Y5OXV2bElGSWZBS3NfVmlSRWl0QUdxT29GaTczYlpuWFN5RDlmZ1hYNU53Ri1mcGd5S0VlQk10anM5Ti1xYUNlRFVRYVJaWVNlc1JCOVItMUVNa2pqdHBjSWlOaGxIbGxnZ21tOWd2T2N5LXR4bXRZcTZYRTgwQ3NQN05vSWZIZ3JYSTVwcURnWGtESjB3SWJxRHV3aFF4NWNmQVpFV3FuUDVPSkJURm5BbEUzSWpqdEFnMXRVNi1taUt5c29HNG05VlZUejNGNnh2V0N0aXFZeFVFX01tdy03UXBwcjdQdEV3d3B1ZUNoczZGQ1MwSXY0YTlQUF9Iei16QUt0Zm11Tjg4emhyY3hjcVhJNFRqeHpLenQ0NDk1RW5MLWVqR1ZUR3Q2OG1fMjYwUklIa0wzamlQLVd4NlJaRkVFb1RhMFo3TTBIdnhkb3JORVVsYXFqaDFXRmRKVFV3dG40SmJpeVJFTGthZUNMTEYtdlF4dkVwVmg4M29udUtZakVFV19CUXdrbW9ITG00MlYtZTJ3eVR4Rmt4eWpBNnJFQmk4anh2V0RYeWtySVVYbjRKRXZyS0MyWmZuZklBNUJGR3B5aU5MbU0zSVkxNHhKQ3VRY1g2aFVwajVWMVpfbllBLW1mTFJ5V2Y4MkIzZEVOdzBUZFY5QTU5T2NmUlRlamx3WVdDSEhxcFpPTXJQXzZtUjJmSTlIVGhIVjM1UXhIMS03eWJ5SEN5YTF1dzhhNGdPMkpXWjFqY1dTWDZndm5UTThRazh4bjdGcnFnaWdhYTJ4Y2RiUlhlbHlocUZUX3gtSUlSQUFNbEJLZW94cnZXaTRQQTZDc3BxSzJBSjk0ZVFEeHRjZi11ajQxek8xajJnQTJiNGdicGh1dlBHZUVDUTVJUDJzNzhYczY0SlVPVmpIZUxJdVBQM0laaUZsWGt0cl9SZ3BwTzZZS3FGTXFMNEZlUExHbWVDQTZfczBfdEhtNzJscmFFSzlmWnpfalBwRWYtQ1YwMlZLN2hmM3BIdlBTcmJlZmtMdXJaSXJmOXJrLS1LbWFmdGQtQXhfdzU2clJXLVprdGZJd043ck52bXVPQlZRaVRyZ3o5TC1PeDhVbTFSejRMS3hzRWpKZU5XcE1JWW1ENlN3a01vNVE2bnpLS2tZeVBvbjIxTVVqTTliU0tTUm1MVUVMeEhKN1RYV0l1UmVZRkIxb2l3eVR6OHdZdmtMSUJlNUE0U2ZfVTZPNGh1ZmVXLXJ1c2NDSWtqNmhudXNWSjh1dmpibTRndlBPZC1fRHh5aDJmLVBiZVQyWUg2QXFsQlRZbGZhQV9STXJpRWpFc0ZWamRsYmxVZVVWamxQT3MyVEhIS1U0aUxRSm9yeUV1UFBucGE1dFVJRW15dHBtSjZ5c29adzd3UkFBbkxfTjNGVi1nemtkOFdXejZSbldrdUhWVG5PWE1GUWQ4UlRQNzI2S1otMzJHdGxHRmZKUE1pdUZoOHBKOUl1VkFnTHBoY0VNeGxYbWc3RUViUnVEZ0otbXVqRkdRZWlpTHVLSUpqRFd6dFlnOE1LbTA1M0gzT1AxQldxc1o1bHotZnRSeHZtQm5vOFFDVjYzTXltajhmUHBKMHgwYTc0OEhydVhLTGhSY213SVoyZjJqRExqNGw0a04xbDdmUlI1YmlIMzZHRm01OENLQURqOXlGQ2hBckdmNzNjSkkwX3VCU2l1UHFBMTJRdmNxeF9IVjkwXzdUN2tyR2diTVlkZ1Iwem4xcjN5LVJkek9VVnV1QXphWm9ISmFZVXBEY3E3dVk0ajVrUXJ2WmZtY1V2ZV9iclFDSkNKenJaTkVNY2xtRTdCMjlOVm5DZDVKMDVZZVozb2s5bVlyd0dlOXZQeGZVUmxtYTllT2hFR0ZDXzV5T0dxT0wwWHY4eF9uUWxaaTNNVHF1UWJUTE9pVlY4OG9OeFdXQ1dhUkxIdkpPUzNBMmNsd0JzVFNSdV9ZMHZCQUlacXBtZXY0WXhzOFpWcXZtWUdsRjJ2bk82cm5ybWNYWHRPclFFX000TTJrbXRlenJheUpUek8tMXRhSjRWdkk3ZmplZG1tamU2eTREZmFkbjRlTnAybmVubUl1cmJFeE5mekdINnl6TFMtR3pZV1VLbGFOTXpyYjNYSGViNVBSMTNmZEJZeE81ZmZoUHUxZE9tblFiNXRtYV9pTGpkRlFkQThFUVQ5bXhnOHpDUWFjZDBNeXM0NGoxRXZiaEhzcTViRDFka0pQaXhKMmw3LXlxLU54Sm1ieVdhOEZLeEM5aHRIaEF3VHV2OVJ6akFJM0N2Y09rTnVVcVRaWi1XTFMzbFBxSVhGNjZDZnlSa0VTUXk5UXFGdjYwTld5UXl6ZUhDLU9jVUJuSFhMLVBiYVBKNFpNYTIwRDlYNW80RzdoNjYwMXo2MkJiMEx2dUVJcFg0Z1gxZ3JURU1SSW9NbHZNdDk3NkRCTDc0emJDN0VqT0hEMnpxQ20zT1dDSXREY3NBb0E2Sm5vc2lONmpTWFFEUlJhYXViUVNweXhHYWZNamlIZDlvbk5pb3dGREo5LUxsTkdOckhqNy0yT0lWTVpMMkFIMnVsYWNuNjVJa2pWU2FJdzlfNHh5X1FUOVM5c1B2R0RlZkVja1VMcnJuUi1JRHZTcVFXSXFKYm03TTQxbVhMa3hXLVR1VDM1YlcwQ3RlNUJLRFJKSExPU3lFZHZkdllfV190RnktY290SGF1VmlHZUt4U0tfa1RFeEFDVWxWT3pDcWZIMmlNXzVqdXU1RDZacVhRZlZfekpIYTVURkN0UjRyS1VkVmU2Q0tabjFFZjFDV3R4X2gxeDFLRnRMc2lIT25ER0tJUHptb1ZjcDQ1T0NJY0hjMEJPN19CTHVsUklacFpWcmNlXzFNMzdOb0pGdDkxZktxOXZ5dC00NGdfYVpRMS1ZWmZWYUlraHpxLWdjNWJUcThmN2M4U3JCdU1aaThUWU9WaXlnc0h0U3hWRHNaTFhwcWU1Yl9JWFZ1cEItQm1tRzZ6Zk0xZmFDRnNaYVc4TWNoOVBPTF9PQndNVTdCNG5TdXZ5ZTFHb19udkFvSHZmbDJWV1VnTXI3MERidE9NNjhteEExVlBSS0M1dDJJUVgyN1lRWmhyRFNaTG00OGh0cktVR0NVSjFaMmFSOVdhc0FrclRNODJ1YzdwanFvQzd6R1BhbnFGSHFLdmlzVVk5Rkp0MFZXYXd4OGxXZ2xYWlFISHNEVzZyVmpSNjFJYjJGV2ZCRURfcFUwc2x6YUNZQWl5eEtkQVdzejJfQ3hvR2l6VDhnNVd3YjIybzFad3VPZ05Kcy12SzhYWXVYdkx3UzdILTBrVlhLQkhDSG9SMkh6dnlnR21Qa2tEekpyZnJVN3hzczlIdUo1SC1SSnJacXhmLU5pbUxPWm5nemJiYWpiOUJzcGFScFRwUWwwbmF2TkpWbXNMSTJYelJwVldsWlctaTVWdUhDZkZEMjdORW9LalB6MFRiY0dQZ0NtRUdOdWo3dTRkS0t2NFdsWkxHby1WT1RsLWpkVV9aY0VGNy1vVlBZTXZqU05oVFp3WWw5TEowN2xxYkt6aGE1NE5iZUt2ZTk1c3RVVThibWFNcXd1M1dxUkltNmFiSUtfeW15el9COVRqalZpSzluU2hhWDRNektDTmpiaFk1MXB6b1lrc240akhDWTBxVDJHOVkzWnoyZlZuQ01LdU1ZV0p0Z0E3bXlZN1BQSEtycU1OWnJ0cmNvaTd2YkxkUk03MGY3aFZIemVFenhYZFIxMXBjN1F0VnVpUFlSRWx2UE5GUFBFRkJuZDZPNmpnbGxHaTRWSHoxV2tQOWJ3VUVPellQcXdoQkpvTVNpUnRrakFJd196c0lUY2R2RTFtUWxSMGx5RFJKTU9BQjRKVTdpRWcxU29QSGN2TmZibFphRDY3NUJKcFZwUkZKUk4xbUYwV3lpRUlvOHAxU2Jqa0hWUWxVcXRLZTg0clEyUGtUV0NWRnhsOVJMMzRjcHcyZjFaanVtbDFYYUZnS2ZWdTZLSnFkZnpzUHBHYW1UdGZEbTdkaFdZSUZrUjdhVzNvWUllMTVIZ0tnSDFkZmRDbjBUZVgybVM3UTFHTzJHNVlsUm1FOHJXLWp0Y21xVEM2d3hidUxHdXZiQm1GeTlzMUtyWV92Q1dXcGk4Q1hnMm1KekkxYjlKSFB4MXVvUE1MLVRfUXg2dGhnR0JEeUZpcmVPUkg4ZUhaOE9PMnR2TWk4Rkw3YnJMS3E5a3Uzdm1valplWFpZbExvRGJYTk9Jd0s0UFozaWNZVVRjWUkxWms0OVRpV21NNmR6dmVvamQ4dnpVNGZLRGVmUFZ1WXM3OG1ISG5EYkZ6eklGeHhRa2N1OWNsb2UyS3NZNHJvY01qbllad2d3eW9WSkIzUGJGNnJvZVl3VlFXNzJ4TFpMdktHa0VGQ1dKMVR2YUVRN2dHa3FJNHIzZEE0LWttUm5UQWxzT3dTZFpYZ3NlZ296RzJQUTZqZTV4SGNTUG9lNkRoUk4xbWhLNWZZR19KZGpmSl83LXVkLVo2NlMxZVQtcS1waUc2OGVfaVhMaWJHRno0WmFjZDBWVjNKN1VhMnF4ODRXX1BQQjRTZE5lQkNkYjlDb3ZXRm0xalhUcW9RRWFMQ0c1WTgyMEFTN3VvUGxJejE0R2xocWQxZHFKbmt5REl5UWllZ3JQTG9PaFdjaDMteDlmbGkwTWpiUHRzM3QtOEVDb3piVWlpeVBZcF9hZzFSZUhFbHNxUG1yQUZCMXJnVUI5SmxJMDUtTTRtaEJ5alMxX0NiejVLRHJFSkRfcFBXc0l4eUlSUnNKZWVaNE9NX2NnYlRxN2dCbEdzNGZwR0U2SUdZZzMtVkZ3Y1NXaUhwdmxWOGR4djU0aWhrTUZRVDVBbjRNVXZUM2M1YzdWODQxZzlrbUhpdjJqRElPc0ZYRDlncDNtZGpFUjRsQUNRdUdiVTlmd3Vmc25xaF9PcUdNT2x2TzNqN3VSek5XRktvdGJHZzI1Zm93MmdTbllfNTNCdHRGRFhFdGVFZDdLcGJZYm5ldS0ySF9yUVJobjJpcUNjODRrSUw1amlRVEVPdG9rT0lCQmEyYWUyY3MtRDhIVmpnV05KTHF6bDVsOVdwcVVUV2RDYVJMa3U5RGZ1YWkxenBjOEJKQkM4M00zazZOQTZMbFZpeDN0OWNqNUd2VjdHbC1QYXdidjA0ZFBhMXQwVDBjNFNxbzR5OTJ6YktIN3ZpTzA2ZjJlQWhwYkFiQ1UweEZyX19tWEtnSzJYclNlM2xZcU0yUHdBbVBBU1ZkWHNCc0p2djdfTXpHaWttWmxBSzJLYTV2UjRFeEY0Y3p3NHZvSGMxR3pfbjJpZlotWmxLRmJLTTYzdXNtTHlndHFZN0VGaDFyd0pTWnJIY0d4Mnk3V2N4SWVRY2otVG11RG9xcG9kdXNQenN2R0tQbzM5dHJSeFRuNmVOZF9lMzhNT3BNU1Q5VEtMQmhVdW80WUVaM29IU2phUnA4TEtKbjZjNUFDelREUVo4cVJVaEw2Z2R2N21FRlBpMWFTVjNTLVc1RU1YOFRTRU9oZnpDcmxfUTlGR2lYaW1KZ1dSdE1Na1JHeGNILWFsRzRYWkthdTlwcmhZcUM3SEtiNVZOQkx4OUFhemtxQVExRG5xRkdkNEdYd3luWjdXNHVBRHFfUm9BM29VN3VnQlJzVmNIeC1MNjJITU9PQWFYYnpVZWMwaWM2d2ltVXVpdmJpa3dZSnUyeGgyc09qVHA1QlZRQXFGelV1NDRYMUVpaUJxUldIWW5pNGNFazhpajk1Ynh0bTVDUjBweThzRlREUDBGcXEtWVoycUt6MndiSF94SmVpOXg3bkRxUHlhRDBEaWk2MWR2UVhramtrNGhFSGtuUWpoeUR2NGZLN1hGejBGWUxXYkwwQ05ORmdHeWJhQjJWT2FGYkJQVmdtSjRFNkJxTHdTWE1UR1dVd3g4cjZWU1puQ1l6NjRfV29HZ1BteFFDckdRWXBaWVRXNkFYb3MyWTRtQ2dNeWdDV2hKTng2a2ptbGRkdDZTeFNWdXVlS3RmWkMwNmktYzdpa0ZvM0ZYRzF0YmpwdFN3OFpMbWdWb0k4M19scTNxY29QNTNkVklZVy1GQnUySXJwYU1DZDZYNTJWUEZ1SGhKYlEzWDF0VG4zLXNxTkFvdXdWckZjMmNTbHJvSXRFOHBYdlVaRS1NQTR3QloxejRJYlpjYk4yLV80ZVM5Q0Q0c2xVSlJyQU5MdzlEd3BaSlo3T3NvZUJTWUZKeWw4SFprMWwzTlNDdFpNQUIxX05QODFpWjV2amdrUUszWXpWTDB6SmV1cUJUc2VSb0xlY3BPWEY1V2dEaFdrUFRlY25mdHFMdXZpZGc2d01HRkt0blhnYTVrbWZQbUs0d2xxVUhQR1BSbXZDV1ZZelRUN2pMT01XWFUzVmZsUlpabXpJdzhla3pLODQ5Zm5ZQkR3YnYtWjJvcVhFNGFQUUswUUNYeUczTU9QM0JpcFFXc2VtQ1JLRWdnRlBTNEQ0TlRjS1FKVHQtLWUtVXpMOTluM2NZOWpXUVpPZU9iSTlxTl83MVRPVnA1UE1mYjJ0MEhCTU1KNkxwcVRuOXFQQVF3QkdZYTM5aWRqU2ZtTXNXd013a25naTJFZEZWSTM5Uk01OGdlMnJITVFjRlF4bGhyb3M0aS1kNnlSek04azVNcGRsYW91UDZ3VWlGZ1E1ekdtMEpVNTJrQ09VakxnaUJNakhLZDUxUWs3ejY2YXZicWlvelFRSnlneDlfM29WSzMyMXBFQXJHd0Q2cjBKLUJySWJBamFmYU1sb2xPbm1TY254NVM2dE9rQ1VEXzlIN1RQRjRoUTBBQl9sZmFpNHFoSFAtdi02c2xxQ0xqT0FmTk5mTmUtX2tnU1lfdVpGMUQ2T3FmZTVDOThPc2tfU1ZHalBsYTNrNk1CdFl5TEZpZjdoVktSQkVibk44Sjc1MFp6VHV6bjIzMTExY3ZyZlhpeG8ycUY3cWgzUHlDMEc1YnpiWFFMNmtXc21TS2R1ZGFXN1N4NG9WVHZVMnlHTVVzdWt2ajhmd183OGhJYW95d0RRS242T1p0WEszZFUzczFxVkk0QlAyRUduWXd3MU9INWdKNnd5endqUzBjTWVLbldiWVh1c3NpTVFmdEcyN3l4OThKcFpncGZFemFsaHIzOHE5bGxBc3RlWnhvS3g4ZmRhcnFjTU51WWJLblRPdjZTZkFfZFR1VmgzejZDMVV2cl96MF9nd1VtVWFhX1ZxMk9kTWVVV2IwSF9xSGc2X3FKNFZPWWhOODdFMm55WkcyTElja0VPc2k3TnNNZW9VeHg0LTc4ZXFxTGk5U3BscUgyWEFLbEtTaWQ0eGVlVDV3OVI5YVJDVGZ0cVNxSEpfa0YyTzl6elRDSV9XTkdGX3l1c2R0eER4bllMTHFtNElqUWVzTmRSV2duNURDZ0Q4Q3NqRWZic0lpNVgxWUFUZ29KQS05Z2VuVFV3LU14aEc2WHl0ZjlCM0piSHJoMFZQa2Y1cE5RZjIwT0xPSFMwSVNLOU9QMGx4ckZSQUFXa3A3RF9aNGRIOENySUUtRnFjWHAwc3E3QndSOGZFRUMzMWhicjl4NEp0T1FiRnN4NjNSaGEzdTltOE1NSzNUeUU3eWE4aDJVdTYyT3p1Q1JrSl9mUnJEODc5cEl2T3RRYW5rYzRJUE9Ia2tiNHV5SWxiTEo5QUF4eGdXZTBfRWdhYnVPMWdDTVJDUG56RWFHel9pajNmVXFFVmpXVzF3WFZXUjlVOGRiS3N2UFd3TkV3dmNJeXF0X0ZlMzFaM0ZsVEF2eDY1UlpGQV9XYmg4bVF1NGg1MXVzazNBWTRGdUppdWpFZVBnNXNLcFZyaWRXbVpIS0hSWndjRF8tNG1CNVV3b0hRcXhWVEZaRjBlcXJ0T0FXMGdXb0l3OEdULUpWelVrR3JWQ0JiemQ2MHJHNE51ZDJzZjUxMnN3MXFOZGhGZXFoT0gxMWJCNzItLXhkOTl3aHl3MVE2a3o0Ym9OaHdpRTA0cmtBdGM4RHpVczFmcldoLmd4amVtYTRfSkxNQk9mTV9LNWR4SDd3aldzZ2hzSFJYNTcxNnZGWmFnZFEiLCJ0YWciOiJoc21fYmFja3VwIn0seyJjb21wYWN0X2p3ZSI6ImV5SmhiR2NpT2lKa2FYSWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pWW1GelpWOWxibU5zWVhabFgySmhZMnQxY0NKOS4uUjNJN2ZhODFxMkxiSHRCSlNld2VCZy50Q3BZMlZBWTlpZHE0YWVZaEh4c29HVlcyT3lKdTdOVHRvbEJZYUFJSDBsNkFXR09IUDZrVGQwYVp4bFV6dDYzbjV6WUwxa3hSeFdMVEJuVUFYTG1tT0IwZjZlS0poYzdmSmRVZTU3cDhNTDRjSktIbDJSS1FwdGpfRVQ5VHVOc0RZZ1ltVXg2RDN1MllWak5GcWMxcFhVbUQ3dW54dE05eU4xVFNGdjNWY21BNHFmNXZ1T3Z5Q3NsYWd0T1pzbkthR1V6ZGpZak9RS0pHRXoyeTdZSVlYT0tHLWljZ1h0Z201Zl9RcDZIWUJlSWFobi0tSDhMS25uT05rQVRKdFJRQVBFUllrTEtuZHNaN1JLNmFacnFaR25SRm9FRDdNWkloRG4zWENKQ2xZZ3Fsemw3a2FHQlU4ZUpsZGpKMjVnTnIzdTIxamZNeDBDN2o2ZUZaOTd5NFJhQ0JGUUptUGlRVWFmQkdYSDJPTGNBS2lNOXc2MWtzRjU4N0V1cDk1T0tYSjBrSEZ4OG9oVmlxbGJnNVV1QjhaY3l0eHZ0S3pmWG5RVEJqS2ZDYmJvYlBkU3FrNVBEVWtCWWJ5WGVSS1ZXMHREeVZFZk9haldzWE0xdVRsWXItRDgtQW8xV29jT0hBYkhGM3h1dVBhZnNEdklYcTd3Mk5fckJwOXZNOWpPQzBqdExEeldYeFlwcjIxWmNIdmhwaWJCM3F3ZEVNS1pfZDc1SkM5Y0VmMU85LUlNaVBUSVpja1podEVyazVQQVI3ZnJYQVBBOHJrVjJtTVlJQUxOWV9EQjhDcHVIR2JHeGZ6cE1iZ2d2U1R1OUtacV82YWhIbGVIT0VqRklXNXpiWHp3NG05ZXpMRHpQTnJzWUwxa25uLXAxT0k4TWdzZjVmd1hZS1NtT1VFeEZDdUI2NDd2dldhdmg5eXM5YUxZWFNOb2pEQWxqZlRrRmU5RlVVdUZLSmV5S0V5a2RDS1JPZHZlSXhqSHk4emFBdGNBZGdVSXAwT1FWdkFON3VnZkI4SVJQLWU1a2k1VlptNHpXR1AyQkVWTV92WWxlMkE2VEp0SDNMUFQ3TVV6VGxvMVBVMWtLVExrZ3EyVWp4MERldmZrLTg4WjNTbFhVZWtRVG5QV0lZY2lhY1hDMVptenRVQVpwYTBraV9TcXVmRjNmdGQ4TFFJR3dFNHpkZGZtc0R6aWxlSFpLR3ZUZi10MUtkTm9VbkJtYnFOb0JObUR1blNuTHlBeldFWE16Z2VIZHBsLXZLWVpTUXA5ZnJpdkRlV2ZlOGxXVmJPUmxiUDRxNzlKQ2tVZHBoMXJnM2l5cXRjaHpMa0J4N1pqeGJkUEZ6MkU3Q1B2UGFFYnJUZ3o5WDRUN3VZa1JVTmtDRkpscF9NS0VfdEthNXNwREwtckx2bHgySlV3ZWpXUGJyRWdWRDdocXdhVklMNXdwZzhHSlI4eEhpeVdMbzNVcU1fU0FlZmV6MUNDcElFb1QwT1E1TV94VTlhNWp3bDAuby1JSU5IdzFXTlJBc2xSRnE4OGlZclllTmVibVRhOVRrRlB1Um9LRl9lWSIsInRhZyI6ImJhc2VfZW5jbGF2ZV9iYWNrdXAifSx7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhMjF6Y0Y5bGJtTnNZWFpsWDJKaFkydDFjQ0o5Li5XYW82Q1FQYXdIN1lGRXdHN2Uza05nLjNVSWh4SGFtV0FLWGlBUG9qVzNlcW56NThRbEpPQm9OcDJGcHVzT0k0UXR6RmIyZHM0M29TVjl6Q3lRaklrc0ZYRko0Q2Zra0QwQUhxQUtna01LZ1JWd09aT2xyRTJHZEpKRVk1bzk2QlU4eEhqZF9BVFo2dlFiMlVMRVIwRnFUZnZIOU5yZlY5SGRfX1lUS01UdVE2ME5XWWtUX1R3TUxRX2kyRDdHd0J0S3pLN0FnbEVjbVM3RXpuWHA0Zlk2RmJRTmN0ZDNjNHpWWUFieDJxbndHMWYzTDNaMndkZGdySVhEMmJlam5RQmJMX3VIRWJUM18yM2hZeDZFdHhEQ3E0bXIzNXB1MVNINDF1UGlnQTcyNG13clNXYUR3NkdJRHlwZVpzc1RYNmc2RXQ5ZHJ2aG85UHpZTjNtdkxpR29PdHBPTUN1cTFyd3J1QmZNMmlkNkdfU1FMT1dkR3NQOWdIUEsxV0FYZTQ3LW1qWXBkbGhiaGFNTjFVaVJBZWxORVR1al8zaDl5Wjl1aFcxbm9TOVdJYU9WekxFVXBDZnJNTVlMLWdubkxuUXZWSkhWNjJGTUQ4V2VkUlUzelVSSzQ3VFZxTGtzY2RoYmxNZUJHUWhJV0R4aEFuSzNHcUFOR25ZM3Bnb1p6QzRTdHVfWmNNS2tsMVZ0bnZiZUZoTExHMnpmMFQ0QTM1Q29ZVHV3TnV0LUNVS0prOW5mZ0x5YXZWNVJGclg1cFJTV3lGS0dUNzY4Rk82MmhBY3pCZDhVeVdwdVJvNGhZZkZjOUI4dUNKZ21JSF9KWXhRVlgwMjh1akdyYm04cjVFa01GNHMyN0RZWmkwRTVCMkZGczNLOEsyQTJxM0l0R3ZKWXdkc2c1Q0g3eGVhelZGNmtjTW5vU3ZvM0c2MVp2WU1lOE1wQ0c0ekMxekdTeDdHSnpjRkxyUG9OcWVnTzhob1p5YzJOSzc1elBFWUN1TTkzcTB1Q01QYTlQbmxPV2tLZzVzX3RLTVZiQV9sMEd2eHdla3hVUlRKSzBXbjRxc0diLXRqb3lmdDd0MmxzcG9LMnprWEtPRGFSUlZfUXhicmJxYlFzSXpGLXIwNnB6c1JRSExGTlR4WUJBX3Yyc1BBSXFkSGowdEpLcUs3UG5XMkk3ZW5BNE5UM1NaOVp6WkdCY3Jua3R5Mm1fQVYyQTNWaHRlRk43X0I4VUVnYXhKenNLNVZkQnhGLUJDNFZlSkdvMXRLcXJ0WktQX0dqQk1NTGxiNlhZOEVoS3BQT1M0a2RIQnNsVFdPLWNwZzhnNDZxRnpmRDdqOE5IUTF4UkJqRmZ3ZnI5ZjB0YjhZckNHek9RNWMwQjdGQUxDSk5LSUZnc3JWallkT2Q5b1l1QTV0YlpmdlJBdDJHTllfLVRId0xyMHBZYWQzY21XTU5VUFBjd2R3cjRqNkI1Qks5amJRX2d0UldGcUF3SHVCaHRCbklpajF1UFRPNDZlRmttUXZWT1E2dll6M015M1djak5Lbnl2X1dmdGdHVFJIdnM5RXlfblFMZ2ViV2dUSGI3S3VsVjhKN2dFWTBOOERob3Vsb0dVTXFsaVh0bjZqYWV0VWVSQmFoT2hUbkkxWGVaNGZzdGdpbHc3dnhEeFI1dTVXcEdHQWtHMi1kc281b045QVVEcHh2dlh4Wld3S0g3NkNvcUZqbmJIQTBXVlh5R0hENEw2SVlrQThkWHhncFltOUU5OFM3YjRnaTEycTB6TWVMR2Y3dktJRG1ObWpvRVZoWEtGS1BOXzM0RjBMeE1NVWtfMW5BM3lxb2FXbUd6UlNWV3EtLXloa05QendNSDF4WDJrQ1p5b1hsZ25kSzh6dzVkSXBza2RsZkhuU1piMVpEdjZtTWhQbklLMWhhblJZb1NzS1ZtZG9wRUhtODdDVFVpWUVydHlPSDdmU2FpalR3M1dUUnY0N21VcUdvdTBXdUNIZlJlVXMxMFYtblJpYWNoSVBqLTV2U1NNS0NTcFdscWJ1Q1V2RDlsdnktRVNubEw0T19abEVRckRnNVRTSUxZNU44WGw5cVM0eDREd05DR1ZiSnZJMUJfeE5CTkJmRFVmcVF2UXk3UlU3d1ZhSHFLelIyM0h1eThzQU8xV0JXMGpCdW1RSjI3NUpHZldTVngtRjFhXzhIWkcwR1ZLczAySXFGdDRTOWRyMENPNXRHMmsxTnNzTXVrWXl0YnRzcXJJdGxzblRRVjdiTUhFZ1pGSWJ6TGpBd3lhUWM4NWQwSXhsQmJibUJZZUhkWnRubGRkdGs5QnZ5NHNqckRnSVZlQWVwdVZxRjNONklrcXVJM1UtZ2p3S0FjQTNKMVJkZENEeXJMVTJhakZGOVdhU0FuYWlOcXJ1R3o3WVY5SDFiaWlkWFJiSFBoRXNFNDNLMkpoX2ljOVBoTFUzdlBXbGNRODV1R3RrWkxRTTNlbUF1RzJLR1NGQTcxd1pyb1hocVRIQUxKNWpLTElhQ0Rld2hfTHBOTHNjM3RVS0xOMDRaVjJHSDhTdFl1N3ZlOUE2QXlTcmhUZjFKRGV5aWdael9kU1ktQXNpaGszRDFjSTN4Rmh5LUdsZTNWQ3ZPRjFSTFFfZHh2NjV2bldTWkdBeHRNdXFHV2VNTnVZY09saXplRGZnNFVuM2RPN1VpdDhpb1R4dU1WMndyRVNPVXpRdThpb0d6TzNpV3RXWWxfMll0LTF1eGZVRjVMSF9EOW9pazFpQTJ3RE9ydnFJemhBczJGakxMQmhqS3BIcWViODJTZ2J3elJRbzJFQmZuenJiMzBWNmtPTjUzOEJkanRCS0hvYUdJSnhLUnNnRjZzUkkxQy1uSVR4NWFZeVhJMExDU0JBRWU5eUpUWkxVV2tqT3AtX3pSSnZfR3dkTnhTWnZMSEdkcFlWT3ByMTF6OFU0azhYTE1xSnRhWXAtZk1CcVh4eWJMZDNxaE1kX1B2V0dNdlJHYm9pd3F3cnYtWllwbHU5Y1I1a1RvZmlHY1I1SFpaWXhTcjN1ZVVubXpjY0kyRUJNQVFqc3UyLWthU2NLMnNWang2emNUaHU0UFBxSXpELVpzdDlRbGpqVGEtZW5kU1ktby1NUjFvbDdkNjR4eTViVzM3Q0NOcHJYX0Zud3djaEhCMXVHUzNLbEx3UUxkV0NlX3dPYjY3NDNNSHFZamExNm4zdW9UZFF0TVFIUkt6N09kaWl2TDF0NGJQdFVrZVFfZkpsRGpDbjJTRGpRelBUWWY4SlY0eFpkTFZlcEE3V0NaNHUyWXNyUFBKUk1SdU51M1VNWUVxYjVhX2lzdXJJYzJNRDUzYVJpZHlxODBSN1lkaVRIMV9oZDRfR3pEWTd1UDBqSm51RHV0SUNNUkJLNTlqejIxWWpydy1ycGdnNFFrRlQ2Sm1CbnFSS20tWC1YTlNDMFdLeFJGcjRmQlFLVXA3bEFfRDlIVWdzdjlPUE9RREF5V2ZVMzdja2ZfWEFNNERiYVJZTkZrdEk5enUzazhWUk1NRE9PdVJPdTM0WHBhU2VUaVg0Z1ZtdHp1bDkzUnd2VUplMDBBT0FyQU53ZmpKRUZHSU5fN1ZxMWVHTmhsWlMwSkZBaXY0OGJzU3cwTTB0eWpmVGMtZlJrMWh1UUx4cC1HOURyMHg0V2ZaWC16dVgzaUx5VnRsdkIzNHo3eXcxSTU4aklTeFdMZlczRXR5T0xod0RKb2pYTHJpeU5fWnJRQ21BS0tfZ19NU2hvY0FLMlo3S0wzSy1ETGw2NnFLR3RwV0FkS0JnNWxsWS1YUXJjWnF2MGlkbWlaSndqZ2kyZFg3VmVmVUw2cld4TkQyM05Vb1U3QUVVempzdThKMHF2ZmQtU3h3SHpseFpLYUo4NTV0aTdTS2RUNThUY19MTFN4UDFXUXAyaENOdkJ2MDJQNlJ6VUR0LUNSSVZOWWpUYzFaVXNSTzByRExTMERmNmxkekZWeHFaUnh6eTlpQ2ZhczRFVndMNW84WHJVbmh0elFLamNUY090bjVyWjh5OHZidUhGWkdyZlMzRG5vemNuc2dRekVwWGw5X0cwRlYwRFY3bGN6TWlEajk1eGh3cnJtbmttdlY4VktZOFFTSkQzbklYOTlCZ05LWldyNmdWWm92RHYxUmpBd2JiSlJOcnJDYS16R3JoRW9WX0pPUGRITC1OZlNsNjA0TnhvR1NIR3RtekNCUktQYjdHNUJfWFVsUGE0NEZReXgtSk03RmlxbE45Q3lJckpkZVRXcWtjalFEWk9Mb0M0UFB0Y3ZDZldCOFZ3N3VCN1Rfbmx5emlFZk9zVkd5S1VUMGE1Tm9BdkZpNVJGSE9Xalg2bkJDWUZOaHhUWVVkU0R2RFRhOWlYN1Zyd3NNaVRvMGxCbzJQMm9OQng5Q0M0ajNVaTVOV180eDJNdWlKSEtqc3dXa2d1cDhxd3pyeTlxYU1fSDFFdXZVZWl0X09kRTN6MFV4N3RkT0QyM0lqZFVuTnZ5eGROMTVYcGU0Q2lReGJMU25kME9KQnpoWHZ2V2ZyQlVnZmttMkYxVjc1V1J4Y0h4NmFrX1Axay1oa3ZGb3dGZnEtZUR1cEU4aHM1NFdGZFFBSmpYczV3MzdkWXZNUXh2WXdKa0VwTDNiN3ZkRHdJWWNqRlg5SWctMmJJVTZJNnNKX1pwYlNONlpjbG4yaE5tblg0WmVZNHVQRTAxVVJlNm03R205QWZwRTJhS2lPMS1pVm56SkdBOElKUHh1NXp0WkxtWUNPaG85Nk50V1VzR1E4MEpTbmgwWXVELThZclhmWnBLSjJmRGFPODZ4NVB0NWN5UVJYc3h0ZTBPUjhGMDd5Tm1nclNIZ2NGMEJGTG5fd2xXbGJUd2tiRHk1ZWRhcWVFMFdZdEY1Mnl1Zjd1MnZvZXhZckEuRFVIdHJDMk1iVVhUZ05XTTZZdlppMkdIVkpMenJsY2dVVXF2RXBrNkpCYyIsInRhZyI6Imttc3BfZW5jbGF2ZV9iYWNrdXAifV0sImtkZiI6InNwMTA4X2tkZiJ9LCJTaGFyZWRLZXlzIjp7ImVuY19zaGFyZXMiOlt7ImVuY19rZXkiOiJleUpoYkdjaU9pSlNVMEV0VDBGRlVDMHlOVFlpTENKbGJtTWlPaUpCTWpVMlEwSkRMVWhUTlRFeUlpd2lhMmxrSWpvaWJtOTBJSFZ6WldRaWZRLk0tQXhHUVlKNlVDQ0xtZVhwOWdTUjJFVTFsbktMRXEyZjFWd01uT0pXaWFMRGJIZ01sX20tRlZ1X1hsNEdNczM2T056YTFJZ3FEM19aQ2h4dmJUSzRtb2JnczlyQzBWR0tYeDdHN3FkbTdNbDhFVGZCampMTVl3ZElReUdyeVREWVdYZW5UdEFacVpJNnc1NmZhX1REMmhzejNGQ2NkLVBmdExYZm04aDFMaFlHZVlfUVlqMzBPeVhlV29FZ1ZndzYtQ2d1RGlhNUdxWjhISl85S0Z4ZVZPQl9zQkt1QjdWWmdpRjN5LVVkQ1FNV0JSSkhITU5mTWs0QTV1bU81aWFRbzFVN3pDekRDVGpodjBVX1U5U2ZOdHFFUFdkbFZxanYwdXpaNXJOSUdxQjI0cE5NT0V5dU8ySDZWTi10R0xkX1pLNlNHUmNPc09BVlllazN1WjZyejhiekFZRVVYLXlXNFBUUWV2Ujg2WlJzc3BIdXRjYldaNi0ySG5YUV9UUTBJNFMtcTJIVUVUNEE1QWk2cy1NQkFLeDQ5eFV4c1VDUmxQTHFnUGUwRERlaDJmOVVpQnRGQy1pazA4ZXBYa2xHVnJqVWFXLTU2RUU1b1R3WWN1bVpNMy1nUHdPV3JUN1luRThWd3BveEt1Z3Bua01YNENJZWpOWTlCRzVlcGxfc0VfLTRpMWRpaWprdDR6UUtDNHVTOWhDMXRSdVdfYW5wZHBpd3VYUFVOaWRNX2VpWDVRVWVNT256cVFjLWtxcmdRR1dUYVp6S2lyZGNQOHpsTzdYQnZWaW1Rc2V3dVVJZnVfRVpMQ010WVdLZEVLTk5Kb19LTTB5bm9qZ04zcmxia1N5ZWRTcE4wVXVnTjdPd3o2YmZXM2xSNHdKajhOclo0bzM5cjBLVDhZLnZjYWFxQ2RMM0U2U2wyRkpVeFZNdVEubXFTa3RpZ3pYbkZpTkhoUTBXQ1RheEtBODFYWlpFU1A4QnNuMlhTSFlzRnpOOXZOdHFRN052d2I3RFItSnJzaVRRRWxZb0NSanFyemZCQm5EbC1Vd2g5QS1LanBzUFJKcXRHd2dSWW9vRlUueW1ObTVRWlJxeWdadjdoQ1dmQUJpNF9KRHI2dmdQNVFNQmpoMEd2WDlMOCIsIng1dF8yNTYiOiI3ODd2MUR0V3E0OU03bzB6dlRRbmp0V3gzdmNTc2xZZzBxYnoxdlJUa080In0seyJlbmNfa2V5IjoiZXlKaGJHY2lPaUpTVTBFdFQwRkZVQzB5TlRZaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2libTkwSUhWelpXUWlmUS5ndUFieGdOUmNDcXJNOUF3TnJEOWR2VnFBcUYwSUVuUjBTbWZGR1Q3T2hpUDhZdVVKbFd2OUt1MmVva05GLVZrbUZuZkdfMWlIVVZoYUxNNEN3X0RBRjQ1YnVtMlBCc29qcEYxY1FNTDJPR3NyZ0xnZG1sMWNtbEpKaXh3UGk2Y29TVTgxMGFrdTdpalVVU0xDSmlSaHJvQnpmVm1PS0lqQ0duaGVEcl9pdVdwN1NaUkRsejYzaFMyVGh1bXZ0LS1TVzU2TGxSeHpLelJaeFliOUctWTBvYXF4UkhsMThLSWp6MGZNeEswS2ROMk5LQTdWaDZEUnlRR3BvRUFZTjRtYkxJbDgwb3A5VlFCUE1uVE1KRnRHY1pQV0JvNlVDQk9HRTN6eWUyRGEyakZnTGtnOV9xRV81MXY4RGllZUJYY2FGTFlzV3lxbTZRLXJnczFxNlozVktEZkNONFNDNllvSFBsd0xCMkIwOTJDdzNkM0kwVm52eUtTdndmMEdtNW9zUG9tbm1SN0NXa20ySGVUMEFJbFJoUG41Y1V1T3ZjV1BhNFFtbEdyRG5sZ2RTOVRqSmdjVFhQdEVLU2ljWmtYdFhtdUtNUHVNbmNSVFNOVHI0WGZ3aUJtNEFtMjJKd1FtN0xPS1M5X2cxNi1DMDFTcFh5UDQtNkZSV3NZMWczMFVjZkxPS1pjRWVtUTVSVGRDWkJRU3dQMTZEZ05PLXluM2JTUVl2ZGFUYm5qV0pVSjEyTWppMXMwckxMdDFkOE5GbS1XRVVXdUFZd1B5YlJLa2JBRXdFajR0MjhyRmZHaFZBdmc0R3otSHh3OHFLLUhuSkNwWVFtTXFqT0hpaUN1OWNVUUYyeXBmTGxEVU9SUlpYd1Bobnc5NUNWV3JPcmhWWENIVWk5bUwtdy55dFVSMjVSVjg5WFNjR1JtSW83MWxBLl9TWGs1bzF5Wldpdk5NbGVIYl85Z21NeWZuNjZwTFdyLUxhbVZ0VmhjNHFZZlg1RFFiSjFoalVXYmVtcHZRc2hHVUxqX08xMkpKbU9tblZLRGYwR05FbnJGOUlFRlRpbzJPZy1TeHNKdTQ0LmYtRnlTYVg0Y3pnSGM5X3haalAyeEdibDl4bnRvMzBNMDU3VnRCaHNrLUkiLCJ4NXRfMjU2IjoibmhHaVdaM3NEdWdBS1pObnBVNGY5MHdYbFpRTTAzR1Y2UGZzYk5MczhObyJ9LHsiZW5jX2tleSI6ImV5SmhiR2NpT2lKU1UwRXRUMEZGVUMweU5UWWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pYm05MElIVnpaV1FpZlEuZXRadTJjek9zVTBBZWRRSWdnamxsNFZIWk40SFlXc1FpZG9EdUx0VVlSMlUxWnBLU3RYSjUtUjduUm1Mdk1USVZVQ0pWcU0yTkZxNjB6cjZMZUc1VXNPY0ZGal9MQzgyMlRyMEJJa1BaZnRWZ1gzUnJHTmJzcmNKWGtxcW9fa05WNDM3Tl81VlgwVE5ldFZURk13RDM4Q3FXX0otQkUwd1JKQ21FTVk4QlpvckROc0dOTnVhUlg1bDdod0NRX1RtN1NKRVhlNGR1alJXVEVEWXM5dXdMelgxcFplcVRFa0NfZTl0TVd1Q2ZDZlo4Q1JyQ25oQ3oyemJ2bUQxSldaVVlRc253a3I1LWxtZnQwUm9UczF2cGVQbGtIdjl3UkplYkp3U29KUWJjQ3JPMlJRRE9od1BCNkdXbk1WTTY1WnU5MVh5V3RQNFdjUHFvak5wdDZHSEZPdmEzX3RTaG1LV3RYNXhhM0dzUUVJaTNCSTdGOVdMNEJ1NkhqclFkMDVjcHZVcm80X2hUeURiWUtET0g5NFlPVi1qUXg1Sl9RUXJWVnJDbFJZd0Y0ZjMzcFItTzJJbnh1N1UzZGJNLVFQNDlLYUo3Y2g4MkpmOTRxY2N0dGJoVGpxNG5TdzVNV2VjbkNQZjRIa1JjdWw5RGtJZEVwY0RIMmRaVXFkV0JHYjFuRWNldlc0NDBUbFJuNkcwVHhqSzBaX2dpekx4dXVsZklPUTEySEpNdlBjWXd3OV8tMWdGZWdUdDgzb3N5OEJmVjNwNDA3eFpXRVROUFR5ZWNMNTV2enRKUjJjUjZLWmRlTkdsNlpENTgwNmVPYzlaUGIwS1Fnb2I3MkRVM05mODJidDN1cFB0LXEwaFNuZzNIWHpUZUhWYlFRV01NWmxBcEN2aHdpWml0SGcuY2c0d2tyQ0p1YzVBbmJaY2lQWVhDUS5YOW1Hc0QxdWJSU0lFUzBiclJiOWhQU0xaY2tTaGNkbmtBRzE3MTFpcnpmcmlEMWZwS1pna1RwQzZfQ2daTnBiU2JHT3psQTZkZ2pReXpxM0dFN1JGa0MxRzh4cW9DZE8xTVp1MUVsQzdXMC40dUZFdEFSUktzVHdxWUtjRDRTNm1HQ2JNZmhxeU9xd1VHdFpPMWtYNExjIiwieDV0XzI1NiI6IndkOUVyWmhYUVppeHB3TTZPLUVCOWNLQWlBaVM3YVdnUkdkQWtNMU0yNzAifV0sImtleV9hbGdvcml0aG0iOiJzaGFtaXJfc2hhcmUiLCJyZXF1aXJlZCI6Mn0sInZlcnNpb24iOjJ9"
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomainoperationstatus-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomainoperationstatus-example.json
index a42ad06981b7..78cb9eada74f 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomainoperationstatus-example.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomainoperationstatus-example.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "vaultBaseUrl": "https://myvault.vault.azure.net/",
+ "vaultBaseUrl": "https://myhsmvault.managedhsm.azure.net/",
"api-version": "7.3-preview"
},
"responses": {
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaintransferkey-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaintransferkey-example.json
index 429d89d917c7..3548b289c54e 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaintransferkey-example.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomaintransferkey-example.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "vaultBaseUrl": "https://myvault.vault.azure.net/",
+ "vaultBaseUrl": "https://myhsmvault.managedhsm.azure.net/",
"api-version": "7.3-preview"
},
"responses": {
@@ -8,7 +8,7 @@
"body": {
"key_format": "jwk",
"transfer_key": {
- "kid": "https://myvault.vault.azure.net/transfer_key",
+ "kid": "https://myhsmvault.managedhsm.azure.net/transfer_key",
"kty": "RSA",
"key_ops": [
"encrypt"
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomainuploadoperation-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomainuploadoperation-example.json
index 7ab696464ead..c36cfa311443 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomainuploadoperation-example.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/examples/securitydomainuploadoperation-example.json
@@ -1,6 +1,6 @@
{
"parameters": {
- "vaultBaseUrl": "https://myvault.vault.azure.net/",
+ "vaultBaseUrl": "https://myhsmvault.managedhsm.azure.net/",
"security_domain": {
"value": "eyJFbmNEYXRhIjp7ImRhdGEiOlt7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhSE50WDJKaFkydDFjQ0o5Li53dGhUcG5Dakh6d0Fvbm14SlJrcmhnLmIxU21NcjJkX2J3VUZJS0tlRnZ0Y2lvS1BiUXo3OGJyd1duclVBZE4tM0txY01FUXNtSU5FN09WZ2JLbFZ0V2tkemJmaGdrUHd1dUhtaG9QUHpJd2tHQTQwYXVLZW9OaC1EN2RWanBJd2NVcDVMNDVVVlNRWXM5elRQQnRmSnItcy0xbk1DNEhwZnpXRHNhZUxUTzhfcGRtNGxISi1lN3dGeTE3NVJQMDRZR0xPZlVEaVBTaUZXTzVQd3djQjRsSUx1ZXI4cmgyaGYtSFN1M3lnYW02N3VGdjc1WTAtU0gxN1F3VHpwbkRtXzZUbzNaUWZIRHp3WUprQjlWYmRvaHVMcWl4QUY2MS14UjVvXzc3MUdtOHlkZHF1Ri1qV2ppUjAwNWZBSnFLb1UyM3lmYXhZdmROaFdNQVUwU3RfTG5HTnYxaXRQYVg3cXV2aWkzOFlhbjd3TU9VZGg4TW5VS19rN1hhSU96VTJfUFVWVll2R2RNcXFlaVRNLXBrekFxZC02LU5vZ3llc000NzdXdnBNa0F2STZLS2xvRkJKQzRfUlFYYUxITHZwMnAxTlM0NUZLNTEzb1JJeHROd3AtM3JUME5FU2RTbnZfb3ZCeDhFVGpZdF9Mcm1RNHplb2pqRFVLZC1EWmxQcFlGUVAwZWFfNmpSckpsZ3lvVC16czhWTEFFREdoX1lmZDRydHNENVhFZGVMZ0IyMEF2NWlLRk1jcHhtTVVSakRJQTZES1hNUXFIa1RLam1pQmU2aHROZ2FNNjE3S2FYclRuWjE5Ui0zWlIxbGs4UmhoQm5yZ0NBamlWd1lVcE8xUGl0ZDY2bl82VFlTVTJ5eFkxMkxoZ0V3Z1hxR2pzOGJIVEtGYnZVVmxKQTduV1RSN2hTUHpTZDJjanlBaUNDR1ZEUjQ4VjBTY1FBVXFLTGVFZUl5NzhueXJQSE9kXzk3dGtGSXBsdmhncnBkdXRISUNyakQ3T1BMWVJ6UGpFQlJxUFFzQm1RSzl2V1NDNDk5ZGFITzRJOUtRTG9mVTc1VmhOOGt0NlV4aGZFVF95eURfSGM0UGJLZkc5TG1hYUlxVGVtVWZCVnU5REx4RXJLbzhLVC1RX1dFRi1LOEZFbXhZdUFKWEgyMktrTWxfSGFva280NlRCV0FPcTduLW8zaHRpbVBlUmxuSkZxa0lqbTBIc3UzWEJETkdpMEFZZGtpakE0QzgtOFVwNk9ZSWVDZnZOeVEzYVllcmhJVGpHR1puMnJ5SEZCRnR3WVIwbkJCc0ZfMFo4SkR6NTlvTEtlMThheVlvaUp1UHNTdWp4VHFNeF8yNG44WndQTnB6LVhYLXBEVWpkSUZvVS1FSXV0UWxnT3dqUmVKZ3I3WF8yUks5cVBfT25ERkRNUnZzUU5oS1pIWklhREdVdEROd2JxMmNHQzBNRElpeDgzR2RIS29kbGJqNkJ6VXEtUXFXT1dSdUtiQ1NnTFdULVdSdnNzUXlONnhIYXRHb1VSMUVMcVpPejJUZmw0cm5Ka2QtSTlRTE15c01zbVFiZldlTXBJWXA3M29STGxVNm9iRnNkM2JNNnVGeGFGcDUzT0pDamNGUUNlLWM4X0xEMWk2dWhFeFNZenNSYjhLR2cyX0dpMFNCSkcwdjBSb205X3oyVklScER5MFdyZmhnLV9YRjZUdFNtZkhoYWpRVzVqTC1xMnNmQkNlcVI5M3FXYUt1TFJQS0RfSm4zWElJR1R4UklDMzRETTlfbXprRTE2SUZDa0dnN3FEMmZCZ2EwNHA2c1hrdlEtUkdYVFhKZGlOd3NpVW1RUFR3Ql9LSVA2OFRNQWdSTWpBMEFJMjZOSmZ0b2Z4eng2X0w2VTU1SDZELVZ1UjdDOWsyR2lWa2Y0VnU0Q2p4WTI5TWdwUERlaHdScjVVMXRBUFU3Wi1nVU9Eb0NTcGRINVRjY1NROGtKb3FEby04SWRKMjlYa0NEUTdDX3U2aTFVVF9feUhLbjFwSUxocnBxZm5lb081SE5sNEJTbjJ5cEdFZUpfYldCNl9GMU4tYXBoVDNjRmpQWjVnb0tfM3ZPVWw4N0gtSjMxNnhpUGRiZGhiM3ZkSTVkQ3daekhzOEZwbFpVaXJGNGlsRHM4bklrRGs0cXdIZGZvQ2VWTlgtWE1neUFOUTlKZTQxOHJEZkprZF82OWFiSzB6MXlKcmg4ZHhNajFHSnc2N2FzZHZ1XzV1elZPcjBldE95WDUzUVMtUkhLeEs4RWZUZ0U2SThwVjBTQ1hRYkg5S2lNd1dYcm45cjk0QzFhZ3dJLUZ1b0JlNFl4eHo4OFc2RUdvUzJMMmkwWTM0LWFjWVJxSTl5M3l2aVJ3T29Ub2NnUmF3NDFUU3ZROE5zUzBPQUlyY1JzMlJfMWhOeFlObFAyUm04VktPcldEcjQ1MHNJRC13elYzUmJxenJLcVJnbmxBOEFKcnVCa1FPbTQzVUFIVnBDY1pvVGtUMVYxYi1Weml3bUQzV0hHZFFnM216RVItdmlGR0RJLWJKX09NN1JWdlFwT21xQVFBWTFvQ3ljOWh0cUZKSUlhYTdibzEtQ1lqcDNTd0ItYnBsTjhuWDhHVWFUbkNFbVM1N1VTbDMxUGVpNkszeXJmUWVJWl84Q2RSdngtZzUya2E5NU1nRmZGcUFOdFNQUzhXbTJQSm55aDlxYTliTVhzSmI5RmVYUnFZSlV2OGxfc2VkVWJEWFRBS3BGWl9hWVI3VUpLa0xWejNiNEcxQWptcFJQQXdzd01TWDJtUkFzcGt4Z2ZrdV94QjRyaDBuX2t4NDQ3Q2pYa1VjSncxNlpBVHI1Nk92THZCNmZoRXNqejhVWGRyNTJHQ1R2MzluUjBsUGVLQzlZcC1GTGZHaXNNTVk3TEM4WHNFU3ZhWVU0NnZGZzJGVUhjYmgyM19xbENiWldPWm9vd1FrSnFJM2VCU2s1Rkc3ZXVPOERLS2tBU2N3dkFmc3cxM0VCTHJ2djhLem5mMndRbFN1VFVEMjdWaEt3Mk55SUtuUTJkeTN5d0NtT0EyRnNBdkRwUWpybXNITjVmVDVTLWlTRjRyZTBrMFU1VzVJUVg2RzNJMlBDWFJDOHJnZFA3SjFNOHEwVGtOZE0yRUVqdzBtbWpkaVM2RFUzbWMtUDVya0hEdTh0anpPYktESE5MbTJfa0NoQWFqTXNtcUlDMzFiOUxvTUg0c2xYbUNjUDhQTXF6M1c4TXB0V2NGSHFLT3pDeDJTWmlVRkdaN2h2a1c0dWFyczFDMG95ekFJYTA3eDF5aWZxSFUtbW1Mai1FTEp1Y0xkZ1VOSkJjeGFuVFNSc3VpRjhnNU5iUFBIdDVHdEtiUC1SdmlQd2V2cHdjbjdrVU9RUDNRUnpiUjlLdUpFZ0JTdGFndU1GMlNwVjRDNlJNZ2E1RlB6UDRVajdtNmdDMk9WSjB4RG95ZEdYSnJPa2NiRlhHQnRfXzFHSG1uWUw1cVhVbGJBT3F4RS03ZmJiem91OGhpSi1IeFBTY1lfUHJwOG9ZUUZ0Q29sSkhMZFFHaHBUT1hKd19lU0phRU5jaGczbDVFNkxCNVU5TFlkeTRmSnh0ekY4dDdHenR4Z1BlMnFLN0xBTkRVZXNxZUJEMzJTVEd6cVhzVG43UWNlcEEwcjBzTnlyaXFuSERTYk9vXzNTdDNKbkJzdlNselRiWWFuZEozY1pJN1c2RWsxQlZLeGhVNUQtRGNJb1R2cWNvN0t0WW1pS29FT1hjbG9jQkZLTFhPWENhMVhvUUZsUnRCdGNUQW9LTDNZSmZTS0ZwRUw4VVc3bnZlcTlfcXZ2UFRtMmpUUW96UHAtYjhNZFJDZjFVc3RId1JxeDcyVXNxcDBKbnhTVERaRi10Sm1zdlZHYkJHcVIzZmNmT1lGaExZN3c0UDYxVS01U2NUMWpxaGhnOVVQbDdJVFFBMTlJRHJkWHZrSEotSkZsVXRoVHY2YnNaT3FuMmNNaURjdUdTY3BLckgxMHRnZmZ2cWxSZWcxLVlJTGJMLXJ4eDk0ZER2R3RkXzV2eWNBZjFiY2Qwd3RaRzdLaWg4OVhZaS1xVjZVc0stYWZyT2V4VG9pX1Y5clNPMmZ4RG9GQ0JoV2dUc3RMc1pIQUN4VU82SzZzbFFwbVBpRTFKNldXdjIzYnZORF84Q3dwM004UURsay1TUWlsNEJUZnFjeVdzRHN0Y05tRnJGVkJBMWdGdFdGVWh4cTlHQVUyQ2o1bWtWM2REekgwM3FYLWI2cGdpSlE1SFFWRmw1SkV2bTFLQWd2ajJQRGFwNmhyd3NXZVBIanhjMXNwQ0dJcnA2Sk91LVZQMm84Mk5hWXY0S1UxUkFRai1mdXYtVFhfaG4zSG9Md2lDa2NRaEdpWWpWRjJvVEdDTEhkLV9rVEFRRjZDZ2hDRjlQVXFmdVNaSFlfRW94MG1NdlBZRDB6NURZMFhISUY4UzQ4cExOUE9seUJRZ3pSNU84c0VHZk5BOVM0cnJwVVdJQmpETnpyVGlZMjVqV3V0czNIaHhVUU53X0c1dFFqLS1hVTlCcUItZkg0TVVKNm9HM1lDSHpkcUVBd05MclVWQkF3M2s4NFhkZ0xjVnFhVzJBSUpxMTBLQ1NQdUxOY3ZURHM2WEhXS3kyTHd0UTRHdUN6REhCQWliT19vV0hQcjZyaERKVWcyZTV2aGV0cVBlejV1M0oxeFN0VDhyYUIyT3ZOYk9ob05BYmNwMDRQbGJ3UHJpZ0FFQ0dTMVQ4ODVaTjdqYjlEd1FOckxwWU9Db0lQRGNlaVhuYXg1al9UNmF4LUhadF9jQTAya1JZMFNBSEJITkZOQXE4eUxIdkh1MmJxQkpiUmZ4cEo5TkZmeFF6ZEoyYlpSNmJHOG54dVNUSmVqeXVRdlJaNzBOZUZqR05FaERFQ3JTNUoySTBBVFBaMDVPTE1OUU53NnZERGJBSmR5NV9WT2F6c3BhLWoxM3dwVVJuSDBzWlBJd1YwVWpSdHRjUTVHNzRNLXctZXppNUk2dkdZOTlyUHhZZkZRMlVITnJzTV9COVVxTlZXZk1qcjFRM2Z5cWxuZ2IwUmF6WHRoX2FjLVJiOFBtV3FBYnBvV3N6cXctZnFDQ0otb0drWkwtLXhOeGFjdjBfWDh4QjlYT21NajgyWGFKdkhNVmJpdWZwUUNsWnBPS0E2QmtjQlhqSVM0LTkwWDVneXlhTVd3bHozcEdud1UxSFZNRHBNeVBJN1VKYUZtdkRQcFU2WlhZZXZWRUZEMzg2NVBKeEZDZnBfdVhoWVBqMEFZLVRNRWpPZlIzUEktMjJ4bDl0REEzOUNuMlhzeDNrQ2c1Vkhlb01BbWZsM3YtaWZxUWxnZ0YyVS1uNEJXXzA0QlpOb1F5Y0ZQdnA0Q0Y1c21MVXUwSmVsN3BuMFF4OFQ4cjRLaEVRdWRoUk13RTJtWlc4TEZTeVdobXFzRDRXNVRDYi1QVTBQZXNHMDdFMXJLYkdFV2NaWi0xek5pam1SWUpxUHdZSWRnUmdhMV8wZktCNFcxZEVRNnE5elRESnl6YTNTS0M3TVhhbjR6d2F5aGM0aTc5Ty1NM3JPSUIzT0lJUFc2RjY1MTM1WXlUVVpETGJqZUJPOGZ2NlJCQU9MR0xqXzgyc2hPQUFrRXNJcThPSnVHTWNiMEZUVXVqYUNHQURaLW85RWNhWDdMMm4xanJBNVVEaFNaV2xhQ0JfZ2pFTzhDTTdJV2xYMnVRYTVJOVg4ZDd5VE9TZFZWX0ZDbk5zcjRUdWNvcWNZalpDd1VmaUpSLXJfYWxKbVluVE5RMFphOGt5ZVRWZWZYTDkyNnFyQ1FqSUcxV29BV2FtYkRNUHV6QkJNZG5sWVNyaXMyV2VyU3hFX3RjeTE3djdvaU9Xbm05TGFVam5ob0VXVTlTTjBBSEJ1Mmhsa2dHOGM0TzhHMmo2eEd0QUVURnJJRnk3MTNJMi03eGVCNjNFMjJqZ0FQSlFqbVV4RzZaaExFSFJBOXNHWUt5Snl6dTNmd3c0SGxFS1EzdFpXN0JTV01ueXFYOUJsVG5rZEJrSHVBTkpiLW1JcWl6UVR5ekVodTBLQU5GY2w3OFpaNzYyU0pfdERaQTRhZDhweGR6TVZoZnpvYkt2Qmo2dUlKcjFvQlpIbmp3cFJvM1Y5OXV2bElGSWZBS3NfVmlSRWl0QUdxT29GaTczYlpuWFN5RDlmZ1hYNU53Ri1mcGd5S0VlQk10anM5Ti1xYUNlRFVRYVJaWVNlc1JCOVItMUVNa2pqdHBjSWlOaGxIbGxnZ21tOWd2T2N5LXR4bXRZcTZYRTgwQ3NQN05vSWZIZ3JYSTVwcURnWGtESjB3SWJxRHV3aFF4NWNmQVpFV3FuUDVPSkJURm5BbEUzSWpqdEFnMXRVNi1taUt5c29HNG05VlZUejNGNnh2V0N0aXFZeFVFX01tdy03UXBwcjdQdEV3d3B1ZUNoczZGQ1MwSXY0YTlQUF9Iei16QUt0Zm11Tjg4emhyY3hjcVhJNFRqeHpLenQ0NDk1RW5MLWVqR1ZUR3Q2OG1fMjYwUklIa0wzamlQLVd4NlJaRkVFb1RhMFo3TTBIdnhkb3JORVVsYXFqaDFXRmRKVFV3dG40SmJpeVJFTGthZUNMTEYtdlF4dkVwVmg4M29udUtZakVFV19CUXdrbW9ITG00MlYtZTJ3eVR4Rmt4eWpBNnJFQmk4anh2V0RYeWtySVVYbjRKRXZyS0MyWmZuZklBNUJGR3B5aU5MbU0zSVkxNHhKQ3VRY1g2aFVwajVWMVpfbllBLW1mTFJ5V2Y4MkIzZEVOdzBUZFY5QTU5T2NmUlRlamx3WVdDSEhxcFpPTXJQXzZtUjJmSTlIVGhIVjM1UXhIMS03eWJ5SEN5YTF1dzhhNGdPMkpXWjFqY1dTWDZndm5UTThRazh4bjdGcnFnaWdhYTJ4Y2RiUlhlbHlocUZUX3gtSUlSQUFNbEJLZW94cnZXaTRQQTZDc3BxSzJBSjk0ZVFEeHRjZi11ajQxek8xajJnQTJiNGdicGh1dlBHZUVDUTVJUDJzNzhYczY0SlVPVmpIZUxJdVBQM0laaUZsWGt0cl9SZ3BwTzZZS3FGTXFMNEZlUExHbWVDQTZfczBfdEhtNzJscmFFSzlmWnpfalBwRWYtQ1YwMlZLN2hmM3BIdlBTcmJlZmtMdXJaSXJmOXJrLS1LbWFmdGQtQXhfdzU2clJXLVprdGZJd043ck52bXVPQlZRaVRyZ3o5TC1PeDhVbTFSejRMS3hzRWpKZU5XcE1JWW1ENlN3a01vNVE2bnpLS2tZeVBvbjIxTVVqTTliU0tTUm1MVUVMeEhKN1RYV0l1UmVZRkIxb2l3eVR6OHdZdmtMSUJlNUE0U2ZfVTZPNGh1ZmVXLXJ1c2NDSWtqNmhudXNWSjh1dmpibTRndlBPZC1fRHh5aDJmLVBiZVQyWUg2QXFsQlRZbGZhQV9STXJpRWpFc0ZWamRsYmxVZVVWamxQT3MyVEhIS1U0aUxRSm9yeUV1UFBucGE1dFVJRW15dHBtSjZ5c29adzd3UkFBbkxfTjNGVi1nemtkOFdXejZSbldrdUhWVG5PWE1GUWQ4UlRQNzI2S1otMzJHdGxHRmZKUE1pdUZoOHBKOUl1VkFnTHBoY0VNeGxYbWc3RUViUnVEZ0otbXVqRkdRZWlpTHVLSUpqRFd6dFlnOE1LbTA1M0gzT1AxQldxc1o1bHotZnRSeHZtQm5vOFFDVjYzTXltajhmUHBKMHgwYTc0OEhydVhLTGhSY213SVoyZjJqRExqNGw0a04xbDdmUlI1YmlIMzZHRm01OENLQURqOXlGQ2hBckdmNzNjSkkwX3VCU2l1UHFBMTJRdmNxeF9IVjkwXzdUN2tyR2diTVlkZ1Iwem4xcjN5LVJkek9VVnV1QXphWm9ISmFZVXBEY3E3dVk0ajVrUXJ2WmZtY1V2ZV9iclFDSkNKenJaTkVNY2xtRTdCMjlOVm5DZDVKMDVZZVozb2s5bVlyd0dlOXZQeGZVUmxtYTllT2hFR0ZDXzV5T0dxT0wwWHY4eF9uUWxaaTNNVHF1UWJUTE9pVlY4OG9OeFdXQ1dhUkxIdkpPUzNBMmNsd0JzVFNSdV9ZMHZCQUlacXBtZXY0WXhzOFpWcXZtWUdsRjJ2bk82cm5ybWNYWHRPclFFX000TTJrbXRlenJheUpUek8tMXRhSjRWdkk3ZmplZG1tamU2eTREZmFkbjRlTnAybmVubUl1cmJFeE5mekdINnl6TFMtR3pZV1VLbGFOTXpyYjNYSGViNVBSMTNmZEJZeE81ZmZoUHUxZE9tblFiNXRtYV9pTGpkRlFkQThFUVQ5bXhnOHpDUWFjZDBNeXM0NGoxRXZiaEhzcTViRDFka0pQaXhKMmw3LXlxLU54Sm1ieVdhOEZLeEM5aHRIaEF3VHV2OVJ6akFJM0N2Y09rTnVVcVRaWi1XTFMzbFBxSVhGNjZDZnlSa0VTUXk5UXFGdjYwTld5UXl6ZUhDLU9jVUJuSFhMLVBiYVBKNFpNYTIwRDlYNW80RzdoNjYwMXo2MkJiMEx2dUVJcFg0Z1gxZ3JURU1SSW9NbHZNdDk3NkRCTDc0emJDN0VqT0hEMnpxQ20zT1dDSXREY3NBb0E2Sm5vc2lONmpTWFFEUlJhYXViUVNweXhHYWZNamlIZDlvbk5pb3dGREo5LUxsTkdOckhqNy0yT0lWTVpMMkFIMnVsYWNuNjVJa2pWU2FJdzlfNHh5X1FUOVM5c1B2R0RlZkVja1VMcnJuUi1JRHZTcVFXSXFKYm03TTQxbVhMa3hXLVR1VDM1YlcwQ3RlNUJLRFJKSExPU3lFZHZkdllfV190RnktY290SGF1VmlHZUt4U0tfa1RFeEFDVWxWT3pDcWZIMmlNXzVqdXU1RDZacVhRZlZfekpIYTVURkN0UjRyS1VkVmU2Q0tabjFFZjFDV3R4X2gxeDFLRnRMc2lIT25ER0tJUHptb1ZjcDQ1T0NJY0hjMEJPN19CTHVsUklacFpWcmNlXzFNMzdOb0pGdDkxZktxOXZ5dC00NGdfYVpRMS1ZWmZWYUlraHpxLWdjNWJUcThmN2M4U3JCdU1aaThUWU9WaXlnc0h0U3hWRHNaTFhwcWU1Yl9JWFZ1cEItQm1tRzZ6Zk0xZmFDRnNaYVc4TWNoOVBPTF9PQndNVTdCNG5TdXZ5ZTFHb19udkFvSHZmbDJWV1VnTXI3MERidE9NNjhteEExVlBSS0M1dDJJUVgyN1lRWmhyRFNaTG00OGh0cktVR0NVSjFaMmFSOVdhc0FrclRNODJ1YzdwanFvQzd6R1BhbnFGSHFLdmlzVVk5Rkp0MFZXYXd4OGxXZ2xYWlFISHNEVzZyVmpSNjFJYjJGV2ZCRURfcFUwc2x6YUNZQWl5eEtkQVdzejJfQ3hvR2l6VDhnNVd3YjIybzFad3VPZ05Kcy12SzhYWXVYdkx3UzdILTBrVlhLQkhDSG9SMkh6dnlnR21Qa2tEekpyZnJVN3hzczlIdUo1SC1SSnJacXhmLU5pbUxPWm5nemJiYWpiOUJzcGFScFRwUWwwbmF2TkpWbXNMSTJYelJwVldsWlctaTVWdUhDZkZEMjdORW9LalB6MFRiY0dQZ0NtRUdOdWo3dTRkS0t2NFdsWkxHby1WT1RsLWpkVV9aY0VGNy1vVlBZTXZqU05oVFp3WWw5TEowN2xxYkt6aGE1NE5iZUt2ZTk1c3RVVThibWFNcXd1M1dxUkltNmFiSUtfeW15el9COVRqalZpSzluU2hhWDRNektDTmpiaFk1MXB6b1lrc240akhDWTBxVDJHOVkzWnoyZlZuQ01LdU1ZV0p0Z0E3bXlZN1BQSEtycU1OWnJ0cmNvaTd2YkxkUk03MGY3aFZIemVFenhYZFIxMXBjN1F0VnVpUFlSRWx2UE5GUFBFRkJuZDZPNmpnbGxHaTRWSHoxV2tQOWJ3VUVPellQcXdoQkpvTVNpUnRrakFJd196c0lUY2R2RTFtUWxSMGx5RFJKTU9BQjRKVTdpRWcxU29QSGN2TmZibFphRDY3NUJKcFZwUkZKUk4xbUYwV3lpRUlvOHAxU2Jqa0hWUWxVcXRLZTg0clEyUGtUV0NWRnhsOVJMMzRjcHcyZjFaanVtbDFYYUZnS2ZWdTZLSnFkZnpzUHBHYW1UdGZEbTdkaFdZSUZrUjdhVzNvWUllMTVIZ0tnSDFkZmRDbjBUZVgybVM3UTFHTzJHNVlsUm1FOHJXLWp0Y21xVEM2d3hidUxHdXZiQm1GeTlzMUtyWV92Q1dXcGk4Q1hnMm1KekkxYjlKSFB4MXVvUE1MLVRfUXg2dGhnR0JEeUZpcmVPUkg4ZUhaOE9PMnR2TWk4Rkw3YnJMS3E5a3Uzdm1valplWFpZbExvRGJYTk9Jd0s0UFozaWNZVVRjWUkxWms0OVRpV21NNmR6dmVvamQ4dnpVNGZLRGVmUFZ1WXM3OG1ISG5EYkZ6eklGeHhRa2N1OWNsb2UyS3NZNHJvY01qbllad2d3eW9WSkIzUGJGNnJvZVl3VlFXNzJ4TFpMdktHa0VGQ1dKMVR2YUVRN2dHa3FJNHIzZEE0LWttUm5UQWxzT3dTZFpYZ3NlZ296RzJQUTZqZTV4SGNTUG9lNkRoUk4xbWhLNWZZR19KZGpmSl83LXVkLVo2NlMxZVQtcS1waUc2OGVfaVhMaWJHRno0WmFjZDBWVjNKN1VhMnF4ODRXX1BQQjRTZE5lQkNkYjlDb3ZXRm0xalhUcW9RRWFMQ0c1WTgyMEFTN3VvUGxJejE0R2xocWQxZHFKbmt5REl5UWllZ3JQTG9PaFdjaDMteDlmbGkwTWpiUHRzM3QtOEVDb3piVWlpeVBZcF9hZzFSZUhFbHNxUG1yQUZCMXJnVUI5SmxJMDUtTTRtaEJ5alMxX0NiejVLRHJFSkRfcFBXc0l4eUlSUnNKZWVaNE9NX2NnYlRxN2dCbEdzNGZwR0U2SUdZZzMtVkZ3Y1NXaUhwdmxWOGR4djU0aWhrTUZRVDVBbjRNVXZUM2M1YzdWODQxZzlrbUhpdjJqRElPc0ZYRDlncDNtZGpFUjRsQUNRdUdiVTlmd3Vmc25xaF9PcUdNT2x2TzNqN3VSek5XRktvdGJHZzI1Zm93MmdTbllfNTNCdHRGRFhFdGVFZDdLcGJZYm5ldS0ySF9yUVJobjJpcUNjODRrSUw1amlRVEVPdG9rT0lCQmEyYWUyY3MtRDhIVmpnV05KTHF6bDVsOVdwcVVUV2RDYVJMa3U5RGZ1YWkxenBjOEJKQkM4M00zazZOQTZMbFZpeDN0OWNqNUd2VjdHbC1QYXdidjA0ZFBhMXQwVDBjNFNxbzR5OTJ6YktIN3ZpTzA2ZjJlQWhwYkFiQ1UweEZyX19tWEtnSzJYclNlM2xZcU0yUHdBbVBBU1ZkWHNCc0p2djdfTXpHaWttWmxBSzJLYTV2UjRFeEY0Y3p3NHZvSGMxR3pfbjJpZlotWmxLRmJLTTYzdXNtTHlndHFZN0VGaDFyd0pTWnJIY0d4Mnk3V2N4SWVRY2otVG11RG9xcG9kdXNQenN2R0tQbzM5dHJSeFRuNmVOZF9lMzhNT3BNU1Q5VEtMQmhVdW80WUVaM29IU2phUnA4TEtKbjZjNUFDelREUVo4cVJVaEw2Z2R2N21FRlBpMWFTVjNTLVc1RU1YOFRTRU9oZnpDcmxfUTlGR2lYaW1KZ1dSdE1Na1JHeGNILWFsRzRYWkthdTlwcmhZcUM3SEtiNVZOQkx4OUFhemtxQVExRG5xRkdkNEdYd3luWjdXNHVBRHFfUm9BM29VN3VnQlJzVmNIeC1MNjJITU9PQWFYYnpVZWMwaWM2d2ltVXVpdmJpa3dZSnUyeGgyc09qVHA1QlZRQXFGelV1NDRYMUVpaUJxUldIWW5pNGNFazhpajk1Ynh0bTVDUjBweThzRlREUDBGcXEtWVoycUt6MndiSF94SmVpOXg3bkRxUHlhRDBEaWk2MWR2UVhramtrNGhFSGtuUWpoeUR2NGZLN1hGejBGWUxXYkwwQ05ORmdHeWJhQjJWT2FGYkJQVmdtSjRFNkJxTHdTWE1UR1dVd3g4cjZWU1puQ1l6NjRfV29HZ1BteFFDckdRWXBaWVRXNkFYb3MyWTRtQ2dNeWdDV2hKTng2a2ptbGRkdDZTeFNWdXVlS3RmWkMwNmktYzdpa0ZvM0ZYRzF0YmpwdFN3OFpMbWdWb0k4M19scTNxY29QNTNkVklZVy1GQnUySXJwYU1DZDZYNTJWUEZ1SGhKYlEzWDF0VG4zLXNxTkFvdXdWckZjMmNTbHJvSXRFOHBYdlVaRS1NQTR3QloxejRJYlpjYk4yLV80ZVM5Q0Q0c2xVSlJyQU5MdzlEd3BaSlo3T3NvZUJTWUZKeWw4SFprMWwzTlNDdFpNQUIxX05QODFpWjV2amdrUUszWXpWTDB6SmV1cUJUc2VSb0xlY3BPWEY1V2dEaFdrUFRlY25mdHFMdXZpZGc2d01HRkt0blhnYTVrbWZQbUs0d2xxVUhQR1BSbXZDV1ZZelRUN2pMT01XWFUzVmZsUlpabXpJdzhla3pLODQ5Zm5ZQkR3YnYtWjJvcVhFNGFQUUswUUNYeUczTU9QM0JpcFFXc2VtQ1JLRWdnRlBTNEQ0TlRjS1FKVHQtLWUtVXpMOTluM2NZOWpXUVpPZU9iSTlxTl83MVRPVnA1UE1mYjJ0MEhCTU1KNkxwcVRuOXFQQVF3QkdZYTM5aWRqU2ZtTXNXd013a25naTJFZEZWSTM5Uk01OGdlMnJITVFjRlF4bGhyb3M0aS1kNnlSek04azVNcGRsYW91UDZ3VWlGZ1E1ekdtMEpVNTJrQ09VakxnaUJNakhLZDUxUWs3ejY2YXZicWlvelFRSnlneDlfM29WSzMyMXBFQXJHd0Q2cjBKLUJySWJBamFmYU1sb2xPbm1TY254NVM2dE9rQ1VEXzlIN1RQRjRoUTBBQl9sZmFpNHFoSFAtdi02c2xxQ0xqT0FmTk5mTmUtX2tnU1lfdVpGMUQ2T3FmZTVDOThPc2tfU1ZHalBsYTNrNk1CdFl5TEZpZjdoVktSQkVibk44Sjc1MFp6VHV6bjIzMTExY3ZyZlhpeG8ycUY3cWgzUHlDMEc1YnpiWFFMNmtXc21TS2R1ZGFXN1N4NG9WVHZVMnlHTVVzdWt2ajhmd183OGhJYW95d0RRS242T1p0WEszZFUzczFxVkk0QlAyRUduWXd3MU9INWdKNnd5endqUzBjTWVLbldiWVh1c3NpTVFmdEcyN3l4OThKcFpncGZFemFsaHIzOHE5bGxBc3RlWnhvS3g4ZmRhcnFjTU51WWJLblRPdjZTZkFfZFR1VmgzejZDMVV2cl96MF9nd1VtVWFhX1ZxMk9kTWVVV2IwSF9xSGc2X3FKNFZPWWhOODdFMm55WkcyTElja0VPc2k3TnNNZW9VeHg0LTc4ZXFxTGk5U3BscUgyWEFLbEtTaWQ0eGVlVDV3OVI5YVJDVGZ0cVNxSEpfa0YyTzl6elRDSV9XTkdGX3l1c2R0eER4bllMTHFtNElqUWVzTmRSV2duNURDZ0Q4Q3NqRWZic0lpNVgxWUFUZ29KQS05Z2VuVFV3LU14aEc2WHl0ZjlCM0piSHJoMFZQa2Y1cE5RZjIwT0xPSFMwSVNLOU9QMGx4ckZSQUFXa3A3RF9aNGRIOENySUUtRnFjWHAwc3E3QndSOGZFRUMzMWhicjl4NEp0T1FiRnN4NjNSaGEzdTltOE1NSzNUeUU3eWE4aDJVdTYyT3p1Q1JrSl9mUnJEODc5cEl2T3RRYW5rYzRJUE9Ia2tiNHV5SWxiTEo5QUF4eGdXZTBfRWdhYnVPMWdDTVJDUG56RWFHel9pajNmVXFFVmpXVzF3WFZXUjlVOGRiS3N2UFd3TkV3dmNJeXF0X0ZlMzFaM0ZsVEF2eDY1UlpGQV9XYmg4bVF1NGg1MXVzazNBWTRGdUppdWpFZVBnNXNLcFZyaWRXbVpIS0hSWndjRF8tNG1CNVV3b0hRcXhWVEZaRjBlcXJ0T0FXMGdXb0l3OEdULUpWelVrR3JWQ0JiemQ2MHJHNE51ZDJzZjUxMnN3MXFOZGhGZXFoT0gxMWJCNzItLXhkOTl3aHl3MVE2a3o0Ym9OaHdpRTA0cmtBdGM4RHpVczFmcldoLmd4amVtYTRfSkxNQk9mTV9LNWR4SDd3aldzZ2hzSFJYNTcxNnZGWmFnZFEiLCJ0YWciOiJoc21fYmFja3VwIn0seyJjb21wYWN0X2p3ZSI6ImV5SmhiR2NpT2lKa2FYSWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pWW1GelpWOWxibU5zWVhabFgySmhZMnQxY0NKOS4uUjNJN2ZhODFxMkxiSHRCSlNld2VCZy50Q3BZMlZBWTlpZHE0YWVZaEh4c29HVlcyT3lKdTdOVHRvbEJZYUFJSDBsNkFXR09IUDZrVGQwYVp4bFV6dDYzbjV6WUwxa3hSeFdMVEJuVUFYTG1tT0IwZjZlS0poYzdmSmRVZTU3cDhNTDRjSktIbDJSS1FwdGpfRVQ5VHVOc0RZZ1ltVXg2RDN1MllWak5GcWMxcFhVbUQ3dW54dE05eU4xVFNGdjNWY21BNHFmNXZ1T3Z5Q3NsYWd0T1pzbkthR1V6ZGpZak9RS0pHRXoyeTdZSVlYT0tHLWljZ1h0Z201Zl9RcDZIWUJlSWFobi0tSDhMS25uT05rQVRKdFJRQVBFUllrTEtuZHNaN1JLNmFacnFaR25SRm9FRDdNWkloRG4zWENKQ2xZZ3Fsemw3a2FHQlU4ZUpsZGpKMjVnTnIzdTIxamZNeDBDN2o2ZUZaOTd5NFJhQ0JGUUptUGlRVWFmQkdYSDJPTGNBS2lNOXc2MWtzRjU4N0V1cDk1T0tYSjBrSEZ4OG9oVmlxbGJnNVV1QjhaY3l0eHZ0S3pmWG5RVEJqS2ZDYmJvYlBkU3FrNVBEVWtCWWJ5WGVSS1ZXMHREeVZFZk9haldzWE0xdVRsWXItRDgtQW8xV29jT0hBYkhGM3h1dVBhZnNEdklYcTd3Mk5fckJwOXZNOWpPQzBqdExEeldYeFlwcjIxWmNIdmhwaWJCM3F3ZEVNS1pfZDc1SkM5Y0VmMU85LUlNaVBUSVpja1podEVyazVQQVI3ZnJYQVBBOHJrVjJtTVlJQUxOWV9EQjhDcHVIR2JHeGZ6cE1iZ2d2U1R1OUtacV82YWhIbGVIT0VqRklXNXpiWHp3NG05ZXpMRHpQTnJzWUwxa25uLXAxT0k4TWdzZjVmd1hZS1NtT1VFeEZDdUI2NDd2dldhdmg5eXM5YUxZWFNOb2pEQWxqZlRrRmU5RlVVdUZLSmV5S0V5a2RDS1JPZHZlSXhqSHk4emFBdGNBZGdVSXAwT1FWdkFON3VnZkI4SVJQLWU1a2k1VlptNHpXR1AyQkVWTV92WWxlMkE2VEp0SDNMUFQ3TVV6VGxvMVBVMWtLVExrZ3EyVWp4MERldmZrLTg4WjNTbFhVZWtRVG5QV0lZY2lhY1hDMVptenRVQVpwYTBraV9TcXVmRjNmdGQ4TFFJR3dFNHpkZGZtc0R6aWxlSFpLR3ZUZi10MUtkTm9VbkJtYnFOb0JObUR1blNuTHlBeldFWE16Z2VIZHBsLXZLWVpTUXA5ZnJpdkRlV2ZlOGxXVmJPUmxiUDRxNzlKQ2tVZHBoMXJnM2l5cXRjaHpMa0J4N1pqeGJkUEZ6MkU3Q1B2UGFFYnJUZ3o5WDRUN3VZa1JVTmtDRkpscF9NS0VfdEthNXNwREwtckx2bHgySlV3ZWpXUGJyRWdWRDdocXdhVklMNXdwZzhHSlI4eEhpeVdMbzNVcU1fU0FlZmV6MUNDcElFb1QwT1E1TV94VTlhNWp3bDAuby1JSU5IdzFXTlJBc2xSRnE4OGlZclllTmVibVRhOVRrRlB1Um9LRl9lWSIsInRhZyI6ImJhc2VfZW5jbGF2ZV9iYWNrdXAifSx7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhMjF6Y0Y5bGJtTnNZWFpsWDJKaFkydDFjQ0o5Li5XYW82Q1FQYXdIN1lGRXdHN2Uza05nLjNVSWh4SGFtV0FLWGlBUG9qVzNlcW56NThRbEpPQm9OcDJGcHVzT0k0UXR6RmIyZHM0M29TVjl6Q3lRaklrc0ZYRko0Q2Zra0QwQUhxQUtna01LZ1JWd09aT2xyRTJHZEpKRVk1bzk2QlU4eEhqZF9BVFo2dlFiMlVMRVIwRnFUZnZIOU5yZlY5SGRfX1lUS01UdVE2ME5XWWtUX1R3TUxRX2kyRDdHd0J0S3pLN0FnbEVjbVM3RXpuWHA0Zlk2RmJRTmN0ZDNjNHpWWUFieDJxbndHMWYzTDNaMndkZGdySVhEMmJlam5RQmJMX3VIRWJUM18yM2hZeDZFdHhEQ3E0bXIzNXB1MVNINDF1UGlnQTcyNG13clNXYUR3NkdJRHlwZVpzc1RYNmc2RXQ5ZHJ2aG85UHpZTjNtdkxpR29PdHBPTUN1cTFyd3J1QmZNMmlkNkdfU1FMT1dkR3NQOWdIUEsxV0FYZTQ3LW1qWXBkbGhiaGFNTjFVaVJBZWxORVR1al8zaDl5Wjl1aFcxbm9TOVdJYU9WekxFVXBDZnJNTVlMLWdubkxuUXZWSkhWNjJGTUQ4V2VkUlUzelVSSzQ3VFZxTGtzY2RoYmxNZUJHUWhJV0R4aEFuSzNHcUFOR25ZM3Bnb1p6QzRTdHVfWmNNS2tsMVZ0bnZiZUZoTExHMnpmMFQ0QTM1Q29ZVHV3TnV0LUNVS0prOW5mZ0x5YXZWNVJGclg1cFJTV3lGS0dUNzY4Rk82MmhBY3pCZDhVeVdwdVJvNGhZZkZjOUI4dUNKZ21JSF9KWXhRVlgwMjh1akdyYm04cjVFa01GNHMyN0RZWmkwRTVCMkZGczNLOEsyQTJxM0l0R3ZKWXdkc2c1Q0g3eGVhelZGNmtjTW5vU3ZvM0c2MVp2WU1lOE1wQ0c0ekMxekdTeDdHSnpjRkxyUG9OcWVnTzhob1p5YzJOSzc1elBFWUN1TTkzcTB1Q01QYTlQbmxPV2tLZzVzX3RLTVZiQV9sMEd2eHdla3hVUlRKSzBXbjRxc0diLXRqb3lmdDd0MmxzcG9LMnprWEtPRGFSUlZfUXhicmJxYlFzSXpGLXIwNnB6c1JRSExGTlR4WUJBX3Yyc1BBSXFkSGowdEpLcUs3UG5XMkk3ZW5BNE5UM1NaOVp6WkdCY3Jua3R5Mm1fQVYyQTNWaHRlRk43X0I4VUVnYXhKenNLNVZkQnhGLUJDNFZlSkdvMXRLcXJ0WktQX0dqQk1NTGxiNlhZOEVoS3BQT1M0a2RIQnNsVFdPLWNwZzhnNDZxRnpmRDdqOE5IUTF4UkJqRmZ3ZnI5ZjB0YjhZckNHek9RNWMwQjdGQUxDSk5LSUZnc3JWallkT2Q5b1l1QTV0YlpmdlJBdDJHTllfLVRId0xyMHBZYWQzY21XTU5VUFBjd2R3cjRqNkI1Qks5amJRX2d0UldGcUF3SHVCaHRCbklpajF1UFRPNDZlRmttUXZWT1E2dll6M015M1djak5Lbnl2X1dmdGdHVFJIdnM5RXlfblFMZ2ViV2dUSGI3S3VsVjhKN2dFWTBOOERob3Vsb0dVTXFsaVh0bjZqYWV0VWVSQmFoT2hUbkkxWGVaNGZzdGdpbHc3dnhEeFI1dTVXcEdHQWtHMi1kc281b045QVVEcHh2dlh4Wld3S0g3NkNvcUZqbmJIQTBXVlh5R0hENEw2SVlrQThkWHhncFltOUU5OFM3YjRnaTEycTB6TWVMR2Y3dktJRG1ObWpvRVZoWEtGS1BOXzM0RjBMeE1NVWtfMW5BM3lxb2FXbUd6UlNWV3EtLXloa05QendNSDF4WDJrQ1p5b1hsZ25kSzh6dzVkSXBza2RsZkhuU1piMVpEdjZtTWhQbklLMWhhblJZb1NzS1ZtZG9wRUhtODdDVFVpWUVydHlPSDdmU2FpalR3M1dUUnY0N21VcUdvdTBXdUNIZlJlVXMxMFYtblJpYWNoSVBqLTV2U1NNS0NTcFdscWJ1Q1V2RDlsdnktRVNubEw0T19abEVRckRnNVRTSUxZNU44WGw5cVM0eDREd05DR1ZiSnZJMUJfeE5CTkJmRFVmcVF2UXk3UlU3d1ZhSHFLelIyM0h1eThzQU8xV0JXMGpCdW1RSjI3NUpHZldTVngtRjFhXzhIWkcwR1ZLczAySXFGdDRTOWRyMENPNXRHMmsxTnNzTXVrWXl0YnRzcXJJdGxzblRRVjdiTUhFZ1pGSWJ6TGpBd3lhUWM4NWQwSXhsQmJibUJZZUhkWnRubGRkdGs5QnZ5NHNqckRnSVZlQWVwdVZxRjNONklrcXVJM1UtZ2p3S0FjQTNKMVJkZENEeXJMVTJhakZGOVdhU0FuYWlOcXJ1R3o3WVY5SDFiaWlkWFJiSFBoRXNFNDNLMkpoX2ljOVBoTFUzdlBXbGNRODV1R3RrWkxRTTNlbUF1RzJLR1NGQTcxd1pyb1hocVRIQUxKNWpLTElhQ0Rld2hfTHBOTHNjM3RVS0xOMDRaVjJHSDhTdFl1N3ZlOUE2QXlTcmhUZjFKRGV5aWdael9kU1ktQXNpaGszRDFjSTN4Rmh5LUdsZTNWQ3ZPRjFSTFFfZHh2NjV2bldTWkdBeHRNdXFHV2VNTnVZY09saXplRGZnNFVuM2RPN1VpdDhpb1R4dU1WMndyRVNPVXpRdThpb0d6TzNpV3RXWWxfMll0LTF1eGZVRjVMSF9EOW9pazFpQTJ3RE9ydnFJemhBczJGakxMQmhqS3BIcWViODJTZ2J3elJRbzJFQmZuenJiMzBWNmtPTjUzOEJkanRCS0hvYUdJSnhLUnNnRjZzUkkxQy1uSVR4NWFZeVhJMExDU0JBRWU5eUpUWkxVV2tqT3AtX3pSSnZfR3dkTnhTWnZMSEdkcFlWT3ByMTF6OFU0azhYTE1xSnRhWXAtZk1CcVh4eWJMZDNxaE1kX1B2V0dNdlJHYm9pd3F3cnYtWllwbHU5Y1I1a1RvZmlHY1I1SFpaWXhTcjN1ZVVubXpjY0kyRUJNQVFqc3UyLWthU2NLMnNWang2emNUaHU0UFBxSXpELVpzdDlRbGpqVGEtZW5kU1ktby1NUjFvbDdkNjR4eTViVzM3Q0NOcHJYX0Zud3djaEhCMXVHUzNLbEx3UUxkV0NlX3dPYjY3NDNNSHFZamExNm4zdW9UZFF0TVFIUkt6N09kaWl2TDF0NGJQdFVrZVFfZkpsRGpDbjJTRGpRelBUWWY4SlY0eFpkTFZlcEE3V0NaNHUyWXNyUFBKUk1SdU51M1VNWUVxYjVhX2lzdXJJYzJNRDUzYVJpZHlxODBSN1lkaVRIMV9oZDRfR3pEWTd1UDBqSm51RHV0SUNNUkJLNTlqejIxWWpydy1ycGdnNFFrRlQ2Sm1CbnFSS20tWC1YTlNDMFdLeFJGcjRmQlFLVXA3bEFfRDlIVWdzdjlPUE9RREF5V2ZVMzdja2ZfWEFNNERiYVJZTkZrdEk5enUzazhWUk1NRE9PdVJPdTM0WHBhU2VUaVg0Z1ZtdHp1bDkzUnd2VUplMDBBT0FyQU53ZmpKRUZHSU5fN1ZxMWVHTmhsWlMwSkZBaXY0OGJzU3cwTTB0eWpmVGMtZlJrMWh1UUx4cC1HOURyMHg0V2ZaWC16dVgzaUx5VnRsdkIzNHo3eXcxSTU4aklTeFdMZlczRXR5T0xod0RKb2pYTHJpeU5fWnJRQ21BS0tfZ19NU2hvY0FLMlo3S0wzSy1ETGw2NnFLR3RwV0FkS0JnNWxsWS1YUXJjWnF2MGlkbWlaSndqZ2kyZFg3VmVmVUw2cld4TkQyM05Vb1U3QUVVempzdThKMHF2ZmQtU3h3SHpseFpLYUo4NTV0aTdTS2RUNThUY19MTFN4UDFXUXAyaENOdkJ2MDJQNlJ6VUR0LUNSSVZOWWpUYzFaVXNSTzByRExTMERmNmxkekZWeHFaUnh6eTlpQ2ZhczRFVndMNW84WHJVbmh0elFLamNUY090bjVyWjh5OHZidUhGWkdyZlMzRG5vemNuc2dRekVwWGw5X0cwRlYwRFY3bGN6TWlEajk1eGh3cnJtbmttdlY4VktZOFFTSkQzbklYOTlCZ05LWldyNmdWWm92RHYxUmpBd2JiSlJOcnJDYS16R3JoRW9WX0pPUGRITC1OZlNsNjA0TnhvR1NIR3RtekNCUktQYjdHNUJfWFVsUGE0NEZReXgtSk03RmlxbE45Q3lJckpkZVRXcWtjalFEWk9Mb0M0UFB0Y3ZDZldCOFZ3N3VCN1Rfbmx5emlFZk9zVkd5S1VUMGE1Tm9BdkZpNVJGSE9Xalg2bkJDWUZOaHhUWVVkU0R2RFRhOWlYN1Zyd3NNaVRvMGxCbzJQMm9OQng5Q0M0ajNVaTVOV180eDJNdWlKSEtqc3dXa2d1cDhxd3pyeTlxYU1fSDFFdXZVZWl0X09kRTN6MFV4N3RkT0QyM0lqZFVuTnZ5eGROMTVYcGU0Q2lReGJMU25kME9KQnpoWHZ2V2ZyQlVnZmttMkYxVjc1V1J4Y0h4NmFrX1Axay1oa3ZGb3dGZnEtZUR1cEU4aHM1NFdGZFFBSmpYczV3MzdkWXZNUXh2WXdKa0VwTDNiN3ZkRHdJWWNqRlg5SWctMmJJVTZJNnNKX1pwYlNONlpjbG4yaE5tblg0WmVZNHVQRTAxVVJlNm03R205QWZwRTJhS2lPMS1pVm56SkdBOElKUHh1NXp0WkxtWUNPaG85Nk50V1VzR1E4MEpTbmgwWXVELThZclhmWnBLSjJmRGFPODZ4NVB0NWN5UVJYc3h0ZTBPUjhGMDd5Tm1nclNIZ2NGMEJGTG5fd2xXbGJUd2tiRHk1ZWRhcWVFMFdZdEY1Mnl1Zjd1MnZvZXhZckEuRFVIdHJDMk1iVVhUZ05XTTZZdlppMkdIVkpMenJsY2dVVXF2RXBrNkpCYyIsInRhZyI6Imttc3BfZW5jbGF2ZV9iYWNrdXAifV0sImtkZiI6InNwMTA4X2tkZiJ9LCJTaGFyZWRLZXlzIjp7ImVuY19zaGFyZXMiOlt7ImVuY19rZXkiOiJleUpoYkdjaU9pSlNVMEV0VDBGRlVDMHlOVFlpTENKbGJtTWlPaUpCTWpVMlEwSkRMVWhUTlRFeUlpd2lhMmxrSWpvaWJtOTBJSFZ6WldRaWZRLk0tQXhHUVlKNlVDQ0xtZVhwOWdTUjJFVTFsbktMRXEyZjFWd01uT0pXaWFMRGJIZ01sX20tRlZ1X1hsNEdNczM2T056YTFJZ3FEM19aQ2h4dmJUSzRtb2JnczlyQzBWR0tYeDdHN3FkbTdNbDhFVGZCampMTVl3ZElReUdyeVREWVdYZW5UdEFacVpJNnc1NmZhX1REMmhzejNGQ2NkLVBmdExYZm04aDFMaFlHZVlfUVlqMzBPeVhlV29FZ1ZndzYtQ2d1RGlhNUdxWjhISl85S0Z4ZVZPQl9zQkt1QjdWWmdpRjN5LVVkQ1FNV0JSSkhITU5mTWs0QTV1bU81aWFRbzFVN3pDekRDVGpodjBVX1U5U2ZOdHFFUFdkbFZxanYwdXpaNXJOSUdxQjI0cE5NT0V5dU8ySDZWTi10R0xkX1pLNlNHUmNPc09BVlllazN1WjZyejhiekFZRVVYLXlXNFBUUWV2Ujg2WlJzc3BIdXRjYldaNi0ySG5YUV9UUTBJNFMtcTJIVUVUNEE1QWk2cy1NQkFLeDQ5eFV4c1VDUmxQTHFnUGUwRERlaDJmOVVpQnRGQy1pazA4ZXBYa2xHVnJqVWFXLTU2RUU1b1R3WWN1bVpNMy1nUHdPV3JUN1luRThWd3BveEt1Z3Bua01YNENJZWpOWTlCRzVlcGxfc0VfLTRpMWRpaWprdDR6UUtDNHVTOWhDMXRSdVdfYW5wZHBpd3VYUFVOaWRNX2VpWDVRVWVNT256cVFjLWtxcmdRR1dUYVp6S2lyZGNQOHpsTzdYQnZWaW1Rc2V3dVVJZnVfRVpMQ010WVdLZEVLTk5Kb19LTTB5bm9qZ04zcmxia1N5ZWRTcE4wVXVnTjdPd3o2YmZXM2xSNHdKajhOclo0bzM5cjBLVDhZLnZjYWFxQ2RMM0U2U2wyRkpVeFZNdVEubXFTa3RpZ3pYbkZpTkhoUTBXQ1RheEtBODFYWlpFU1A4QnNuMlhTSFlzRnpOOXZOdHFRN052d2I3RFItSnJzaVRRRWxZb0NSanFyemZCQm5EbC1Vd2g5QS1LanBzUFJKcXRHd2dSWW9vRlUueW1ObTVRWlJxeWdadjdoQ1dmQUJpNF9KRHI2dmdQNVFNQmpoMEd2WDlMOCIsIng1dF8yNTYiOiI3ODd2MUR0V3E0OU03bzB6dlRRbmp0V3gzdmNTc2xZZzBxYnoxdlJUa080In0seyJlbmNfa2V5IjoiZXlKaGJHY2lPaUpTVTBFdFQwRkZVQzB5TlRZaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2libTkwSUhWelpXUWlmUS5ndUFieGdOUmNDcXJNOUF3TnJEOWR2VnFBcUYwSUVuUjBTbWZGR1Q3T2hpUDhZdVVKbFd2OUt1MmVva05GLVZrbUZuZkdfMWlIVVZoYUxNNEN3X0RBRjQ1YnVtMlBCc29qcEYxY1FNTDJPR3NyZ0xnZG1sMWNtbEpKaXh3UGk2Y29TVTgxMGFrdTdpalVVU0xDSmlSaHJvQnpmVm1PS0lqQ0duaGVEcl9pdVdwN1NaUkRsejYzaFMyVGh1bXZ0LS1TVzU2TGxSeHpLelJaeFliOUctWTBvYXF4UkhsMThLSWp6MGZNeEswS2ROMk5LQTdWaDZEUnlRR3BvRUFZTjRtYkxJbDgwb3A5VlFCUE1uVE1KRnRHY1pQV0JvNlVDQk9HRTN6eWUyRGEyakZnTGtnOV9xRV81MXY4RGllZUJYY2FGTFlzV3lxbTZRLXJnczFxNlozVktEZkNONFNDNllvSFBsd0xCMkIwOTJDdzNkM0kwVm52eUtTdndmMEdtNW9zUG9tbm1SN0NXa20ySGVUMEFJbFJoUG41Y1V1T3ZjV1BhNFFtbEdyRG5sZ2RTOVRqSmdjVFhQdEVLU2ljWmtYdFhtdUtNUHVNbmNSVFNOVHI0WGZ3aUJtNEFtMjJKd1FtN0xPS1M5X2cxNi1DMDFTcFh5UDQtNkZSV3NZMWczMFVjZkxPS1pjRWVtUTVSVGRDWkJRU3dQMTZEZ05PLXluM2JTUVl2ZGFUYm5qV0pVSjEyTWppMXMwckxMdDFkOE5GbS1XRVVXdUFZd1B5YlJLa2JBRXdFajR0MjhyRmZHaFZBdmc0R3otSHh3OHFLLUhuSkNwWVFtTXFqT0hpaUN1OWNVUUYyeXBmTGxEVU9SUlpYd1Bobnc5NUNWV3JPcmhWWENIVWk5bUwtdy55dFVSMjVSVjg5WFNjR1JtSW83MWxBLl9TWGs1bzF5Wldpdk5NbGVIYl85Z21NeWZuNjZwTFdyLUxhbVZ0VmhjNHFZZlg1RFFiSjFoalVXYmVtcHZRc2hHVUxqX08xMkpKbU9tblZLRGYwR05FbnJGOUlFRlRpbzJPZy1TeHNKdTQ0LmYtRnlTYVg0Y3pnSGM5X3haalAyeEdibDl4bnRvMzBNMDU3VnRCaHNrLUkiLCJ4NXRfMjU2IjoibmhHaVdaM3NEdWdBS1pObnBVNGY5MHdYbFpRTTAzR1Y2UGZzYk5MczhObyJ9LHsiZW5jX2tleSI6ImV5SmhiR2NpT2lKU1UwRXRUMEZGVUMweU5UWWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pYm05MElIVnpaV1FpZlEuZXRadTJjek9zVTBBZWRRSWdnamxsNFZIWk40SFlXc1FpZG9EdUx0VVlSMlUxWnBLU3RYSjUtUjduUm1Mdk1USVZVQ0pWcU0yTkZxNjB6cjZMZUc1VXNPY0ZGal9MQzgyMlRyMEJJa1BaZnRWZ1gzUnJHTmJzcmNKWGtxcW9fa05WNDM3Tl81VlgwVE5ldFZURk13RDM4Q3FXX0otQkUwd1JKQ21FTVk4QlpvckROc0dOTnVhUlg1bDdod0NRX1RtN1NKRVhlNGR1alJXVEVEWXM5dXdMelgxcFplcVRFa0NfZTl0TVd1Q2ZDZlo4Q1JyQ25oQ3oyemJ2bUQxSldaVVlRc253a3I1LWxtZnQwUm9UczF2cGVQbGtIdjl3UkplYkp3U29KUWJjQ3JPMlJRRE9od1BCNkdXbk1WTTY1WnU5MVh5V3RQNFdjUHFvak5wdDZHSEZPdmEzX3RTaG1LV3RYNXhhM0dzUUVJaTNCSTdGOVdMNEJ1NkhqclFkMDVjcHZVcm80X2hUeURiWUtET0g5NFlPVi1qUXg1Sl9RUXJWVnJDbFJZd0Y0ZjMzcFItTzJJbnh1N1UzZGJNLVFQNDlLYUo3Y2g4MkpmOTRxY2N0dGJoVGpxNG5TdzVNV2VjbkNQZjRIa1JjdWw5RGtJZEVwY0RIMmRaVXFkV0JHYjFuRWNldlc0NDBUbFJuNkcwVHhqSzBaX2dpekx4dXVsZklPUTEySEpNdlBjWXd3OV8tMWdGZWdUdDgzb3N5OEJmVjNwNDA3eFpXRVROUFR5ZWNMNTV2enRKUjJjUjZLWmRlTkdsNlpENTgwNmVPYzlaUGIwS1Fnb2I3MkRVM05mODJidDN1cFB0LXEwaFNuZzNIWHpUZUhWYlFRV01NWmxBcEN2aHdpWml0SGcuY2c0d2tyQ0p1YzVBbmJaY2lQWVhDUS5YOW1Hc0QxdWJSU0lFUzBiclJiOWhQU0xaY2tTaGNkbmtBRzE3MTFpcnpmcmlEMWZwS1pna1RwQzZfQ2daTnBiU2JHT3psQTZkZ2pReXpxM0dFN1JGa0MxRzh4cW9DZE8xTVp1MUVsQzdXMC40dUZFdEFSUktzVHdxWUtjRDRTNm1HQ2JNZmhxeU9xd1VHdFpPMWtYNExjIiwieDV0XzI1NiI6IndkOUVyWmhYUVppeHB3TTZPLUVCOWNLQWlBaVM3YVdnUkdkQWtNMU0yNzAifV0sImtleV9hbGdvcml0aG0iOiJzaGFtaXJfc2hhcmUiLCJyZXF1aXJlZCI6Mn0sInZlcnNpb24iOjJ9"
},
@@ -11,7 +11,7 @@
"202": {
"headers": {
"Retry-After": 5,
- "Azure-AsyncOperation": "https://myvault.vault.azure.net/securitydomain/upload/pending"
+ "Azure-AsyncOperation": "https://myhsmvault.managedhsm.azure.net/securitydomain/upload/pending"
},
"body": {
"status": "InProgress",
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/keys.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/keys.json
index 7772fd7d460e..72ea378a2f69 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/keys.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/keys.json
@@ -947,7 +947,7 @@
],
"responses": {
"200": {
- "description": "A key bundle containing the key and its attributes.",
+ "description": "A JWS containing the key, its attributes, the result of the key release, and information about the request.",
"schema": {
"$ref": "#/definitions/KeyReleaseResult"
}
@@ -1304,7 +1304,8 @@
"data": {
"description": "Blob encoding the policy rules under which the key can be released.",
"type": "string",
- "format": "base64url"
+ "format": "base64url",
+ "x-ms-client-name": "encodedPolicy"
}
}
},
@@ -1840,7 +1841,8 @@
"target": {
"type": "string",
"minLength": 1,
- "description": "The attestation assertion for the target of the key release."
+ "description": "The attestation assertion for the target of the key release.",
+ "x-ms-client-name": "targetAttestationToken"
},
"nonce": {
"type": "string",
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/securitydomain.json b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/securitydomain.json
index a9a6508bb32e..fc1c18bf242e 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/securitydomain.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.3-preview/securitydomain.json
@@ -233,7 +233,7 @@
"certificates": {
"type": "array",
"items": {
- "$ref": "#/definitions/SecurityDomainCertificateItem"
+ "$ref": "#/definitions/SecurityDomainJsonWebKey"
},
"minItems": 3,
"maxItems": 10,
@@ -252,17 +252,6 @@
"certificates"
]
},
- "SecurityDomainCertificateItem": {
- "properties": {
- "value": {
- "$ref": "#/definitions/SecurityDomainJsonWebKey",
- "description": "Customer generated certificate containing public key in JWK format"
- }
- },
- "required": [
- "value"
- ]
- },
"TransferKey": {
"properties": {
"key_format": {
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/backuprestore.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/backuprestore.json
index 772b6755bbac..13c0ddee2b57 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/backuprestore.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/backuprestore.json
@@ -37,7 +37,7 @@
"x-ms-long-running-operation-options": {
"final-state-via": "azure-async-operation"
},
- "description": "Creates a full backup using a user-provided SAS token to an Azure blob storage container.",
+ "description": "Creates a full backup using a user-provided SAS token to an Azure blob storage container. This operation is supported only by the Managed HSM service.",
"parameters": [
{
"in": "body",
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/examples/securitydomaindownloadpost-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/examples/securitydomaindownloadpost-example.json
index defc6c8bdeb4..ff9ea5f8e3b0 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/examples/securitydomaindownloadpost-example.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/examples/securitydomaindownloadpost-example.json
@@ -4,61 +4,55 @@
"CertificateInfoObject": {
"certificates": [
{
- "value": {
- "kid": "id1",
- "kty": "RSA",
- "key_ops": [
- "verify",
- "encrypt",
- "wrapKey"
- ],
- "alg": "RSA-OAEP-256",
- "x5c": [
- "MIIEnTCCBAgIBATANBgkAoWgAwIqhkiG9w0BAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H"
- ],
- "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI",
- "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A",
- "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs",
- "e": "AQAB"
- }
+ "kid": "id1",
+ "kty": "RSA",
+ "key_ops": [
+ "verify",
+ "encrypt",
+ "wrapKey"
+ ],
+ "alg": "RSA-OAEP-256",
+ "x5c": [
+ "MIIEnTCCBAgIBATANBgkAoWgAwIqhkiG9w0BAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H"
+ ],
+ "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI",
+ "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A",
+ "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs",
+ "e": "AQAB"
},
{
- "value": {
- "kid": "id2",
- "kty": "RSA",
- "key_ops": [
- "verify",
- "encrypt",
- "wrapKey"
- ],
- "alg": "RSA-OAEP-256",
- "x5c": [
- "MIIEnTCCBAgIBAoWgAwIqhkiG9w0BTANBgkAAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H"
- ],
- "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI",
- "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A",
- "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs",
- "e": "AQAB"
- }
+ "kid": "id2",
+ "kty": "RSA",
+ "key_ops": [
+ "verify",
+ "encrypt",
+ "wrapKey"
+ ],
+ "alg": "RSA-OAEP-256",
+ "x5c": [
+ "MIIEnTCCBAgIBAoWgAwIqhkiG9w0BTANBgkAAQsFADAQMQ4wDAYDVQQDDAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H"
+ ],
+ "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI",
+ "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A",
+ "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs",
+ "e": "AQAB"
},
{
- "value": {
- "kid": "id3",
- "kty": "RSA",
- "key_ops": [
- "verify",
- "encrypt",
- "wrapKey"
- ],
- "alg": "RSA-OAEP-256",
- "x5c": [
- "MIIEnTCCBkiG9w0BAQsFADAQMQ4wDAYDVQQDDAgIBATANBgkAoWgAwIqhAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H"
- ],
- "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI",
- "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A",
- "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs",
- "e": "AQAB"
- }
+ "kid": "id3",
+ "kty": "RSA",
+ "key_ops": [
+ "verify",
+ "encrypt",
+ "wrapKey"
+ ],
+ "alg": "RSA-OAEP-256",
+ "x5c": [
+ "MIIEnTCCBkiG9w0BAQsFADAQMQ4wDAYDVQQDDAgIBATANBgkAoWgAwIqhAVjZXJ0QTAeFw0yMDA0MjYwMzU1NDNaFw0yMTA0MjYwMzU1NDNaMBAxDjAMBgNVBAMMBWNlcnRBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAi0+23X8hLsFgrh7O2VtM2fVrSRIUDM/7+/D7A+FQOyt1jsMC8CSYHixo65l/FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa+VRgylqKpS+Da0x9Om/mivTQ26aDwb1Pd8h+SGcgJNy1VOnmI5+uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB+6PXXM/nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ+hw2qtCtKrr8K+0rqC/Jq5r1cu6o0/NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA/yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp/TO5+kQigYkgVZXcPjbm2c0hdkisPt+APqEdMotmYTANxtC6McP+9KOO8+12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH/36Vfc5ad+nxRYwYObRYfgOh8vpYaw3cpj5+UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv/ZX7qbNhv11a76gJRi/IoHkcf1UTpxCoD+eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz/ZCOrc+RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vsCAwEAAaMCMAAwDQYJKoZIhvcNAQELBQADggIBAAjHy9GCPejDYIVb/iv8Wo40n317LQN7H6ay+YB5L2byEQATvC1ixde6VqwU6k9VdoQOTfP3xJhfstKrO+n5mFJBL4KG8BZBbd6XQu/ggPLKEIVZFbeQkX6o03K54gY8GxYjHr6gF12I6heLWVKA/Qi480GqSlp2Nz+LE1jgPp9u52xpUPjsvRHXtxYZ7Q3O2jhPToNr3D/TZSu3tmQOeqj9M/igLDe9TxqN9C9jraUGR7Lr4zN1srtvIKhxGMS3Q9kC4Mq+ZNNIwC9+jzzd8fB2pGJP/iTFDzB0pDh9Jz0/CR4O4aGoYqkQEx629aZH2TzhOh2yf04TaniwkHXnUEsPTxrpY8ty/OUG3HzBMHCDhS08ZSimrrxhiWyH6g0OEglXVGrI2nH6nnQIn1MTNILcjUTMRt/WSOz6G07oZciAouKD2YS/W1qPap600kGhTya81BuYThGmFoXVMs7Mk3XBzZ81b6hJ6ncwCLb3g4YzqeQ8bOf42jYJctq4tPNaXTfoC7N0FX7lPVJpRdh6BFcHYcg0NPWJsdk6LtSJB6bp2qptRAgJ5S94s843FRd8PRFE10TKDfj3YFRBNkx7qDjwUhtN8/JC9+RHHw0Ngd0x2/BLqeCEMAQaJoC53h0aMLW6PSyovnsLvdJbN/rYc15qUXSz8TtjaHFpjsy/Fo5H"
+ ],
+ "x5t": "dJKBile6IJDrRGqa3k5d8_IKFdI",
+ "x5t#S256": "0HylM2tkO5ny9CyZ9VLASxspFr8GknnsvuoJEzuZO2A",
+ "n": "i0-23X8hLsFgrh7O2VtM2fVrSRIUDM_7-_D7A-FQOyt1jsMC8CSYHixo65l_FbAWGx79mqANMa0v2NX4UPDgkRhHlnQXstXa-VRgylqKpS-Da0x9Om_mivTQ26aDwb1Pd8h-SGcgJNy1VOnmI5-uvgfh9Qj6glJZHEyvh6dat6f4DDTwRVf6Vvc5noB-6PXXM_nReFWs32fiojoFeUbneQthQnRCS7CeokqIF1KJoOIrTZFCJ-hw2qtCtKrr8K-0rqC_Jq5r1cu6o0_NOweOqKgwRQKapcrbdY0JsmcTERisX07w9fMbtMA_yiilaMj1GPW0Bwg5u5atZcjzTb6wOFYOGd2Y1WFBwQqqxriWo62Fp_TO5-kQigYkgVZXcPjbm2c0hdkisPt-APqEdMotmYTANxtC6McP-9KOO8-12K2fj2a9NEhRJOboGQeZ0M7DJoQDl4wg8f2nswxH_36Vfc5ad-nxRYwYObRYfgOh8vpYaw3cpj5-UHBaPQ8ZiQNDoWHJWvX5z1nTmCc2NmLHdi3ijkoc7AKHIv_ZX7qbNhv11a76gJRi_IoHkcf1UTpxCoD-eTbo8Isxt4c9fBTk1vS4wSGsJCewxcyMlTB9FHufPM8k5Uz_ZCOrc-RoaznKPGamgMJOOwbPE1WcBnxuG4rQcskdCa59NiZXyZsx5vs",
+ "e": "AQAB"
}
],
"required": 2
@@ -69,7 +63,7 @@
"202": {
"headers": {
"Retry-After": 5,
- "Azure-AsyncOperation": "https://myvault.vault.azure.net/securitydomain/download/pending"
+ "Azure-AsyncOperation": "https://myhsmvault.managedhsm.azure.net/securitydomain/download/pending"
},
"body": {
"value": "eyJFbmNEYXRhIjp7ImRhdGEiOlt7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhSE50WDJKaFkydDFjQ0o5Li53dGhUcG5Dakh6d0Fvbm14SlJrcmhnLmIxU21NcjJkX2J3VUZJS0tlRnZ0Y2lvS1BiUXo3OGJyd1duclVBZE4tM0txY01FUXNtSU5FN09WZ2JLbFZ0V2tkemJmaGdrUHd1dUhtaG9QUHpJd2tHQTQwYXVLZW9OaC1EN2RWanBJd2NVcDVMNDVVVlNRWXM5elRQQnRmSnItcy0xbk1DNEhwZnpXRHNhZUxUTzhfcGRtNGxISi1lN3dGeTE3NVJQMDRZR0xPZlVEaVBTaUZXTzVQd3djQjRsSUx1ZXI4cmgyaGYtSFN1M3lnYW02N3VGdjc1WTAtU0gxN1F3VHpwbkRtXzZUbzNaUWZIRHp3WUprQjlWYmRvaHVMcWl4QUY2MS14UjVvXzc3MUdtOHlkZHF1Ri1qV2ppUjAwNWZBSnFLb1UyM3lmYXhZdmROaFdNQVUwU3RfTG5HTnYxaXRQYVg3cXV2aWkzOFlhbjd3TU9VZGg4TW5VS19rN1hhSU96VTJfUFVWVll2R2RNcXFlaVRNLXBrekFxZC02LU5vZ3llc000NzdXdnBNa0F2STZLS2xvRkJKQzRfUlFYYUxITHZwMnAxTlM0NUZLNTEzb1JJeHROd3AtM3JUME5FU2RTbnZfb3ZCeDhFVGpZdF9Mcm1RNHplb2pqRFVLZC1EWmxQcFlGUVAwZWFfNmpSckpsZ3lvVC16czhWTEFFREdoX1lmZDRydHNENVhFZGVMZ0IyMEF2NWlLRk1jcHhtTVVSakRJQTZES1hNUXFIa1RLam1pQmU2aHROZ2FNNjE3S2FYclRuWjE5Ui0zWlIxbGs4UmhoQm5yZ0NBamlWd1lVcE8xUGl0ZDY2bl82VFlTVTJ5eFkxMkxoZ0V3Z1hxR2pzOGJIVEtGYnZVVmxKQTduV1RSN2hTUHpTZDJjanlBaUNDR1ZEUjQ4VjBTY1FBVXFLTGVFZUl5NzhueXJQSE9kXzk3dGtGSXBsdmhncnBkdXRISUNyakQ3T1BMWVJ6UGpFQlJxUFFzQm1RSzl2V1NDNDk5ZGFITzRJOUtRTG9mVTc1VmhOOGt0NlV4aGZFVF95eURfSGM0UGJLZkc5TG1hYUlxVGVtVWZCVnU5REx4RXJLbzhLVC1RX1dFRi1LOEZFbXhZdUFKWEgyMktrTWxfSGFva280NlRCV0FPcTduLW8zaHRpbVBlUmxuSkZxa0lqbTBIc3UzWEJETkdpMEFZZGtpakE0QzgtOFVwNk9ZSWVDZnZOeVEzYVllcmhJVGpHR1puMnJ5SEZCRnR3WVIwbkJCc0ZfMFo4SkR6NTlvTEtlMThheVlvaUp1UHNTdWp4VHFNeF8yNG44WndQTnB6LVhYLXBEVWpkSUZvVS1FSXV0UWxnT3dqUmVKZ3I3WF8yUks5cVBfT25ERkRNUnZzUU5oS1pIWklhREdVdEROd2JxMmNHQzBNRElpeDgzR2RIS29kbGJqNkJ6VXEtUXFXT1dSdUtiQ1NnTFdULVdSdnNzUXlONnhIYXRHb1VSMUVMcVpPejJUZmw0cm5Ka2QtSTlRTE15c01zbVFiZldlTXBJWXA3M29STGxVNm9iRnNkM2JNNnVGeGFGcDUzT0pDamNGUUNlLWM4X0xEMWk2dWhFeFNZenNSYjhLR2cyX0dpMFNCSkcwdjBSb205X3oyVklScER5MFdyZmhnLV9YRjZUdFNtZkhoYWpRVzVqTC1xMnNmQkNlcVI5M3FXYUt1TFJQS0RfSm4zWElJR1R4UklDMzRETTlfbXprRTE2SUZDa0dnN3FEMmZCZ2EwNHA2c1hrdlEtUkdYVFhKZGlOd3NpVW1RUFR3Ql9LSVA2OFRNQWdSTWpBMEFJMjZOSmZ0b2Z4eng2X0w2VTU1SDZELVZ1UjdDOWsyR2lWa2Y0VnU0Q2p4WTI5TWdwUERlaHdScjVVMXRBUFU3Wi1nVU9Eb0NTcGRINVRjY1NROGtKb3FEby04SWRKMjlYa0NEUTdDX3U2aTFVVF9feUhLbjFwSUxocnBxZm5lb081SE5sNEJTbjJ5cEdFZUpfYldCNl9GMU4tYXBoVDNjRmpQWjVnb0tfM3ZPVWw4N0gtSjMxNnhpUGRiZGhiM3ZkSTVkQ3daekhzOEZwbFpVaXJGNGlsRHM4bklrRGs0cXdIZGZvQ2VWTlgtWE1neUFOUTlKZTQxOHJEZkprZF82OWFiSzB6MXlKcmg4ZHhNajFHSnc2N2FzZHZ1XzV1elZPcjBldE95WDUzUVMtUkhLeEs4RWZUZ0U2SThwVjBTQ1hRYkg5S2lNd1dYcm45cjk0QzFhZ3dJLUZ1b0JlNFl4eHo4OFc2RUdvUzJMMmkwWTM0LWFjWVJxSTl5M3l2aVJ3T29Ub2NnUmF3NDFUU3ZROE5zUzBPQUlyY1JzMlJfMWhOeFlObFAyUm04VktPcldEcjQ1MHNJRC13elYzUmJxenJLcVJnbmxBOEFKcnVCa1FPbTQzVUFIVnBDY1pvVGtUMVYxYi1Weml3bUQzV0hHZFFnM216RVItdmlGR0RJLWJKX09NN1JWdlFwT21xQVFBWTFvQ3ljOWh0cUZKSUlhYTdibzEtQ1lqcDNTd0ItYnBsTjhuWDhHVWFUbkNFbVM1N1VTbDMxUGVpNkszeXJmUWVJWl84Q2RSdngtZzUya2E5NU1nRmZGcUFOdFNQUzhXbTJQSm55aDlxYTliTVhzSmI5RmVYUnFZSlV2OGxfc2VkVWJEWFRBS3BGWl9hWVI3VUpLa0xWejNiNEcxQWptcFJQQXdzd01TWDJtUkFzcGt4Z2ZrdV94QjRyaDBuX2t4NDQ3Q2pYa1VjSncxNlpBVHI1Nk92THZCNmZoRXNqejhVWGRyNTJHQ1R2MzluUjBsUGVLQzlZcC1GTGZHaXNNTVk3TEM4WHNFU3ZhWVU0NnZGZzJGVUhjYmgyM19xbENiWldPWm9vd1FrSnFJM2VCU2s1Rkc3ZXVPOERLS2tBU2N3dkFmc3cxM0VCTHJ2djhLem5mMndRbFN1VFVEMjdWaEt3Mk55SUtuUTJkeTN5d0NtT0EyRnNBdkRwUWpybXNITjVmVDVTLWlTRjRyZTBrMFU1VzVJUVg2RzNJMlBDWFJDOHJnZFA3SjFNOHEwVGtOZE0yRUVqdzBtbWpkaVM2RFUzbWMtUDVya0hEdTh0anpPYktESE5MbTJfa0NoQWFqTXNtcUlDMzFiOUxvTUg0c2xYbUNjUDhQTXF6M1c4TXB0V2NGSHFLT3pDeDJTWmlVRkdaN2h2a1c0dWFyczFDMG95ekFJYTA3eDF5aWZxSFUtbW1Mai1FTEp1Y0xkZ1VOSkJjeGFuVFNSc3VpRjhnNU5iUFBIdDVHdEtiUC1SdmlQd2V2cHdjbjdrVU9RUDNRUnpiUjlLdUpFZ0JTdGFndU1GMlNwVjRDNlJNZ2E1RlB6UDRVajdtNmdDMk9WSjB4RG95ZEdYSnJPa2NiRlhHQnRfXzFHSG1uWUw1cVhVbGJBT3F4RS03ZmJiem91OGhpSi1IeFBTY1lfUHJwOG9ZUUZ0Q29sSkhMZFFHaHBUT1hKd19lU0phRU5jaGczbDVFNkxCNVU5TFlkeTRmSnh0ekY4dDdHenR4Z1BlMnFLN0xBTkRVZXNxZUJEMzJTVEd6cVhzVG43UWNlcEEwcjBzTnlyaXFuSERTYk9vXzNTdDNKbkJzdlNselRiWWFuZEozY1pJN1c2RWsxQlZLeGhVNUQtRGNJb1R2cWNvN0t0WW1pS29FT1hjbG9jQkZLTFhPWENhMVhvUUZsUnRCdGNUQW9LTDNZSmZTS0ZwRUw4VVc3bnZlcTlfcXZ2UFRtMmpUUW96UHAtYjhNZFJDZjFVc3RId1JxeDcyVXNxcDBKbnhTVERaRi10Sm1zdlZHYkJHcVIzZmNmT1lGaExZN3c0UDYxVS01U2NUMWpxaGhnOVVQbDdJVFFBMTlJRHJkWHZrSEotSkZsVXRoVHY2YnNaT3FuMmNNaURjdUdTY3BLckgxMHRnZmZ2cWxSZWcxLVlJTGJMLXJ4eDk0ZER2R3RkXzV2eWNBZjFiY2Qwd3RaRzdLaWg4OVhZaS1xVjZVc0stYWZyT2V4VG9pX1Y5clNPMmZ4RG9GQ0JoV2dUc3RMc1pIQUN4VU82SzZzbFFwbVBpRTFKNldXdjIzYnZORF84Q3dwM004UURsay1TUWlsNEJUZnFjeVdzRHN0Y05tRnJGVkJBMWdGdFdGVWh4cTlHQVUyQ2o1bWtWM2REekgwM3FYLWI2cGdpSlE1SFFWRmw1SkV2bTFLQWd2ajJQRGFwNmhyd3NXZVBIanhjMXNwQ0dJcnA2Sk91LVZQMm84Mk5hWXY0S1UxUkFRai1mdXYtVFhfaG4zSG9Md2lDa2NRaEdpWWpWRjJvVEdDTEhkLV9rVEFRRjZDZ2hDRjlQVXFmdVNaSFlfRW94MG1NdlBZRDB6NURZMFhISUY4UzQ4cExOUE9seUJRZ3pSNU84c0VHZk5BOVM0cnJwVVdJQmpETnpyVGlZMjVqV3V0czNIaHhVUU53X0c1dFFqLS1hVTlCcUItZkg0TVVKNm9HM1lDSHpkcUVBd05MclVWQkF3M2s4NFhkZ0xjVnFhVzJBSUpxMTBLQ1NQdUxOY3ZURHM2WEhXS3kyTHd0UTRHdUN6REhCQWliT19vV0hQcjZyaERKVWcyZTV2aGV0cVBlejV1M0oxeFN0VDhyYUIyT3ZOYk9ob05BYmNwMDRQbGJ3UHJpZ0FFQ0dTMVQ4ODVaTjdqYjlEd1FOckxwWU9Db0lQRGNlaVhuYXg1al9UNmF4LUhadF9jQTAya1JZMFNBSEJITkZOQXE4eUxIdkh1MmJxQkpiUmZ4cEo5TkZmeFF6ZEoyYlpSNmJHOG54dVNUSmVqeXVRdlJaNzBOZUZqR05FaERFQ3JTNUoySTBBVFBaMDVPTE1OUU53NnZERGJBSmR5NV9WT2F6c3BhLWoxM3dwVVJuSDBzWlBJd1YwVWpSdHRjUTVHNzRNLXctZXppNUk2dkdZOTlyUHhZZkZRMlVITnJzTV9COVVxTlZXZk1qcjFRM2Z5cWxuZ2IwUmF6WHRoX2FjLVJiOFBtV3FBYnBvV3N6cXctZnFDQ0otb0drWkwtLXhOeGFjdjBfWDh4QjlYT21NajgyWGFKdkhNVmJpdWZwUUNsWnBPS0E2QmtjQlhqSVM0LTkwWDVneXlhTVd3bHozcEdud1UxSFZNRHBNeVBJN1VKYUZtdkRQcFU2WlhZZXZWRUZEMzg2NVBKeEZDZnBfdVhoWVBqMEFZLVRNRWpPZlIzUEktMjJ4bDl0REEzOUNuMlhzeDNrQ2c1Vkhlb01BbWZsM3YtaWZxUWxnZ0YyVS1uNEJXXzA0QlpOb1F5Y0ZQdnA0Q0Y1c21MVXUwSmVsN3BuMFF4OFQ4cjRLaEVRdWRoUk13RTJtWlc4TEZTeVdobXFzRDRXNVRDYi1QVTBQZXNHMDdFMXJLYkdFV2NaWi0xek5pam1SWUpxUHdZSWRnUmdhMV8wZktCNFcxZEVRNnE5elRESnl6YTNTS0M3TVhhbjR6d2F5aGM0aTc5Ty1NM3JPSUIzT0lJUFc2RjY1MTM1WXlUVVpETGJqZUJPOGZ2NlJCQU9MR0xqXzgyc2hPQUFrRXNJcThPSnVHTWNiMEZUVXVqYUNHQURaLW85RWNhWDdMMm4xanJBNVVEaFNaV2xhQ0JfZ2pFTzhDTTdJV2xYMnVRYTVJOVg4ZDd5VE9TZFZWX0ZDbk5zcjRUdWNvcWNZalpDd1VmaUpSLXJfYWxKbVluVE5RMFphOGt5ZVRWZWZYTDkyNnFyQ1FqSUcxV29BV2FtYkRNUHV6QkJNZG5sWVNyaXMyV2VyU3hFX3RjeTE3djdvaU9Xbm05TGFVam5ob0VXVTlTTjBBSEJ1Mmhsa2dHOGM0TzhHMmo2eEd0QUVURnJJRnk3MTNJMi03eGVCNjNFMjJqZ0FQSlFqbVV4RzZaaExFSFJBOXNHWUt5Snl6dTNmd3c0SGxFS1EzdFpXN0JTV01ueXFYOUJsVG5rZEJrSHVBTkpiLW1JcWl6UVR5ekVodTBLQU5GY2w3OFpaNzYyU0pfdERaQTRhZDhweGR6TVZoZnpvYkt2Qmo2dUlKcjFvQlpIbmp3cFJvM1Y5OXV2bElGSWZBS3NfVmlSRWl0QUdxT29GaTczYlpuWFN5RDlmZ1hYNU53Ri1mcGd5S0VlQk10anM5Ti1xYUNlRFVRYVJaWVNlc1JCOVItMUVNa2pqdHBjSWlOaGxIbGxnZ21tOWd2T2N5LXR4bXRZcTZYRTgwQ3NQN05vSWZIZ3JYSTVwcURnWGtESjB3SWJxRHV3aFF4NWNmQVpFV3FuUDVPSkJURm5BbEUzSWpqdEFnMXRVNi1taUt5c29HNG05VlZUejNGNnh2V0N0aXFZeFVFX01tdy03UXBwcjdQdEV3d3B1ZUNoczZGQ1MwSXY0YTlQUF9Iei16QUt0Zm11Tjg4emhyY3hjcVhJNFRqeHpLenQ0NDk1RW5MLWVqR1ZUR3Q2OG1fMjYwUklIa0wzamlQLVd4NlJaRkVFb1RhMFo3TTBIdnhkb3JORVVsYXFqaDFXRmRKVFV3dG40SmJpeVJFTGthZUNMTEYtdlF4dkVwVmg4M29udUtZakVFV19CUXdrbW9ITG00MlYtZTJ3eVR4Rmt4eWpBNnJFQmk4anh2V0RYeWtySVVYbjRKRXZyS0MyWmZuZklBNUJGR3B5aU5MbU0zSVkxNHhKQ3VRY1g2aFVwajVWMVpfbllBLW1mTFJ5V2Y4MkIzZEVOdzBUZFY5QTU5T2NmUlRlamx3WVdDSEhxcFpPTXJQXzZtUjJmSTlIVGhIVjM1UXhIMS03eWJ5SEN5YTF1dzhhNGdPMkpXWjFqY1dTWDZndm5UTThRazh4bjdGcnFnaWdhYTJ4Y2RiUlhlbHlocUZUX3gtSUlSQUFNbEJLZW94cnZXaTRQQTZDc3BxSzJBSjk0ZVFEeHRjZi11ajQxek8xajJnQTJiNGdicGh1dlBHZUVDUTVJUDJzNzhYczY0SlVPVmpIZUxJdVBQM0laaUZsWGt0cl9SZ3BwTzZZS3FGTXFMNEZlUExHbWVDQTZfczBfdEhtNzJscmFFSzlmWnpfalBwRWYtQ1YwMlZLN2hmM3BIdlBTcmJlZmtMdXJaSXJmOXJrLS1LbWFmdGQtQXhfdzU2clJXLVprdGZJd043ck52bXVPQlZRaVRyZ3o5TC1PeDhVbTFSejRMS3hzRWpKZU5XcE1JWW1ENlN3a01vNVE2bnpLS2tZeVBvbjIxTVVqTTliU0tTUm1MVUVMeEhKN1RYV0l1UmVZRkIxb2l3eVR6OHdZdmtMSUJlNUE0U2ZfVTZPNGh1ZmVXLXJ1c2NDSWtqNmhudXNWSjh1dmpibTRndlBPZC1fRHh5aDJmLVBiZVQyWUg2QXFsQlRZbGZhQV9STXJpRWpFc0ZWamRsYmxVZVVWamxQT3MyVEhIS1U0aUxRSm9yeUV1UFBucGE1dFVJRW15dHBtSjZ5c29adzd3UkFBbkxfTjNGVi1nemtkOFdXejZSbldrdUhWVG5PWE1GUWQ4UlRQNzI2S1otMzJHdGxHRmZKUE1pdUZoOHBKOUl1VkFnTHBoY0VNeGxYbWc3RUViUnVEZ0otbXVqRkdRZWlpTHVLSUpqRFd6dFlnOE1LbTA1M0gzT1AxQldxc1o1bHotZnRSeHZtQm5vOFFDVjYzTXltajhmUHBKMHgwYTc0OEhydVhLTGhSY213SVoyZjJqRExqNGw0a04xbDdmUlI1YmlIMzZHRm01OENLQURqOXlGQ2hBckdmNzNjSkkwX3VCU2l1UHFBMTJRdmNxeF9IVjkwXzdUN2tyR2diTVlkZ1Iwem4xcjN5LVJkek9VVnV1QXphWm9ISmFZVXBEY3E3dVk0ajVrUXJ2WmZtY1V2ZV9iclFDSkNKenJaTkVNY2xtRTdCMjlOVm5DZDVKMDVZZVozb2s5bVlyd0dlOXZQeGZVUmxtYTllT2hFR0ZDXzV5T0dxT0wwWHY4eF9uUWxaaTNNVHF1UWJUTE9pVlY4OG9OeFdXQ1dhUkxIdkpPUzNBMmNsd0JzVFNSdV9ZMHZCQUlacXBtZXY0WXhzOFpWcXZtWUdsRjJ2bk82cm5ybWNYWHRPclFFX000TTJrbXRlenJheUpUek8tMXRhSjRWdkk3ZmplZG1tamU2eTREZmFkbjRlTnAybmVubUl1cmJFeE5mekdINnl6TFMtR3pZV1VLbGFOTXpyYjNYSGViNVBSMTNmZEJZeE81ZmZoUHUxZE9tblFiNXRtYV9pTGpkRlFkQThFUVQ5bXhnOHpDUWFjZDBNeXM0NGoxRXZiaEhzcTViRDFka0pQaXhKMmw3LXlxLU54Sm1ieVdhOEZLeEM5aHRIaEF3VHV2OVJ6akFJM0N2Y09rTnVVcVRaWi1XTFMzbFBxSVhGNjZDZnlSa0VTUXk5UXFGdjYwTld5UXl6ZUhDLU9jVUJuSFhMLVBiYVBKNFpNYTIwRDlYNW80RzdoNjYwMXo2MkJiMEx2dUVJcFg0Z1gxZ3JURU1SSW9NbHZNdDk3NkRCTDc0emJDN0VqT0hEMnpxQ20zT1dDSXREY3NBb0E2Sm5vc2lONmpTWFFEUlJhYXViUVNweXhHYWZNamlIZDlvbk5pb3dGREo5LUxsTkdOckhqNy0yT0lWTVpMMkFIMnVsYWNuNjVJa2pWU2FJdzlfNHh5X1FUOVM5c1B2R0RlZkVja1VMcnJuUi1JRHZTcVFXSXFKYm03TTQxbVhMa3hXLVR1VDM1YlcwQ3RlNUJLRFJKSExPU3lFZHZkdllfV190RnktY290SGF1VmlHZUt4U0tfa1RFeEFDVWxWT3pDcWZIMmlNXzVqdXU1RDZacVhRZlZfekpIYTVURkN0UjRyS1VkVmU2Q0tabjFFZjFDV3R4X2gxeDFLRnRMc2lIT25ER0tJUHptb1ZjcDQ1T0NJY0hjMEJPN19CTHVsUklacFpWcmNlXzFNMzdOb0pGdDkxZktxOXZ5dC00NGdfYVpRMS1ZWmZWYUlraHpxLWdjNWJUcThmN2M4U3JCdU1aaThUWU9WaXlnc0h0U3hWRHNaTFhwcWU1Yl9JWFZ1cEItQm1tRzZ6Zk0xZmFDRnNaYVc4TWNoOVBPTF9PQndNVTdCNG5TdXZ5ZTFHb19udkFvSHZmbDJWV1VnTXI3MERidE9NNjhteEExVlBSS0M1dDJJUVgyN1lRWmhyRFNaTG00OGh0cktVR0NVSjFaMmFSOVdhc0FrclRNODJ1YzdwanFvQzd6R1BhbnFGSHFLdmlzVVk5Rkp0MFZXYXd4OGxXZ2xYWlFISHNEVzZyVmpSNjFJYjJGV2ZCRURfcFUwc2x6YUNZQWl5eEtkQVdzejJfQ3hvR2l6VDhnNVd3YjIybzFad3VPZ05Kcy12SzhYWXVYdkx3UzdILTBrVlhLQkhDSG9SMkh6dnlnR21Qa2tEekpyZnJVN3hzczlIdUo1SC1SSnJacXhmLU5pbUxPWm5nemJiYWpiOUJzcGFScFRwUWwwbmF2TkpWbXNMSTJYelJwVldsWlctaTVWdUhDZkZEMjdORW9LalB6MFRiY0dQZ0NtRUdOdWo3dTRkS0t2NFdsWkxHby1WT1RsLWpkVV9aY0VGNy1vVlBZTXZqU05oVFp3WWw5TEowN2xxYkt6aGE1NE5iZUt2ZTk1c3RVVThibWFNcXd1M1dxUkltNmFiSUtfeW15el9COVRqalZpSzluU2hhWDRNektDTmpiaFk1MXB6b1lrc240akhDWTBxVDJHOVkzWnoyZlZuQ01LdU1ZV0p0Z0E3bXlZN1BQSEtycU1OWnJ0cmNvaTd2YkxkUk03MGY3aFZIemVFenhYZFIxMXBjN1F0VnVpUFlSRWx2UE5GUFBFRkJuZDZPNmpnbGxHaTRWSHoxV2tQOWJ3VUVPellQcXdoQkpvTVNpUnRrakFJd196c0lUY2R2RTFtUWxSMGx5RFJKTU9BQjRKVTdpRWcxU29QSGN2TmZibFphRDY3NUJKcFZwUkZKUk4xbUYwV3lpRUlvOHAxU2Jqa0hWUWxVcXRLZTg0clEyUGtUV0NWRnhsOVJMMzRjcHcyZjFaanVtbDFYYUZnS2ZWdTZLSnFkZnpzUHBHYW1UdGZEbTdkaFdZSUZrUjdhVzNvWUllMTVIZ0tnSDFkZmRDbjBUZVgybVM3UTFHTzJHNVlsUm1FOHJXLWp0Y21xVEM2d3hidUxHdXZiQm1GeTlzMUtyWV92Q1dXcGk4Q1hnMm1KekkxYjlKSFB4MXVvUE1MLVRfUXg2dGhnR0JEeUZpcmVPUkg4ZUhaOE9PMnR2TWk4Rkw3YnJMS3E5a3Uzdm1valplWFpZbExvRGJYTk9Jd0s0UFozaWNZVVRjWUkxWms0OVRpV21NNmR6dmVvamQ4dnpVNGZLRGVmUFZ1WXM3OG1ISG5EYkZ6eklGeHhRa2N1OWNsb2UyS3NZNHJvY01qbllad2d3eW9WSkIzUGJGNnJvZVl3VlFXNzJ4TFpMdktHa0VGQ1dKMVR2YUVRN2dHa3FJNHIzZEE0LWttUm5UQWxzT3dTZFpYZ3NlZ296RzJQUTZqZTV4SGNTUG9lNkRoUk4xbWhLNWZZR19KZGpmSl83LXVkLVo2NlMxZVQtcS1waUc2OGVfaVhMaWJHRno0WmFjZDBWVjNKN1VhMnF4ODRXX1BQQjRTZE5lQkNkYjlDb3ZXRm0xalhUcW9RRWFMQ0c1WTgyMEFTN3VvUGxJejE0R2xocWQxZHFKbmt5REl5UWllZ3JQTG9PaFdjaDMteDlmbGkwTWpiUHRzM3QtOEVDb3piVWlpeVBZcF9hZzFSZUhFbHNxUG1yQUZCMXJnVUI5SmxJMDUtTTRtaEJ5alMxX0NiejVLRHJFSkRfcFBXc0l4eUlSUnNKZWVaNE9NX2NnYlRxN2dCbEdzNGZwR0U2SUdZZzMtVkZ3Y1NXaUhwdmxWOGR4djU0aWhrTUZRVDVBbjRNVXZUM2M1YzdWODQxZzlrbUhpdjJqRElPc0ZYRDlncDNtZGpFUjRsQUNRdUdiVTlmd3Vmc25xaF9PcUdNT2x2TzNqN3VSek5XRktvdGJHZzI1Zm93MmdTbllfNTNCdHRGRFhFdGVFZDdLcGJZYm5ldS0ySF9yUVJobjJpcUNjODRrSUw1amlRVEVPdG9rT0lCQmEyYWUyY3MtRDhIVmpnV05KTHF6bDVsOVdwcVVUV2RDYVJMa3U5RGZ1YWkxenBjOEJKQkM4M00zazZOQTZMbFZpeDN0OWNqNUd2VjdHbC1QYXdidjA0ZFBhMXQwVDBjNFNxbzR5OTJ6YktIN3ZpTzA2ZjJlQWhwYkFiQ1UweEZyX19tWEtnSzJYclNlM2xZcU0yUHdBbVBBU1ZkWHNCc0p2djdfTXpHaWttWmxBSzJLYTV2UjRFeEY0Y3p3NHZvSGMxR3pfbjJpZlotWmxLRmJLTTYzdXNtTHlndHFZN0VGaDFyd0pTWnJIY0d4Mnk3V2N4SWVRY2otVG11RG9xcG9kdXNQenN2R0tQbzM5dHJSeFRuNmVOZF9lMzhNT3BNU1Q5VEtMQmhVdW80WUVaM29IU2phUnA4TEtKbjZjNUFDelREUVo4cVJVaEw2Z2R2N21FRlBpMWFTVjNTLVc1RU1YOFRTRU9oZnpDcmxfUTlGR2lYaW1KZ1dSdE1Na1JHeGNILWFsRzRYWkthdTlwcmhZcUM3SEtiNVZOQkx4OUFhemtxQVExRG5xRkdkNEdYd3luWjdXNHVBRHFfUm9BM29VN3VnQlJzVmNIeC1MNjJITU9PQWFYYnpVZWMwaWM2d2ltVXVpdmJpa3dZSnUyeGgyc09qVHA1QlZRQXFGelV1NDRYMUVpaUJxUldIWW5pNGNFazhpajk1Ynh0bTVDUjBweThzRlREUDBGcXEtWVoycUt6MndiSF94SmVpOXg3bkRxUHlhRDBEaWk2MWR2UVhramtrNGhFSGtuUWpoeUR2NGZLN1hGejBGWUxXYkwwQ05ORmdHeWJhQjJWT2FGYkJQVmdtSjRFNkJxTHdTWE1UR1dVd3g4cjZWU1puQ1l6NjRfV29HZ1BteFFDckdRWXBaWVRXNkFYb3MyWTRtQ2dNeWdDV2hKTng2a2ptbGRkdDZTeFNWdXVlS3RmWkMwNmktYzdpa0ZvM0ZYRzF0YmpwdFN3OFpMbWdWb0k4M19scTNxY29QNTNkVklZVy1GQnUySXJwYU1DZDZYNTJWUEZ1SGhKYlEzWDF0VG4zLXNxTkFvdXdWckZjMmNTbHJvSXRFOHBYdlVaRS1NQTR3QloxejRJYlpjYk4yLV80ZVM5Q0Q0c2xVSlJyQU5MdzlEd3BaSlo3T3NvZUJTWUZKeWw4SFprMWwzTlNDdFpNQUIxX05QODFpWjV2amdrUUszWXpWTDB6SmV1cUJUc2VSb0xlY3BPWEY1V2dEaFdrUFRlY25mdHFMdXZpZGc2d01HRkt0blhnYTVrbWZQbUs0d2xxVUhQR1BSbXZDV1ZZelRUN2pMT01XWFUzVmZsUlpabXpJdzhla3pLODQ5Zm5ZQkR3YnYtWjJvcVhFNGFQUUswUUNYeUczTU9QM0JpcFFXc2VtQ1JLRWdnRlBTNEQ0TlRjS1FKVHQtLWUtVXpMOTluM2NZOWpXUVpPZU9iSTlxTl83MVRPVnA1UE1mYjJ0MEhCTU1KNkxwcVRuOXFQQVF3QkdZYTM5aWRqU2ZtTXNXd013a25naTJFZEZWSTM5Uk01OGdlMnJITVFjRlF4bGhyb3M0aS1kNnlSek04azVNcGRsYW91UDZ3VWlGZ1E1ekdtMEpVNTJrQ09VakxnaUJNakhLZDUxUWs3ejY2YXZicWlvelFRSnlneDlfM29WSzMyMXBFQXJHd0Q2cjBKLUJySWJBamFmYU1sb2xPbm1TY254NVM2dE9rQ1VEXzlIN1RQRjRoUTBBQl9sZmFpNHFoSFAtdi02c2xxQ0xqT0FmTk5mTmUtX2tnU1lfdVpGMUQ2T3FmZTVDOThPc2tfU1ZHalBsYTNrNk1CdFl5TEZpZjdoVktSQkVibk44Sjc1MFp6VHV6bjIzMTExY3ZyZlhpeG8ycUY3cWgzUHlDMEc1YnpiWFFMNmtXc21TS2R1ZGFXN1N4NG9WVHZVMnlHTVVzdWt2ajhmd183OGhJYW95d0RRS242T1p0WEszZFUzczFxVkk0QlAyRUduWXd3MU9INWdKNnd5endqUzBjTWVLbldiWVh1c3NpTVFmdEcyN3l4OThKcFpncGZFemFsaHIzOHE5bGxBc3RlWnhvS3g4ZmRhcnFjTU51WWJLblRPdjZTZkFfZFR1VmgzejZDMVV2cl96MF9nd1VtVWFhX1ZxMk9kTWVVV2IwSF9xSGc2X3FKNFZPWWhOODdFMm55WkcyTElja0VPc2k3TnNNZW9VeHg0LTc4ZXFxTGk5U3BscUgyWEFLbEtTaWQ0eGVlVDV3OVI5YVJDVGZ0cVNxSEpfa0YyTzl6elRDSV9XTkdGX3l1c2R0eER4bllMTHFtNElqUWVzTmRSV2duNURDZ0Q4Q3NqRWZic0lpNVgxWUFUZ29KQS05Z2VuVFV3LU14aEc2WHl0ZjlCM0piSHJoMFZQa2Y1cE5RZjIwT0xPSFMwSVNLOU9QMGx4ckZSQUFXa3A3RF9aNGRIOENySUUtRnFjWHAwc3E3QndSOGZFRUMzMWhicjl4NEp0T1FiRnN4NjNSaGEzdTltOE1NSzNUeUU3eWE4aDJVdTYyT3p1Q1JrSl9mUnJEODc5cEl2T3RRYW5rYzRJUE9Ia2tiNHV5SWxiTEo5QUF4eGdXZTBfRWdhYnVPMWdDTVJDUG56RWFHel9pajNmVXFFVmpXVzF3WFZXUjlVOGRiS3N2UFd3TkV3dmNJeXF0X0ZlMzFaM0ZsVEF2eDY1UlpGQV9XYmg4bVF1NGg1MXVzazNBWTRGdUppdWpFZVBnNXNLcFZyaWRXbVpIS0hSWndjRF8tNG1CNVV3b0hRcXhWVEZaRjBlcXJ0T0FXMGdXb0l3OEdULUpWelVrR3JWQ0JiemQ2MHJHNE51ZDJzZjUxMnN3MXFOZGhGZXFoT0gxMWJCNzItLXhkOTl3aHl3MVE2a3o0Ym9OaHdpRTA0cmtBdGM4RHpVczFmcldoLmd4amVtYTRfSkxNQk9mTV9LNWR4SDd3aldzZ2hzSFJYNTcxNnZGWmFnZFEiLCJ0YWciOiJoc21fYmFja3VwIn0seyJjb21wYWN0X2p3ZSI6ImV5SmhiR2NpT2lKa2FYSWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pWW1GelpWOWxibU5zWVhabFgySmhZMnQxY0NKOS4uUjNJN2ZhODFxMkxiSHRCSlNld2VCZy50Q3BZMlZBWTlpZHE0YWVZaEh4c29HVlcyT3lKdTdOVHRvbEJZYUFJSDBsNkFXR09IUDZrVGQwYVp4bFV6dDYzbjV6WUwxa3hSeFdMVEJuVUFYTG1tT0IwZjZlS0poYzdmSmRVZTU3cDhNTDRjSktIbDJSS1FwdGpfRVQ5VHVOc0RZZ1ltVXg2RDN1MllWak5GcWMxcFhVbUQ3dW54dE05eU4xVFNGdjNWY21BNHFmNXZ1T3Z5Q3NsYWd0T1pzbkthR1V6ZGpZak9RS0pHRXoyeTdZSVlYT0tHLWljZ1h0Z201Zl9RcDZIWUJlSWFobi0tSDhMS25uT05rQVRKdFJRQVBFUllrTEtuZHNaN1JLNmFacnFaR25SRm9FRDdNWkloRG4zWENKQ2xZZ3Fsemw3a2FHQlU4ZUpsZGpKMjVnTnIzdTIxamZNeDBDN2o2ZUZaOTd5NFJhQ0JGUUptUGlRVWFmQkdYSDJPTGNBS2lNOXc2MWtzRjU4N0V1cDk1T0tYSjBrSEZ4OG9oVmlxbGJnNVV1QjhaY3l0eHZ0S3pmWG5RVEJqS2ZDYmJvYlBkU3FrNVBEVWtCWWJ5WGVSS1ZXMHREeVZFZk9haldzWE0xdVRsWXItRDgtQW8xV29jT0hBYkhGM3h1dVBhZnNEdklYcTd3Mk5fckJwOXZNOWpPQzBqdExEeldYeFlwcjIxWmNIdmhwaWJCM3F3ZEVNS1pfZDc1SkM5Y0VmMU85LUlNaVBUSVpja1podEVyazVQQVI3ZnJYQVBBOHJrVjJtTVlJQUxOWV9EQjhDcHVIR2JHeGZ6cE1iZ2d2U1R1OUtacV82YWhIbGVIT0VqRklXNXpiWHp3NG05ZXpMRHpQTnJzWUwxa25uLXAxT0k4TWdzZjVmd1hZS1NtT1VFeEZDdUI2NDd2dldhdmg5eXM5YUxZWFNOb2pEQWxqZlRrRmU5RlVVdUZLSmV5S0V5a2RDS1JPZHZlSXhqSHk4emFBdGNBZGdVSXAwT1FWdkFON3VnZkI4SVJQLWU1a2k1VlptNHpXR1AyQkVWTV92WWxlMkE2VEp0SDNMUFQ3TVV6VGxvMVBVMWtLVExrZ3EyVWp4MERldmZrLTg4WjNTbFhVZWtRVG5QV0lZY2lhY1hDMVptenRVQVpwYTBraV9TcXVmRjNmdGQ4TFFJR3dFNHpkZGZtc0R6aWxlSFpLR3ZUZi10MUtkTm9VbkJtYnFOb0JObUR1blNuTHlBeldFWE16Z2VIZHBsLXZLWVpTUXA5ZnJpdkRlV2ZlOGxXVmJPUmxiUDRxNzlKQ2tVZHBoMXJnM2l5cXRjaHpMa0J4N1pqeGJkUEZ6MkU3Q1B2UGFFYnJUZ3o5WDRUN3VZa1JVTmtDRkpscF9NS0VfdEthNXNwREwtckx2bHgySlV3ZWpXUGJyRWdWRDdocXdhVklMNXdwZzhHSlI4eEhpeVdMbzNVcU1fU0FlZmV6MUNDcElFb1QwT1E1TV94VTlhNWp3bDAuby1JSU5IdzFXTlJBc2xSRnE4OGlZclllTmVibVRhOVRrRlB1Um9LRl9lWSIsInRhZyI6ImJhc2VfZW5jbGF2ZV9iYWNrdXAifSx7ImNvbXBhY3RfandlIjoiZXlKaGJHY2lPaUprYVhJaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2lhMjF6Y0Y5bGJtTnNZWFpsWDJKaFkydDFjQ0o5Li5XYW82Q1FQYXdIN1lGRXdHN2Uza05nLjNVSWh4SGFtV0FLWGlBUG9qVzNlcW56NThRbEpPQm9OcDJGcHVzT0k0UXR6RmIyZHM0M29TVjl6Q3lRaklrc0ZYRko0Q2Zra0QwQUhxQUtna01LZ1JWd09aT2xyRTJHZEpKRVk1bzk2QlU4eEhqZF9BVFo2dlFiMlVMRVIwRnFUZnZIOU5yZlY5SGRfX1lUS01UdVE2ME5XWWtUX1R3TUxRX2kyRDdHd0J0S3pLN0FnbEVjbVM3RXpuWHA0Zlk2RmJRTmN0ZDNjNHpWWUFieDJxbndHMWYzTDNaMndkZGdySVhEMmJlam5RQmJMX3VIRWJUM18yM2hZeDZFdHhEQ3E0bXIzNXB1MVNINDF1UGlnQTcyNG13clNXYUR3NkdJRHlwZVpzc1RYNmc2RXQ5ZHJ2aG85UHpZTjNtdkxpR29PdHBPTUN1cTFyd3J1QmZNMmlkNkdfU1FMT1dkR3NQOWdIUEsxV0FYZTQ3LW1qWXBkbGhiaGFNTjFVaVJBZWxORVR1al8zaDl5Wjl1aFcxbm9TOVdJYU9WekxFVXBDZnJNTVlMLWdubkxuUXZWSkhWNjJGTUQ4V2VkUlUzelVSSzQ3VFZxTGtzY2RoYmxNZUJHUWhJV0R4aEFuSzNHcUFOR25ZM3Bnb1p6QzRTdHVfWmNNS2tsMVZ0bnZiZUZoTExHMnpmMFQ0QTM1Q29ZVHV3TnV0LUNVS0prOW5mZ0x5YXZWNVJGclg1cFJTV3lGS0dUNzY4Rk82MmhBY3pCZDhVeVdwdVJvNGhZZkZjOUI4dUNKZ21JSF9KWXhRVlgwMjh1akdyYm04cjVFa01GNHMyN0RZWmkwRTVCMkZGczNLOEsyQTJxM0l0R3ZKWXdkc2c1Q0g3eGVhelZGNmtjTW5vU3ZvM0c2MVp2WU1lOE1wQ0c0ekMxekdTeDdHSnpjRkxyUG9OcWVnTzhob1p5YzJOSzc1elBFWUN1TTkzcTB1Q01QYTlQbmxPV2tLZzVzX3RLTVZiQV9sMEd2eHdla3hVUlRKSzBXbjRxc0diLXRqb3lmdDd0MmxzcG9LMnprWEtPRGFSUlZfUXhicmJxYlFzSXpGLXIwNnB6c1JRSExGTlR4WUJBX3Yyc1BBSXFkSGowdEpLcUs3UG5XMkk3ZW5BNE5UM1NaOVp6WkdCY3Jua3R5Mm1fQVYyQTNWaHRlRk43X0I4VUVnYXhKenNLNVZkQnhGLUJDNFZlSkdvMXRLcXJ0WktQX0dqQk1NTGxiNlhZOEVoS3BQT1M0a2RIQnNsVFdPLWNwZzhnNDZxRnpmRDdqOE5IUTF4UkJqRmZ3ZnI5ZjB0YjhZckNHek9RNWMwQjdGQUxDSk5LSUZnc3JWallkT2Q5b1l1QTV0YlpmdlJBdDJHTllfLVRId0xyMHBZYWQzY21XTU5VUFBjd2R3cjRqNkI1Qks5amJRX2d0UldGcUF3SHVCaHRCbklpajF1UFRPNDZlRmttUXZWT1E2dll6M015M1djak5Lbnl2X1dmdGdHVFJIdnM5RXlfblFMZ2ViV2dUSGI3S3VsVjhKN2dFWTBOOERob3Vsb0dVTXFsaVh0bjZqYWV0VWVSQmFoT2hUbkkxWGVaNGZzdGdpbHc3dnhEeFI1dTVXcEdHQWtHMi1kc281b045QVVEcHh2dlh4Wld3S0g3NkNvcUZqbmJIQTBXVlh5R0hENEw2SVlrQThkWHhncFltOUU5OFM3YjRnaTEycTB6TWVMR2Y3dktJRG1ObWpvRVZoWEtGS1BOXzM0RjBMeE1NVWtfMW5BM3lxb2FXbUd6UlNWV3EtLXloa05QendNSDF4WDJrQ1p5b1hsZ25kSzh6dzVkSXBza2RsZkhuU1piMVpEdjZtTWhQbklLMWhhblJZb1NzS1ZtZG9wRUhtODdDVFVpWUVydHlPSDdmU2FpalR3M1dUUnY0N21VcUdvdTBXdUNIZlJlVXMxMFYtblJpYWNoSVBqLTV2U1NNS0NTcFdscWJ1Q1V2RDlsdnktRVNubEw0T19abEVRckRnNVRTSUxZNU44WGw5cVM0eDREd05DR1ZiSnZJMUJfeE5CTkJmRFVmcVF2UXk3UlU3d1ZhSHFLelIyM0h1eThzQU8xV0JXMGpCdW1RSjI3NUpHZldTVngtRjFhXzhIWkcwR1ZLczAySXFGdDRTOWRyMENPNXRHMmsxTnNzTXVrWXl0YnRzcXJJdGxzblRRVjdiTUhFZ1pGSWJ6TGpBd3lhUWM4NWQwSXhsQmJibUJZZUhkWnRubGRkdGs5QnZ5NHNqckRnSVZlQWVwdVZxRjNONklrcXVJM1UtZ2p3S0FjQTNKMVJkZENEeXJMVTJhakZGOVdhU0FuYWlOcXJ1R3o3WVY5SDFiaWlkWFJiSFBoRXNFNDNLMkpoX2ljOVBoTFUzdlBXbGNRODV1R3RrWkxRTTNlbUF1RzJLR1NGQTcxd1pyb1hocVRIQUxKNWpLTElhQ0Rld2hfTHBOTHNjM3RVS0xOMDRaVjJHSDhTdFl1N3ZlOUE2QXlTcmhUZjFKRGV5aWdael9kU1ktQXNpaGszRDFjSTN4Rmh5LUdsZTNWQ3ZPRjFSTFFfZHh2NjV2bldTWkdBeHRNdXFHV2VNTnVZY09saXplRGZnNFVuM2RPN1VpdDhpb1R4dU1WMndyRVNPVXpRdThpb0d6TzNpV3RXWWxfMll0LTF1eGZVRjVMSF9EOW9pazFpQTJ3RE9ydnFJemhBczJGakxMQmhqS3BIcWViODJTZ2J3elJRbzJFQmZuenJiMzBWNmtPTjUzOEJkanRCS0hvYUdJSnhLUnNnRjZzUkkxQy1uSVR4NWFZeVhJMExDU0JBRWU5eUpUWkxVV2tqT3AtX3pSSnZfR3dkTnhTWnZMSEdkcFlWT3ByMTF6OFU0azhYTE1xSnRhWXAtZk1CcVh4eWJMZDNxaE1kX1B2V0dNdlJHYm9pd3F3cnYtWllwbHU5Y1I1a1RvZmlHY1I1SFpaWXhTcjN1ZVVubXpjY0kyRUJNQVFqc3UyLWthU2NLMnNWang2emNUaHU0UFBxSXpELVpzdDlRbGpqVGEtZW5kU1ktby1NUjFvbDdkNjR4eTViVzM3Q0NOcHJYX0Zud3djaEhCMXVHUzNLbEx3UUxkV0NlX3dPYjY3NDNNSHFZamExNm4zdW9UZFF0TVFIUkt6N09kaWl2TDF0NGJQdFVrZVFfZkpsRGpDbjJTRGpRelBUWWY4SlY0eFpkTFZlcEE3V0NaNHUyWXNyUFBKUk1SdU51M1VNWUVxYjVhX2lzdXJJYzJNRDUzYVJpZHlxODBSN1lkaVRIMV9oZDRfR3pEWTd1UDBqSm51RHV0SUNNUkJLNTlqejIxWWpydy1ycGdnNFFrRlQ2Sm1CbnFSS20tWC1YTlNDMFdLeFJGcjRmQlFLVXA3bEFfRDlIVWdzdjlPUE9RREF5V2ZVMzdja2ZfWEFNNERiYVJZTkZrdEk5enUzazhWUk1NRE9PdVJPdTM0WHBhU2VUaVg0Z1ZtdHp1bDkzUnd2VUplMDBBT0FyQU53ZmpKRUZHSU5fN1ZxMWVHTmhsWlMwSkZBaXY0OGJzU3cwTTB0eWpmVGMtZlJrMWh1UUx4cC1HOURyMHg0V2ZaWC16dVgzaUx5VnRsdkIzNHo3eXcxSTU4aklTeFdMZlczRXR5T0xod0RKb2pYTHJpeU5fWnJRQ21BS0tfZ19NU2hvY0FLMlo3S0wzSy1ETGw2NnFLR3RwV0FkS0JnNWxsWS1YUXJjWnF2MGlkbWlaSndqZ2kyZFg3VmVmVUw2cld4TkQyM05Vb1U3QUVVempzdThKMHF2ZmQtU3h3SHpseFpLYUo4NTV0aTdTS2RUNThUY19MTFN4UDFXUXAyaENOdkJ2MDJQNlJ6VUR0LUNSSVZOWWpUYzFaVXNSTzByRExTMERmNmxkekZWeHFaUnh6eTlpQ2ZhczRFVndMNW84WHJVbmh0elFLamNUY090bjVyWjh5OHZidUhGWkdyZlMzRG5vemNuc2dRekVwWGw5X0cwRlYwRFY3bGN6TWlEajk1eGh3cnJtbmttdlY4VktZOFFTSkQzbklYOTlCZ05LWldyNmdWWm92RHYxUmpBd2JiSlJOcnJDYS16R3JoRW9WX0pPUGRITC1OZlNsNjA0TnhvR1NIR3RtekNCUktQYjdHNUJfWFVsUGE0NEZReXgtSk03RmlxbE45Q3lJckpkZVRXcWtjalFEWk9Mb0M0UFB0Y3ZDZldCOFZ3N3VCN1Rfbmx5emlFZk9zVkd5S1VUMGE1Tm9BdkZpNVJGSE9Xalg2bkJDWUZOaHhUWVVkU0R2RFRhOWlYN1Zyd3NNaVRvMGxCbzJQMm9OQng5Q0M0ajNVaTVOV180eDJNdWlKSEtqc3dXa2d1cDhxd3pyeTlxYU1fSDFFdXZVZWl0X09kRTN6MFV4N3RkT0QyM0lqZFVuTnZ5eGROMTVYcGU0Q2lReGJMU25kME9KQnpoWHZ2V2ZyQlVnZmttMkYxVjc1V1J4Y0h4NmFrX1Axay1oa3ZGb3dGZnEtZUR1cEU4aHM1NFdGZFFBSmpYczV3MzdkWXZNUXh2WXdKa0VwTDNiN3ZkRHdJWWNqRlg5SWctMmJJVTZJNnNKX1pwYlNONlpjbG4yaE5tblg0WmVZNHVQRTAxVVJlNm03R205QWZwRTJhS2lPMS1pVm56SkdBOElKUHh1NXp0WkxtWUNPaG85Nk50V1VzR1E4MEpTbmgwWXVELThZclhmWnBLSjJmRGFPODZ4NVB0NWN5UVJYc3h0ZTBPUjhGMDd5Tm1nclNIZ2NGMEJGTG5fd2xXbGJUd2tiRHk1ZWRhcWVFMFdZdEY1Mnl1Zjd1MnZvZXhZckEuRFVIdHJDMk1iVVhUZ05XTTZZdlppMkdIVkpMenJsY2dVVXF2RXBrNkpCYyIsInRhZyI6Imttc3BfZW5jbGF2ZV9iYWNrdXAifV0sImtkZiI6InNwMTA4X2tkZiJ9LCJTaGFyZWRLZXlzIjp7ImVuY19zaGFyZXMiOlt7ImVuY19rZXkiOiJleUpoYkdjaU9pSlNVMEV0VDBGRlVDMHlOVFlpTENKbGJtTWlPaUpCTWpVMlEwSkRMVWhUTlRFeUlpd2lhMmxrSWpvaWJtOTBJSFZ6WldRaWZRLk0tQXhHUVlKNlVDQ0xtZVhwOWdTUjJFVTFsbktMRXEyZjFWd01uT0pXaWFMRGJIZ01sX20tRlZ1X1hsNEdNczM2T056YTFJZ3FEM19aQ2h4dmJUSzRtb2JnczlyQzBWR0tYeDdHN3FkbTdNbDhFVGZCampMTVl3ZElReUdyeVREWVdYZW5UdEFacVpJNnc1NmZhX1REMmhzejNGQ2NkLVBmdExYZm04aDFMaFlHZVlfUVlqMzBPeVhlV29FZ1ZndzYtQ2d1RGlhNUdxWjhISl85S0Z4ZVZPQl9zQkt1QjdWWmdpRjN5LVVkQ1FNV0JSSkhITU5mTWs0QTV1bU81aWFRbzFVN3pDekRDVGpodjBVX1U5U2ZOdHFFUFdkbFZxanYwdXpaNXJOSUdxQjI0cE5NT0V5dU8ySDZWTi10R0xkX1pLNlNHUmNPc09BVlllazN1WjZyejhiekFZRVVYLXlXNFBUUWV2Ujg2WlJzc3BIdXRjYldaNi0ySG5YUV9UUTBJNFMtcTJIVUVUNEE1QWk2cy1NQkFLeDQ5eFV4c1VDUmxQTHFnUGUwRERlaDJmOVVpQnRGQy1pazA4ZXBYa2xHVnJqVWFXLTU2RUU1b1R3WWN1bVpNMy1nUHdPV3JUN1luRThWd3BveEt1Z3Bua01YNENJZWpOWTlCRzVlcGxfc0VfLTRpMWRpaWprdDR6UUtDNHVTOWhDMXRSdVdfYW5wZHBpd3VYUFVOaWRNX2VpWDVRVWVNT256cVFjLWtxcmdRR1dUYVp6S2lyZGNQOHpsTzdYQnZWaW1Rc2V3dVVJZnVfRVpMQ010WVdLZEVLTk5Kb19LTTB5bm9qZ04zcmxia1N5ZWRTcE4wVXVnTjdPd3o2YmZXM2xSNHdKajhOclo0bzM5cjBLVDhZLnZjYWFxQ2RMM0U2U2wyRkpVeFZNdVEubXFTa3RpZ3pYbkZpTkhoUTBXQ1RheEtBODFYWlpFU1A4QnNuMlhTSFlzRnpOOXZOdHFRN052d2I3RFItSnJzaVRRRWxZb0NSanFyemZCQm5EbC1Vd2g5QS1LanBzUFJKcXRHd2dSWW9vRlUueW1ObTVRWlJxeWdadjdoQ1dmQUJpNF9KRHI2dmdQNVFNQmpoMEd2WDlMOCIsIng1dF8yNTYiOiI3ODd2MUR0V3E0OU03bzB6dlRRbmp0V3gzdmNTc2xZZzBxYnoxdlJUa080In0seyJlbmNfa2V5IjoiZXlKaGJHY2lPaUpTVTBFdFQwRkZVQzB5TlRZaUxDSmxibU1pT2lKQk1qVTJRMEpETFVoVE5URXlJaXdpYTJsa0lqb2libTkwSUhWelpXUWlmUS5ndUFieGdOUmNDcXJNOUF3TnJEOWR2VnFBcUYwSUVuUjBTbWZGR1Q3T2hpUDhZdVVKbFd2OUt1MmVva05GLVZrbUZuZkdfMWlIVVZoYUxNNEN3X0RBRjQ1YnVtMlBCc29qcEYxY1FNTDJPR3NyZ0xnZG1sMWNtbEpKaXh3UGk2Y29TVTgxMGFrdTdpalVVU0xDSmlSaHJvQnpmVm1PS0lqQ0duaGVEcl9pdVdwN1NaUkRsejYzaFMyVGh1bXZ0LS1TVzU2TGxSeHpLelJaeFliOUctWTBvYXF4UkhsMThLSWp6MGZNeEswS2ROMk5LQTdWaDZEUnlRR3BvRUFZTjRtYkxJbDgwb3A5VlFCUE1uVE1KRnRHY1pQV0JvNlVDQk9HRTN6eWUyRGEyakZnTGtnOV9xRV81MXY4RGllZUJYY2FGTFlzV3lxbTZRLXJnczFxNlozVktEZkNONFNDNllvSFBsd0xCMkIwOTJDdzNkM0kwVm52eUtTdndmMEdtNW9zUG9tbm1SN0NXa20ySGVUMEFJbFJoUG41Y1V1T3ZjV1BhNFFtbEdyRG5sZ2RTOVRqSmdjVFhQdEVLU2ljWmtYdFhtdUtNUHVNbmNSVFNOVHI0WGZ3aUJtNEFtMjJKd1FtN0xPS1M5X2cxNi1DMDFTcFh5UDQtNkZSV3NZMWczMFVjZkxPS1pjRWVtUTVSVGRDWkJRU3dQMTZEZ05PLXluM2JTUVl2ZGFUYm5qV0pVSjEyTWppMXMwckxMdDFkOE5GbS1XRVVXdUFZd1B5YlJLa2JBRXdFajR0MjhyRmZHaFZBdmc0R3otSHh3OHFLLUhuSkNwWVFtTXFqT0hpaUN1OWNVUUYyeXBmTGxEVU9SUlpYd1Bobnc5NUNWV3JPcmhWWENIVWk5bUwtdy55dFVSMjVSVjg5WFNjR1JtSW83MWxBLl9TWGs1bzF5Wldpdk5NbGVIYl85Z21NeWZuNjZwTFdyLUxhbVZ0VmhjNHFZZlg1RFFiSjFoalVXYmVtcHZRc2hHVUxqX08xMkpKbU9tblZLRGYwR05FbnJGOUlFRlRpbzJPZy1TeHNKdTQ0LmYtRnlTYVg0Y3pnSGM5X3haalAyeEdibDl4bnRvMzBNMDU3VnRCaHNrLUkiLCJ4NXRfMjU2IjoibmhHaVdaM3NEdWdBS1pObnBVNGY5MHdYbFpRTTAzR1Y2UGZzYk5MczhObyJ9LHsiZW5jX2tleSI6ImV5SmhiR2NpT2lKU1UwRXRUMEZGVUMweU5UWWlMQ0psYm1NaU9pSkJNalUyUTBKRExVaFROVEV5SWl3aWEybGtJam9pYm05MElIVnpaV1FpZlEuZXRadTJjek9zVTBBZWRRSWdnamxsNFZIWk40SFlXc1FpZG9EdUx0VVlSMlUxWnBLU3RYSjUtUjduUm1Mdk1USVZVQ0pWcU0yTkZxNjB6cjZMZUc1VXNPY0ZGal9MQzgyMlRyMEJJa1BaZnRWZ1gzUnJHTmJzcmNKWGtxcW9fa05WNDM3Tl81VlgwVE5ldFZURk13RDM4Q3FXX0otQkUwd1JKQ21FTVk4QlpvckROc0dOTnVhUlg1bDdod0NRX1RtN1NKRVhlNGR1alJXVEVEWXM5dXdMelgxcFplcVRFa0NfZTl0TVd1Q2ZDZlo4Q1JyQ25oQ3oyemJ2bUQxSldaVVlRc253a3I1LWxtZnQwUm9UczF2cGVQbGtIdjl3UkplYkp3U29KUWJjQ3JPMlJRRE9od1BCNkdXbk1WTTY1WnU5MVh5V3RQNFdjUHFvak5wdDZHSEZPdmEzX3RTaG1LV3RYNXhhM0dzUUVJaTNCSTdGOVdMNEJ1NkhqclFkMDVjcHZVcm80X2hUeURiWUtET0g5NFlPVi1qUXg1Sl9RUXJWVnJDbFJZd0Y0ZjMzcFItTzJJbnh1N1UzZGJNLVFQNDlLYUo3Y2g4MkpmOTRxY2N0dGJoVGpxNG5TdzVNV2VjbkNQZjRIa1JjdWw5RGtJZEVwY0RIMmRaVXFkV0JHYjFuRWNldlc0NDBUbFJuNkcwVHhqSzBaX2dpekx4dXVsZklPUTEySEpNdlBjWXd3OV8tMWdGZWdUdDgzb3N5OEJmVjNwNDA3eFpXRVROUFR5ZWNMNTV2enRKUjJjUjZLWmRlTkdsNlpENTgwNmVPYzlaUGIwS1Fnb2I3MkRVM05mODJidDN1cFB0LXEwaFNuZzNIWHpUZUhWYlFRV01NWmxBcEN2aHdpWml0SGcuY2c0d2tyQ0p1YzVBbmJaY2lQWVhDUS5YOW1Hc0QxdWJSU0lFUzBiclJiOWhQU0xaY2tTaGNkbmtBRzE3MTFpcnpmcmlEMWZwS1pna1RwQzZfQ2daTnBiU2JHT3psQTZkZ2pReXpxM0dFN1JGa0MxRzh4cW9DZE8xTVp1MUVsQzdXMC40dUZFdEFSUktzVHdxWUtjRDRTNm1HQ2JNZmhxeU9xd1VHdFpPMWtYNExjIiwieDV0XzI1NiI6IndkOUVyWmhYUVppeHB3TTZPLUVCOWNLQWlBaVM3YVdnUkdkQWtNMU0yNzAifV0sImtleV9hbGdvcml0aG0iOiJzaGFtaXJfc2hhcmUiLCJyZXF1aXJlZCI6Mn0sInZlcnNpb24iOjJ9"
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/examples/securitydomainuploadoperation-example.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/examples/securitydomainuploadoperation-example.json
index 0a9caadd3972..9e5e99093492 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/examples/securitydomainuploadoperation-example.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/examples/securitydomainuploadoperation-example.json
@@ -10,7 +10,7 @@
"202": {
"headers": {
"Retry-After": 5,
- "Azure-AsyncOperation": "https://myvault.vault.azure.net/securitydomain/upload/pending"
+ "Azure-AsyncOperation": "https://myhsmvault.managedhsm.azure.net/securitydomain/upload/pending"
},
"body": {
"status": "InProgress",
diff --git a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/securitydomain.json b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/securitydomain.json
index 7257afea5782..c0e5853eace1 100644
--- a/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/securitydomain.json
+++ b/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.2/securitydomain.json
@@ -233,7 +233,7 @@
"certificates": {
"type": "array",
"items": {
- "$ref": "#/definitions/SecurityDomainCertificateItem"
+ "$ref": "#/definitions/SecurityDomainJsonWebKey"
},
"minItems": 3,
"maxItems": 10,
@@ -252,17 +252,6 @@
"certificates"
]
},
- "SecurityDomainCertificateItem": {
- "properties": {
- "value": {
- "$ref": "#/definitions/SecurityDomainJsonWebKey",
- "description": "Customer generated certificate containing public key in JWK format"
- }
- },
- "required": [
- "value"
- ]
- },
"TransferKey": {
"properties": {
"key_format": {
diff --git a/specification/keyvault/data-plane/readme.md b/specification/keyvault/data-plane/readme.md
index 8f5488fbaa14..d2893e2d923e 100644
--- a/specification/keyvault/data-plane/readme.md
+++ b/specification/keyvault/data-plane/readme.md
@@ -144,17 +144,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.
-
-``` yaml $(swagger-to-sdk)
-swagger-to-sdk:
- - repo: azure-sdk-for-go
- - repo: azure-sdk-for-net-track2
-```
-
## C#
These settings apply only when `--csharp` is specified on the command line.
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/ManagedHsm_Update.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/ManagedHsm_Update.json
index 0d672d316c09..8efe883a494d 100644
--- a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/ManagedHsm_Update.json
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/ManagedHsm_Update.json
@@ -43,6 +43,9 @@
}
},
"202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1?api-version=2021-06-01-preview"
+ },
"body": {
"properties": {
"tenantId": "00000000-0000-0000-0000-000000000000",
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/purgeDeletedVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/purgeDeletedVault.json
index f39a347c1094..ae7455752e2f 100644
--- a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/purgeDeletedVault.json
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/purgeDeletedVault.json
@@ -11,15 +11,6 @@
},
"202": {
"headers": {}
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "",
- "message": ""
- }
- }
}
}
}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/updateAccessPoliciesAdd.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/updateAccessPoliciesAdd.json
index 58c13c9dd8ec..6f199852e2ee 100644
--- a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/updateAccessPoliciesAdd.json
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/examples/updateAccessPoliciesAdd.json
@@ -77,15 +77,6 @@
]
}
}
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "",
- "message": ""
- }
- }
}
}
}
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/keys.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/keys.json
index f10f60b8e6cf..272c2aafa28c 100644
--- a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/keys.json
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/keys.json
@@ -383,7 +383,8 @@
"verify",
"wrapKey",
"unwrapKey",
- "import"
+ "import",
+ "release"
],
"x-ms-enum": {
"name": "JsonWebKeyOperation",
diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json
index 3dd42bd0bdfd..07f35d503f44 100644
--- a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json
+++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json
@@ -332,13 +332,6 @@
"$ref": "#/definitions/VaultAccessPolicyParameters"
}
},
- "404": {
- "description": "The specified resource does not exist.",
- "schema": {
- "$ref": "common.json#/definitions/CloudError"
- },
- "x-ms-error-response": true
- },
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
@@ -608,13 +601,6 @@
"202": {
"description": "Vault is being purged."
},
- "404": {
- "description": "The specified resource does not exist.",
- "schema": {
- "$ref": "common.json#/definitions/CloudError"
- },
- "x-ms-error-response": true
- },
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
@@ -1117,8 +1103,10 @@
"restore",
"recover",
"purge",
- "release",
- "rotate"
+ "rotate",
+ "getrotationpolicy",
+ "setrotationpolicy",
+ "release"
],
"x-ms-enum": {
"name": "KeyPermissions",
diff --git a/specification/keyvault/resource-manager/readme.go.md b/specification/keyvault/resource-manager/readme.go.md
index df788384ab81..b1da7c75363a 100644
--- a/specification/keyvault/resource-manager/readme.go.md
+++ b/specification/keyvault/resource-manager/readme.go.md
@@ -11,7 +11,7 @@ go:
``` yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/keyvault/armkeyvault
+module-name: sdk/resourcemanager/keyvault/armkeyvault
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
diff --git a/specification/keyvault/resource-manager/readme.md b/specification/keyvault/resource-manager/readme.md
index 1d75e290a39c..d7744c19bc1f 100644
--- a/specification/keyvault/resource-manager/readme.md
+++ b/specification/keyvault/resource-manager/readme.md
@@ -183,6 +183,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-node
- repo: azure-sdk-for-js
- repo: azure-sdk-for-ruby
diff --git a/specification/keyvault/resource-manager/readme.python.md b/specification/keyvault/resource-manager/readme.python.md
index a2a5ddb5284d..0b058845a74c 100644
--- a/specification/keyvault/resource-manager/readme.python.md
+++ b/specification/keyvault/resource-manager/readme.python.md
@@ -26,6 +26,7 @@ batch:
- tag: package-2016-10
- tag: package-preview-2020-04-full
- tag: package-preview-2021-04
+ - tag: package-preview-2021-06
- multiapiscript: true
```
@@ -34,6 +35,15 @@ output-folder: $(python-sdks-folder)/keyvault/azure-mgmt-keyvault/azure/mgmt/key
clear-output-folder: false
perform-load: false
```
+### Tag: package-preview-2021-06 and python
+
+These settings apply only when `--tag=package-preview-2021-06 --python` is specified on the command line.
+
+``` yaml $(tag) == 'package-preview-2021-06'
+namespace: azure.mgmt.keyvault.v2021_06_01_preview
+output-folder: $(python-sdks-folder)/keyvault/azure-mgmt-keyvault/azure/mgmt/keyvault/v2021_06_01_preview
+```
+
### Tag: package-preview-2021-04 and python
These settings apply only when `--tag=package-preview-2021-04 --python` is specified on the command line.
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2021-11-01-preview/definitions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2021-11-01-preview/definitions.json
new file mode 100644
index 000000000000..213f0f56a571
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2021-11-01-preview/definitions.json
@@ -0,0 +1,165 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-01-preview",
+ "title": "Common types and definitions",
+ "description": "Definitions and parameters common for all resource types of KubernetesConfiguration RP"
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {},
+ "definitions": {
+ "ProvisioningStateDefinition": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the resource.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Creating",
+ "Updating",
+ "Deleting"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "OperationStatusResult": {
+ "description": "The current status of an async operation.",
+ "type": "object",
+ "required": [
+ "status"
+ ],
+ "properties": {
+ "id": {
+ "description": "Fully qualified ID for the async operation.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the async operation.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Operation status.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Additional information, if available.",
+ "type": "object",
+ "x-nullable": true,
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "error": {
+ "description": "If present, details of the operation error.",
+ "type": "object",
+ "readOnly": true,
+ "x-nullable": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail"
+ }
+ }
+ },
+ "OperationStatusList": {
+ "description": "The async operations in progress, in the cluster.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OperationStatusResult"
+ },
+ "description": "List of async operations in progress, in the cluster."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "URL to get the next set of Operation Result objects, if any."
+ }
+ }
+ },
+ "ResourceProviderOperation": {
+ "description": "Supported operation of this resource provider.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "name": {
+ "description": "Operation name, in format of {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "Display metadata associated with the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Resource provider: Microsoft KubernetesConfiguration.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Type of operation: get, read, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of this operation.",
+ "type": "string"
+ }
+ }
+ },
+ "isDataAction": {
+ "description": "The flag that indicates whether the operation applies to data plane.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ResourceProviderOperationList": {
+ "description": "Result of the request to list operations.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceProviderOperation"
+ },
+ "description": "List of operations supported by this resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "URL to the next set of results, if any."
+ }
+ }
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2021-11-01-preview/parameters.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2021-11-01-preview/parameters.json
new file mode 100644
index 000000000000..37d20d04a80d
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2021-11-01-preview/parameters.json
@@ -0,0 +1,62 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-01-preview",
+ "title": "Common types and definitions",
+ "description": "Definitions and parameters common for all resource types of KubernetesConfiguration RP"
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {},
+ "definitions": {},
+ "parameters": {
+ "ClusterRpParameter": {
+ "name": "clusterRp",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "Microsoft.ContainerService",
+ "Microsoft.Kubernetes"
+ ],
+ "description": "The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters).",
+ "x-ms-parameter-location": "method"
+ },
+ "ClusterResourceNameParameter": {
+ "name": "clusterResourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "managedClusters",
+ "connectedClusters"
+ ],
+ "description": "The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters).",
+ "x-ms-parameter-location": "method"
+ },
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the kubernetes cluster.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2022-01-01-preview/definitions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2022-01-01-preview/definitions.json
new file mode 100644
index 000000000000..a5e5e9f2551c
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2022-01-01-preview/definitions.json
@@ -0,0 +1,165 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2022-01-01-preview",
+ "title": "Common types and definitions",
+ "description": "Definitions and parameters common for all resource types of KubernetesConfiguration RP"
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {},
+ "definitions": {
+ "ProvisioningStateDefinition": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning state of the resource.",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Creating",
+ "Updating",
+ "Deleting"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "OperationStatusResult": {
+ "description": "The current status of an async operation.",
+ "type": "object",
+ "required": [
+ "status"
+ ],
+ "properties": {
+ "id": {
+ "description": "Fully qualified ID for the async operation.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the async operation.",
+ "type": "string"
+ },
+ "status": {
+ "description": "Operation status.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Additional information, if available.",
+ "type": "object",
+ "x-nullable": true,
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "error": {
+ "description": "If present, details of the operation error.",
+ "type": "object",
+ "readOnly": true,
+ "x-nullable": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail"
+ }
+ }
+ },
+ "OperationStatusList": {
+ "description": "The async operations in progress, in the cluster.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OperationStatusResult"
+ },
+ "description": "List of async operations in progress, in the cluster."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "URL to get the next set of Operation Result objects, if any."
+ }
+ }
+ },
+ "ResourceProviderOperation": {
+ "description": "Supported operation of this resource provider.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "name": {
+ "description": "Operation name, in format of {provider}/{resource}/{operation}",
+ "type": "string"
+ },
+ "display": {
+ "description": "Display metadata associated with the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Resource provider: Microsoft KubernetesConfiguration.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Type of operation: get, read, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of this operation.",
+ "type": "string"
+ }
+ }
+ },
+ "isDataAction": {
+ "description": "The flag that indicates whether the operation applies to data plane.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ResourceProviderOperationList": {
+ "description": "Result of the request to list operations.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceProviderOperation"
+ },
+ "description": "List of operations supported by this resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "URL to the next set of results, if any."
+ }
+ }
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2022-01-01-preview/parameters.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2022-01-01-preview/parameters.json
new file mode 100644
index 000000000000..5537bbea7c2f
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/common/2022-01-01-preview/parameters.json
@@ -0,0 +1,62 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2022-01-01-preview",
+ "title": "Common types and definitions",
+ "description": "Definitions and parameters common for all resource types of KubernetesConfiguration RP"
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {},
+ "definitions": {},
+ "parameters": {
+ "ClusterRpParameter": {
+ "name": "clusterRp",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "Microsoft.ContainerService",
+ "Microsoft.Kubernetes"
+ ],
+ "description": "The Kubernetes cluster RP - either Microsoft.ContainerService (for AKS clusters) or Microsoft.Kubernetes (for OnPrem K8S clusters).",
+ "x-ms-parameter-location": "method"
+ },
+ "ClusterResourceNameParameter": {
+ "name": "clusterResourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "managedClusters",
+ "connectedClusters"
+ ],
+ "description": "The Kubernetes cluster resource name - either managedClusters (for AKS clusters) or connectedClusters (for OnPrem K8S clusters).",
+ "x-ms-parameter-location": "method"
+ },
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the kubernetes cluster.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ClusterExtensionType_Get.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ClusterExtensionType_Get.json
new file mode 100644
index 000000000000..1b5fe51c9b00
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ClusterExtensionType_Get.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "aaaaaaaaaa",
+ "resourceGroupName": "rgextensionTypes",
+ "clusterRp": "Microsoft.ContainerService",
+ "clusterResourceName": "managedClusters",
+ "clusterName": "aaaaaaaaaaaaaaaaaaaaa",
+ "api-version": "2021-11-01-preview",
+ "extensionTypeName": "aaaaaa"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "releaseTrains": [
+ "aaaaaaaaaaaaaaaaaaaaaa"
+ ],
+ "clusterTypes": "connectedClusters",
+ "supportedScopes": {
+ "defaultScope": "aaaaaaaaaaa",
+ "clusterScopeSettings": {
+ "properties": {
+ "allowMultipleInstances": true,
+ "defaultReleaseNamespace": "aaaaaaaaaaaaaaaaaaaaaaa"
+ },
+ "id": "aaaaaaaaaaaaaaaa",
+ "name": "aaaaaaaaaa",
+ "type": "aaaaaaaaaaaaaaaaaaa"
+ }
+ }
+ },
+ "systemData": {
+ "createdBy": "aaaaaaaa",
+ "createdByType": "User",
+ "createdAt": "2021-04-14T22:44:27.144Z",
+ "lastModifiedBy": "aaaaaaaaa",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-04-14T22:44:27.144Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ClusterExtensionTypes_List.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ClusterExtensionTypes_List.json
new file mode 100644
index 000000000000..2bedb2b0d425
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ClusterExtensionTypes_List.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "aaaaaaaaaa",
+ "resourceGroupName": "rgextensionTypes",
+ "clusterRp": "Microsoft.ContainerService",
+ "clusterResourceName": "managedClusters",
+ "clusterName": "aaaaaaaaaaaaaaaaaaaaa",
+ "api-version": "2021-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "releaseTrains": [
+ "aaaaaaaaaaaaaaaaaaaaaa"
+ ],
+ "clusterTypes": "connectedClusters",
+ "supportedScopes": {
+ "defaultScope": "aaaaaaaaaaa",
+ "clusterScopeSettings": {
+ "properties": {
+ "allowMultipleInstances": true,
+ "defaultReleaseNamespace": "aaaaaaaaaaaaaaaaaaaaaaa"
+ },
+ "id": "aaaaaaaaaaaaaaaa",
+ "name": "aaaaaaaaaa",
+ "type": "aaaaaaaaaaaaaaaaaaa"
+ }
+ }
+ },
+ "systemData": {
+ "createdBy": "aaaaaaaa",
+ "createdByType": "User",
+ "createdAt": "2021-04-14T22:44:27.144Z",
+ "lastModifiedBy": "aaaaaaaaa",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-04-14T22:44:27.144Z"
+ }
+ }
+ ],
+ "nextLink": "aaaaaaaaaaaaaaaaaaaaa"
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/CreateExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/CreateExtension.json
new file mode 100644
index 000000000000..e87ecd2ebec7
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/CreateExtension.json
@@ -0,0 +1,106 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "extensionName": "ClusterMonitor",
+ "api-version": "2021-11-01-preview",
+ "clusterName": "clusterName1",
+ "extension": {
+ "properties": {
+ "extensionType": "azuremonitor-containers",
+ "autoUpgradeMinorVersion": true,
+ "releaseTrain": "Preview",
+ "scope": {
+ "cluster": {
+ "releaseNamespace": "kube-system"
+ }
+ },
+ "configurationSettings": {
+ "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b",
+ "omsagent.env.clusterName": "clusterName1"
+ },
+ "configurationProtectedSettings": {
+ "omsagent.secret.key": "secretKeyValue01"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}",
+ "x-ms-async-operation-timeout": "PT48H"
+ },
+ "description": "Details of the Kubernetes Extension's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor",
+ "type": "Microsoft.KubernetesConfiguration/extensions",
+ "name": "ClusterMonitor",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-09-08T05:10:57.027Z"
+ },
+ "properties": {
+ "extensionType": "azuremonitor-containers",
+ "autoUpgradeMinorVersion": true,
+ "releaseTrain": "Preview",
+ "version": "0.1.4",
+ "scope": {
+ "cluster": {
+ "releaseNamespace": "kube-system"
+ }
+ },
+ "configurationSettings": {
+ "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b",
+ "omsagent.env.clusterName": "clusterName1"
+ },
+ "provisioningState": "Creating",
+ "statuses": []
+ }
+ }
+ },
+ "200": {
+ "headers": {
+ "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}",
+ "x-ms-async-operation-timeout": "PT48H"
+ },
+ "description": "Details of the Kubernetes Extension's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor",
+ "type": "Microsoft.KubernetesConfiguration/extensions",
+ "name": "ClusterMonitor",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-09-08T05:10:57.027Z"
+ },
+ "properties": {
+ "extensionType": "azuremonitor-containers",
+ "autoUpgradeMinorVersion": true,
+ "releaseTrain": "Preview",
+ "version": "0.1.4",
+ "scope": {
+ "cluster": {
+ "releaseNamespace": "kube-system"
+ }
+ },
+ "configurationSettings": {
+ "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b",
+ "omsagent.env.clusterName": "clusterName1"
+ },
+ "provisioningState": "Creating",
+ "statuses": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/CreateFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/CreateFluxConfiguration.json
new file mode 100644
index 000000000000..e7a4144e0ff1
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/CreateFluxConfiguration.json
@@ -0,0 +1,329 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "fluxConfigurationName": "srs-fluxconfig",
+ "api-version": "2021-11-01-preview",
+ "clusterName": "clusterName1",
+ "fluxConfiguration": {
+ "properties": {
+ "scope": "cluster",
+ "namespace": "srs-namespace",
+ "sourceKind": "GitRepository",
+ "suspend": false,
+ "gitRepository": {
+ "url": "https://github.com/Azure/arc-k8s-demo",
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "repositoryRef": {
+ "branch": "master"
+ },
+ "httpsCAFile": "ZXhhbXBsZWNlcnRpZmljYXRl"
+ },
+ "kustomizations": {
+ "srs-kustomization1": {
+ "path": "./test/path",
+ "dependsOn": [],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "validation": "none"
+ },
+ "srs-kustomization2": {
+ "path": "./other/test/path",
+ "dependsOn": [
+ {
+ "kustomizationName": "srs-kustomization1"
+ }
+ ],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "retryIntervalInSeconds": 600,
+ "prune": false,
+ "validation": "none"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}",
+ "x-ms-async-operation-timeout": "PT48H"
+ },
+ "description": "Details of the Kubernetes Flux Configuration's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig",
+ "type": "Microsoft.KubernetesConfiguration/fluxConfigurations",
+ "name": "srs-fluxconfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-05-19T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-05-19T05:10:57.027Z"
+ },
+ "properties": {
+ "scope": "cluster",
+ "namespace": "srs-namespace",
+ "sourceKind": "GitRepository",
+ "suspend": false,
+ "gitRepository": {
+ "url": "https://github.com/Azure/arc-k8s-demo",
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "repositoryRef": {
+ "branch": "master",
+ "tag": null,
+ "semver": null,
+ "commit": null
+ },
+ "httpsCAFile": "ZXhhbXBsZWNlcnRpZmljYXRl"
+ },
+ "kustomizations": {
+ "srs-kustomization1": {
+ "path": "./test/path",
+ "dependsOn": [],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "validation": "none"
+ },
+ "srs-kustomization2": {
+ "path": "./other/test/path",
+ "dependsOn": [
+ {
+ "kustomizationName": "srs-kustomization1"
+ }
+ ],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "retryIntervalInSeconds": 600,
+ "prune": false,
+ "validation": "none"
+ }
+ },
+ "statuses": [
+ {
+ "name": "srs-fluxconfig",
+ "kind": "GitRepository",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": null,
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "GitOperationSucceed",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization1",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization2",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ }
+ ],
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF",
+ "lastSourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
+ "lastSourceSyncedAt": "2021-05-19T18:17:12Z",
+ "complianceState": "Compliant",
+ "provisioningState": "Succeeded",
+ "errorMessage": ""
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}",
+ "x-ms-async-operation-timeout": "PT48H"
+ },
+ "description": "Details of the Kubernetes Flux Configuration's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig",
+ "type": "Microsoft.KubernetesConfiguration/fluxConfigurations",
+ "name": "srs-fluxconfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-05-19T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-05-19T05:10:57.027Z"
+ },
+ "properties": {
+ "scope": "cluster",
+ "namespace": "srs-namespace",
+ "sourceKind": "GitRepository",
+ "suspend": false,
+ "gitRepository": {
+ "url": "https://github.com/Azure/arc-k8s-demo",
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "repositoryRef": {
+ "branch": "master",
+ "tag": null,
+ "semver": null,
+ "commit": null
+ },
+ "httpsCAFile": "ZXhhbXBsZWNlcnRpZmljYXRl"
+ },
+ "kustomizations": {
+ "srs-kustomization1": {
+ "path": "./test/path",
+ "dependsOn": [],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "validation": "none"
+ },
+ "srs-kustomization2": {
+ "path": "./other/test/path",
+ "dependsOn": [
+ {
+ "kustomizationName": "srs-kustomization1"
+ }
+ ],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "retryIntervalInSeconds": 600,
+ "prune": false,
+ "validation": "none"
+ }
+ },
+ "statuses": [
+ {
+ "name": "srs-fluxconfig",
+ "kind": "GitRepository",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "GitOperationSucceed",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization1",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization2",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ }
+ ],
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF",
+ "lastSourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
+ "lastSourceSyncedAt": "2021-05-19T18:17:12Z",
+ "complianceState": "Compliant",
+ "provisioningState": "Succeeded",
+ "errorMessage": ""
+ }
+ }
+ },
+ "409": {
+ "headers": {},
+ "description": "Conflict failure, as another operation is in progress",
+ "body": {
+ "error": {
+ "code": "CreateConflict",
+ "message": "The PUT method cannot be completed due to a conflict. (ProvisioningState of fluxConfiguration: Creating). Please wait for a few minutes for the ProvisioningState to change to Succeeded, Failed or Canceled and retry again. If the problem persists, please contact Microsoft support."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/CreateSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/CreateSourceControlConfiguration.json
new file mode 100644
index 000000000000..e4b35ab210c1
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/CreateSourceControlConfiguration.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "sourceControlConfigurationName": "SRS_GitHubConfig",
+ "api-version": "2021-11-01-preview",
+ "clusterName": "clusterName1",
+ "sourceControlConfiguration": {
+ "properties": {
+ "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started",
+ "operatorNamespace": "SRS_Namespace",
+ "operatorInstanceName": "SRSGitHubFluxOp-01",
+ "operatorType": "Flux",
+ "operatorScope": "namespace",
+ "operatorParams": "--git-email=xyzgituser@users.srs.github.com",
+ "configurationProtectedSettings": {
+ "protectedSetting1Key": "protectedSetting1Value"
+ },
+ "enableHelmOperator": true,
+ "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=",
+ "helmOperatorProperties": {
+ "chartVersion": "0.3.0",
+ "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "description": "Details of the Kubernetes Configuration's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig",
+ "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations",
+ "name": "SRS_GitHubConfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-09-08T05:10:57.027Z"
+ },
+ "properties": {
+ "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started",
+ "operatorNamespace": "SRS_Namespace",
+ "operatorInstanceName": "SRSGitHubFluxOp-01",
+ "operatorType": "Flux",
+ "operatorScope": "namespace",
+ "operatorParams": "--git-email=xyzgituser@users.srs.github.com",
+ "enableHelmOperator": true,
+ "helmOperatorProperties": {
+ "chartVersion": "0.3.0",
+ "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"
+ },
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqvTzeL+BWgcHnC1CTBRMg2ZfCh9khlrvb2avFHiGG24rRvjLHlKqtfiiw+cZNCKskUyVKqamD2RHrhyn/wXvJ9fFRt0LhYLKn4hJhJaPx4IawdWnW1MUv4U+Mr8o3Cxps4EmiZemqri3fOrhzEIlPL272whKpzlDLV7L4W1XQIGmVPwQ93HTzKEd5uHuEuw6JyFftDDLlCnd3Q1kQ7HOabFEfcSSr9cMx2MU4j/Pjuf3Rd/CzeksvKtU009KSXSnWKm8LL1fihSc1H1WDTi8iuZtT63hsNYH1yxrPRpMVScs3ufLViAGO9NEHQSgDdl/OERQQqKisUn2Qm6adgmftw== rsa-key-20190909",
+ "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=",
+ "provisioningState": "Succeeded",
+ "complianceStatus": {
+ "complianceState": "Pending",
+ "lastConfigApplied": "2020-09-08T05:25:32.122Z",
+ "message": "Configuration successfully created",
+ "messageLevel": "Info"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "description": "Details of the Kubernetes Configuration's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig",
+ "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations",
+ "name": "SRS_GitHubConfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-09-08T05:10:57.027Z"
+ },
+ "properties": {
+ "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started",
+ "operatorNamespace": "SRS_Namespace",
+ "operatorInstanceName": "SRSGitHubFluxOp-01",
+ "operatorType": "Flux",
+ "operatorScope": "namespace",
+ "operatorParams": "--git-email=xyzgituser@users.srs.github.com",
+ "enableHelmOperator": true,
+ "helmOperatorProperties": {
+ "chartVersion": "0.3.0",
+ "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"
+ },
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqvTzeL+BWgcHnC1CTBRMg2ZfCh9khlrvb2avFHiGG24rRvjLHlKqtfiiw+cZNCKskUyVKqamD2RHrhyn/wXvJ9fFRt0LhYLKn4hJhJaPx4IawdWnW1MUv4U+Mr8o3Cxps4EmiZemqri3fOrhzEIlPL272whKpzlDLV7L4W1XQIGmVPwQ93HTzKEd5uHuEuw6JyFftDDLlCnd3Q1kQ7HOabFEfcSSr9cMx2MU4j/Pjuf3Rd/CzeksvKtU009KSXSnWKm8LL1fihSc1H1WDTi8iuZtT63hsNYH1yxrPRpMVScs3ufLViAGO9NEHQSgDdl/OERQQqKisUn2Qm6adgmftw== rsa-key-20190909",
+ "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=",
+ "provisioningState": "Succeeded",
+ "complianceStatus": {
+ "complianceState": "Pending",
+ "lastConfigApplied": "2020-09-08T05:25:32.122Z",
+ "message": "Configuration successfully created",
+ "messageLevel": "Info"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/DeleteExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/DeleteExtension.json
new file mode 100644
index 000000000000..a467ca9f6159
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/DeleteExtension.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "extensionName": "ClusterMonitor",
+ "api-version": "2021-11-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}",
+ "x-ms-async-operation-timeout": "PT1H"
+ }
+ },
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/DeleteFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/DeleteFluxConfiguration.json
new file mode 100644
index 000000000000..455e2c90a71a
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/DeleteFluxConfiguration.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "fluxConfigurationName": "srs-fluxconfig",
+ "api-version": "2021-11-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/{operationId}",
+ "x-ms-async-operation-timeout": "PT1H"
+ },
+ "description": "Details of the Kubernetes Flux Configuration's current status."
+ },
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/DeleteSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/DeleteSourceControlConfiguration.json
new file mode 100644
index 000000000000..cdd84aefc042
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/DeleteSourceControlConfiguration.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "sourceControlConfigurationName": "SRS_GitHubConfig",
+ "api-version": "2021-11-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ExtensionTypeVersions_List.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ExtensionTypeVersions_List.json
new file mode 100644
index 000000000000..265f6ff6a9e1
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ExtensionTypeVersions_List.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "aaaaaaaaaa",
+ "location": "aaaaaa",
+ "extensionTypeName": "aaaaaa",
+ "api-version": "2021-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "versions": [
+ {
+ "releaseTrain": "aaaa",
+ "versions": [
+ "aaaaaaaaaaaaaa"
+ ]
+ }
+ ],
+ "nextLink": "aaa",
+ "systemData": {
+ "createdBy": "aaaaaaaa",
+ "createdByType": "User",
+ "createdAt": "2021-04-14T22:44:27.144Z",
+ "lastModifiedBy": "aaaaaaaaa",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-04-14T22:44:27.144Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetExtension.json
new file mode 100644
index 000000000000..a96b19139b5c
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetExtension.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "extensionName": "ClusterMonitor",
+ "api-version": "2021-11-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "description": "Details of the Kubernetes Extension's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor",
+ "type": "Microsoft.KubernetesConfiguration/extensions",
+ "name": "ClusterMonitor",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-09-08T05:10:57.027Z"
+ },
+ "properties": {
+ "extensionType": "azuremonitor-containers",
+ "autoUpgradeMinorVersion": true,
+ "releaseTrain": "Preview",
+ "version": "0.1.4",
+ "scope": {
+ "cluster": {
+ "releaseNamespace": "kube-system"
+ }
+ },
+ "configurationSettings": {
+ "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b",
+ "omsagent.env.clusterName": "clusterName1"
+ },
+ "provisioningState": "Creating",
+ "statuses": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetExtensionAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetExtensionAsyncOperationStatus.json
new file mode 100644
index 000000000000..873af34ca8af
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetExtensionAsyncOperationStatus.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "extensionName": "ClusterMonitor",
+ "api-version": "2021-11-01-preview",
+ "clusterName": "clusterName1",
+ "operationId": "99999999-9999-9999-9999-999999999999"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/99999999-9999-9999-9999-999999999999",
+ "name": "99999999-9999-9999-9999-999999999999",
+ "status": "Succeeded",
+ "properties": {},
+ "error": null
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetFluxConfiguration.json
new file mode 100644
index 000000000000..5ec00ff16534
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetFluxConfiguration.json
@@ -0,0 +1,146 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "fluxConfigurationName": "srs-fluxconfig",
+ "api-version": "2021-11-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "description": "Details of the Kubernetes Flux Configuration's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig",
+ "type": "Microsoft.KubernetesConfiguration/fluxConfigurations",
+ "name": "srs-fluxconfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-05-19T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-05-19T05:10:57.027Z"
+ },
+ "properties": {
+ "scope": "cluster",
+ "namespace": "srs-namespace",
+ "sourceKind": "GitRepository",
+ "suspend": false,
+ "gitRepository": {
+ "url": "https://github.com/Azure/arc-k8s-demo",
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "repositoryRef": {
+ "branch": "master",
+ "tag": null,
+ "semver": null,
+ "commit": null
+ }
+ },
+ "kustomizations": {
+ "srs-kustomization1": {
+ "path": "./test/path",
+ "dependsOn": [],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "validation": "none"
+ },
+ "srs-kustomization2": {
+ "path": "./other/test/path",
+ "dependsOn": [
+ {
+ "kustomizationName": "srs-kustomization1"
+ }
+ ],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "retryIntervalInSeconds": 600,
+ "prune": false,
+ "validation": "none"
+ }
+ },
+ "statuses": [
+ {
+ "name": "srs-fluxconfig",
+ "kind": "GitRepository",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": null,
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "GitOperationSucceed",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization1",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": {
+ "name": "my-name",
+ "namespace": "my-namespace"
+ },
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization2",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ }
+ ],
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF",
+ "lastSourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
+ "lastSourceSyncedAt": "2021-05-19T18:17:12Z",
+ "complianceState": "Compliant",
+ "provisioningState": "Succeeded",
+ "errorMessage": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetFluxConfigurationAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetFluxConfigurationAsyncOperationStatus.json
new file mode 100644
index 000000000000..38ffa20136c0
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetFluxConfigurationAsyncOperationStatus.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "fluxConfigurationName": "srs-fluxconfig",
+ "api-version": "2021-11-01-preview",
+ "clusterName": "clusterName1",
+ "operationId": "99999999-9999-9999-9999-999999999999"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/99999999-9999-9999-9999-999999999999",
+ "name": "99999999-9999-9999-9999-999999999999",
+ "status": "Succeeded",
+ "properties": {},
+ "error": null
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetSourceControlConfiguration.json
new file mode 100644
index 000000000000..2129b5282af3
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/GetSourceControlConfiguration.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "sourceControlConfigurationName": "SRS_GitHubConfig",
+ "api-version": "2021-11-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "description": "Details of the Source Control Configuration's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig",
+ "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations",
+ "name": "SRS_GitHubConfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-09-08T05:10:57.027Z"
+ },
+ "properties": {
+ "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started",
+ "operatorNamespace": "SRS_Namespace",
+ "operatorInstanceName": "SRSGitHubFluxOp-01",
+ "operatorType": "Flux",
+ "operatorScope": "namespace",
+ "operatorParams": "--git-email=xyzgituser@users.srs.github.com",
+ "helmOperatorProperties": {
+ "chartVersion": "0.3.0",
+ "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"
+ },
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqvTzeL+BWgcHnC1CTBRMg2ZfCh9khlrvb2avFHiGG24rRvjLHlKqtfiiw+cZNCKskUyVKqamD2RHrhyn/wXvJ9fFRt0LhYLKn4hJhJaPx4IawdWnW1MUv4U+Mr8o3Cxps4EmiZemqri3fOrhzEIlPL272whKpzlDLV7L4W1XQIGmVPwQ93HTzKEd5uHuEuw6JyFftDDLlCnd3Q1kQ7HOabFEfcSSr9cMx2MU4j/Pjuf3Rd/CzeksvKtU009KSXSnWKm8LL1fihSc1H1WDTi8iuZtT63hsNYH1yxrPRpMVScs3ufLViAGO9NEHQSgDdl/OERQQqKisUn2Qm6adgmftw== rsa-key-20190909",
+ "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=",
+ "provisioningState": "Succeeded",
+ "complianceStatus": {
+ "complianceState": "Pending",
+ "lastConfigApplied": "2020-09-08T05:25:32.122Z",
+ "message": "Configuration successfully created",
+ "messageLevel": "Info"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListAsyncOperationStatus.json
new file mode 100644
index 000000000000..763d502de9a8
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListAsyncOperationStatus.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "api-version": "2021-11-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/99999999-9999-9999-9999-999999999999",
+ "name": "99999999-9999-9999-9999-999999999999",
+ "status": "Deleting",
+ "properties": {},
+ "error": null
+ },
+ {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/cassandraExtension1/operations/88888888-8888-8888-8888-888888888888",
+ "name": "88888888-8888-8888-8888-888888888888",
+ "status": "Creating",
+ "properties": {},
+ "error": null
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListExtensions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListExtensions.json
new file mode 100644
index 000000000000..469816319dad
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListExtensions.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "api-version": "2021-11-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor",
+ "type": "Microsoft.KubernetesConfiguration/extensions",
+ "name": "ClusterMonitor",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-09-08T05:10:57.027Z"
+ },
+ "properties": {
+ "extensionType": "azuremonitor-containers",
+ "autoUpgradeMinorVersion": true,
+ "releaseTrain": "Preview",
+ "version": "0.1.4",
+ "scope": {
+ "cluster": {
+ "releaseNamespace": "kube-system"
+ }
+ },
+ "configurationSettings": {
+ "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b",
+ "omsagent.env.clusterName": "clusterName1"
+ },
+ "provisioningState": "Creating",
+ "statuses": []
+ }
+ },
+ {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/BackupVault01",
+ "type": "Microsoft.KubernetesConfiguration/extensions",
+ "name": "App1Monitor",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-09-08T04:09:23.011Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-09-08T04:09:23.011Z"
+ },
+ "properties": {
+ "extensionType": "Microsoft.RecoveryServices/recoveryVault",
+ "autoUpgradeMinorVersion": false,
+ "releaseTrain": "Stable",
+ "version": "1.0.1",
+ "scope": {
+ "cluster": {
+ "releaseNamespace": "myKVNamespace"
+ }
+ },
+ "configurationSettings": {},
+ "provisioningState": "Creating",
+ "statuses": []
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListFluxConfigurations.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListFluxConfigurations.json
new file mode 100644
index 000000000000..3b7358dd5af3
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListFluxConfigurations.json
@@ -0,0 +1,187 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "api-version": "2021-11-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig",
+ "type": "Microsoft.KubernetesConfiguration/fluxConfigurations",
+ "name": "srs-fluxconfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-05-19T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-05-19T05:10:57.027Z"
+ },
+ "properties": {
+ "scope": "cluster",
+ "namespace": "srs-namespace",
+ "sourceKind": "GitRepository",
+ "suspend": false,
+ "gitRepository": {
+ "url": "https://github.com/Azure/arc-k8s-demo",
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "repositoryRef": {
+ "branch": "master",
+ "tag": null,
+ "semver": null,
+ "commit": null
+ }
+ },
+ "kustomizations": {
+ "srs-kustomization1": {
+ "path": "./test/path",
+ "dependsOn": [],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "validation": "none"
+ },
+ "srs-kustomization2": {
+ "path": "./other/test/path",
+ "dependsOn": [
+ {
+ "kustomizationName": "srs-kustomization1"
+ }
+ ],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "retryIntervalInSeconds": 600,
+ "prune": false,
+ "validation": "none"
+ }
+ },
+ "statuses": [
+ {
+ "name": "srs-fluxconfig",
+ "kind": "GitRepository",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "statusConditions": null,
+ "helmReleaseProperties": null
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization1",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "statusConditions": null,
+ "helmReleaseProperties": null
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization2",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "statusConditions": null,
+ "helmReleaseProperties": null
+ }
+ ],
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF",
+ "lastSourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
+ "lastSourceSyncedAt": "2021-05-19T18:17:12Z",
+ "complianceState": "Compliant",
+ "provisioningState": "Succeeded",
+ "errorMessage": ""
+ }
+ },
+ {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig",
+ "type": "Microsoft.KubernetesConfiguration/fluxConfigurations",
+ "name": "srs-fluxconfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-05-19T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-05-19T05:10:57.027Z"
+ },
+ "properties": {
+ "scope": "cluster",
+ "namespace": "srs-namespace",
+ "sourceKind": "GitRepository",
+ "suspend": false,
+ "gitRepository": {
+ "url": "https://github.com/Azure/arc-k8s-demo",
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "repositoryRef": {
+ "branch": "master",
+ "tag": null,
+ "semver": null,
+ "commit": null
+ }
+ },
+ "kustomizations": {
+ "srs-kustomization1": {
+ "path": "./test/path",
+ "dependsOn": [],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "validation": "none"
+ },
+ "srs-kustomization2": {
+ "path": "./other/test/path",
+ "dependsOn": [
+ {
+ "kustomizationName": "srs-kustomization1"
+ }
+ ],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "retryIntervalInSeconds": 600,
+ "prune": false,
+ "validation": "none"
+ }
+ },
+ "statuses": [
+ {
+ "name": "srs-fluxconfig",
+ "kind": "GitRepository",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "statusConditions": null,
+ "helmReleaseProperties": null
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization1",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "statusConditions": null,
+ "helmReleaseProperties": null
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization2",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "statusConditions": null,
+ "helmReleaseProperties": null
+ }
+ ],
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF",
+ "lastSourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
+ "lastSourceSyncedAt": "2021-05-19T18:17:12Z",
+ "complianceState": "Compliant",
+ "provisioningState": "Succeeded",
+ "errorMessage": ""
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListSourceControlConfiguration.json
new file mode 100644
index 000000000000..57fe5d592b18
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/ListSourceControlConfiguration.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "api-version": "2021-11-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig",
+ "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations",
+ "name": "SRS_GitHubConfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-09-08T05:10:57.027Z"
+ },
+ "properties": {
+ "repositoryUrl": "git@github.com:k8sdeveloper425/SRSClusterconfigs",
+ "operatorNamespace": "SRS_Namespace",
+ "operatorInstanceName": "SRSGitHubFluxOp-01",
+ "operatorType": "Flux",
+ "operatorScope": "namespace",
+ "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=",
+ "provisioningState": "Succeeded",
+ "complianceStatus": {
+ "complianceState": "Compliant"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SCRS_GitHubConfig",
+ "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations",
+ "name": "SCRS_GitHubConfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-09-08T05:10:57.027Z"
+ },
+ "properties": {
+ "repositoryUrl": "git@github.com:k8sdeveloper425/SCRSClusterconfigs",
+ "operatorNamespace": "SCRS_Namespace",
+ "operatorInstanceName": "SCRSGitHubFluxOp-02",
+ "operatorType": "Flux",
+ "operatorScope": "cluster",
+ "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=",
+ "provisioningState": "Succeeded",
+ "complianceStatus": {
+ "complianceState": "Compliant"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/LocationExtensionTypes_List.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/LocationExtensionTypes_List.json
new file mode 100644
index 000000000000..a3406acacba8
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/LocationExtensionTypes_List.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "aaaaaaaaaa",
+ "location": "aaaaaa",
+ "api-version": "2021-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "releaseTrains": [
+ "aaaaaaaaaaaaaaaaaaaaaa"
+ ],
+ "clusterTypes": "connectedClusters",
+ "supportedScopes": {
+ "defaultScope": "aaaaaaaaaaa",
+ "clusterScopeSettings": {
+ "properties": {
+ "allowMultipleInstances": true,
+ "defaultReleaseNamespace": "aaaaaaaaaaaaaaaaaaaaaaa"
+ },
+ "id": "aaaaaaaaaaaaaaaa",
+ "name": "aaaaaaaaaa",
+ "type": "aaaaaaaaaaaaaaaaaaa"
+ }
+ }
+ },
+ "systemData": {
+ "createdBy": "aaaaaaaa",
+ "createdByType": "User",
+ "createdAt": "2021-04-14T22:44:27.144Z",
+ "lastModifiedBy": "aaaaaaaaa",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2021-04-14T22:44:27.144Z"
+ }
+ }
+ ],
+ "nextLink": "aaaaaaaaaaaaaaaaaaaaa"
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/OperationsList.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/OperationsList.json
new file mode 100644
index 000000000000..2313e176af6d
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/OperationsList.json
@@ -0,0 +1,156 @@
+{
+ "parameters": {
+ "api-version": "2021-11-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/write",
+ "display": {
+ "operation": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/write",
+ "resource": "Microsoft.KubernetesConfiguration/sourceControlConfigurations",
+ "description": "Creates or updates source control configuration.",
+ "provider": "Microsoft Kubernetes Configuration"
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/read",
+ "display": {
+ "operation": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/read",
+ "resource": "Microsoft.KubernetesConfiguration/sourceControlConfigurations",
+ "description": "Gets source control configuration.",
+ "provider": "Microsoft Kubernetes Configuration"
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/delete",
+ "display": {
+ "operation": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/delete",
+ "resource": "Microsoft.KubernetesConfiguration/sourceControlConfigurations",
+ "description": "Deletes source control configuration.",
+ "provider": "Microsoft Kubernetes Configuration"
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/extensions/read",
+ "display": {
+ "provider": "Microsoft KubernetesConfiguration",
+ "resource": "extensions",
+ "operation": "Get extension",
+ "description": "Get the specified Extension."
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/extensions/write",
+ "display": {
+ "provider": "Microsoft KubernetesConfiguration",
+ "resource": "extensions",
+ "operation": "Create a Extension",
+ "description": "Create the Extension specified."
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/extensions/delete",
+ "display": {
+ "provider": "Microsoft KubernetesConfiguration",
+ "resource": "extensions",
+ "operation": "Delete Extension",
+ "description": "Delete the specified Extension."
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/extensions/operations/read",
+ "display": {
+ "provider": "Microsoft KubernetesConfiguration",
+ "resource": "extensions",
+ "operation": "Get Extension Async Operation Status",
+ "description": "Get the Status of the Extension Async Operation."
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/read",
+ "display": {
+ "provider": "Microsoft KubernetesConfiguration",
+ "resource": "fluxConfigurations",
+ "operation": "Get fluxConfiguration",
+ "description": "Get the specified Flux Configuration."
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/write",
+ "display": {
+ "provider": "Microsoft KubernetesConfiguration",
+ "resource": "fluxConfigurations",
+ "operation": "Create a fluxConfiguration",
+ "description": "Create the Flux Configuration specified."
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/delete",
+ "display": {
+ "provider": "Microsoft KubernetesConfiguration",
+ "resource": "fluxConfigurations",
+ "operation": "Delete Flux Configuration",
+ "description": "Delete the specified Flux Configuration."
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/operations/read",
+ "display": {
+ "provider": "Microsoft KubernetesConfiguration",
+ "resource": "fluxConfigurations",
+ "operation": "Get Flux Configuration Async Operation Status",
+ "description": "Get the Status of the Flux Configuration Async Operation."
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/register/action",
+ "display": {
+ "operation": "Microsoft.KubernetesConfiguration/register/action",
+ "resource": "Register",
+ "description": "Registers subscription to Microsoft.KubernetesConfiguration resource provider.",
+ "provider": "Microsoft Kubernetes Configuration"
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/extensionTypes/read",
+ "display": {
+ "operation": "Microsoft.KubernetesConfiguration/extensionTypes/read",
+ "resource": "extensionTypes",
+ "description": "Get Kubernetes Configuration Available Extensions",
+ "provider": "Microsoft KubernetesConfiguration"
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/PatchExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/PatchExtension.json
new file mode 100644
index 000000000000..3b2238425a38
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/PatchExtension.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "extensionName": "ClusterMonitor",
+ "api-version": "2021-11-01-preview",
+ "clusterName": "clusterName1",
+ "patchExtension": {
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "releaseTrain": "Preview",
+ "configurationSettings": {
+ "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b",
+ "omsagent.env.clusterName": "clusterName1"
+ },
+ "configurationProtectedSettings": {
+ "omsagent.secret.key": "secretKeyValue01"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}",
+ "x-ms-async-operation-timeout": "PT48H"
+ },
+ "description": "Extension properties and details of the Patch operation, including AsyncOperation url.",
+ "body": {
+ "properties": {
+ "extensionType": "azuremonitor-containers",
+ "autoUpgradeMinorVersion": true,
+ "releaseTrain": "Preview",
+ "version": "0.1.4",
+ "scope": {
+ "cluster": {
+ "releaseNamespace": "kube-system"
+ }
+ },
+ "configurationSettings": {
+ "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b",
+ "omsagent.env.clusterName": "clusterName1"
+ },
+ "provisioningState": "Updating",
+ "statuses": []
+ }
+ }
+ },
+ "409": {
+ "headers": {},
+ "description": "Conflict failure, as another Patch operation is in progress",
+ "body": {
+ "error": {
+ "code": "PatchConflict",
+ "message": "The PATCH method cannot be completed due to a conflict. (ProvisioningState of extension: Updating). Please wait for a few minutes for the ProvisioningState to change to Succeeded, Failed or Canceled and retry again. If the problem persists, please contact Microsoft support."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/PatchFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/PatchFluxConfiguration.json
new file mode 100644
index 000000000000..221a8a8479af
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/examples/PatchFluxConfiguration.json
@@ -0,0 +1,163 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "fluxConfigurationName": "srs-fluxconfig",
+ "api-version": "2021-11-01-preview",
+ "clusterName": "clusterName1",
+ "fluxConfigurationPatch": {
+ "properties": {
+ "suspend": true,
+ "gitRepository": {
+ "url": "https://github.com/jonathan-innis/flux2-kustomize-helm-example.git"
+ },
+ "kustomizations": {
+ "srs-kustomization1": null,
+ "srs-kustomization2": {
+ "path": "./test/alt-path",
+ "syncIntervalInSeconds": 300,
+ "validation": "client",
+ "dependsOn": null
+ },
+ "srs-kustomization3": {
+ "path": "./test/another-path",
+ "syncIntervalInSeconds": 300,
+ "validation": "client"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/{operationId}",
+ "x-ms-async-operation-timeout": "PT48H"
+ },
+ "description": "Extension properties and details of the Patch operation, including AsyncOperation url.",
+ "body": {
+ "properties": {
+ "scope": "cluster",
+ "namespace": "srs-namespace",
+ "sourceKind": "GitRepository",
+ "suspend": false,
+ "gitRepository": {
+ "url": "https://github.com/jonathan-innis/flux2-kustomize-helm-example.git",
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "repositoryRef": {
+ "branch": "master",
+ "tag": null,
+ "semver": null,
+ "commit": null
+ }
+ },
+ "kustomizations": {
+ "srs-kustomization2": {
+ "path": "./test/alt-path",
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 300,
+ "retryIntervalInSeconds": 600,
+ "prune": false,
+ "validation": "client"
+ },
+ "srs-kustomization3": {
+ "path": "./test/another-path",
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 300,
+ "retryIntervalInSeconds": null,
+ "prune": false,
+ "validation": "client"
+ }
+ },
+ "statuses": [
+ {
+ "name": "srs-fluxconfig",
+ "kind": "GitRepository",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": null,
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "GitOperationSucceed",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization1",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization2",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ }
+ ],
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF",
+ "lastSourceSyncedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
+ "lastSourceSyncedAt": "2021-05-19T18:17:12Z",
+ "complianceState": "Compliant",
+ "provisioningState": "Succeeded",
+ "errorMessage": ""
+ }
+ }
+ },
+ "409": {
+ "headers": {},
+ "description": "Conflict failure, as another Patch operation is in progress",
+ "body": {
+ "error": {
+ "code": "PatchConflict",
+ "message": "The PATCH method cannot be completed due to a conflict. (ProvisioningState of fluxConfiguration: Updating). Please wait for a few minutes for the ProvisioningState to change to Succeeded, Failed or Canceled and retry again. If the problem persists, please contact Microsoft support."
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensionTypes.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensionTypes.json
new file mode 100644
index 000000000000..6b0be3309dbd
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensionTypes.json
@@ -0,0 +1,383 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-01-preview",
+ "title": "ExtensionTypes",
+ "description": "Use these APIs to create extension resources through ARM, for Kubernetes Clusters."
+ },
+ "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}": {
+ "get": {
+ "description": "Get Extension Type details",
+ "operationId": "ClusterExtensionType_Get",
+ "x-ms-examples": {
+ "ClusterExtensionType_Get_MaximumSet_Gen": {
+ "$ref": "./examples/ClusterExtensionType_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionTypeNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExtensionType"
+ }
+ },
+ "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes": {
+ "get": {
+ "description": "Get Extension Types",
+ "operationId": "ClusterExtensionTypes_List",
+ "x-ms-examples": {
+ "ClusterExtensionTypes_List_MaximumSet_Gen": {
+ "$ref": "./examples/ClusterExtensionTypes_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExtensionTypeList"
+ }
+ },
+ "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.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions": {
+ "get": {
+ "description": "List available versions for an Extension Type",
+ "operationId": "ExtensionTypeVersions_List",
+ "x-ms-examples": {
+ "ExtensionTypeVersions_List_MaximumSet_Gen": {
+ "$ref": "./examples/ExtensionTypeVersions_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionLocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionTypeNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExtensionVersionList"
+ }
+ },
+ "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",
+ "itemName": "versions"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes": {
+ "get": {
+ "tags": [
+ "ExtensionType"
+ ],
+ "description": "List all Extension Types",
+ "operationId": "LocationExtensionTypes_List",
+ "x-ms-examples": {
+ "LocationExtensionTypes_List_MaximumSet_Gen": {
+ "$ref": "./examples/LocationExtensionTypes_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionLocationParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExtensionTypeList"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ExtensionTypeList": {
+ "description": "List Extension Types",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of Extension Types",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExtensionType"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of Extension Types",
+ "type": "string"
+ }
+ }
+ },
+ "ExtensionType": {
+ "type": "object",
+ "description": "Represents an Extension Type.",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExtensionTypeProperties",
+ "description": "Describes the Resource Type properties."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true,
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ }
+ }
+ },
+ "ExtensionTypeProperties": {
+ "description": "Properties of the connected cluster.",
+ "type": "object",
+ "properties": {
+ "releaseTrains": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Extension release train: preview or stable"
+ },
+ "clusterTypes": {
+ "description": "Cluster types",
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "connectedClusters",
+ "managedClusters"
+ ],
+ "x-ms-enum": {
+ "name": "clusterTypes",
+ "modelAsString": false
+ }
+ },
+ "supportedScopes": {
+ "readOnly": true,
+ "type": "object",
+ "description": "Extension scopes",
+ "$ref": "#/definitions/SupportedScopes"
+ }
+ }
+ },
+ "ExtensionVersionList": {
+ "description": "List versions for an Extension",
+ "type": "object",
+ "properties": {
+ "versions": {
+ "description": "Versions available for this Extension Type",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "releaseTrain": {
+ "description": "The release train for this Extension Type",
+ "type": "string"
+ },
+ "versions": {
+ "type": "array",
+ "description": "Versions available for this Extension Type and release train",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of Extension Types",
+ "type": "string"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true,
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ }
+ }
+ },
+ "SupportedScopes": {
+ "type": "object",
+ "description": "Extension scopes",
+ "properties": {
+ "defaultScope": {
+ "type": "string",
+ "description": "Default extension scopes: cluster or namespace"
+ },
+ "clusterScopeSettings": {
+ "description": "Scope settings",
+ "$ref": "#/definitions/ClusterScopeSettings"
+ }
+ }
+ },
+ "ClusterScopeSettings": {
+ "type": "object",
+ "description": "Extension scope settings",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "Extension scope settings",
+ "properties": {
+ "allowMultipleInstances": {
+ "type": "boolean",
+ "description": "Describes if multiple instances of the extension are allowed"
+ },
+ "defaultReleaseNamespace": {
+ "type": "string",
+ "description": "Default extension release namespace"
+ }
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ]
+ }
+ },
+ "parameters": {
+ "ExtensionLocationParameter": {
+ "name": "location",
+ "in": "path",
+ "description": "extension location",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ExtensionTypeNameParameter": {
+ "name": "extensionTypeName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Extension type name",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensions.json
new file mode 100644
index 000000000000..956e57e560ff
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensions.json
@@ -0,0 +1,682 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-01-preview",
+ "title": "ExtensionsClient",
+ "description": "Use these APIs to create extension resources through ARM, for Kubernetes Clusters."
+ },
+ "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}": {
+ "put": {
+ "tags": [
+ "Extensions",
+ "ClusterExtensions"
+ ],
+ "description": "Create a new Kubernetes Cluster Extension.",
+ "operationId": "Extensions_Create",
+ "x-ms-examples": {
+ "Create Extension": {
+ "$ref": "./examples/CreateExtension.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "extension",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ },
+ "description": "Properties necessary to Create an Extension."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request received successfully.",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "200": {
+ "description": "Request received successfully for an existing resource.",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "get": {
+ "tags": [
+ "Extensions",
+ "ClusterExtensions"
+ ],
+ "description": "Gets Kubernetes Cluster Extension.",
+ "operationId": "Extensions_Get",
+ "x-ms-examples": {
+ "Get Extension": {
+ "$ref": "./examples/GetExtension.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Extensions",
+ "ClusterExtensions"
+ ],
+ "description": "Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.",
+ "operationId": "Extensions_Delete",
+ "x-ms-examples": {
+ "Delete Extension": {
+ "$ref": "./examples/DeleteExtension.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "forceDelete",
+ "in": "query",
+ "description": "Delete the extension resource in Azure - not the normal asynchronous delete.",
+ "type": "boolean"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted. The request has been accepted for processing."
+ },
+ "204": {
+ "description": "No Content. The request has been accepted but the extension was not found."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "patch": {
+ "tags": [
+ "Extensions",
+ "ClusterExtensions"
+ ],
+ "description": "Patch an existing Kubernetes Cluster Extension.",
+ "operationId": "Extensions_Update",
+ "x-ms-examples": {
+ "Update Extension": {
+ "$ref": "./examples/PatchExtension.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "patchExtension",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/patchExtension"
+ },
+ "description": "Properties to Patch in an existing Extension."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request received successfully, and the resource will be updated asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "409": {
+ "description": "Conflict",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions": {
+ "get": {
+ "tags": [
+ "Extensions",
+ "ClusterExtensions"
+ ],
+ "description": "List all Extensions in the cluster.",
+ "operationId": "Extensions_List",
+ "x-ms-examples": {
+ "List Extensions": {
+ "$ref": "./examples/ListExtensions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExtensionsList"
+ }
+ },
+ "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "Extension Operation Status"
+ ],
+ "operationId": "OperationStatus_Get",
+ "description": "Get Async Operation status",
+ "x-ms-examples": {
+ "ExtensionAsyncOperationStatus Get": {
+ "$ref": "./examples/GetExtensionAsyncOperationStatus.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "operation Id",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Extension Operation Status",
+ "schema": {
+ "$ref": "../../common/2021-11-01-preview/definitions.json#/definitions/OperationStatusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ScopeCluster": {
+ "description": "Specifies that the scope of the extension is Cluster",
+ "type": "object",
+ "properties": {
+ "releaseNamespace": {
+ "description": "Namespace where the extension Release must be placed, for a Cluster scoped extension. If this namespace does not exist, it will be created",
+ "type": "string"
+ }
+ }
+ },
+ "ScopeNamespace": {
+ "description": "Specifies that the scope of the extension is Namespace",
+ "type": "object",
+ "properties": {
+ "targetNamespace": {
+ "description": "Namespace where the extension will be created for an Namespace scoped extension. If this namespace does not exist, it will be created",
+ "type": "string"
+ }
+ }
+ },
+ "Scope": {
+ "description": "Scope of the extension. It can be either Cluster or Namespace; but not both.",
+ "type": "object",
+ "properties": {
+ "cluster": {
+ "type": "object",
+ "x-nullable": true,
+ "description": "Specifies that the scope of the extension is Cluster",
+ "$ref": "#/definitions/ScopeCluster"
+ },
+ "namespace": {
+ "type": "object",
+ "x-nullable": true,
+ "description": "Specifies that the scope of the extension is Namespace",
+ "$ref": "#/definitions/ScopeNamespace"
+ }
+ }
+ },
+ "ExtensionStatus": {
+ "description": "Status from the extension.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Status code provided by the Extension"
+ },
+ "displayStatus": {
+ "type": "string",
+ "description": "Short description of status of the extension."
+ },
+ "level": {
+ "type": "string",
+ "description": "Level of the status.",
+ "enum": [
+ "Error",
+ "Warning",
+ "Information"
+ ],
+ "default": "Information",
+ "x-ms-enum": {
+ "name": "LevelType",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "type": "string",
+ "description": "Detailed message of the status from the Extension."
+ },
+ "time": {
+ "type": "string",
+ "description": "DateLiteral (per ISO8601) noting the time of installation status."
+ }
+ }
+ },
+ "Extension": {
+ "description": "The Extension object.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "Properties of an Extension resource",
+ "properties": {
+ "extensionType": {
+ "description": "Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher.",
+ "type": "string"
+ },
+ "autoUpgradeMinorVersion": {
+ "description": "Flag to note if this extension participates in auto upgrade of minor version, or not.",
+ "type": "boolean",
+ "default": true
+ },
+ "releaseTrain": {
+ "description": "ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.",
+ "type": "string",
+ "default": "Stable"
+ },
+ "version": {
+ "description": "Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'.",
+ "type": "string"
+ },
+ "scope": {
+ "description": "Scope at which the extension is installed.",
+ "$ref": "#/definitions/Scope"
+ },
+ "configurationSettings": {
+ "description": "Configuration settings, as name-value pairs for configuring this extension.",
+ "type": "object",
+ "x-nullable": true,
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "configurationProtectedSettings": {
+ "description": "Configuration settings that are sensitive, as name-value pairs for configuring this extension.",
+ "type": "object",
+ "x-nullable": true,
+ "x-ms-secret": true,
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "provisioningState": {
+ "description": "Status of installation of this extension.",
+ "type": "string",
+ "readOnly": true,
+ "$ref": "../../common/2021-11-01-preview/definitions.json#/definitions/ProvisioningStateDefinition"
+ },
+ "statuses": {
+ "description": "Status from this extension.",
+ "type": "array",
+ "x-nullable": true,
+ "items": {
+ "$ref": "#/definitions/ExtensionStatus"
+ }
+ },
+ "errorInfo": {
+ "description": "Error information from the Agent - e.g. errors during installation.",
+ "type": "object",
+ "readOnly": true,
+ "x-nullable": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail"
+ },
+ "customLocationSettings": {
+ "description": "Custom Location settings properties.",
+ "type": "object",
+ "readOnly": true,
+ "x-nullable": true,
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "packageUri": {
+ "description": "Uri of the Helm package",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "aksAssignedIdentity": {
+ "description": "Identity of the Extension resource in an AKS cluster",
+ "x-nullable": true,
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal ID of resource identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The identity type.",
+ "enum": [
+ "SystemAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ }
+ }
+ }
+ }
+ },
+ "identity": {
+ "description": "Identity of the Extension resource",
+ "x-nullable": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Identity"
+ },
+ "systemData": {
+ "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "ExtensionsList": {
+ "description": "Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Extension"
+ },
+ "description": "List of Extensions within a Kubernetes cluster."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "URL to get the next set of extension objects, if any."
+ }
+ }
+ },
+ "patchExtension": {
+ "description": "The Extension Patch Request object.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "Updatable properties of an Extension Patch Request",
+ "properties": {
+ "autoUpgradeMinorVersion": {
+ "description": "Flag to note if this extension participates in auto upgrade of minor version, or not.",
+ "type": "boolean",
+ "default": true
+ },
+ "releaseTrain": {
+ "description": "ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.",
+ "type": "string",
+ "default": "Stable"
+ },
+ "version": {
+ "description": "Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'.",
+ "type": "string"
+ },
+ "configurationSettings": {
+ "description": "Configuration settings, as name-value pairs for configuring this extension.",
+ "type": "object",
+ "x-nullable": true,
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "configurationProtectedSettings": {
+ "description": "Configuration settings that are sensitive, as name-value pairs for configuring this extension.",
+ "type": "object",
+ "x-nullable": true,
+ "x-ms-secret": true,
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ExtensionNameParameter": {
+ "name": "extensionName",
+ "in": "path",
+ "description": "Name of the Extension.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/fluxconfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/fluxconfiguration.json
new file mode 100644
index 000000000000..01ef06788032
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/fluxconfiguration.json
@@ -0,0 +1,913 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-01-preview",
+ "title": "FluxConfigurationClient",
+ "description": "Use these APIs to create Flux Configuration resources through ARM, for Kubernetes Clusters."
+ },
+ "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}": {
+ "get": {
+ "tags": [
+ "FluxConfiguration",
+ "Flux"
+ ],
+ "description": "Gets details of the Flux Configuration.",
+ "operationId": "FluxConfigurations_Get",
+ "x-ms-examples": {
+ "Get Flux Configuration": {
+ "$ref": "./examples/GetFluxConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FluxConfigurationNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FluxConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "FluxConfiguration",
+ "Flux"
+ ],
+ "description": "Create a new Kubernetes Flux Configuration.",
+ "operationId": "FluxConfigurations_CreateOrUpdate",
+ "x-ms-examples": {
+ "Create Flux Configuration": {
+ "$ref": "./examples/CreateFluxConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FluxConfigurationNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "fluxConfiguration",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FluxConfiguration"
+ },
+ "description": "Properties necessary to Create a FluxConfiguration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request received successfully for an existing resource.",
+ "schema": {
+ "$ref": "#/definitions/FluxConfiguration"
+ }
+ },
+ "201": {
+ "description": "Request received successfully.",
+ "schema": {
+ "$ref": "#/definitions/FluxConfiguration"
+ }
+ },
+ "409": {
+ "description": "Conflict",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "patch": {
+ "tags": [
+ "FluxConfiguration",
+ "Flux"
+ ],
+ "description": "Update an existing Kubernetes Flux Configuration.",
+ "operationId": "FluxConfigurations_Update",
+ "x-ms-examples": {
+ "Patch Flux Configuration": {
+ "$ref": "./examples/PatchFluxConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FluxConfigurationNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "fluxConfigurationPatch",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FluxConfigurationPatch"
+ },
+ "description": "Properties to Patch in an existing Flux Configuration."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request received successfully, and the resource will be updated asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/FluxConfiguration"
+ }
+ },
+ "409": {
+ "description": "Conflict",
+ "x-ms-error-response": true,
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "delete": {
+ "tags": [
+ "FluxConfiguration",
+ "Flux"
+ ],
+ "description": "This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync from the source repo.",
+ "operationId": "FluxConfigurations_Delete",
+ "x-ms-examples": {
+ "Delete Flux Configuration": {
+ "$ref": "./examples/DeleteFluxConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FluxConfigurationNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "forceDelete",
+ "in": "query",
+ "description": "Delete the extension resource in Azure - not the normal asynchronous delete.",
+ "type": "boolean"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has been completed successfully."
+ },
+ "202": {
+ "description": "Accepted. The request has been accepted for processing."
+ },
+ "204": {
+ "description": "No Content. The request has been accepted but the configuration was not found."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations": {
+ "get": {
+ "tags": [
+ "FluxConfiguration",
+ "Flux"
+ ],
+ "description": "List all Flux Configurations.",
+ "operationId": "FluxConfigurations_List",
+ "x-ms-examples": {
+ "List Flux Configuration": {
+ "$ref": "./examples/ListFluxConfigurations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FluxConfigurationsList"
+ }
+ },
+ "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "FluxConfiguration Operation Status"
+ ],
+ "operationId": "FluxConfigOperationStatus_Get",
+ "description": "Get Async Operation status",
+ "x-ms-examples": {
+ "FluxConfigurationAsyncOperationStatus Get": {
+ "$ref": "./examples/GetFluxConfigurationAsyncOperationStatus.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FluxConfigurationNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "operation Id",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "FluxConfiguration Operation Status",
+ "schema": {
+ "$ref": "../../common/2021-11-01-preview/definitions.json#/definitions/OperationStatusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ScopeDefinition": {
+ "description": "Scope at which the configuration will be installed.",
+ "type": "string",
+ "enum": [
+ "cluster",
+ "namespace"
+ ],
+ "default": "cluster",
+ "x-ms-enum": {
+ "name": "ScopeType",
+ "modelAsString": true
+ }
+ },
+ "SourceKindDefinition": {
+ "description": "Source Kind to pull the configuration data from.",
+ "type": "string",
+ "enum": [
+ "GitRepository"
+ ],
+ "x-ms-enum": {
+ "name": "SourceKindType",
+ "modelAsString": true
+ }
+ },
+ "GitRepositoryDefinition": {
+ "description": "Parameters to reconcile to the GitRepository source kind type.",
+ "type": "object",
+ "x-nullable": true,
+ "properties": {
+ "url": {
+ "description": "The URL to sync for the flux configuration git repository.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "timeoutInSeconds": {
+ "description": "The maximum time to attempt to reconcile the cluster git repository source with the remote.",
+ "type": "integer",
+ "format": "int64",
+ "default": 600,
+ "x-nullable": true
+ },
+ "syncIntervalInSeconds": {
+ "description": "The interval at which to re-reconcile the cluster git repository source with the remote.",
+ "type": "integer",
+ "format": "int64",
+ "default": 600,
+ "x-nullable": true
+ },
+ "repositoryRef": {
+ "description": "The source reference for the GitRepository object.",
+ "$ref": "#/definitions/RepositoryRefDefinition"
+ },
+ "sshKnownHosts": {
+ "description": "Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH",
+ "type": "string",
+ "x-nullable": true
+ },
+ "httpsUser": {
+ "description": "Base64-encoded HTTPS username used to access private git repositories over HTTPS",
+ "type": "string",
+ "x-nullable": true
+ },
+ "httpsCAFile": {
+ "description": "Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS",
+ "type": "string",
+ "x-nullable": true
+ },
+ "localAuthRef": {
+ "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.",
+ "type": "string",
+ "x-nullable": true
+ }
+ }
+ },
+ "RepositoryRefDefinition": {
+ "description": "The source reference for the GitRepository object.",
+ "type": "object",
+ "x-nullable": true,
+ "properties": {
+ "branch": {
+ "description": "The git repository branch name to checkout.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "tag": {
+ "description": "The git repository tag name to checkout. This takes precedence over branch.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "semver": {
+ "description": "The semver range used to match against git repository tags. This takes precedence over tag.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "commit": {
+ "description": "The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence over semver.",
+ "type": "string",
+ "x-nullable": true
+ }
+ }
+ },
+ "KustomizationDefinition": {
+ "description": "The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster.",
+ "type": "object",
+ "x-nullable": true,
+ "properties": {
+ "path": {
+ "description": "The path in the source reference to reconcile on the cluster.",
+ "type": "string",
+ "default": ""
+ },
+ "dependsOn": {
+ "description": "Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile until all dependencies have completed their reconciliation.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/DependsOnDefinition"
+ },
+ "x-nullable": true
+ },
+ "timeoutInSeconds": {
+ "description": "The maximum time to attempt to reconcile the Kustomization on the cluster.",
+ "type": "integer",
+ "format": "int64",
+ "default": 600,
+ "x-nullable": true
+ },
+ "syncIntervalInSeconds": {
+ "description": "The interval at which to re-reconcile the Kustomization on the cluster.",
+ "type": "integer",
+ "format": "int64",
+ "default": 600,
+ "x-nullable": true
+ },
+ "retryIntervalInSeconds": {
+ "description": "The interval at which to re-reconcile the Kustomization on the cluster in the event of failure on reconciliation.",
+ "type": "integer",
+ "format": "int64",
+ "x-nullable": true
+ },
+ "prune": {
+ "description": "Enable/disable garbage collections of Kubernetes objects created by this Kustomization.",
+ "type": "boolean",
+ "default": false
+ },
+ "validation": {
+ "description": "Specify whether to validate the Kubernetes objects referenced in the Kustomization before applying them to the cluster.",
+ "$ref": "#/definitions/KustomizationValidationDefinition"
+ },
+ "force": {
+ "description": "Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field change.",
+ "type": "boolean",
+ "default": false
+ }
+ }
+ },
+ "DependsOnDefinition": {
+ "description": "Specify which kustomizations must succeed reconciliation on the cluster prior to reconciling this kustomization",
+ "type": "object",
+ "properties": {
+ "kustomizationName": {
+ "description": "Name of the kustomization to claim dependency on",
+ "type": "string"
+ }
+ }
+ },
+ "KustomizationValidationDefinition": {
+ "description": "Specify whether to validate the Kubernetes objects referenced in the Kustomization before applying them to the cluster.",
+ "type": "string",
+ "enum": [
+ "none",
+ "client",
+ "server"
+ ],
+ "default": "none",
+ "x-ms-enum": {
+ "name": "KustomizationValidationType",
+ "modelAsString": true
+ }
+ },
+ "ObjectStatusDefinition": {
+ "description": "Statuses of objects deployed by the user-specified kustomizations from the git repository.",
+ "type": "object",
+ "x-nullable": true,
+ "properties": {
+ "name": {
+ "description": "Name of the applied object",
+ "type": "string"
+ },
+ "namespace": {
+ "description": "Namespace of the applied object",
+ "type": "string"
+ },
+ "kind": {
+ "description": "Kind of the applied object",
+ "type": "string"
+ },
+ "complianceState": {
+ "description": "Compliance state of the applied object showing whether the applied object has come into a ready state on the cluster.",
+ "type": "string",
+ "$ref": "#/definitions/FluxComplianceStateDefinition"
+ },
+ "appliedBy": {
+ "description": "Object reference to the Kustomization that applied this object",
+ "type": "object",
+ "$ref": "#/definitions/ObjectReferenceDefinition",
+ "x-nullable": true
+ },
+ "statusConditions": {
+ "description": "List of Kubernetes object status conditions present on the cluster",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/ObjectStatusConditionDefinition"
+ },
+ "x-nullable": true
+ },
+ "helmReleaseProperties": {
+ "description": "Additional properties that are provided from objects of the HelmRelease kind",
+ "type": "object",
+ "$ref": "#/definitions/HelmReleasePropertiesDefinition",
+ "x-nullable": true
+ }
+ }
+ },
+ "ObjectReferenceDefinition": {
+ "description": "Object reference to a Kubernetes object on a cluster",
+ "type": "object",
+ "x-nullable": true,
+ "properties": {
+ "name": {
+ "description": "Name of the object",
+ "type": "string"
+ },
+ "namespace": {
+ "description": "Namespace of the object",
+ "type": "string"
+ }
+ }
+ },
+ "ObjectStatusConditionDefinition": {
+ "description": "Status condition of Kubernetes object",
+ "type": "object",
+ "properties": {
+ "lastTransitionTime": {
+ "description": "Last time this status condition has changed",
+ "type": "string",
+ "format": "date-time"
+ },
+ "message": {
+ "description": "A more verbose description of the object status condition",
+ "type": "string"
+ },
+ "reason": {
+ "description": "Reason for the specified status condition type status",
+ "type": "string"
+ },
+ "status": {
+ "description": "Status of the Kubernetes object condition type",
+ "type": "string"
+ },
+ "type": {
+ "description": "Object status condition type for this object",
+ "type": "string"
+ }
+ }
+ },
+ "HelmReleasePropertiesDefinition": {
+ "type": "object",
+ "x-nullable": true,
+ "properties": {
+ "lastRevisionApplied": {
+ "description": "The revision number of the last released object change",
+ "type": "integer",
+ "format": "int64",
+ "x-nullable": true
+ },
+ "helmChartRef": {
+ "description": "The reference to the HelmChart object used as the source to this HelmRelease",
+ "type": "object",
+ "$ref": "#/definitions/ObjectReferenceDefinition"
+ },
+ "failureCount": {
+ "description": "Total number of times that the HelmRelease failed to install or upgrade",
+ "type": "integer",
+ "format": "int64",
+ "x-nullable": true
+ },
+ "installFailureCount": {
+ "description": "Number of times that the HelmRelease failed to install",
+ "type": "integer",
+ "format": "int64",
+ "x-nullable": true
+ },
+ "upgradeFailureCount": {
+ "description": "Number of times that the HelmRelease failed to upgrade",
+ "type": "integer",
+ "format": "int64",
+ "x-nullable": true
+ }
+ }
+ },
+ "FluxComplianceStateDefinition": {
+ "description": "Compliance state of the cluster object.",
+ "type": "string",
+ "enum": [
+ "Compliant",
+ "Non-Compliant",
+ "Pending",
+ "Suspended",
+ "Unknown"
+ ],
+ "default": "Unknown",
+ "x-ms-enum": {
+ "name": "FluxComplianceState",
+ "modelAsString": true
+ }
+ },
+ "FluxConfiguration": {
+ "type": "object",
+ "description": "The Flux Configuration object returned in Get & Put response.",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "Properties to create a Flux Configuration resource",
+ "properties": {
+ "scope": {
+ "description": "Scope at which the operator will be installed.",
+ "$ref": "#/definitions/ScopeDefinition"
+ },
+ "namespace": {
+ "description": "The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only.",
+ "type": "string",
+ "default": "default"
+ },
+ "sourceKind": {
+ "description": "Source Kind to pull the configuration data from.",
+ "$ref": "#/definitions/SourceKindDefinition"
+ },
+ "suspend": {
+ "description": "Whether this configuration should suspend its reconciliation of its kustomizations and sources.",
+ "type": "boolean",
+ "default": false
+ },
+ "gitRepository": {
+ "description": "Parameters to reconcile to the GitRepository source kind type.",
+ "type": "object",
+ "$ref": "#/definitions/GitRepositoryDefinition"
+ },
+ "kustomizations": {
+ "description": "Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.",
+ "type": "object",
+ "x-nullable": true,
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/KustomizationDefinition"
+ }
+ },
+ "configurationProtectedSettings": {
+ "description": "Key-value pairs of protected configuration settings for the configuration",
+ "type": "object",
+ "x-nullable": true,
+ "x-ms-secret": true,
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "statuses": {
+ "description": "Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects provisioned by the fluxConfiguration.",
+ "type": "array",
+ "readOnly": true,
+ "x-nullable": true,
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/ObjectStatusDefinition"
+ }
+ },
+ "repositoryPublicKey": {
+ "description": "Public Key associated with this fluxConfiguration (either generated within the cluster or provided by the user).",
+ "type": "string",
+ "x-nullable": true,
+ "readOnly": true
+ },
+ "lastSourceSyncedCommitId": {
+ "description": "Branch and SHA of the last source commit synced with the cluster.",
+ "type": "string",
+ "x-nullable": true,
+ "readOnly": true
+ },
+ "lastSourceSyncedAt": {
+ "description": "Datetime the fluxConfiguration last synced its source on the cluster.",
+ "type": "string",
+ "format": "date-time",
+ "x-nullable": true,
+ "readOnly": true
+ },
+ "complianceState": {
+ "description": "Combined status of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects.",
+ "type": "string",
+ "readOnly": true,
+ "$ref": "#/definitions/FluxComplianceStateDefinition"
+ },
+ "provisioningState": {
+ "description": "Status of the creation of the fluxConfiguration.",
+ "type": "string",
+ "readOnly": true,
+ "$ref": "../../common/2021-11-01-preview/definitions.json#/definitions/ProvisioningStateDefinition"
+ },
+ "errorMessage": {
+ "description": "Error message returned to the user in the case of provisioning failure.",
+ "type": "string",
+ "x-nullable": true,
+ "readOnly": true
+ }
+ }
+ },
+ "systemData": {
+ "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "FluxConfigurationPatch": {
+ "description": "The Flux Configuration Patch Request object.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "Updatable properties of an Flux Configuration Patch Request",
+ "properties": {
+ "sourceKind": {
+ "description": "Source Kind to pull the configuration data from.",
+ "$ref": "#/definitions/SourceKindDefinition"
+ },
+ "suspend": {
+ "description": "Whether this configuration should suspend its reconciliation of its kustomizations and sources.",
+ "type": "boolean",
+ "default": false
+ },
+ "gitRepository": {
+ "description": "Parameters to reconcile to the GitRepository source kind type.",
+ "type": "object",
+ "$ref": "#/definitions/GitRepositoryDefinition"
+ },
+ "kustomizations": {
+ "description": "Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.",
+ "type": "object",
+ "x-nullable": true,
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/KustomizationDefinition"
+ }
+ },
+ "configurationProtectedSettings": {
+ "description": "Key-value pairs of protected configuration settings for the configuration",
+ "type": "object",
+ "x-nullable": true,
+ "x-ms-secret": true,
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "FluxConfigurationsList": {
+ "description": "Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/FluxConfiguration"
+ },
+ "description": "List of Flux Configurations within a Kubernetes cluster."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "URL to get the next set of configuration objects, if any."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "FluxConfigurationNameParameter": {
+ "name": "fluxConfigurationName",
+ "in": "path",
+ "description": "Name of the Flux Configuration.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/kubernetesconfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/kubernetesconfiguration.json
new file mode 100644
index 000000000000..87a1abf84b00
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/kubernetesconfiguration.json
@@ -0,0 +1,475 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-01-preview",
+ "title": "SourceControlConfigurationClient",
+ "description": "Use these APIs to create Source Control Configuration resources through ARM, for Kubernetes Clusters."
+ },
+ "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}": {
+ "get": {
+ "tags": [
+ "SourceControlConfiguration"
+ ],
+ "description": "Gets details of the Source Control Configuration.",
+ "operationId": "SourceControlConfigurations_Get",
+ "x-ms-examples": {
+ "Get Source Control Configuration": {
+ "$ref": "./examples/GetSourceControlConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SourceControlConfigurationNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SourceControlConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SourceControlConfiguration"
+ ],
+ "description": "Create a new Kubernetes Source Control Configuration.",
+ "operationId": "SourceControlConfigurations_CreateOrUpdate",
+ "x-ms-examples": {
+ "Create Source Control Configuration": {
+ "$ref": "./examples/CreateSourceControlConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SourceControlConfigurationNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "sourceControlConfiguration",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SourceControlConfiguration"
+ },
+ "description": "Properties necessary to Create KubernetesConfiguration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SourceControlConfiguration"
+ }
+ },
+ "201": {
+ "description": "Created.",
+ "schema": {
+ "$ref": "#/definitions/SourceControlConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "SourceControlConfiguration"
+ ],
+ "description": "This will delete the YAML file used to set up the Source control configuration, thus stopping future sync from the source repo.",
+ "operationId": "SourceControlConfigurations_Delete",
+ "x-ms-examples": {
+ "Delete Source Control Configuration": {
+ "$ref": "./examples/DeleteSourceControlConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SourceControlConfigurationNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has been completed successfully."
+ },
+ "204": {
+ "description": "No Content. The request has been accepted but the configuration was not found."
+ },
+ "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations": {
+ "get": {
+ "tags": [
+ "SourceControlConfiguration"
+ ],
+ "description": "List all Source Control Configurations.",
+ "operationId": "SourceControlConfigurations_List",
+ "x-ms-examples": {
+ "List Source Control Configuration": {
+ "$ref": "./examples/ListSourceControlConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SourceControlConfigurationList"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ComplianceStatus": {
+ "description": "Compliance Status details",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "complianceState": {
+ "description": "The compliance state of the configuration.",
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ComplianceStateType",
+ "modelAsString": true
+ },
+ "enum": [
+ "Pending",
+ "Compliant",
+ "Noncompliant",
+ "Installed",
+ "Failed"
+ ]
+ },
+ "lastConfigApplied": {
+ "description": "Datetime the configuration was last applied.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "message": {
+ "description": "Message from when the configuration was applied.",
+ "type": "string"
+ },
+ "messageLevel": {
+ "description": "Level of the message.",
+ "type": "string",
+ "enum": [
+ "Error",
+ "Warning",
+ "Information"
+ ],
+ "x-ms-enum": {
+ "name": "MessageLevelType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ChartVersion": {
+ "description": "Version of the operator Helm chart.",
+ "type": "string"
+ },
+ "ChartValues": {
+ "description": "Values override for the operator Helm chart.",
+ "type": "string"
+ },
+ "HelmOperatorProperties": {
+ "description": "Properties for Helm operator.",
+ "type": "object",
+ "properties": {
+ "chartVersion": {
+ "description": "Version of the operator Helm chart.",
+ "$ref": "#/definitions/ChartVersion"
+ },
+ "chartValues": {
+ "description": "Values override for the operator Helm chart.",
+ "$ref": "#/definitions/ChartValues"
+ }
+ }
+ },
+ "ConfigurationProtectedSettings": {
+ "description": "Name-value pairs of protected configuration settings for the configuration",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "OperatorTypeDefinition": {
+ "description": "Type of the operator",
+ "type": "string",
+ "enum": [
+ "Flux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatorType",
+ "modelAsString": true
+ }
+ },
+ "OperatorScopeDefinition": {
+ "description": "Scope at which the operator will be installed.",
+ "type": "string",
+ "enum": [
+ "cluster",
+ "namespace"
+ ],
+ "default": "cluster",
+ "x-ms-enum": {
+ "name": "OperatorScopeType",
+ "modelAsString": true
+ }
+ },
+ "SourceControlConfiguration": {
+ "description": "The SourceControl Configuration object returned in Get & Put response.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "Properties to create a Source Control Configuration resource",
+ "properties": {
+ "repositoryUrl": {
+ "type": "string",
+ "description": "Url of the SourceControl Repository."
+ },
+ "operatorNamespace": {
+ "description": "The namespace to which this operator is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only.",
+ "type": "string",
+ "default": "default"
+ },
+ "operatorInstanceName": {
+ "description": "Instance name of the operator - identifying the specific configuration.",
+ "type": "string"
+ },
+ "operatorType": {
+ "description": "Type of the operator",
+ "$ref": "#/definitions/OperatorTypeDefinition"
+ },
+ "operatorParams": {
+ "description": "Any Parameters for the Operator instance in string format.",
+ "type": "string"
+ },
+ "configurationProtectedSettings": {
+ "description": "Name-value pairs of protected configuration settings for the configuration",
+ "type": "object",
+ "$ref": "#/definitions/ConfigurationProtectedSettings"
+ },
+ "operatorScope": {
+ "description": "Scope at which the operator will be installed.",
+ "$ref": "#/definitions/OperatorScopeDefinition"
+ },
+ "repositoryPublicKey": {
+ "description": "Public Key associated with this SourceControl configuration (either generated within the cluster or provided by the user).",
+ "type": "string",
+ "readOnly": true
+ },
+ "sshKnownHostsContents": {
+ "description": "Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances",
+ "type": "string"
+ },
+ "enableHelmOperator": {
+ "description": "Option to enable Helm Operator for this git configuration.",
+ "type": "boolean"
+ },
+ "helmOperatorProperties": {
+ "description": "Properties for Helm operator.",
+ "type": "object",
+ "$ref": "#/definitions/HelmOperatorProperties"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the resource provider.",
+ "readOnly": true,
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ProvisioningStateType"
+ },
+ "enum": [
+ "Accepted",
+ "Deleting",
+ "Running",
+ "Succeeded",
+ "Failed"
+ ]
+ },
+ "complianceStatus": {
+ "type": "object",
+ "description": "Compliance Status of the Configuration",
+ "readOnly": true,
+ "$ref": "#/definitions/ComplianceStatus"
+ }
+ }
+ },
+ "systemData": {
+ "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "SourceControlConfigurationList": {
+ "description": "Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/SourceControlConfiguration"
+ },
+ "description": "List of Source Control Configurations within a Kubernetes cluster."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "URL to get the next set of configuration objects, if any."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SourceControlConfigurationNameParameter": {
+ "name": "sourceControlConfigurationName",
+ "in": "path",
+ "description": "Name of the Source Control Configuration.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/operations.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/operations.json
new file mode 100644
index 000000000000..6e9ca7a62d5b
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/operations.json
@@ -0,0 +1,127 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-01-preview",
+ "title": "OperationsClient",
+ "description": "Use these APIs to create extension resources through ARM, for Kubernetes Clusters."
+ },
+ "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations": {
+ "get": {
+ "tags": [
+ "Operations in a Cluster"
+ ],
+ "operationId": "OperationStatus_List",
+ "description": "List Async Operations, currently in progress, in a cluster",
+ "x-ms-examples": {
+ "AsyncOperationStatus List": {
+ "$ref": "./examples/ListAsyncOperationStatus.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2021-11-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operations in a cluster",
+ "schema": {
+ "$ref": "../../common/2021-11-01-preview/definitions.json#/definitions/OperationStatusList"
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "/providers/Microsoft.KubernetesConfiguration/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "BatchAccountDelete": {
+ "$ref": "./examples/OperationsList.json"
+ }
+ },
+ "description": "List all the available operations the KubernetesConfiguration resource provider supports.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK response definition.",
+ "schema": {
+ "$ref": "../../common/2021-11-01-preview/definitions.json#/definitions/ResourceProviderOperationList"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ClusterExtensionType_Get.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ClusterExtensionType_Get.json
new file mode 100644
index 000000000000..66bfc54c9ef6
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ClusterExtensionType_Get.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.ContainerService",
+ "clusterResourceName": "managedClusters",
+ "clusterName": "clusterName1",
+ "api-version": "2022-01-01-preview",
+ "extensionTypeName": "microsoft.example"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "releaseTrains": [
+ "stable",
+ "preview",
+ "pilot"
+ ],
+ "clusterTypes": "connectedClusters",
+ "supportedScopes": {
+ "defaultScope": "cluster",
+ "clusterScopeSettings": {
+ "properties": {
+ "allowMultipleInstances": true,
+ "defaultReleaseNamespace": "kube-system"
+ },
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.ContainerService/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensionTypes/microsoft.example",
+ "name": "microsoft.example",
+ "type": "Microsoft.KubernetesConfiguration/extensionTypes"
+ }
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-09-08T05:10:57.027Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ClusterExtensionTypes_List.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ClusterExtensionTypes_List.json
new file mode 100644
index 000000000000..96998beb9c85
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ClusterExtensionTypes_List.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.ContainerService",
+ "clusterResourceName": "managedClusters",
+ "clusterName": "clusterName1",
+ "api-version": "2022-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "releaseTrains": [
+ "stable",
+ "preview",
+ "pilot"
+ ],
+ "clusterTypes": "connectedClusters",
+ "supportedScopes": {
+ "defaultScope": "cluster",
+ "clusterScopeSettings": {
+ "properties": {
+ "allowMultipleInstances": true,
+ "defaultReleaseNamespace": "kube-system"
+ },
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.ContainerService/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensionTypes/microsoft.example",
+ "name": "microsoft.example",
+ "type": "Microsoft.KubernetesConfiguration/extensionTypes"
+ }
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-09-08T05:10:57.027Z"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateExtension.json
new file mode 100644
index 000000000000..0034d08920c8
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateExtension.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "extensionName": "ClusterMonitor",
+ "api-version": "2022-01-01-preview",
+ "clusterName": "clusterName1",
+ "extension": {
+ "properties": {
+ "extensionType": "azuremonitor-containers",
+ "autoUpgradeMinorVersion": true,
+ "releaseTrain": "Preview",
+ "scope": {
+ "cluster": {
+ "releaseNamespace": "kube-system"
+ }
+ },
+ "configurationSettings": {
+ "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b",
+ "omsagent.env.clusterName": "clusterName1"
+ },
+ "configurationProtectedSettings": {
+ "omsagent.secret.key": "secretKeyValue01"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}",
+ "x-ms-async-operation-timeout": "PT48H",
+ "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/operationId?api-version=2022-01-01-preview"
+ },
+ "description": "Details of the Kubernetes Extension's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor",
+ "type": "Microsoft.KubernetesConfiguration/extensions",
+ "name": "ClusterMonitor",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-09-08T05:10:57.027Z"
+ },
+ "properties": {
+ "extensionType": "azuremonitor-containers",
+ "autoUpgradeMinorVersion": true,
+ "releaseTrain": "Preview",
+ "version": "0.1.4",
+ "scope": {
+ "cluster": {
+ "releaseNamespace": "kube-system"
+ }
+ },
+ "configurationSettings": {
+ "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b",
+ "omsagent.env.clusterName": "clusterName1"
+ },
+ "provisioningState": "Creating",
+ "statuses": []
+ }
+ }
+ },
+ "200": {
+ "headers": {
+ "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}",
+ "x-ms-async-operation-timeout": "PT48H"
+ },
+ "description": "Details of the Kubernetes Extension's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor",
+ "type": "Microsoft.KubernetesConfiguration/extensions",
+ "name": "ClusterMonitor",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-09-08T05:10:57.027Z"
+ },
+ "properties": {
+ "extensionType": "azuremonitor-containers",
+ "autoUpgradeMinorVersion": true,
+ "releaseTrain": "Preview",
+ "version": "0.1.4",
+ "scope": {
+ "cluster": {
+ "releaseNamespace": "kube-system"
+ }
+ },
+ "configurationSettings": {
+ "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b",
+ "omsagent.env.clusterName": "clusterName1"
+ },
+ "provisioningState": "Creating",
+ "statuses": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateFluxConfiguration.json
new file mode 100644
index 000000000000..0219b602e29c
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateFluxConfiguration.json
@@ -0,0 +1,314 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "fluxConfigurationName": "srs-fluxconfig",
+ "api-version": "2022-01-01-preview",
+ "clusterName": "clusterName1",
+ "fluxConfiguration": {
+ "properties": {
+ "scope": "cluster",
+ "namespace": "srs-namespace",
+ "sourceKind": "GitRepository",
+ "suspend": false,
+ "gitRepository": {
+ "url": "https://github.com/Azure/arc-k8s-demo",
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "repositoryRef": {
+ "branch": "master"
+ },
+ "httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl"
+ },
+ "kustomizations": {
+ "srs-kustomization1": {
+ "path": "./test/path",
+ "dependsOn": [],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600
+ },
+ "srs-kustomization2": {
+ "path": "./other/test/path",
+ "dependsOn": [
+ {
+ "kustomizationName": "srs-kustomization1"
+ }
+ ],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "retryIntervalInSeconds": 600,
+ "prune": false
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}",
+ "x-ms-async-operation-timeout": "PT48H"
+ },
+ "description": "Details of the Kubernetes Flux Configuration's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig",
+ "type": "Microsoft.KubernetesConfiguration/fluxConfigurations",
+ "name": "srs-fluxconfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-05-19T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-05-19T05:10:57.027Z"
+ },
+ "properties": {
+ "scope": "cluster",
+ "namespace": "srs-namespace",
+ "sourceKind": "GitRepository",
+ "suspend": false,
+ "gitRepository": {
+ "url": "https://github.com/Azure/arc-k8s-demo",
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "repositoryRef": {
+ "branch": "master",
+ "tag": null,
+ "semver": null,
+ "commit": null
+ },
+ "httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl"
+ },
+ "kustomizations": {
+ "srs-kustomization1": {
+ "path": "./test/path",
+ "dependsOn": [],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600
+ },
+ "srs-kustomization2": {
+ "path": "./other/test/path",
+ "dependsOn": [
+ {
+ "kustomizationName": "srs-kustomization1"
+ }
+ ],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "retryIntervalInSeconds": 600,
+ "prune": false
+ }
+ },
+ "statuses": [
+ {
+ "name": "srs-fluxconfig",
+ "kind": "GitRepository",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": null,
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "GitOperationSucceed",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization1",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization2",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ }
+ ],
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF",
+ "lastSourceUpdatedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
+ "lastSourceUpdatedAt": "2021-05-19T18:17:12Z",
+ "complianceState": "Compliant",
+ "provisioningState": "Succeeded",
+ "errorMessage": ""
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}",
+ "x-ms-async-operation-timeout": "PT48H",
+ "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/operationId?api-version=2022-01-01-preview"
+ },
+ "description": "Details of the Kubernetes Flux Configuration's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig",
+ "type": "Microsoft.KubernetesConfiguration/fluxConfigurations",
+ "name": "srs-fluxconfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-05-19T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-05-19T05:10:57.027Z"
+ },
+ "properties": {
+ "scope": "cluster",
+ "namespace": "srs-namespace",
+ "sourceKind": "GitRepository",
+ "suspend": false,
+ "gitRepository": {
+ "url": "https://github.com/Azure/arc-k8s-demo",
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "repositoryRef": {
+ "branch": "master",
+ "tag": null,
+ "semver": null,
+ "commit": null
+ },
+ "httpsCACert": "ZXhhbXBsZWNlcnRpZmljYXRl"
+ },
+ "kustomizations": {
+ "srs-kustomization1": {
+ "path": "./test/path",
+ "dependsOn": [],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600
+ },
+ "srs-kustomization2": {
+ "path": "./other/test/path",
+ "dependsOn": [
+ {
+ "kustomizationName": "srs-kustomization1"
+ }
+ ],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "retryIntervalInSeconds": 600,
+ "prune": false
+ }
+ },
+ "statuses": [
+ {
+ "name": "srs-fluxconfig",
+ "kind": "GitRepository",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "GitOperationSucceed",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization1",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization2",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ }
+ ],
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF",
+ "lastSourceUpdatedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
+ "lastSourceUpdatedAt": "2021-05-19T18:17:12Z",
+ "complianceState": "Compliant",
+ "provisioningState": "Succeeded",
+ "errorMessage": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateFluxConfigurationWithBucket.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateFluxConfigurationWithBucket.json
new file mode 100644
index 000000000000..febab801429d
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateFluxConfigurationWithBucket.json
@@ -0,0 +1,303 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "fluxConfigurationName": "srs-fluxconfig",
+ "api-version": "2022-01-01-preview",
+ "clusterName": "clusterName1",
+ "fluxConfiguration": {
+ "properties": {
+ "scope": "cluster",
+ "namespace": "srs-namespace",
+ "sourceKind": "Bucket",
+ "suspend": false,
+ "bucket": {
+ "url": "https://fluxminiotest.az.minio.io",
+ "bucketName": "flux",
+ "syncIntervalInSeconds": 1000,
+ "timeoutInSeconds": 1000,
+ "accessKey": "fluxminiotest"
+ },
+ "kustomizations": {
+ "srs-kustomization1": {
+ "path": "./test/path",
+ "dependsOn": [],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600
+ },
+ "srs-kustomization2": {
+ "path": "./other/test/path",
+ "dependsOn": [
+ {
+ "kustomizationName": "srs-kustomization1"
+ }
+ ],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "retryIntervalInSeconds": 600,
+ "prune": false
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}",
+ "x-ms-async-operation-timeout": "PT48H"
+ },
+ "description": "Details of the Kubernetes Flux Configuration's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig",
+ "type": "Microsoft.KubernetesConfiguration/fluxConfigurations",
+ "name": "srs-fluxconfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-05-19T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-05-19T05:10:57.027Z"
+ },
+ "properties": {
+ "scope": "cluster",
+ "namespace": "srs-namespace",
+ "sourceKind": "Bucket",
+ "suspend": false,
+ "gitRepository": null,
+ "bucket": {
+ "url": "https://fluxminiotest.az.minio.io",
+ "bucketName": "flux",
+ "syncIntervalInSeconds": 1000,
+ "timeoutInSeconds": 1000,
+ "accessKey": "fluxminiotest"
+ },
+ "kustomizations": {
+ "srs-kustomization1": {
+ "path": "./test/path",
+ "dependsOn": [],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600
+ },
+ "srs-kustomization2": {
+ "path": "./other/test/path",
+ "dependsOn": [
+ {
+ "kustomizationName": "srs-kustomization1"
+ }
+ ],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "retryIntervalInSeconds": 600,
+ "prune": false
+ }
+ },
+ "statuses": [
+ {
+ "name": "srs-fluxconfig",
+ "kind": "GitRepository",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": null,
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "GitOperationSucceed",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization1",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization2",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ }
+ ],
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF",
+ "lastSourceUpdatedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
+ "lastSourceUpdatedAt": "2021-05-19T18:17:12Z",
+ "complianceState": "Compliant",
+ "provisioningState": "Succeeded",
+ "errorMessage": ""
+ }
+ }
+ },
+ "201": {
+ "headers": {
+ "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/ClusterMonitor/srs-fluxconfig/{operationId}",
+ "x-ms-async-operation-timeout": "PT48H"
+ },
+ "description": "Details of the Kubernetes Flux Configuration's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig",
+ "type": "Microsoft.KubernetesConfiguration/fluxConfigurations",
+ "name": "srs-fluxconfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-05-19T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-05-19T05:10:57.027Z"
+ },
+ "properties": {
+ "scope": "cluster",
+ "namespace": "srs-namespace",
+ "sourceKind": "GitRepository",
+ "suspend": false,
+ "gitRepository": null,
+ "bucket": {
+ "url": "https://fluxminiotest.az.minio.io",
+ "bucketName": "flux",
+ "syncIntervalInSeconds": 1000,
+ "timeoutInSeconds": 1000,
+ "accessKey": "fluxminiotest"
+ },
+ "kustomizations": {
+ "srs-kustomization1": {
+ "path": "./test/path",
+ "dependsOn": [],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600
+ },
+ "srs-kustomization2": {
+ "path": "./other/test/path",
+ "dependsOn": [
+ {
+ "kustomizationName": "srs-kustomization1"
+ }
+ ],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "retryIntervalInSeconds": 600,
+ "prune": false
+ }
+ },
+ "statuses": [
+ {
+ "name": "srs-fluxconfig",
+ "kind": "GitRepository",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "GitOperationSucceed",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization1",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization2",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ }
+ ],
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF",
+ "lastSourceUpdatedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
+ "lastSourceUpdatedAt": "2021-05-19T18:17:12Z",
+ "complianceState": "Compliant",
+ "provisioningState": "Succeeded",
+ "errorMessage": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateSourceControlConfiguration.json
new file mode 100644
index 000000000000..02b50416917c
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/CreateSourceControlConfiguration.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "sourceControlConfigurationName": "SRS_GitHubConfig",
+ "api-version": "2022-01-01-preview",
+ "clusterName": "clusterName1",
+ "sourceControlConfiguration": {
+ "properties": {
+ "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started",
+ "operatorNamespace": "SRS_Namespace",
+ "operatorInstanceName": "SRSGitHubFluxOp-01",
+ "operatorType": "Flux",
+ "operatorScope": "namespace",
+ "operatorParams": "--git-email=xyzgituser@users.srs.github.com",
+ "configurationProtectedSettings": {
+ "protectedSetting1Key": "protectedSetting1Value"
+ },
+ "enableHelmOperator": true,
+ "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=",
+ "helmOperatorProperties": {
+ "chartVersion": "0.3.0",
+ "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "description": "Details of the Kubernetes Configuration's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig",
+ "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations",
+ "name": "SRS_GitHubConfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-09-08T05:10:57.027Z"
+ },
+ "properties": {
+ "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started",
+ "operatorNamespace": "SRS_Namespace",
+ "operatorInstanceName": "SRSGitHubFluxOp-01",
+ "operatorType": "Flux",
+ "operatorScope": "namespace",
+ "operatorParams": "--git-email=xyzgituser@users.srs.github.com",
+ "enableHelmOperator": true,
+ "helmOperatorProperties": {
+ "chartVersion": "0.3.0",
+ "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"
+ },
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqvTzeL+BWgcHnC1CTBRMg2ZfCh9khlrvb2avFHiGG24rRvjLHlKqtfiiw+cZNCKskUyVKqamD2RHrhyn/wXvJ9fFRt0LhYLKn4hJhJaPx4IawdWnW1MUv4U+Mr8o3Cxps4EmiZemqri3fOrhzEIlPL272whKpzlDLV7L4W1XQIGmVPwQ93HTzKEd5uHuEuw6JyFftDDLlCnd3Q1kQ7HOabFEfcSSr9cMx2MU4j/Pjuf3Rd/CzeksvKtU009KSXSnWKm8LL1fihSc1H1WDTi8iuZtT63hsNYH1yxrPRpMVScs3ufLViAGO9NEHQSgDdl/OERQQqKisUn2Qm6adgmftw== rsa-key-20190909",
+ "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=",
+ "provisioningState": "Succeeded",
+ "complianceStatus": {
+ "complianceState": "Pending",
+ "lastConfigApplied": "2020-09-08T05:25:32.122Z",
+ "message": "Configuration successfully created",
+ "messageLevel": "Info"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "description": "Details of the Kubernetes Configuration's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig",
+ "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations",
+ "name": "SRS_GitHubConfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-09-08T05:10:57.027Z"
+ },
+ "properties": {
+ "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started",
+ "operatorNamespace": "SRS_Namespace",
+ "operatorInstanceName": "SRSGitHubFluxOp-01",
+ "operatorType": "Flux",
+ "operatorScope": "namespace",
+ "operatorParams": "--git-email=xyzgituser@users.srs.github.com",
+ "enableHelmOperator": true,
+ "helmOperatorProperties": {
+ "chartVersion": "0.3.0",
+ "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"
+ },
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqvTzeL+BWgcHnC1CTBRMg2ZfCh9khlrvb2avFHiGG24rRvjLHlKqtfiiw+cZNCKskUyVKqamD2RHrhyn/wXvJ9fFRt0LhYLKn4hJhJaPx4IawdWnW1MUv4U+Mr8o3Cxps4EmiZemqri3fOrhzEIlPL272whKpzlDLV7L4W1XQIGmVPwQ93HTzKEd5uHuEuw6JyFftDDLlCnd3Q1kQ7HOabFEfcSSr9cMx2MU4j/Pjuf3Rd/CzeksvKtU009KSXSnWKm8LL1fihSc1H1WDTi8iuZtT63hsNYH1yxrPRpMVScs3ufLViAGO9NEHQSgDdl/OERQQqKisUn2Qm6adgmftw== rsa-key-20190909",
+ "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=",
+ "provisioningState": "Succeeded",
+ "complianceStatus": {
+ "complianceState": "Pending",
+ "lastConfigApplied": "2020-09-08T05:25:32.122Z",
+ "message": "Configuration successfully created",
+ "messageLevel": "Info"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteExtension.json
new file mode 100644
index 000000000000..b0b8d483de74
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteExtension.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "extensionName": "ClusterMonitor",
+ "api-version": "2022-01-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/{operationId}",
+ "x-ms-async-operation-timeout": "PT1H"
+ }
+ },
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteFluxConfiguration.json
new file mode 100644
index 000000000000..5519d51d8eb7
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteFluxConfiguration.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "fluxConfigurationName": "srs-fluxconfig",
+ "api-version": "2022-01-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/{operationId}",
+ "x-ms-async-operation-timeout": "PT1H"
+ },
+ "description": "Details of the Kubernetes Flux Configuration's current status."
+ },
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteSourceControlConfiguration.json
new file mode 100644
index 000000000000..57e8318484d0
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/DeleteSourceControlConfiguration.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "sourceControlConfigurationName": "SRS_GitHubConfig",
+ "api-version": "2022-01-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ExtensionTypeVersions_List.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ExtensionTypeVersions_List.json
new file mode 100644
index 000000000000..833cb3bc0556
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ExtensionTypeVersions_List.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "location": "eastus",
+ "extensionTypeName": "microsoft.example",
+ "api-version": "2022-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "versions": [
+ {
+ "releaseTrain": "stable",
+ "versions": [
+ "0.1.0",
+ "0.2.0",
+ "0.2.1"
+ ]
+ }
+ ],
+ "nextLink": null,
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-09-08T05:10:57.027Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetExtension.json
new file mode 100644
index 000000000000..136c235e3b8e
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetExtension.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "extensionName": "ClusterMonitor",
+ "api-version": "2022-01-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "description": "Details of the Kubernetes Extension's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor",
+ "type": "Microsoft.KubernetesConfiguration/extensions",
+ "name": "ClusterMonitor",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-09-08T05:10:57.027Z"
+ },
+ "properties": {
+ "extensionType": "azuremonitor-containers",
+ "autoUpgradeMinorVersion": true,
+ "releaseTrain": "Preview",
+ "version": "0.1.4",
+ "scope": {
+ "cluster": {
+ "releaseNamespace": "kube-system"
+ }
+ },
+ "configurationSettings": {
+ "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b",
+ "omsagent.env.clusterName": "clusterName1"
+ },
+ "provisioningState": "Creating",
+ "statuses": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetExtensionAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetExtensionAsyncOperationStatus.json
new file mode 100644
index 000000000000..5ba2489ee842
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetExtensionAsyncOperationStatus.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "extensionName": "ClusterMonitor",
+ "api-version": "2022-01-01-preview",
+ "clusterName": "clusterName1",
+ "operationId": "99999999-9999-9999-9999-999999999999"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/99999999-9999-9999-9999-999999999999",
+ "name": "99999999-9999-9999-9999-999999999999",
+ "status": "Succeeded",
+ "properties": {},
+ "error": null
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetFluxConfiguration.json
new file mode 100644
index 000000000000..488556d54761
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetFluxConfiguration.json
@@ -0,0 +1,144 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "fluxConfigurationName": "srs-fluxconfig",
+ "api-version": "2022-01-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "description": "Details of the Kubernetes Flux Configuration's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig",
+ "type": "Microsoft.KubernetesConfiguration/fluxConfigurations",
+ "name": "srs-fluxconfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-05-19T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-05-19T05:10:57.027Z"
+ },
+ "properties": {
+ "scope": "cluster",
+ "namespace": "srs-namespace",
+ "sourceKind": "GitRepository",
+ "suspend": false,
+ "gitRepository": {
+ "url": "https://github.com/Azure/arc-k8s-demo",
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "repositoryRef": {
+ "branch": "master",
+ "tag": null,
+ "semver": null,
+ "commit": null
+ }
+ },
+ "kustomizations": {
+ "srs-kustomization1": {
+ "path": "./test/path",
+ "dependsOn": [],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600
+ },
+ "srs-kustomization2": {
+ "path": "./other/test/path",
+ "dependsOn": [
+ {
+ "kustomizationName": "srs-kustomization1"
+ }
+ ],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "retryIntervalInSeconds": 600,
+ "prune": false
+ }
+ },
+ "statuses": [
+ {
+ "name": "srs-fluxconfig",
+ "kind": "GitRepository",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": null,
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "GitOperationSucceed",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization1",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": {
+ "name": "my-name",
+ "namespace": "my-namespace"
+ },
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization2",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ }
+ ],
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF",
+ "lastSourceUpdatedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
+ "lastSourceUpdatedAt": "2021-05-19T18:17:12Z",
+ "complianceState": "Compliant",
+ "provisioningState": "Succeeded",
+ "errorMessage": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetFluxConfigurationAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetFluxConfigurationAsyncOperationStatus.json
new file mode 100644
index 000000000000..5e77edee737e
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetFluxConfigurationAsyncOperationStatus.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "fluxConfigurationName": "srs-fluxconfig",
+ "api-version": "2022-01-01-preview",
+ "clusterName": "clusterName1",
+ "operationId": "99999999-9999-9999-9999-999999999999"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/99999999-9999-9999-9999-999999999999",
+ "name": "99999999-9999-9999-9999-999999999999",
+ "status": "Succeeded",
+ "properties": {},
+ "error": null
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetSourceControlConfiguration.json
new file mode 100644
index 000000000000..d5df16546fd9
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/GetSourceControlConfiguration.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "sourceControlConfigurationName": "SRS_GitHubConfig",
+ "api-version": "2022-01-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "description": "Details of the Source Control Configuration's current status.",
+ "body": {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig",
+ "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations",
+ "name": "SRS_GitHubConfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-09-08T05:10:57.027Z"
+ },
+ "properties": {
+ "repositoryUrl": "git@github.com:k8sdeveloper425/flux-get-started",
+ "operatorNamespace": "SRS_Namespace",
+ "operatorInstanceName": "SRSGitHubFluxOp-01",
+ "operatorType": "Flux",
+ "operatorScope": "namespace",
+ "operatorParams": "--git-email=xyzgituser@users.srs.github.com",
+ "helmOperatorProperties": {
+ "chartVersion": "0.3.0",
+ "chartValues": "--set git.ssh.secretName=flux-git-deploy --set tillerNamespace=kube-system"
+ },
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAqvTzeL+BWgcHnC1CTBRMg2ZfCh9khlrvb2avFHiGG24rRvjLHlKqtfiiw+cZNCKskUyVKqamD2RHrhyn/wXvJ9fFRt0LhYLKn4hJhJaPx4IawdWnW1MUv4U+Mr8o3Cxps4EmiZemqri3fOrhzEIlPL272whKpzlDLV7L4W1XQIGmVPwQ93HTzKEd5uHuEuw6JyFftDDLlCnd3Q1kQ7HOabFEfcSSr9cMx2MU4j/Pjuf3Rd/CzeksvKtU009KSXSnWKm8LL1fihSc1H1WDTi8iuZtT63hsNYH1yxrPRpMVScs3ufLViAGO9NEHQSgDdl/OERQQqKisUn2Qm6adgmftw== rsa-key-20190909",
+ "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=",
+ "provisioningState": "Succeeded",
+ "complianceStatus": {
+ "complianceState": "Pending",
+ "lastConfigApplied": "2020-09-08T05:25:32.122Z",
+ "message": "Configuration successfully created",
+ "messageLevel": "Info"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListAsyncOperationStatus.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListAsyncOperationStatus.json
new file mode 100644
index 000000000000..7568803c1151
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListAsyncOperationStatus.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "api-version": "2022-01-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/99999999-9999-9999-9999-999999999999",
+ "name": "99999999-9999-9999-9999-999999999999",
+ "status": "Deleting",
+ "properties": {},
+ "error": null
+ },
+ {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/cassandraExtension1/operations/88888888-8888-8888-8888-888888888888",
+ "name": "88888888-8888-8888-8888-888888888888",
+ "status": "Creating",
+ "properties": {},
+ "error": null
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListExtensions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListExtensions.json
new file mode 100644
index 000000000000..58279d6f8984
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListExtensions.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "api-version": "2022-01-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor",
+ "type": "Microsoft.KubernetesConfiguration/extensions",
+ "name": "ClusterMonitor",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-09-08T05:10:57.027Z"
+ },
+ "properties": {
+ "extensionType": "azuremonitor-containers",
+ "autoUpgradeMinorVersion": true,
+ "releaseTrain": "Preview",
+ "version": "0.1.4",
+ "scope": {
+ "cluster": {
+ "releaseNamespace": "kube-system"
+ }
+ },
+ "configurationSettings": {
+ "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b",
+ "omsagent.env.clusterName": "clusterName1"
+ },
+ "provisioningState": "Creating",
+ "statuses": []
+ }
+ },
+ {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/BackupVault01",
+ "type": "Microsoft.KubernetesConfiguration/extensions",
+ "name": "App1Monitor",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-09-08T04:09:23.011Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-09-08T04:09:23.011Z"
+ },
+ "properties": {
+ "extensionType": "Microsoft.RecoveryServices/recoveryVault",
+ "autoUpgradeMinorVersion": false,
+ "releaseTrain": "Stable",
+ "version": "1.0.1",
+ "scope": {
+ "cluster": {
+ "releaseNamespace": "myKVNamespace"
+ }
+ },
+ "configurationSettings": {},
+ "provisioningState": "Creating",
+ "statuses": []
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListFluxConfigurations.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListFluxConfigurations.json
new file mode 100644
index 000000000000..fc37798582cf
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListFluxConfigurations.json
@@ -0,0 +1,183 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "api-version": "2022-01-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig",
+ "type": "Microsoft.KubernetesConfiguration/fluxConfigurations",
+ "name": "srs-fluxconfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-05-19T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-05-19T05:10:57.027Z"
+ },
+ "properties": {
+ "scope": "cluster",
+ "namespace": "srs-namespace",
+ "sourceKind": "GitRepository",
+ "suspend": false,
+ "gitRepository": {
+ "url": "https://github.com/Azure/arc-k8s-demo",
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "repositoryRef": {
+ "branch": "master",
+ "tag": null,
+ "semver": null,
+ "commit": null
+ }
+ },
+ "kustomizations": {
+ "srs-kustomization1": {
+ "path": "./test/path",
+ "dependsOn": [],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600
+ },
+ "srs-kustomization2": {
+ "path": "./other/test/path",
+ "dependsOn": [
+ {
+ "kustomizationName": "srs-kustomization1"
+ }
+ ],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "retryIntervalInSeconds": 600,
+ "prune": false
+ }
+ },
+ "statuses": [
+ {
+ "name": "srs-fluxconfig",
+ "kind": "GitRepository",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "statusConditions": null,
+ "helmReleaseProperties": null
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization1",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "statusConditions": null,
+ "helmReleaseProperties": null
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization2",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "statusConditions": null,
+ "helmReleaseProperties": null
+ }
+ ],
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF",
+ "lastSourceUpdatedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
+ "lastSourceUpdatedAt": "2021-05-19T18:17:12Z",
+ "complianceState": "Compliant",
+ "provisioningState": "Succeeded",
+ "errorMessage": ""
+ }
+ },
+ {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig",
+ "type": "Microsoft.KubernetesConfiguration/fluxConfigurations",
+ "name": "srs-fluxconfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-05-19T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-05-19T05:10:57.027Z"
+ },
+ "properties": {
+ "scope": "cluster",
+ "namespace": "srs-namespace",
+ "sourceKind": "GitRepository",
+ "suspend": false,
+ "gitRepository": {
+ "url": "https://github.com/Azure/arc-k8s-demo",
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "repositoryRef": {
+ "branch": "master",
+ "tag": null,
+ "semver": null,
+ "commit": null
+ }
+ },
+ "kustomizations": {
+ "srs-kustomization1": {
+ "path": "./test/path",
+ "dependsOn": [],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600
+ },
+ "srs-kustomization2": {
+ "path": "./other/test/path",
+ "dependsOn": [
+ {
+ "kustomizationName": "srs-kustomization1"
+ }
+ ],
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "retryIntervalInSeconds": 600,
+ "prune": false
+ }
+ },
+ "statuses": [
+ {
+ "name": "srs-fluxconfig",
+ "kind": "GitRepository",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "statusConditions": null,
+ "helmReleaseProperties": null
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization1",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "statusConditions": null,
+ "helmReleaseProperties": null
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization2",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "statusConditions": null,
+ "helmReleaseProperties": null
+ }
+ ],
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF",
+ "lastSourceUpdatedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
+ "lastSourceUpdatedAt": "2021-05-19T18:17:12Z",
+ "complianceState": "Compliant",
+ "provisioningState": "Succeeded",
+ "errorMessage": ""
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListSourceControlConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListSourceControlConfiguration.json
new file mode 100644
index 000000000000..bc26948b33e2
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/ListSourceControlConfiguration.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "api-version": "2022-01-01-preview",
+ "clusterName": "clusterName1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SRS_GitHubConfig",
+ "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations",
+ "name": "SRS_GitHubConfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-09-08T05:10:57.027Z"
+ },
+ "properties": {
+ "repositoryUrl": "git@github.com:k8sdeveloper425/SRSClusterconfigs",
+ "operatorNamespace": "SRS_Namespace",
+ "operatorInstanceName": "SRSGitHubFluxOp-01",
+ "operatorType": "Flux",
+ "operatorScope": "namespace",
+ "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=",
+ "provisioningState": "Succeeded",
+ "complianceStatus": {
+ "complianceState": "Compliant"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/SCRS_GitHubConfig",
+ "type": "Microsoft.KubernetesConfiguration/sourceControlConfigurations",
+ "name": "SCRS_GitHubConfig",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-09-08T05:10:57.027Z"
+ },
+ "properties": {
+ "repositoryUrl": "git@github.com:k8sdeveloper425/SCRSClusterconfigs",
+ "operatorNamespace": "SCRS_Namespace",
+ "operatorInstanceName": "SCRSGitHubFluxOp-02",
+ "operatorType": "Flux",
+ "operatorScope": "cluster",
+ "sshKnownHostsContents": "c3NoLmRldi5henVyZS5jb20gc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDN0hyMW9UV3FOcU9sekdKT2ZHSjROYWtWeUl6ZjFyWFlkNGQ3d282akJsa0x2Q0E0b2RCbEwwbURVeVowL1FVZlRUcWV1K3RtMjJnT3N2K1ZyVlRNazZ2d1JVNzVnWS95OXV0NU1iM2JSNUJWNThkS1h5cTlBOVVlQjVDYWtlaG41WmdtNngxbUtvVnlmK0ZGbjI2aVlxWEpSZ3pJWlpjWjVWNmhyRTBRZzM5a1ptNGF6NDhvMEFVYmY2U3A0U0xkdm51TWEyc1ZOd0hCYm9TN0VKa201N1hRUFZVMy9RcHlOTEhiV0Rkend0cmxTK2V6MzBTM0FkWWhMS0VPeEFHOHdlT255cnRMSkFVZW45bVRrb2w4b0lJMWVkZjdtV1diV1ZmMG5CbWx5MjErblpjbUNUSVNRQnRkY3lQYUVubzdmRlFNREQyNi9zMGxmS29iNEt3OEg=",
+ "provisioningState": "Succeeded",
+ "complianceStatus": {
+ "complianceState": "Compliant"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/LocationExtensionTypes_List.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/LocationExtensionTypes_List.json
new file mode 100644
index 000000000000..cbcd34f96b8a
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/LocationExtensionTypes_List.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "location": "eastus",
+ "api-version": "2022-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "releaseTrains": [
+ "stable",
+ "preview",
+ "pilot"
+ ],
+ "clusterTypes": "connectedClusters",
+ "supportedScopes": {
+ "defaultScope": "cluster",
+ "clusterScopeSettings": {
+ "properties": {
+ "allowMultipleInstances": true,
+ "defaultReleaseNamespace": "kube-system"
+ },
+ "id": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.ContainerService/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensionTypes/microsoft.example",
+ "name": "microsoft.example",
+ "type": "Microsoft.KubernetesConfiguration/extensionTypes"
+ }
+ }
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2020-09-08T05:10:57.027Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2020-09-08T05:10:57.027Z"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/OperationsList.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/OperationsList.json
new file mode 100644
index 000000000000..e9d16c360cbb
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/OperationsList.json
@@ -0,0 +1,156 @@
+{
+ "parameters": {
+ "api-version": "2022-01-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/write",
+ "display": {
+ "operation": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/write",
+ "resource": "Microsoft.KubernetesConfiguration/sourceControlConfigurations",
+ "description": "Creates or updates source control configuration.",
+ "provider": "Microsoft Kubernetes Configuration"
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/read",
+ "display": {
+ "operation": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/read",
+ "resource": "Microsoft.KubernetesConfiguration/sourceControlConfigurations",
+ "description": "Gets source control configuration.",
+ "provider": "Microsoft Kubernetes Configuration"
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/delete",
+ "display": {
+ "operation": "Microsoft.KubernetesConfiguration/sourceControlConfigurations/delete",
+ "resource": "Microsoft.KubernetesConfiguration/sourceControlConfigurations",
+ "description": "Deletes source control configuration.",
+ "provider": "Microsoft Kubernetes Configuration"
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/extensions/read",
+ "display": {
+ "provider": "Microsoft KubernetesConfiguration",
+ "resource": "extensions",
+ "operation": "Get extension",
+ "description": "Get the specified Extension."
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/extensions/write",
+ "display": {
+ "provider": "Microsoft KubernetesConfiguration",
+ "resource": "extensions",
+ "operation": "Create a Extension",
+ "description": "Create the Extension specified."
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/extensions/delete",
+ "display": {
+ "provider": "Microsoft KubernetesConfiguration",
+ "resource": "extensions",
+ "operation": "Delete Extension",
+ "description": "Delete the specified Extension."
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/extensions/operations/read",
+ "display": {
+ "provider": "Microsoft KubernetesConfiguration",
+ "resource": "extensions",
+ "operation": "Get Extension Async Operation Status",
+ "description": "Get the Status of the Extension Async Operation."
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/read",
+ "display": {
+ "provider": "Microsoft KubernetesConfiguration",
+ "resource": "fluxConfigurations",
+ "operation": "Get fluxConfiguration",
+ "description": "Get the specified Flux Configuration."
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/write",
+ "display": {
+ "provider": "Microsoft KubernetesConfiguration",
+ "resource": "fluxConfigurations",
+ "operation": "Create a fluxConfiguration",
+ "description": "Create the Flux Configuration specified."
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/delete",
+ "display": {
+ "provider": "Microsoft KubernetesConfiguration",
+ "resource": "fluxConfigurations",
+ "operation": "Delete Flux Configuration",
+ "description": "Delete the specified Flux Configuration."
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/fluxConfigurations/operations/read",
+ "display": {
+ "provider": "Microsoft KubernetesConfiguration",
+ "resource": "fluxConfigurations",
+ "operation": "Get Flux Configuration Async Operation Status",
+ "description": "Get the Status of the Flux Configuration Async Operation."
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/register/action",
+ "display": {
+ "operation": "Microsoft.KubernetesConfiguration/register/action",
+ "resource": "Register",
+ "description": "Registers subscription to Microsoft.KubernetesConfiguration resource provider.",
+ "provider": "Microsoft Kubernetes Configuration"
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.KubernetesConfiguration/extensionTypes/read",
+ "display": {
+ "operation": "Microsoft.KubernetesConfiguration/extensionTypes/read",
+ "resource": "extensionTypes",
+ "description": "Get Kubernetes Configuration Available Extensions",
+ "provider": "Microsoft KubernetesConfiguration"
+ },
+ "isDataAction": false,
+ "origin": "user,system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/PatchExtension.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/PatchExtension.json
new file mode 100644
index 000000000000..71cb2ef38bb5
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/PatchExtension.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "extensionName": "ClusterMonitor",
+ "api-version": "2022-01-01-preview",
+ "clusterName": "clusterName1",
+ "patchExtension": {
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "releaseTrain": "Preview",
+ "configurationSettings": {
+ "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b",
+ "omsagent.env.clusterName": "clusterName1"
+ },
+ "configurationProtectedSettings": {
+ "omsagent.secret.key": "secretKeyValue01"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/operationId",
+ "x-ms-async-operation-timeout": "PT48H",
+ "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/extensions/ClusterMonitor/operations/operationId?api-version=2022-01-01-preview"
+ },
+ "description": "Extension properties and details of the Patch operation, including AsyncOperation url.",
+ "body": {
+ "properties": {
+ "extensionType": "azuremonitor-containers",
+ "autoUpgradeMinorVersion": true,
+ "releaseTrain": "Preview",
+ "version": "0.1.4",
+ "scope": {
+ "cluster": {
+ "releaseNamespace": "kube-system"
+ }
+ },
+ "configurationSettings": {
+ "omsagent.secret.wsid": "a38cef99-5a89-52ed-b6db-22095c23664b",
+ "omsagent.env.clusterName": "clusterName1"
+ },
+ "provisioningState": "Updating",
+ "statuses": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/PatchFluxConfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/PatchFluxConfiguration.json
new file mode 100644
index 000000000000..285562be8390
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/examples/PatchFluxConfiguration.json
@@ -0,0 +1,150 @@
+{
+ "parameters": {
+ "subscriptionId": "subId1",
+ "resourceGroupName": "rg1",
+ "clusterRp": "Microsoft.Kubernetes",
+ "clusterResourceName": "connectedClusters",
+ "fluxConfigurationName": "srs-fluxconfig",
+ "api-version": "2022-01-01-preview",
+ "clusterName": "clusterName1",
+ "fluxConfigurationPatch": {
+ "properties": {
+ "suspend": true,
+ "gitRepository": {
+ "url": "https://github.com/jonathan-innis/flux2-kustomize-helm-example.git"
+ },
+ "kustomizations": {
+ "srs-kustomization1": null,
+ "srs-kustomization2": {
+ "path": "./test/alt-path",
+ "syncIntervalInSeconds": 300,
+ "dependsOn": null
+ },
+ "srs-kustomization3": {
+ "path": "./test/another-path",
+ "syncIntervalInSeconds": 300
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "/subscriptions/subId1/resourceGroups/rg1/providers/Microsoft.Kubernetes/connectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/operationId",
+ "x-ms-async-operation-timeout": "PT48H",
+ "Azure-AsyncOperation": "http://management.azure.com/subscriptions/subId/resourceGroups/rg1/providers/Microsoft.Kubernetes/ConnectedClusters/clusterName1/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/srs-fluxconfig/operations/operationId?api-version=2022-01-01-preview"
+ },
+ "description": "Extension properties and details of the Patch operation, including AsyncOperation url.",
+ "body": {
+ "properties": {
+ "scope": "cluster",
+ "namespace": "srs-namespace",
+ "sourceKind": "GitRepository",
+ "suspend": false,
+ "gitRepository": {
+ "url": "https://github.com/jonathan-innis/flux2-kustomize-helm-example.git",
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 600,
+ "repositoryRef": {
+ "branch": "master",
+ "tag": null,
+ "semver": null,
+ "commit": null
+ }
+ },
+ "kustomizations": {
+ "srs-kustomization2": {
+ "path": "./test/alt-path",
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 300,
+ "retryIntervalInSeconds": 600,
+ "prune": false
+ },
+ "srs-kustomization3": {
+ "path": "./test/another-path",
+ "timeoutInSeconds": 600,
+ "syncIntervalInSeconds": 300,
+ "retryIntervalInSeconds": null,
+ "prune": false
+ }
+ },
+ "statuses": [
+ {
+ "name": "srs-fluxconfig",
+ "kind": "GitRepository",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": null,
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Fetched revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "GitOperationSucceed",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization1",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ },
+ {
+ "name": "srs-fluxconfig-srs-kustomization2",
+ "kind": "Kustomization",
+ "complianceState": "Compliant",
+ "appliedBy": null,
+ "helmReleaseProperties": {
+ "lastRevisionApplied": 1,
+ "helmChartRef": {
+ "name": "myname",
+ "namespace": "mynamespace"
+ },
+ "failureCount": null,
+ "upgradeFailureCount": null,
+ "installFailureCount": null
+ },
+ "statusConditions": [
+ {
+ "lastTransitionTime": "2021-05-19T18:12:40Z",
+ "message": "'Applied revision: master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590'",
+ "reason": "ReconciliationSucceeded",
+ "status": "True",
+ "type": "Ready"
+ }
+ ]
+ }
+ ],
+ "repositoryPublicKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDiNkrANrhtRy+02Xc7b5bwvgOKvQMbqUQaXeB6FCDkbLaavw/zO/vIhIBEQu+vbBt6IlI/Pui0rMFr5JjA8Vwwd85oabzU07TPzbFvKSU9eCXqWRKWf0DHNQj/kxPJNtyPYFv3lGoiZZ6QzejOxlW/lPPokUePN0oI10daWwqznm2q0Cmh1EgPUYveq3J5KCWncZXCdwY36zWYulCWFaqazoaGy4kxcqlVy+mPjE/UJthaoLm3mq+23uhlmmfCc1j7W6+H6fcOwTyOtcbimxz2Ug8HlTzSTXBPtEe7qyllMyk62EPNUUq4bVoVsex9sKBK6/hW0Cn2P5i5jslUPCQF",
+ "lastSourceUpdatedCommitId": "master/0ba6f0d30760d567de0bac86c8c4eec13ce1a590",
+ "lastSourceUpdatedAt": "2021-05-19T18:17:12Z",
+ "complianceState": "Compliant",
+ "provisioningState": "Succeeded",
+ "errorMessage": ""
+ }
+ }
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/extensionTypes.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/extensionTypes.json
new file mode 100644
index 000000000000..24de229ae21f
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/extensionTypes.json
@@ -0,0 +1,383 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2022-01-01-preview",
+ "title": "ExtensionTypes",
+ "description": "Use these APIs to create extension resources through ARM, for Kubernetes Clusters."
+ },
+ "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes/{extensionTypeName}": {
+ "get": {
+ "description": "Get Extension Type details",
+ "operationId": "ClusterExtensionType_Get",
+ "x-ms-examples": {
+ "ClusterExtensionType_Get_MaximumSet_Gen": {
+ "$ref": "./examples/ClusterExtensionType_Get.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionTypeNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExtensionType"
+ }
+ },
+ "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensionTypes": {
+ "get": {
+ "description": "Get Extension Types",
+ "operationId": "ClusterExtensionTypes_List",
+ "x-ms-examples": {
+ "ClusterExtensionTypes_List_MaximumSet_Gen": {
+ "$ref": "./examples/ClusterExtensionTypes_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExtensionTypeList"
+ }
+ },
+ "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.KubernetesConfiguration/locations/{location}/extensionTypes/{extensionTypeName}/versions": {
+ "get": {
+ "description": "List available versions for an Extension Type",
+ "operationId": "ExtensionTypeVersions_List",
+ "x-ms-examples": {
+ "ExtensionTypeVersions_List_MaximumSet_Gen": {
+ "$ref": "./examples/ExtensionTypeVersions_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionLocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionTypeNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExtensionVersionList"
+ }
+ },
+ "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",
+ "itemName": "versions"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.KubernetesConfiguration/locations/{location}/extensionTypes": {
+ "get": {
+ "tags": [
+ "ExtensionType"
+ ],
+ "description": "List all Extension Types",
+ "operationId": "LocationExtensionTypes_List",
+ "x-ms-examples": {
+ "LocationExtensionTypes_List_MaximumSet_Gen": {
+ "$ref": "./examples/LocationExtensionTypes_List.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionLocationParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExtensionTypeList"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ExtensionTypeList": {
+ "description": "List Extension Types",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of Extension Types",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExtensionType"
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of Extension Types",
+ "type": "string"
+ }
+ }
+ },
+ "ExtensionType": {
+ "type": "object",
+ "description": "Represents an Extension Type.",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExtensionTypeProperties",
+ "description": "Describes the Resource Type properties."
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true,
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ }
+ }
+ },
+ "ExtensionTypeProperties": {
+ "description": "Properties of the connected cluster.",
+ "type": "object",
+ "properties": {
+ "releaseTrains": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Extension release train: preview or stable"
+ },
+ "clusterTypes": {
+ "description": "Cluster types",
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "connectedClusters",
+ "managedClusters"
+ ],
+ "x-ms-enum": {
+ "name": "clusterTypes",
+ "modelAsString": false
+ }
+ },
+ "supportedScopes": {
+ "readOnly": true,
+ "type": "object",
+ "description": "Extension scopes",
+ "$ref": "#/definitions/SupportedScopes"
+ }
+ }
+ },
+ "ExtensionVersionList": {
+ "description": "List versions for an Extension",
+ "type": "object",
+ "properties": {
+ "versions": {
+ "description": "Versions available for this Extension Type",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "releaseTrain": {
+ "description": "The release train for this Extension Type",
+ "type": "string"
+ },
+ "versions": {
+ "type": "array",
+ "description": "Versions available for this Extension Type and release train",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "nextLink": {
+ "description": "The link to fetch the next page of Extension Types",
+ "type": "string"
+ },
+ "systemData": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true,
+ "description": "Metadata pertaining to creation and last modification of the resource."
+ }
+ }
+ },
+ "SupportedScopes": {
+ "type": "object",
+ "description": "Extension scopes",
+ "properties": {
+ "defaultScope": {
+ "type": "string",
+ "description": "Default extension scopes: cluster or namespace"
+ },
+ "clusterScopeSettings": {
+ "description": "Scope settings",
+ "$ref": "#/definitions/ClusterScopeSettings"
+ }
+ }
+ },
+ "ClusterScopeSettings": {
+ "type": "object",
+ "description": "Extension scope settings",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "Extension scope settings",
+ "properties": {
+ "allowMultipleInstances": {
+ "type": "boolean",
+ "description": "Describes if multiple instances of the extension are allowed"
+ },
+ "defaultReleaseNamespace": {
+ "type": "string",
+ "description": "Default extension release namespace"
+ }
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ]
+ }
+ },
+ "parameters": {
+ "ExtensionLocationParameter": {
+ "name": "location",
+ "in": "path",
+ "description": "extension location",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ExtensionTypeNameParameter": {
+ "name": "extensionTypeName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Extension type name",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/extensions.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/extensions.json
new file mode 100644
index 000000000000..19017d29f789
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/extensions.json
@@ -0,0 +1,675 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2022-01-01-preview",
+ "title": "ExtensionsClient",
+ "description": "Use these APIs to create extension resources through ARM, for Kubernetes Clusters."
+ },
+ "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}": {
+ "put": {
+ "tags": [
+ "Extensions",
+ "ClusterExtensions"
+ ],
+ "description": "Create a new Kubernetes Cluster Extension.",
+ "operationId": "Extensions_Create",
+ "x-ms-examples": {
+ "Create Extension": {
+ "$ref": "./examples/CreateExtension.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "extension",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ },
+ "description": "Properties necessary to Create an Extension."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request received successfully.",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "200": {
+ "description": "Request received successfully for an existing resource.",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "get": {
+ "tags": [
+ "Extensions",
+ "ClusterExtensions"
+ ],
+ "description": "Gets Kubernetes Cluster Extension.",
+ "operationId": "Extensions_Get",
+ "x-ms-examples": {
+ "Get Extension": {
+ "$ref": "./examples/GetExtension.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Extensions",
+ "ClusterExtensions"
+ ],
+ "description": "Delete a Kubernetes Cluster Extension. This will cause the Agent to Uninstall the extension from the cluster.",
+ "operationId": "Extensions_Delete",
+ "x-ms-examples": {
+ "Delete Extension": {
+ "$ref": "./examples/DeleteExtension.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "forceDelete",
+ "in": "query",
+ "description": "Delete the extension resource in Azure - not the normal asynchronous delete.",
+ "type": "boolean"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted. The request has been accepted for processing."
+ },
+ "204": {
+ "description": "No Content. The request has been accepted but the extension was not found."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "patch": {
+ "tags": [
+ "Extensions",
+ "ClusterExtensions"
+ ],
+ "description": "Patch an existing Kubernetes Cluster Extension.",
+ "operationId": "Extensions_Update",
+ "x-ms-examples": {
+ "Update Extension": {
+ "$ref": "./examples/PatchExtension.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "patchExtension",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/patchExtension"
+ },
+ "description": "Properties to Patch in an existing Extension."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request received successfully, and the resource will be updated asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Extension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions": {
+ "get": {
+ "tags": [
+ "Extensions",
+ "ClusterExtensions"
+ ],
+ "description": "List all Extensions in the cluster.",
+ "operationId": "Extensions_List",
+ "x-ms-examples": {
+ "List Extensions": {
+ "$ref": "./examples/ListExtensions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ExtensionsList"
+ }
+ },
+ "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/extensions/{extensionName}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "Extension Operation Status"
+ ],
+ "operationId": "OperationStatus_Get",
+ "description": "Get Async Operation status",
+ "x-ms-examples": {
+ "ExtensionAsyncOperationStatus Get": {
+ "$ref": "./examples/GetExtensionAsyncOperationStatus.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ExtensionNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "operation Id",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Extension Operation Status",
+ "schema": {
+ "$ref": "../../common/2022-01-01-preview/definitions.json#/definitions/OperationStatusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ScopeCluster": {
+ "description": "Specifies that the scope of the extension is Cluster",
+ "type": "object",
+ "properties": {
+ "releaseNamespace": {
+ "description": "Namespace where the extension Release must be placed, for a Cluster scoped extension. If this namespace does not exist, it will be created",
+ "type": "string"
+ }
+ }
+ },
+ "ScopeNamespace": {
+ "description": "Specifies that the scope of the extension is Namespace",
+ "type": "object",
+ "properties": {
+ "targetNamespace": {
+ "description": "Namespace where the extension will be created for an Namespace scoped extension. If this namespace does not exist, it will be created",
+ "type": "string"
+ }
+ }
+ },
+ "Scope": {
+ "description": "Scope of the extension. It can be either Cluster or Namespace; but not both.",
+ "type": "object",
+ "properties": {
+ "cluster": {
+ "type": "object",
+ "x-nullable": true,
+ "description": "Specifies that the scope of the extension is Cluster",
+ "$ref": "#/definitions/ScopeCluster"
+ },
+ "namespace": {
+ "type": "object",
+ "x-nullable": true,
+ "description": "Specifies that the scope of the extension is Namespace",
+ "$ref": "#/definitions/ScopeNamespace"
+ }
+ }
+ },
+ "ExtensionStatus": {
+ "description": "Status from the extension.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Status code provided by the Extension"
+ },
+ "displayStatus": {
+ "type": "string",
+ "description": "Short description of status of the extension."
+ },
+ "level": {
+ "type": "string",
+ "description": "Level of the status.",
+ "enum": [
+ "Error",
+ "Warning",
+ "Information"
+ ],
+ "default": "Information",
+ "x-ms-enum": {
+ "name": "LevelType",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "type": "string",
+ "description": "Detailed message of the status from the Extension."
+ },
+ "time": {
+ "type": "string",
+ "description": "DateLiteral (per ISO8601) noting the time of installation status."
+ }
+ }
+ },
+ "Extension": {
+ "description": "The Extension object.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "Properties of an Extension resource",
+ "properties": {
+ "extensionType": {
+ "description": "Type of the Extension, of which this resource is an instance of. It must be one of the Extension Types registered with Microsoft.KubernetesConfiguration by the Extension publisher.",
+ "type": "string"
+ },
+ "autoUpgradeMinorVersion": {
+ "description": "Flag to note if this extension participates in auto upgrade of minor version, or not.",
+ "type": "boolean",
+ "default": true
+ },
+ "releaseTrain": {
+ "description": "ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.",
+ "type": "string",
+ "default": "Stable"
+ },
+ "version": {
+ "description": "Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'.",
+ "type": "string"
+ },
+ "scope": {
+ "description": "Scope at which the extension is installed.",
+ "$ref": "#/definitions/Scope"
+ },
+ "configurationSettings": {
+ "description": "Configuration settings, as name-value pairs for configuring this extension.",
+ "type": "object",
+ "x-nullable": true,
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "configurationProtectedSettings": {
+ "description": "Configuration settings that are sensitive, as name-value pairs for configuring this extension.",
+ "type": "object",
+ "x-nullable": true,
+ "x-ms-secret": true,
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "provisioningState": {
+ "description": "Status of installation of this extension.",
+ "type": "string",
+ "readOnly": true,
+ "$ref": "../../common/2022-01-01-preview/definitions.json#/definitions/ProvisioningStateDefinition"
+ },
+ "statuses": {
+ "description": "Status from this extension.",
+ "type": "array",
+ "x-nullable": true,
+ "items": {
+ "$ref": "#/definitions/ExtensionStatus"
+ }
+ },
+ "errorInfo": {
+ "description": "Error information from the Agent - e.g. errors during installation.",
+ "type": "object",
+ "readOnly": true,
+ "x-nullable": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail"
+ },
+ "customLocationSettings": {
+ "description": "Custom Location settings properties.",
+ "type": "object",
+ "readOnly": true,
+ "x-nullable": true,
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "packageUri": {
+ "description": "Uri of the Helm package",
+ "type": "string",
+ "readOnly": true,
+ "x-nullable": true
+ },
+ "aksAssignedIdentity": {
+ "description": "Identity of the Extension resource in an AKS cluster",
+ "x-nullable": true,
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal ID of resource identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The identity type.",
+ "enum": [
+ "SystemAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ }
+ }
+ }
+ }
+ },
+ "identity": {
+ "description": "Identity of the Extension resource",
+ "x-nullable": true,
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Identity"
+ },
+ "systemData": {
+ "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "ExtensionsList": {
+ "description": "Result of the request to list Extensions. It contains a list of Extension objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Extension"
+ },
+ "description": "List of Extensions within a Kubernetes cluster."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "URL to get the next set of extension objects, if any."
+ }
+ }
+ },
+ "patchExtension": {
+ "description": "The Extension Patch Request object.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "Updatable properties of an Extension Patch Request",
+ "properties": {
+ "autoUpgradeMinorVersion": {
+ "description": "Flag to note if this extension participates in auto upgrade of minor version, or not.",
+ "type": "boolean",
+ "default": true
+ },
+ "releaseTrain": {
+ "description": "ReleaseTrain this extension participates in for auto-upgrade (e.g. Stable, Preview, etc.) - only if autoUpgradeMinorVersion is 'true'.",
+ "type": "string",
+ "default": "Stable"
+ },
+ "version": {
+ "description": "Version of the extension for this extension, if it is 'pinned' to a specific version. autoUpgradeMinorVersion must be 'false'.",
+ "type": "string"
+ },
+ "configurationSettings": {
+ "description": "Configuration settings, as name-value pairs for configuring this extension.",
+ "type": "object",
+ "x-nullable": true,
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "configurationProtectedSettings": {
+ "description": "Configuration settings that are sensitive, as name-value pairs for configuring this extension.",
+ "type": "object",
+ "x-nullable": true,
+ "x-ms-secret": true,
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ExtensionNameParameter": {
+ "name": "extensionName",
+ "in": "path",
+ "description": "Name of the Extension.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/fluxconfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/fluxconfiguration.json
new file mode 100644
index 000000000000..eecea2dbf322
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/fluxconfiguration.json
@@ -0,0 +1,1096 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2022-01-01-preview",
+ "title": "FluxConfigurationClient",
+ "description": "Use these APIs to create Flux Configuration resources through ARM, for Kubernetes Clusters."
+ },
+ "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}": {
+ "get": {
+ "tags": [
+ "FluxConfiguration",
+ "Flux"
+ ],
+ "description": "Gets details of the Flux Configuration.",
+ "operationId": "FluxConfigurations_Get",
+ "x-ms-examples": {
+ "Get Flux Configuration": {
+ "$ref": "./examples/GetFluxConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FluxConfigurationNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FluxConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "FluxConfiguration",
+ "Flux"
+ ],
+ "description": "Create a new Kubernetes Flux Configuration.",
+ "operationId": "FluxConfigurations_CreateOrUpdate",
+ "x-ms-examples": {
+ "Create Flux Configuration": {
+ "$ref": "./examples/CreateFluxConfiguration.json"
+ },
+ "Create Flux Configuration with Bucket Source Kind": {
+ "$ref": "./examples/CreateFluxConfigurationWithBucket.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FluxConfigurationNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "fluxConfiguration",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FluxConfiguration"
+ },
+ "description": "Properties necessary to Create a FluxConfiguration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request received successfully for an existing resource.",
+ "schema": {
+ "$ref": "#/definitions/FluxConfiguration"
+ }
+ },
+ "201": {
+ "description": "Request received successfully.",
+ "schema": {
+ "$ref": "#/definitions/FluxConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "patch": {
+ "tags": [
+ "FluxConfiguration",
+ "Flux"
+ ],
+ "description": "Update an existing Kubernetes Flux Configuration.",
+ "operationId": "FluxConfigurations_Update",
+ "x-ms-examples": {
+ "Patch Flux Configuration": {
+ "$ref": "./examples/PatchFluxConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FluxConfigurationNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "fluxConfigurationPatch",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FluxConfigurationPatch"
+ },
+ "description": "Properties to Patch in an existing Flux Configuration."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request received successfully, and the resource will be updated asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/FluxConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ },
+ "delete": {
+ "tags": [
+ "FluxConfiguration",
+ "Flux"
+ ],
+ "description": "This will delete the YAML file used to set up the Flux Configuration, thus stopping future sync from the source repo.",
+ "operationId": "FluxConfigurations_Delete",
+ "x-ms-examples": {
+ "Delete Flux Configuration": {
+ "$ref": "./examples/DeleteFluxConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FluxConfigurationNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "forceDelete",
+ "in": "query",
+ "description": "Delete the extension resource in Azure - not the normal asynchronous delete.",
+ "type": "boolean"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has been completed successfully."
+ },
+ "202": {
+ "description": "Accepted. The request has been accepted for processing."
+ },
+ "204": {
+ "description": "No Content. The request has been accepted but the configuration was not found."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations": {
+ "get": {
+ "tags": [
+ "FluxConfiguration",
+ "Flux"
+ ],
+ "description": "List all Flux Configurations.",
+ "operationId": "FluxConfigurations_List",
+ "x-ms-examples": {
+ "List Flux Configuration": {
+ "$ref": "./examples/ListFluxConfigurations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FluxConfigurationsList"
+ }
+ },
+ "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/fluxConfigurations/{fluxConfigurationName}/operations/{operationId}": {
+ "get": {
+ "tags": [
+ "FluxConfiguration Operation Status"
+ ],
+ "operationId": "FluxConfigOperationStatus_Get",
+ "description": "Get Async Operation status",
+ "x-ms-examples": {
+ "FluxConfigurationAsyncOperationStatus Get": {
+ "$ref": "./examples/GetFluxConfigurationAsyncOperationStatus.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/FluxConfigurationNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "operation Id",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "FluxConfiguration Operation Status",
+ "schema": {
+ "$ref": "../../common/2022-01-01-preview/definitions.json#/definitions/OperationStatusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ScopeDefinition": {
+ "description": "Scope at which the configuration will be installed.",
+ "type": "string",
+ "enum": [
+ "cluster",
+ "namespace"
+ ],
+ "default": "cluster",
+ "x-ms-enum": {
+ "name": "ScopeType",
+ "modelAsString": true
+ }
+ },
+ "SourceKindDefinition": {
+ "description": "Source Kind to pull the configuration data from.",
+ "type": "string",
+ "enum": [
+ "GitRepository",
+ "Bucket"
+ ],
+ "x-ms-enum": {
+ "name": "SourceKindType",
+ "modelAsString": true
+ }
+ },
+ "GitRepositoryDefinition": {
+ "description": "Parameters to reconcile to the GitRepository source kind type.",
+ "type": "object",
+ "x-nullable": true,
+ "properties": {
+ "url": {
+ "description": "The URL to sync for the flux configuration git repository.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "timeoutInSeconds": {
+ "description": "The maximum time to attempt to reconcile the cluster git repository source with the remote.",
+ "type": "integer",
+ "format": "int64",
+ "default": 600,
+ "x-nullable": true
+ },
+ "syncIntervalInSeconds": {
+ "description": "The interval at which to re-reconcile the cluster git repository source with the remote.",
+ "type": "integer",
+ "format": "int64",
+ "default": 600,
+ "x-nullable": true
+ },
+ "repositoryRef": {
+ "description": "The source reference for the GitRepository object.",
+ "$ref": "#/definitions/RepositoryRefDefinition"
+ },
+ "sshKnownHosts": {
+ "description": "Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH",
+ "type": "string",
+ "x-nullable": true
+ },
+ "httpsUser": {
+ "description": "Plaintext HTTPS username used to access private git repositories over HTTPS",
+ "type": "string",
+ "x-nullable": true
+ },
+ "httpsCACert": {
+ "description": "Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS",
+ "type": "string",
+ "x-nullable": true
+ },
+ "localAuthRef": {
+ "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.",
+ "type": "string",
+ "x-nullable": true
+ }
+ }
+ },
+ "GitRepositoryPatchDefinition": {
+ "description": "Parameters to reconcile to the GitRepository source kind type.",
+ "type": "object",
+ "x-nullable": true,
+ "properties": {
+ "url": {
+ "description": "The URL to sync for the flux configuration git repository.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "timeoutInSeconds": {
+ "description": "The maximum time to attempt to reconcile the cluster git repository source with the remote.",
+ "type": "integer",
+ "format": "int64",
+ "x-nullable": true
+ },
+ "syncIntervalInSeconds": {
+ "description": "The interval at which to re-reconcile the cluster git repository source with the remote.",
+ "type": "integer",
+ "format": "int64",
+ "x-nullable": true
+ },
+ "repositoryRef": {
+ "description": "The source reference for the GitRepository object.",
+ "$ref": "#/definitions/RepositoryRefDefinition"
+ },
+ "sshKnownHosts": {
+ "description": "Base64-encoded known_hosts value containing public SSH keys required to access private git repositories over SSH",
+ "type": "string",
+ "x-nullable": true
+ },
+ "httpsUser": {
+ "description": "Plaintext HTTPS username used to access private git repositories over HTTPS",
+ "type": "string",
+ "x-nullable": true
+ },
+ "httpsCACert": {
+ "description": "Base64-encoded HTTPS certificate authority contents used to access git private git repositories over HTTPS",
+ "type": "string",
+ "x-nullable": true
+ },
+ "localAuthRef": {
+ "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.",
+ "type": "string",
+ "x-nullable": true
+ }
+ }
+ },
+ "RepositoryRefDefinition": {
+ "description": "The source reference for the GitRepository object.",
+ "type": "object",
+ "x-nullable": true,
+ "properties": {
+ "branch": {
+ "description": "The git repository branch name to checkout.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "tag": {
+ "description": "The git repository tag name to checkout. This takes precedence over branch.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "semver": {
+ "description": "The semver range used to match against git repository tags. This takes precedence over tag.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "commit": {
+ "description": "The commit SHA to checkout. This value must be combined with the branch name to be valid. This takes precedence over semver.",
+ "type": "string",
+ "x-nullable": true
+ }
+ }
+ },
+ "BucketDefinition": {
+ "description": "Parameters to reconcile to the GitRepository source kind type.",
+ "type": "object",
+ "x-nullable": true,
+ "properties": {
+ "url": {
+ "description": "The URL to sync for the flux configuration S3 bucket.",
+ "type": "string"
+ },
+ "bucketName": {
+ "description": "The bucket name to sync from the url endpoint for the flux configuration.",
+ "type": "string"
+ },
+ "insecure": {
+ "description": "Specify whether to use insecure communication when puling data from the S3 bucket.",
+ "type": "boolean",
+ "default": true
+ },
+ "timeoutInSeconds": {
+ "description": "The maximum time to attempt to reconcile the cluster git repository source with the remote.",
+ "type": "integer",
+ "format": "int64",
+ "default": 600,
+ "x-nullable": true
+ },
+ "syncIntervalInSeconds": {
+ "description": "The interval at which to re-reconcile the cluster git repository source with the remote.",
+ "type": "integer",
+ "format": "int64",
+ "default": 600,
+ "x-nullable": true
+ },
+ "accessKey": {
+ "description": "Plaintext access key used to securely access the S3 bucket",
+ "type": "string",
+ "x-nullable": true
+ },
+ "localAuthRef": {
+ "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.",
+ "type": "string",
+ "x-nullable": true
+ }
+ }
+ },
+ "BucketPatchDefinition": {
+ "description": "Parameters to reconcile to the GitRepository source kind type.",
+ "type": "object",
+ "x-nullable": true,
+ "properties": {
+ "url": {
+ "description": "The URL to sync for the flux configuration S3 bucket.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "bucketName": {
+ "description": "The bucket name to sync from the url endpoint for the flux configuration.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "insecure": {
+ "description": "Specify whether to use insecure communication when puling data from the S3 bucket.",
+ "type": "boolean",
+ "x-nullable": true
+ },
+ "timeoutInSeconds": {
+ "description": "The maximum time to attempt to reconcile the cluster git repository source with the remote.",
+ "type": "integer",
+ "format": "int64",
+ "x-nullable": true
+ },
+ "syncIntervalInSeconds": {
+ "description": "The interval at which to re-reconcile the cluster git repository source with the remote.",
+ "type": "integer",
+ "format": "int64",
+ "x-nullable": true
+ },
+ "accessKey": {
+ "description": "Plaintext access key used to securely access the S3 bucket",
+ "type": "string",
+ "x-nullable": true
+ },
+ "localAuthRef": {
+ "description": "Name of a local secret on the Kubernetes cluster to use as the authentication secret rather than the managed or user-provided configuration secrets.",
+ "type": "string",
+ "x-nullable": true
+ }
+ }
+ },
+ "KustomizationDefinition": {
+ "description": "The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster.",
+ "type": "object",
+ "x-nullable": true,
+ "properties": {
+ "path": {
+ "description": "The path in the source reference to reconcile on the cluster.",
+ "type": "string",
+ "default": ""
+ },
+ "dependsOn": {
+ "description": "Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile until all dependencies have completed their reconciliation.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/DependsOnDefinition"
+ },
+ "x-nullable": true
+ },
+ "timeoutInSeconds": {
+ "description": "The maximum time to attempt to reconcile the Kustomization on the cluster.",
+ "type": "integer",
+ "format": "int64",
+ "default": 600,
+ "x-nullable": true
+ },
+ "syncIntervalInSeconds": {
+ "description": "The interval at which to re-reconcile the Kustomization on the cluster.",
+ "type": "integer",
+ "format": "int64",
+ "default": 600,
+ "x-nullable": true
+ },
+ "retryIntervalInSeconds": {
+ "description": "The interval at which to re-reconcile the Kustomization on the cluster in the event of failure on reconciliation.",
+ "type": "integer",
+ "format": "int64",
+ "x-nullable": true
+ },
+ "prune": {
+ "description": "Enable/disable garbage collections of Kubernetes objects created by this Kustomization.",
+ "type": "boolean",
+ "default": false
+ },
+ "force": {
+ "description": "Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field change.",
+ "type": "boolean",
+ "default": false
+ }
+ }
+ },
+ "KustomizationPatchDefinition": {
+ "description": "The Kustomization defining how to reconcile the artifact pulled by the source type on the cluster.",
+ "type": "object",
+ "x-nullable": true,
+ "properties": {
+ "path": {
+ "description": "The path in the source reference to reconcile on the cluster.",
+ "type": "string",
+ "x-nullable": true
+ },
+ "dependsOn": {
+ "description": "Specifies other Kustomizations that this Kustomization depends on. This Kustomization will not reconcile until all dependencies have completed their reconciliation.",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/DependsOnDefinition"
+ },
+ "x-nullable": true
+ },
+ "timeoutInSeconds": {
+ "description": "The maximum time to attempt to reconcile the Kustomization on the cluster.",
+ "type": "integer",
+ "format": "int64",
+ "x-nullable": true
+ },
+ "syncIntervalInSeconds": {
+ "description": "The interval at which to re-reconcile the Kustomization on the cluster.",
+ "type": "integer",
+ "format": "int64",
+ "x-nullable": true
+ },
+ "retryIntervalInSeconds": {
+ "description": "The interval at which to re-reconcile the Kustomization on the cluster in the event of failure on reconciliation.",
+ "type": "integer",
+ "format": "int64",
+ "x-nullable": true
+ },
+ "prune": {
+ "description": "Enable/disable garbage collections of Kubernetes objects created by this Kustomization.",
+ "type": "boolean",
+ "x-nullable": true
+ },
+ "force": {
+ "description": "Enable/disable re-creating Kubernetes resources on the cluster when patching fails due to an immutable field change.",
+ "type": "boolean",
+ "x-nullable": true
+ }
+ }
+ },
+ "DependsOnDefinition": {
+ "description": "Specify which kustomizations must succeed reconciliation on the cluster prior to reconciling this kustomization",
+ "type": "object",
+ "properties": {
+ "kustomizationName": {
+ "description": "Name of the kustomization to claim dependency on",
+ "type": "string"
+ }
+ }
+ },
+ "KustomizationValidationDefinition": {
+ "description": "Specify whether to validate the Kubernetes objects referenced in the Kustomization before applying them to the cluster.",
+ "type": "string",
+ "enum": [
+ "none",
+ "client",
+ "server"
+ ],
+ "default": "none",
+ "x-ms-enum": {
+ "name": "KustomizationValidationType",
+ "modelAsString": true
+ }
+ },
+ "ObjectStatusDefinition": {
+ "description": "Statuses of objects deployed by the user-specified kustomizations from the git repository.",
+ "type": "object",
+ "x-nullable": true,
+ "properties": {
+ "name": {
+ "description": "Name of the applied object",
+ "type": "string"
+ },
+ "namespace": {
+ "description": "Namespace of the applied object",
+ "type": "string"
+ },
+ "kind": {
+ "description": "Kind of the applied object",
+ "type": "string"
+ },
+ "complianceState": {
+ "description": "Compliance state of the applied object showing whether the applied object has come into a ready state on the cluster.",
+ "type": "string",
+ "$ref": "#/definitions/FluxComplianceStateDefinition"
+ },
+ "appliedBy": {
+ "description": "Object reference to the Kustomization that applied this object",
+ "type": "object",
+ "$ref": "#/definitions/ObjectReferenceDefinition",
+ "x-nullable": true
+ },
+ "statusConditions": {
+ "description": "List of Kubernetes object status conditions present on the cluster",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/ObjectStatusConditionDefinition"
+ },
+ "x-nullable": true
+ },
+ "helmReleaseProperties": {
+ "description": "Additional properties that are provided from objects of the HelmRelease kind",
+ "type": "object",
+ "$ref": "#/definitions/HelmReleasePropertiesDefinition",
+ "x-nullable": true
+ }
+ }
+ },
+ "ObjectReferenceDefinition": {
+ "description": "Object reference to a Kubernetes object on a cluster",
+ "type": "object",
+ "x-nullable": true,
+ "properties": {
+ "name": {
+ "description": "Name of the object",
+ "type": "string"
+ },
+ "namespace": {
+ "description": "Namespace of the object",
+ "type": "string"
+ }
+ }
+ },
+ "ObjectStatusConditionDefinition": {
+ "description": "Status condition of Kubernetes object",
+ "type": "object",
+ "properties": {
+ "lastTransitionTime": {
+ "description": "Last time this status condition has changed",
+ "type": "string",
+ "format": "date-time"
+ },
+ "message": {
+ "description": "A more verbose description of the object status condition",
+ "type": "string"
+ },
+ "reason": {
+ "description": "Reason for the specified status condition type status",
+ "type": "string"
+ },
+ "status": {
+ "description": "Status of the Kubernetes object condition type",
+ "type": "string"
+ },
+ "type": {
+ "description": "Object status condition type for this object",
+ "type": "string"
+ }
+ }
+ },
+ "HelmReleasePropertiesDefinition": {
+ "type": "object",
+ "x-nullable": true,
+ "properties": {
+ "lastRevisionApplied": {
+ "description": "The revision number of the last released object change",
+ "type": "integer",
+ "format": "int64",
+ "x-nullable": true
+ },
+ "helmChartRef": {
+ "description": "The reference to the HelmChart object used as the source to this HelmRelease",
+ "type": "object",
+ "$ref": "#/definitions/ObjectReferenceDefinition"
+ },
+ "failureCount": {
+ "description": "Total number of times that the HelmRelease failed to install or upgrade",
+ "type": "integer",
+ "format": "int64",
+ "x-nullable": true
+ },
+ "installFailureCount": {
+ "description": "Number of times that the HelmRelease failed to install",
+ "type": "integer",
+ "format": "int64",
+ "x-nullable": true
+ },
+ "upgradeFailureCount": {
+ "description": "Number of times that the HelmRelease failed to upgrade",
+ "type": "integer",
+ "format": "int64",
+ "x-nullable": true
+ }
+ }
+ },
+ "FluxComplianceStateDefinition": {
+ "description": "Compliance state of the cluster object.",
+ "type": "string",
+ "enum": [
+ "Compliant",
+ "Non-Compliant",
+ "Pending",
+ "Suspended",
+ "Unknown"
+ ],
+ "default": "Unknown",
+ "x-ms-enum": {
+ "name": "FluxComplianceState",
+ "modelAsString": true
+ }
+ },
+ "FluxConfiguration": {
+ "type": "object",
+ "description": "The Flux Configuration object returned in Get & Put response.",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "Properties to create a Flux Configuration resource",
+ "properties": {
+ "scope": {
+ "description": "Scope at which the operator will be installed.",
+ "$ref": "#/definitions/ScopeDefinition"
+ },
+ "namespace": {
+ "description": "The namespace to which this configuration is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only.",
+ "type": "string",
+ "default": "default"
+ },
+ "sourceKind": {
+ "description": "Source Kind to pull the configuration data from.",
+ "$ref": "#/definitions/SourceKindDefinition",
+ "default": "GitRepository"
+ },
+ "suspend": {
+ "description": "Whether this configuration should suspend its reconciliation of its kustomizations and sources.",
+ "type": "boolean",
+ "default": false
+ },
+ "gitRepository": {
+ "description": "Parameters to reconcile to the GitRepository source kind type.",
+ "type": "object",
+ "$ref": "#/definitions/GitRepositoryDefinition"
+ },
+ "bucket": {
+ "description": "Parameters to reconcile to the Bucket source kind type.",
+ "type": "object",
+ "$ref": "#/definitions/BucketDefinition"
+ },
+ "kustomizations": {
+ "description": "Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.",
+ "type": "object",
+ "x-nullable": true,
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/KustomizationDefinition"
+ }
+ },
+ "configurationProtectedSettings": {
+ "description": "Key-value pairs of protected configuration settings for the configuration",
+ "type": "object",
+ "x-nullable": true,
+ "x-ms-secret": true,
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "statuses": {
+ "description": "Statuses of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects provisioned by the fluxConfiguration.",
+ "type": "array",
+ "readOnly": true,
+ "x-nullable": true,
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/ObjectStatusDefinition"
+ }
+ },
+ "repositoryPublicKey": {
+ "description": "Public Key associated with this fluxConfiguration (either generated within the cluster or provided by the user).",
+ "type": "string",
+ "x-nullable": true,
+ "readOnly": true
+ },
+ "lastSourceUpdatedCommitId": {
+ "description": "Branch and SHA of the last source commit synced with the cluster.",
+ "type": "string",
+ "x-nullable": true,
+ "readOnly": true
+ },
+ "lastSourceUpdatedAt": {
+ "description": "Datetime the fluxConfiguration last synced its source on the cluster.",
+ "type": "string",
+ "format": "date-time",
+ "x-nullable": true,
+ "readOnly": true
+ },
+ "complianceState": {
+ "description": "Combined status of the Flux Kubernetes resources created by the fluxConfiguration or created by the managed objects.",
+ "type": "string",
+ "readOnly": true,
+ "$ref": "#/definitions/FluxComplianceStateDefinition"
+ },
+ "provisioningState": {
+ "description": "Status of the creation of the fluxConfiguration.",
+ "type": "string",
+ "readOnly": true,
+ "$ref": "../../common/2022-01-01-preview/definitions.json#/definitions/ProvisioningStateDefinition"
+ },
+ "errorMessage": {
+ "description": "Error message returned to the user in the case of provisioning failure.",
+ "type": "string",
+ "x-nullable": true,
+ "readOnly": true
+ }
+ }
+ },
+ "systemData": {
+ "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "FluxConfigurationPatch": {
+ "description": "The Flux Configuration Patch Request object.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "Updatable properties of an Flux Configuration Patch Request",
+ "properties": {
+ "sourceKind": {
+ "description": "Source Kind to pull the configuration data from.",
+ "$ref": "#/definitions/SourceKindDefinition",
+ "x-nullable": true
+ },
+ "suspend": {
+ "description": "Whether this configuration should suspend its reconciliation of its kustomizations and sources.",
+ "type": "boolean",
+ "x-nullable": true
+ },
+ "gitRepository": {
+ "description": "Parameters to reconcile to the GitRepository source kind type.",
+ "type": "object",
+ "$ref": "#/definitions/GitRepositoryPatchDefinition"
+ },
+ "bucket": {
+ "description": "Parameters to reconcile to the Bucket source kind type.",
+ "type": "object",
+ "$ref": "#/definitions/BucketDefinition"
+ },
+ "kustomizations": {
+ "description": "Array of kustomizations used to reconcile the artifact pulled by the source type on the cluster.",
+ "type": "object",
+ "x-nullable": true,
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/KustomizationPatchDefinition"
+ }
+ },
+ "configurationProtectedSettings": {
+ "description": "Key-value pairs of protected configuration settings for the configuration",
+ "type": "object",
+ "x-nullable": true,
+ "x-ms-secret": true,
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "FluxConfigurationsList": {
+ "description": "Result of the request to list Flux Configurations. It contains a list of FluxConfiguration objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/FluxConfiguration"
+ },
+ "description": "List of Flux Configurations within a Kubernetes cluster."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "URL to get the next set of configuration objects, if any."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "FluxConfigurationNameParameter": {
+ "name": "fluxConfigurationName",
+ "in": "path",
+ "description": "Name of the Flux Configuration.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/kubernetesconfiguration.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/kubernetesconfiguration.json
new file mode 100644
index 000000000000..5af0acaa313d
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/kubernetesconfiguration.json
@@ -0,0 +1,475 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2022-01-01-preview",
+ "title": "SourceControlConfigurationClient",
+ "description": "Use these APIs to create Source Control Configuration resources through ARM, for Kubernetes Clusters."
+ },
+ "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations/{sourceControlConfigurationName}": {
+ "get": {
+ "tags": [
+ "SourceControlConfiguration"
+ ],
+ "description": "Gets details of the Source Control Configuration.",
+ "operationId": "SourceControlConfigurations_Get",
+ "x-ms-examples": {
+ "Get Source Control Configuration": {
+ "$ref": "./examples/GetSourceControlConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SourceControlConfigurationNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SourceControlConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "SourceControlConfiguration"
+ ],
+ "description": "Create a new Kubernetes Source Control Configuration.",
+ "operationId": "SourceControlConfigurations_CreateOrUpdate",
+ "x-ms-examples": {
+ "Create Source Control Configuration": {
+ "$ref": "./examples/CreateSourceControlConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SourceControlConfigurationNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "sourceControlConfiguration",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SourceControlConfiguration"
+ },
+ "description": "Properties necessary to Create KubernetesConfiguration."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SourceControlConfiguration"
+ }
+ },
+ "201": {
+ "description": "Created.",
+ "schema": {
+ "$ref": "#/definitions/SourceControlConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "SourceControlConfiguration"
+ ],
+ "description": "This will delete the YAML file used to set up the Source control configuration, thus stopping future sync from the source repo.",
+ "operationId": "SourceControlConfigurations_Delete",
+ "x-ms-examples": {
+ "Delete Source Control Configuration": {
+ "$ref": "./examples/DeleteSourceControlConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SourceControlConfigurationNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has been completed successfully."
+ },
+ "204": {
+ "description": "No Content. The request has been accepted but the configuration was not found."
+ },
+ "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/sourceControlConfigurations": {
+ "get": {
+ "tags": [
+ "SourceControlConfiguration"
+ ],
+ "description": "List all Source Control Configurations.",
+ "operationId": "SourceControlConfigurations_List",
+ "x-ms-examples": {
+ "List Source Control Configuration": {
+ "$ref": "./examples/ListSourceControlConfiguration.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SourceControlConfigurationList"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ComplianceStatus": {
+ "description": "Compliance Status details",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "complianceState": {
+ "description": "The compliance state of the configuration.",
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ComplianceStateType",
+ "modelAsString": true
+ },
+ "enum": [
+ "Pending",
+ "Compliant",
+ "Noncompliant",
+ "Installed",
+ "Failed"
+ ]
+ },
+ "lastConfigApplied": {
+ "description": "Datetime the configuration was last applied.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "message": {
+ "description": "Message from when the configuration was applied.",
+ "type": "string"
+ },
+ "messageLevel": {
+ "description": "Level of the message.",
+ "type": "string",
+ "enum": [
+ "Error",
+ "Warning",
+ "Information"
+ ],
+ "x-ms-enum": {
+ "name": "MessageLevelType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ChartVersion": {
+ "description": "Version of the operator Helm chart.",
+ "type": "string"
+ },
+ "ChartValues": {
+ "description": "Values override for the operator Helm chart.",
+ "type": "string"
+ },
+ "HelmOperatorProperties": {
+ "description": "Properties for Helm operator.",
+ "type": "object",
+ "properties": {
+ "chartVersion": {
+ "description": "Version of the operator Helm chart.",
+ "$ref": "#/definitions/ChartVersion"
+ },
+ "chartValues": {
+ "description": "Values override for the operator Helm chart.",
+ "$ref": "#/definitions/ChartValues"
+ }
+ }
+ },
+ "ConfigurationProtectedSettings": {
+ "description": "Name-value pairs of protected configuration settings for the configuration",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "OperatorTypeDefinition": {
+ "description": "Type of the operator",
+ "type": "string",
+ "enum": [
+ "Flux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatorType",
+ "modelAsString": true
+ }
+ },
+ "OperatorScopeDefinition": {
+ "description": "Scope at which the operator will be installed.",
+ "type": "string",
+ "enum": [
+ "cluster",
+ "namespace"
+ ],
+ "default": "cluster",
+ "x-ms-enum": {
+ "name": "OperatorScopeType",
+ "modelAsString": true
+ }
+ },
+ "SourceControlConfiguration": {
+ "description": "The SourceControl Configuration object returned in Get & Put response.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "description": "Properties to create a Source Control Configuration resource",
+ "properties": {
+ "repositoryUrl": {
+ "type": "string",
+ "description": "Url of the SourceControl Repository."
+ },
+ "operatorNamespace": {
+ "description": "The namespace to which this operator is installed to. Maximum of 253 lower case alphanumeric characters, hyphen and period only.",
+ "type": "string",
+ "default": "default"
+ },
+ "operatorInstanceName": {
+ "description": "Instance name of the operator - identifying the specific configuration.",
+ "type": "string"
+ },
+ "operatorType": {
+ "description": "Type of the operator",
+ "$ref": "#/definitions/OperatorTypeDefinition"
+ },
+ "operatorParams": {
+ "description": "Any Parameters for the Operator instance in string format.",
+ "type": "string"
+ },
+ "configurationProtectedSettings": {
+ "description": "Name-value pairs of protected configuration settings for the configuration",
+ "type": "object",
+ "$ref": "#/definitions/ConfigurationProtectedSettings"
+ },
+ "operatorScope": {
+ "description": "Scope at which the operator will be installed.",
+ "$ref": "#/definitions/OperatorScopeDefinition"
+ },
+ "repositoryPublicKey": {
+ "description": "Public Key associated with this SourceControl configuration (either generated within the cluster or provided by the user).",
+ "type": "string",
+ "readOnly": true
+ },
+ "sshKnownHostsContents": {
+ "description": "Base64-encoded known_hosts contents containing public SSH keys required to access private Git instances",
+ "type": "string"
+ },
+ "enableHelmOperator": {
+ "description": "Option to enable Helm Operator for this git configuration.",
+ "type": "boolean"
+ },
+ "helmOperatorProperties": {
+ "description": "Properties for Helm operator.",
+ "type": "object",
+ "$ref": "#/definitions/HelmOperatorProperties"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the resource provider.",
+ "readOnly": true,
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ProvisioningStateType"
+ },
+ "enum": [
+ "Accepted",
+ "Deleting",
+ "Running",
+ "Succeeded",
+ "Failed"
+ ]
+ },
+ "complianceStatus": {
+ "type": "object",
+ "description": "Compliance Status of the Configuration",
+ "readOnly": true,
+ "$ref": "#/definitions/ComplianceStatus"
+ }
+ }
+ },
+ "systemData": {
+ "description": "Top level metadata https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "SourceControlConfigurationList": {
+ "description": "Result of the request to list Source Control Configurations. It contains a list of SourceControlConfiguration objects and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/SourceControlConfiguration"
+ },
+ "description": "List of Source Control Configurations within a Kubernetes cluster."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "URL to get the next set of configuration objects, if any."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SourceControlConfigurationNameParameter": {
+ "name": "sourceControlConfigurationName",
+ "in": "path",
+ "description": "Name of the Source Control Configuration.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/operations.json b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/operations.json
new file mode 100644
index 000000000000..6ac2645a3fba
--- /dev/null
+++ b/specification/kubernetesconfiguration/resource-manager/Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/operations.json
@@ -0,0 +1,127 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2022-01-01-preview",
+ "title": "OperationsClient",
+ "description": "Use these APIs to create extension resources through ARM, for Kubernetes Clusters."
+ },
+ "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/{clusterRp}/{clusterResourceName}/{clusterName}/providers/Microsoft.KubernetesConfiguration/operations": {
+ "get": {
+ "tags": [
+ "Operations in a Cluster"
+ ],
+ "operationId": "OperationStatus_List",
+ "description": "List Async Operations, currently in progress, in a cluster",
+ "x-ms-examples": {
+ "AsyncOperationStatus List": {
+ "$ref": "./examples/ListAsyncOperationStatus.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterRpParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterResourceNameParameter"
+ },
+ {
+ "$ref": "../../common/2022-01-01-preview/parameters.json#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Operations in a cluster",
+ "schema": {
+ "$ref": "../../common/2022-01-01-preview/definitions.json#/definitions/OperationStatusList"
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "/providers/Microsoft.KubernetesConfiguration/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "BatchAccountDelete": {
+ "$ref": "./examples/OperationsList.json"
+ }
+ },
+ "description": "List all the available operations the KubernetesConfiguration resource provider supports.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK response definition.",
+ "schema": {
+ "$ref": "../../common/2022-01-01-preview/definitions.json#/definitions/ResourceProviderOperationList"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/kubernetesconfiguration/resource-manager/readme.go.md b/specification/kubernetesconfiguration/resource-manager/readme.go.md
index d24dd70dc6ba..98a0abfd2085 100644
--- a/specification/kubernetesconfiguration/resource-manager/readme.go.md
+++ b/specification/kubernetesconfiguration/resource-manager/readme.go.md
@@ -13,12 +13,46 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-preview-2022-01
+ - tag: package-preview-2021-11
+ - tag: package-2021-09
- tag: package-preview-2021-05
- tag: package-2021-03
- - tag: package-2019-11-01-preview
+ - tag: package-preview-2020-10
- tag: package-2020-07-01-preview
+ - tag: package-2019-11-01-preview
```
+### Tag: package-preview-2022-01 and go
+
+These settings apply only when `--tag=package-preview-2022-01 --go` is specified on the command line.
+Please also specify `--go-sdks-folder=`.
+
+```yaml $(tag) == 'package-preview-2022-01' && $(go)
+namespace: kubernetesconfiguration
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2022-01-01-preview/$(namespace)
+```
+
+### Tag: package-preview-2021-11 and go
+
+These settings apply only when `--tag=package-preview-2021-11 --go` is specified on the command line.
+Please also specify `--go-sdks-folder=`.
+
+```yaml $(tag) == 'package-preview-2021-11' && $(go)
+namespace: kubernetesconfiguration
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2021-11-01-preview/$(namespace)
+```
+
+### Tag: package-2021-09 and go
+
+These settings apply only when `--tag=package-2021-09 --go` is specified on the command line.
+Please also specify `--go-sdks-folder=`.
+
+```yaml $(tag) == 'package-2021-09' && $(go)
+namespace: kubernetesconfiguration
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2021-09-01/$(namespace)
+```
+
### Tag: package-preview-2021-05 and go
These settings apply only when `--tag=package-preview-2021-05 --go` is specified on the command line.
@@ -37,9 +71,22 @@ Please also specify `--go-sdks-folder=`.
+```yaml $(tag) == 'package-preview-2020-10' && $(go)
+namespace: kubernetesconfiguration
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-10-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.
+Please also specify `--go-sdks-folder=`.
+```yaml $(tag) == 'package-2020-07-01-preview' && $(go)
+namespace: kubernetesconfiguration
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-07-01-preview/$(namespace)
```
### Tag: package-2019-11-01-preview and go
@@ -50,10 +97,4 @@ Please also specify `--go-sdks-folder=`.
-```yaml $(tag) == 'package-2020-07-01-preview' && $(go)
-namespace: kubernetesconfiguration
-output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-07-01-preview/$(namespace)
+```
\ No newline at end of file
diff --git a/specification/kubernetesconfiguration/resource-manager/readme.java.md b/specification/kubernetesconfiguration/resource-manager/readme.java.md
index 8a36719a3c7d..e89c7c799d8e 100644
--- a/specification/kubernetesconfiguration/resource-manager/readme.java.md
+++ b/specification/kubernetesconfiguration/resource-manager/readme.java.md
@@ -16,18 +16,61 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-kubernetesconfigura
``` yaml $(java) && $(multiapi)
batch:
- - tag: package-2021-05-01-preview
+ - tag: package-preview-2022-01
+ - tag: package-preview-2021-11
+ - tag: package-2021-09
+ - tag: package-preview-2021-05
- tag: package-2021-03-01
+ - tag: package-preview-2020-10
- tag: package-2020-07-01-preview
- tag: package-2019-11-01-preview
```
-### Tag: package-2021-05-01-preview and java
+### Tag: package-preview-2022-01 and java
-These settings apply only when `--tag=package-2021-05-01-preview --java` is specified on the command line.
+These settings apply only when `--tag=package-preview-2022-01 --java` is specified on the command line.
Please also specify `--azure-libraries-for-java-folder=`.
-``` yaml $(tag) == 'package-2021-05-01-preview' && $(java) && $(multiapi)
+``` yaml $(tag) == 'package-preview-2022-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.kubernetesconfiguration.v2022_01_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/kubernetesconfiguration/mgmt-v2022_01_01_preview
+ regenerate-manager: true
+ generate-interface: true
+```
+
+### Tag: package-preview-2021-11 and java
+
+These settings apply only when `--tag=package-preview-2021-11 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-preview-2021-11' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.kubernetesconfiguration.v2021_11_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/kubernetesconfiguration/mgmt-v2021_11_01_preview
+ regenerate-manager: true
+ generate-interface: true
+```
+
+### Tag: package-2021-09 and java
+
+These settings apply only when `--tag=package-2021-09 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2021-09' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.kubernetesconfiguration.v2021_09_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/kubernetesconfiguration/mgmt-v2021_09_01
+ regenerate-manager: true
+ generate-interface: true
+```
+
+### Tag: package-preview-2021-05 and java
+
+These settings apply only when `--tag=package-preview-2021-05 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-preview-2021-05' && $(java) && $(multiapi)
java:
namespace: com.microsoft.azure.management.kubernetesconfiguration.v2021_05_01_preview
output-folder: $(azure-libraries-for-java-folder)/sdk/kubernetesconfiguration/mgmt-v2021_05_01_preview
@@ -48,6 +91,19 @@ java:
generate-interface: true
```
+### Tag: package-preview-2020-10 and java
+
+These settings apply only when `--tag=package-preview-2020-10 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-preview-2020-10' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.kubernetesconfiguration.v2020_10_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/kubernetesconfiguration/mgmt-v2020_10_01_preview
+ regenerate-manager: true
+ generate-interface: true
+```
+
### Tag: package-2020-07-01-preview and java
These settings apply only when `--tag=package-2020-07-01-preview --java` is specified on the command line.
diff --git a/specification/kubernetesconfiguration/resource-manager/readme.md b/specification/kubernetesconfiguration/resource-manager/readme.md
index 48f2e9a7a74e..16daffb770d0 100644
--- a/specification/kubernetesconfiguration/resource-manager/readme.md
+++ b/specification/kubernetesconfiguration/resource-manager/readme.md
@@ -28,11 +28,24 @@ These are the global settings for the KubernetesConfiguration.
title: SourceControlConfigurationClient
description: KubernetesConfiguration Client
openapi-type: arm
-tag: package-2021-09
+tag: package-preview-2022-01
```
---
+
+### Tag: package-preview-2022-01
+
+These settings apply only when `--tag=package-preview-2022-01` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2022-01'
+input-file:
+ - Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/extensionTypes.json
+ - Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/extensions.json
+ - Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/fluxconfiguration.json
+ - Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/kubernetesconfiguration.json
+ - Microsoft.KubernetesConfiguration/preview/2022-01-01-preview/operations.json
+```
### Tag: package-2021-09
These settings apply only when `--tag=package-2021-09` is specified on the command line.
@@ -43,8 +56,10 @@ input-file:
```
---
+
## Suppression
-```yaml
+
+``` yaml
directive:
- suppress: LongRunningResponseStatusCode
reason: The validation tools do not properly recognize 202 as a supported response code.
@@ -83,6 +98,28 @@ directive:
}
```
+### Tag: package-preview-2021-11
+
+These settings apply only when `--tag=package-preview-2021-11` is specified on the command line.
+
+``` yaml $(tag) == 'package-preview-2021-11'
+input-file:
+ - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensions.json
+ - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/extensionTypes.json
+ - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/kubernetesconfiguration.json
+ - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/fluxconfiguration.json
+ - Microsoft.KubernetesConfiguration/preview/2021-11-01-preview/operations.json
+```
+
+### Tag: package-2021-09
+
+These settings apply only when `--tag=package-2021-09` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-09'
+input-file:
+ - Microsoft.KubernetesConfiguration/stable/2021-09-01/extensions.json
+```
+
### Tag: package-preview-2021-05
These settings apply only when `--tag=package-preview-2021-05` is specified on the command line.
@@ -136,8 +173,49 @@ input-file:
``` yaml
directive:
- suppress: TopLevelResourcesListBySubscription
+ reason: 'Microsoft.KubernetesConfiguration is a proxy resource provider under Microsoft.Kubernetes'
+ from: kubernetesconfiguration.json
+ - suppress: LongRunningResponseStatusCode
+ reason: The validation tools do not properly recognize 202 as a supported response code.
from: extensions.json
+ - suppress: TopLevelResourcesListBySubscription
reason: 'Microsoft.KubernetesConfiguration is a proxy resource provider under Microsoft.Kubernetes'
+ from: extensions.json
+ - suppress: LongRunningResponseStatusCode
+ reason: The validation tools do not properly recognize 202 as a supported response code.
+ from: fluxconfiguration.json
+ - suppress: TopLevelResourcesListBySubscription
+ from: fluxconfiguration.json
+ reason: 'Microsoft.KubernetesConfiguration is a proxy resource provider under Microsoft.Kubernetes and Microsoft.ContainerServices'
+ - suppress: BodyTopLevelProperties
+ where: $.definitions.Extension.properties
+ from: extensions.json
+ reason: |-
+ https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#system-metadata-for-all-azure-resources
+
+ The systemData should be top level element based on the new requirement:
+ {
+ "id": "/subscriptions/{id}/resourceGroups/{group}/providers/{rpns}/{type}/{name}",
+ "name": "{name}",
+ "type": "{resourceProviderNamespace}/{resourceType}",
+ "location": "North US",
+ "systemData":{
+ "createdBy": "",
+ "createdByType": "",
+ "createdAt": "",
+ "lastModifiedBy": "",
+ "lastModifiedByType": "",
+ "lastModifiedAt": ""
+ },
+ "tags": {
+ "key1": "value 1",
+ "key2": "value 2"
+ },
+ "kind": "resource kind",
+ "properties": {
+ "comment": "Resource defined structure"
+ }
+ }
```
---
diff --git a/specification/kubernetesconfiguration/resource-manager/readme.python.md b/specification/kubernetesconfiguration/resource-manager/readme.python.md
index ee6fcd558f05..2210c12e9604 100644
--- a/specification/kubernetesconfiguration/resource-manager/readme.python.md
+++ b/specification/kubernetesconfiguration/resource-manager/readme.python.md
@@ -4,20 +4,108 @@ 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)
+``` yaml $(python) && $(track2)
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
namespace: azure.mgmt.kubernetesconfiguration
package-name: azure-mgmt-kubernetesconfiguration
no-namespace-folders: true
-package-version: 1.0.0b1
+package-version: 1.1.0
clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update' && $(track2)
-no-namespace-folders: true
-output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration
+
+### Python multi-api
+
+Generate all API versions currently shipped for this package
+
+```yaml $(multiapi)
+clear-output-folder: true
+batch:
+ - tag: package-preview-2022-01
+ - tag: package-preview-2021-11
+ - tag: package-2021-09
+ - tag: package-preview-2021-05
+ - tag: package-2021-03
+ - tag: package-preview-2020-10
+ - tag: package-2020-07-01-preview
+ - tag: package-2019-11-01-preview
+ - multiapiscript: true
+```
+
+``` yaml $(multiapiscript)
+output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/
+clear-output-folder: false
+perform-load: false
+```
+
+### Tag: package-preview-2022-01 and python
+
+These settings apply only when `--tag=package-preview-2022-01 --python` is specified on the command line.
+
+``` yaml $(tag) == 'package-preview-2022-01'
+namespace: azure.mgmt.kubernetesconfiguration.v2022_01_01_preview
+output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/v2022_01_01_preview
+```
+
+### Tag: package-preview-2021-11 and python
+
+These settings apply only when `--tag=package-preview-2021-11 --python` is specified on the command line.
+
+``` yaml $(tag) == 'package-preview-2021-11'
+namespace: azure.mgmt.kubernetesconfiguration.v2021_11_01_preview
+output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/v2021_11_01_preview
+```
+
+### Tag: package-2021-09 and python
+
+These settings apply only when `--tag=package-2021-09 --python` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-09'
+namespace: azure.mgmt.kubernetesconfiguration.v2021_09_01
+output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/v2021_09_01
```
-``` yaml $(python) && $(python-mode) == 'create' && $(track2)
-basic-setup-py: true
-output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration
+
+### Tag: package-preview-2021-05 and python
+
+These settings apply only when `--tag=package-preview-2021-05 --python` is specified on the command line.
+
+``` yaml $(tag) == 'package-preview-2021-05'
+namespace: azure.mgmt.kubernetesconfiguration.v2021_05_01_preview
+output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/v2021_05_01_preview
+```
+
+### Tag: package-2021-03 and python
+
+These settings apply only when `--tag=package-2021-03 --python` is specified on the command line.
+
+``` yaml $(tag) == 'package-2021-03'
+namespace: azure.mgmt.kubernetesconfiguration.v2021_03_01
+output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/v2021_03_01
+```
+
+### Tag: package-preview-2020-10 and python
+
+These settings apply only when `--tag=package-preview-2020-10 --python` is specified on the command line.
+
+``` yaml $(tag) == 'package-preview-2020-10'
+namespace: azure.mgmt.kubernetesconfiguration.v2020_10_01_preview
+output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/v2020_10_01_preview
+```
+
+### Tag: package-2020-07-01-preview and python
+
+These settings apply only when `--tag=package-2020-07-01-preview --python` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-07-01-preview'
+namespace: azure.mgmt.kubernetesconfiguration.v2020_07_01_preview
+output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/v2020_07_01_preview
+```
+
+### Tag: package-2019-11-01-preview and python
+
+These settings apply only when `--tag=package-2019-11-01-preview --python` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-11-01-preview '
+namespace: azure.mgmt.kubernetesconfiguration.v2019_11_01_preview
+output-folder: $(python-sdks-folder)/kubernetesconfiguration/azure-mgmt-kubernetesconfiguration/azure/mgmt/kubernetesconfiguration/v2019_11_01_preview
```
\ No newline at end of file
diff --git a/specification/kubernetesconfiguration/resource-manager/readme.ruby.md b/specification/kubernetesconfiguration/resource-manager/readme.ruby.md
index 9360ba1303da..fbb49fb17303 100644
--- a/specification/kubernetesconfiguration/resource-manager/readme.ruby.md
+++ b/specification/kubernetesconfiguration/resource-manager/readme.ruby.md
@@ -12,18 +12,52 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
- - tag: package-2021-05-01-preview'
- - tag: package-2021-03-01'
- - tag: package-2020-07-01-preview'
- - tag: package-2019-11-01-preview'
+ - tag: package-preview-2022-01
+ - tag: package-preview-2021-11
+ - tag: package-2021-09
+ - tag: package-preview-2021-05
+ - tag: package-2021-03-01
+ - tag: package-preview-2020-10
+ - tag: package-2020-07-01-preview
+ - tag: package-2019-11-01-preview
```
-### Tag: package-2021-05-01-preview and ruby
+### Tag: package-preview-2022-01 and ruby
-These settings apply only when `--tag=package-2021-05-01-preview --ruby` is specified on the command line.
+These settings apply only when `--tag=package-preview-2022-01 --ruby` is specified on the command line.
Please also specify `--ruby-sdks-folder=`.
-```yaml $(tag) == 'package-2021-05-01-preview' && $(ruby)
+```yaml $(tag) == 'package-preview-2022-01' && $(ruby)
+namespace: "Azure::KubernetesConfiguration::Mgmt::V2022_01_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib
+```
+
+### Tag: package-preview-2021-11 and ruby
+
+These settings apply only when `--tag=package-preview-2021-11 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-preview-2021-11' && $(ruby)
+namespace: "Azure::KubernetesConfiguration::Mgmt::V2021_11_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib
+```
+
+### Tag: package-2021-09 and ruby
+
+These settings apply only when `--tag=package-2021-09 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2021-09' && $(ruby)
+namespace: "Azure::KubernetesConfiguration::Mgmt::V2021_09_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib
+```
+
+### Tag: package-preview-2021-05 and ruby
+
+These settings apply only when `--tag=package-preview-2021-05 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-preview-2021-05' && $(ruby)
namespace: "Azure::KubernetesConfiguration::Mgmt::V2021_05_01_preview"
output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib
```
@@ -38,13 +72,13 @@ namespace: "Azure::KubernetesConfiguration::Mgmt::V2021_03_01"
output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib
```
-### Tag: package-2019-11-01-preview and ruby
+### Tag: package-preview-2020-10 and ruby
-These settings apply only when `--tag=package-2019-11-01-preview --ruby` is specified on the command line.
+These settings apply only when `--tag=package-preview-2020-10 --ruby` is specified on the command line.
Please also specify `--ruby-sdks-folder=`.
-```yaml $(tag) == 'package-2019-11-01-preview' && $(ruby)
-namespace: "Azure::KubernetesConfiguration::Mgmt::V2019_11_01_preview"
+```yaml $(tag) == 'package-preview-2020-10' && $(ruby)
+namespace: "Azure::KubernetesConfiguration::Mgmt::V2020_10_01_preview"
output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib
```
@@ -57,3 +91,13 @@ Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2019-11-01-preview' && $(ruby)
+namespace: "Azure::KubernetesConfiguration::Mgmt::V2019_11_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_kubernetesconfiguration/lib
+```
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Images.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Images.json
new file mode 100644
index 000000000000..279c70995419
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Images.json
@@ -0,0 +1,379 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-15-preview",
+ "title": "LabServicesClient",
+ "description": "REST API for managing Azure Lab Services images."
+ },
+ "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.LabServices/labPlans/{labPlanName}/images": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "LabPlans.json#/parameters/LabPlanNameParameter"
+ },
+ {
+ "in": "query",
+ "name": "$filter",
+ "type": "string",
+ "description": "The filter to apply to the operation."
+ }
+ ],
+ "get": {
+ "tags": [
+ "Image"
+ ],
+ "summary": "Gets all images.",
+ "description": "Gets all images from galleries attached to a lab plan.",
+ "operationId": "Images_ListByLabPlan",
+ "responses": {
+ "200": {
+ "description": "The request was successful; a list of images is returned",
+ "schema": {
+ "$ref": "#/definitions/PagedImages"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "listImages": {
+ "$ref": "./examples/Images/listImages.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labPlans/{labPlanName}/images/{imageName}": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "LabPlans.json#/parameters/LabPlanNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ImageNameParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "Image"
+ ],
+ "summary": "Gets an image.",
+ "description": "Gets an image resource.",
+ "operationId": "Images_Get",
+ "responses": {
+ "200": {
+ "description": "The request was successful; the image is returned",
+ "schema": {
+ "$ref": "#/definitions/Image"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "getImage": {
+ "$ref": "./examples/Images/getImage.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Image"
+ ],
+ "summary": "Updates an image via PUT.",
+ "description": "Updates an image resource via PUT. Creating new resources via PUT will not function.",
+ "operationId": "Images_CreateOrUpdate",
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the image is returned",
+ "schema": {
+ "$ref": "#/definitions/Image"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "putImage": {
+ "$ref": "./examples/Images/putImage.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Image"
+ ],
+ "summary": "Updates an image.",
+ "description": "Updates an image resource.",
+ "consumes": [
+ "application/json"
+ ],
+ "operationId": "Images_Update",
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the image is returned",
+ "schema": {
+ "$ref": "#/definitions/Image"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "patchImage": {
+ "$ref": "./examples/Images/patchImage.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Image": {
+ "description": "Lab services virtual machine image",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Metadata pertaining to creation and last modification of the image.",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Image resource properties",
+ "$ref": "#/definitions/ImageProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "PagedImages": {
+ "description": "Paged list of Lab services virtual machine images.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array page of virtual machine images.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Image"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "The link to get the next page of image results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ImageUpdate": {
+ "description": "Lab services virtual machine image for updates.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Image resource properties",
+ "$ref": "#/definitions/ImageUpdateProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ImageUpdateProperties": {
+ "description": "Properties of an image resource update",
+ "type": "object",
+ "properties": {
+ "enabledState": {
+ "description": "Is the image enabled",
+ "default": "Disabled",
+ "$ref": "LabServices.json#/definitions/enableState"
+ }
+ }
+ },
+ "ImageProperties": {
+ "description": "Properties of an image resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ImageUpdateProperties"
+ }
+ ],
+ "properties": {
+ "provisioningState": {
+ "description": "Current provisioning state of the image.",
+ "$ref": "LabServices.json#/definitions/provisioningState",
+ "readOnly": true
+ },
+ "displayName": {
+ "description": "The image display name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "A description of the image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "iconUrl": {
+ "description": "URL of the image icon.",
+ "type": "string",
+ "readOnly": true
+ },
+ "author": {
+ "description": "The image author.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osType": {
+ "description": "The OS Type of the image.",
+ "$ref": "LabServices.json#/definitions/osType",
+ "readOnly": true
+ },
+ "plan": {
+ "description": "The ID of marketplace plan associated with the image (optional).",
+ "type": "string",
+ "readOnly": true
+ },
+ "termsStatus": {
+ "description": "The status of image terms of use (enabled = accepted, disabled = not accepted).",
+ "$ref": "LabServices.json#/definitions/enableState",
+ "readOnly": true
+ },
+ "offer": {
+ "description": "The ID of an offer associated with the image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "publisher": {
+ "description": "The ID of the publisher of the image.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sku": {
+ "description": "The image SKU.",
+ "type": "string",
+ "readOnly": true
+ },
+ "version": {
+ "description": "The image version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sharedGalleryId": {
+ "description": "The ID for the image in the shared gallery.",
+ "$ref": "LabServices.json#/definitions/url",
+ "readOnly": true
+ },
+ "availableRegions": {
+ "description": "The available regions of the image in the shared gallery.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "osState": {
+ "description": "The OS State of the image.",
+ "$ref": "LabServices.json#/definitions/osState",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "enabledState"
+ ]
+ }
+ },
+ "parameters": {
+ "ImageNameParameter": {
+ "name": "imageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The image name.",
+ "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$",
+ "minLength": 1,
+ "maxLength": 100,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/LabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/LabPlans.json
new file mode 100644
index 000000000000..83c1e3daf649
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/LabPlans.json
@@ -0,0 +1,532 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-15-preview",
+ "title": "LabServicesClient",
+ "description": "REST API for managing Azure Lab Services lab plans."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/labPlans": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "in": "query",
+ "name": "$filter",
+ "type": "string",
+ "description": "The filter to apply to the operation."
+ }
+ ],
+ "get": {
+ "tags": [
+ "LabPlan"
+ ],
+ "summary": "Get all lab plans for a subscription.",
+ "description": "Returns a list of all lab plans within a subscription",
+ "operationId": "LabPlans_ListBySubscription",
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains all Lab Plans for the given subscription.",
+ "schema": {
+ "$ref": "#/definitions/PagedLabPlans"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "listLabPlans": {
+ "$ref": "./examples/LabPlans/listLabPlans.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labPlans": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "LabPlan"
+ ],
+ "summary": "Get all lab plans for a subscription and resource group.",
+ "description": "Returns a list of all lab plans for a subscription and resource group.",
+ "operationId": "LabPlans_ListByResourceGroup",
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains all Lab Plans for the given subscription.",
+ "schema": {
+ "$ref": "#/definitions/PagedLabPlans"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "listResourceGroupLabPlans": {
+ "$ref": "./examples/LabPlans/listResourceGroupLabPlans.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labPlans/{labPlanName}": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LabPlanNameParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "LabPlan"
+ ],
+ "summary": "Retrieves a Lab Plan resource.",
+ "description": "Retrieves the properties of a Lab Plan.",
+ "operationId": "LabPlans_Get",
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains the Lab Plan.",
+ "schema": {
+ "$ref": "#/definitions/LabPlan"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "getLabPlan": {
+ "$ref": "./examples/LabPlans/getLabPlan.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "LabPlan"
+ ],
+ "summary": "Updates or creates a Lab Plan resource.",
+ "description": "Operation to create or update a Lab Plan resource.",
+ "operationId": "LabPlans_CreateOrUpdate",
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LabPlan"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The update was successful; response contains the Lab Plan.",
+ "schema": {
+ "$ref": "#/definitions/LabPlan"
+ }
+ },
+ "201": {
+ "description": "The create was successful; response contains the Lab Plan.",
+ "schema": {
+ "$ref": "#/definitions/LabPlan"
+ }
+ },
+ "202": {
+ "description": "The update was successful and has a long running operation; response contains the Lab Plan.",
+ "schema": {
+ "$ref": "#/definitions/LabPlan"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "original-uri"
+ },
+ "x-ms-examples": {
+ "putLabPlan": {
+ "$ref": "./examples/LabPlans/putLabPlan.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "LabPlan"
+ ],
+ "summary": "Updates a Lab Plan resource.",
+ "description": "Operation to update a Lab Plan resource.",
+ "consumes": [
+ "application/json"
+ ],
+ "operationId": "LabPlans_Update",
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LabPlanUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The update was successful; response contains the Lab Plan.",
+ "schema": {
+ "$ref": "#/definitions/LabPlan"
+ }
+ },
+ "202": {
+ "description": "The update was successful and has a long running operation; response contains the Lab Plan.",
+ "schema": {
+ "$ref": "#/definitions/LabPlan"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "patchLabPlan": {
+ "$ref": "./examples/LabPlans/patchLabPlan.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "LabPlan"
+ ],
+ "summary": "Deletes a Lab Plan resource.",
+ "description": "Operation to delete a Lab Plan resource. Deleting a lab plan does not delete labs associated with a lab plan, nor does it delete shared images added to a gallery via the lab plan permission container.",
+ "operationId": "LabPlans_Delete",
+ "responses": {
+ "200": {
+ "description": "The request was successful."
+ },
+ "202": {
+ "description": "The request was accepted."
+ },
+ "204": {
+ "description": "The request has been fulfilled."
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "deleteLabPlan": {
+ "$ref": "./examples/LabPlans/deleteLabPlan.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labPlans/{labPlanName}/saveImage": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LabPlanNameParameter"
+ }
+ ],
+ "post": {
+ "tags": [
+ "VirtualMachine"
+ ],
+ "summary": "Save an image from a lab VM to the attached shared image gallery.",
+ "description": "Saves an image from a lab VM to the attached shared image gallery.",
+ "operationId": "LabPlans_SaveImage",
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SaveImageBody"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful."
+ },
+ "202": {
+ "description": "The request was accepted."
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "saveImageVirtualMachine": {
+ "$ref": "./examples/LabPlans/saveImageVirtualMachine.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "LabPlan": {
+ "description": "Lab Plans act as a permission container for creating labs via labs.azure.com. Additionally, they can provide a set of default configurations that will apply at the time of creating a lab, but these defaults can still be overwritten.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Metadata pertaining to creation and last modification of the lab plan.",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Lab plan resource properties",
+ "$ref": "#/definitions/LabPlanProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "PagedLabPlans": {
+ "description": "Paged list of lab plans.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array page of lab plans.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LabPlan"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "The link to get the next page of lab plan results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "LabPlanNetworkProfile": {
+ "description": "Profile for how to handle networking for Lab Plans.",
+ "type": "object",
+ "properties": {
+ "subnetId": {
+ "description": "The external subnet resource id",
+ "$ref": "LabServices.json#/definitions/url"
+ }
+ }
+ },
+ "LabPlanUpdate": {
+ "description": "Contains lab configuration and default settings. This variant is used for PATCH.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "LabServices.json#/definitions/TrackedResourceUpdate"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Lab plan resource update properties",
+ "$ref": "#/definitions/LabPlanUpdateProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "LabPlanUpdateProperties": {
+ "description": "Lab plan resource properties for updates",
+ "type": "object",
+ "properties": {
+ "defaultConnectionProfile": {
+ "description": "The default lab connection profile. This can be changed on a lab resource and only provides a default profile.",
+ "$ref": "LabServices.json#/definitions/ConnectionProfile"
+ },
+ "defaultAutoShutdownProfile": {
+ "description": "The default lab shutdown profile. This can be changed on a lab resource and only provides a default profile.",
+ "$ref": "LabServices.json#/definitions/AutoShutdownProfile"
+ },
+ "defaultNetworkProfile": {
+ "description": "The lab plan network profile. To enforce lab network policies they must be defined here and cannot be changed when there are existing labs associated with this lab plan.",
+ "$ref": "#/definitions/LabPlanNetworkProfile"
+ },
+ "allowedRegions": {
+ "description": "The allowed regions for the lab creator to use when creating labs using this lab plan.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "sharedGalleryId": {
+ "description": "Resource ID of the Shared Image Gallery attached to this lab plan. When saving a lab template virtual machine image it will be persisted in this gallery. Shared images from the gallery can be made available to use when creating new labs.",
+ "$ref": "LabServices.json#/definitions/url"
+ },
+ "supportInfo": {
+ "description": "Support contact information and instructions for users of the lab plan. This information is displayed to lab owners and virtual machine users for all labs in the lab plan.",
+ "$ref": "#/definitions/SupportInfo"
+ },
+ "linkedLmsInstance": {
+ "description": "Base Url of the lms instance this lab plan can link lab rosters against.",
+ "$ref": "LabServices.json#/definitions/url"
+ }
+ }
+ },
+ "LabPlanProperties": {
+ "description": "Lab plan resource properties",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LabPlanUpdateProperties"
+ }
+ ],
+ "properties": {
+ "provisioningState": {
+ "description": "Current provisioning state of the lab plan.",
+ "$ref": "LabServices.json#/definitions/provisioningState",
+ "readOnly": true
+ }
+ }
+ },
+ "SupportInfo": {
+ "description": "Support contact information and instructions.",
+ "type": "object",
+ "properties": {
+ "url": {
+ "description": "Support web address.",
+ "$ref": "LabServices.json#/definitions/url"
+ },
+ "email": {
+ "description": "Support contact email address.",
+ "$ref": "LabServices.json#/definitions/emailAddress"
+ },
+ "phone": {
+ "description": "Support contact phone number.",
+ "$ref": "LabServices.json#/definitions/phoneNumber"
+ },
+ "instructions": {
+ "description": "Support instructions.",
+ "type": "string"
+ }
+ }
+ },
+ "SaveImageBody": {
+ "description": "Body for the save image POST",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name for the image we create.",
+ "type": "string"
+ },
+ "labVirtualMachineId": {
+ "description": "The ID of the lab virtual machine you want to save an image from.",
+ "$ref": "LabServices.json#/definitions/url"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "LabPlanNameParameter": {
+ "name": "labPlanName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the lab plan that uniquely identifies it within containing resource group. Used in resource URIs and in UI.",
+ "minLength": 1,
+ "maxLength": 100,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/LabServices.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/LabServices.json
new file mode 100644
index 000000000000..0d6d8b7006ac
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/LabServices.json
@@ -0,0 +1,301 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-15-preview",
+ "title": "LabServicesClient",
+ "description": "Azure Lab Services REST API.",
+ "x-ms-code-generation-settings": {
+ "internalConstructors": true
+ }
+ },
+ "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.LabServices/operations": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "Get all operations",
+ "description": "Returns a list of all operations.",
+ "operationId": "Operations_List",
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains all operations.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "listOperations": {
+ "$ref": "./examples/LabServices/listOperations.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "provisioningState": {
+ "type": "string",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Locked"
+ ],
+ "description": "Resource provisioning state.",
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Creating",
+ "description": "Resource is in the process of being created."
+ },
+ {
+ "value": "Updating",
+ "description": "New property values are being applied to the resource."
+ },
+ {
+ "value": "Deleting",
+ "description": "Resource is in the process of being deleted."
+ },
+ {
+ "value": "Succeeded",
+ "description": "Resource is in healthy state after creation or update operation."
+ },
+ {
+ "value": "Failed",
+ "description": "Previous operation on the resource has failed leaving resource in unhealthy state."
+ },
+ {
+ "value": "Locked",
+ "description": "The resource is locked and changes are currently blocked. This could be due to maintenance or a scheduled operation. The state will go back to succeeded once the locking operation has finished."
+ }
+ ]
+ }
+ },
+ "enableState": {
+ "type": "string",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "description": "Property enabled state.",
+ "x-ms-enum": {
+ "name": "EnableState",
+ "modelAsString": false
+ }
+ },
+ "connectionType": {
+ "type": "string",
+ "enum": [
+ "Public",
+ "Private",
+ "None"
+ ],
+ "description": "A connection type for access labs and VMs (Public, Private or None).",
+ "x-ms-enum": {
+ "name": "ConnectionType",
+ "modelAsString": false
+ }
+ },
+ "emailAddress": {
+ "type": "string",
+ "minLength": 6,
+ "maxLength": 254,
+ "description": "An email address."
+ },
+ "phoneNumber": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 31,
+ "description": "A phone number."
+ },
+ "url": {
+ "type": "string",
+ "minLength": 3,
+ "maxLength": 2000,
+ "description": "A URL."
+ },
+ "osType": {
+ "type": "string",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "description": "The operating system type.",
+ "x-ms-enum": {
+ "name": "OsType",
+ "modelAsString": false
+ }
+ },
+ "osState": {
+ "type": "string",
+ "enum": [
+ "Generalized",
+ "Specialized"
+ ],
+ "description": "The operating system state.",
+ "x-ms-enum": {
+ "name": "OsState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Generalized",
+ "description": "Image does not contain any machine and user specific information."
+ },
+ {
+ "value": "Specialized",
+ "description": "Image contains machine and user specific information."
+ }
+ ]
+ }
+ },
+ "shutdownOnIdleMode": {
+ "type": "string",
+ "enum": [
+ "None",
+ "UserAbsence",
+ "LowUsage"
+ ],
+ "description": "Defines whether to shut down VM on idle and the criteria for idle detection.",
+ "x-ms-enum": {
+ "name": "shutdownOnIdleMode",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "None",
+ "description": "The VM won't be shut down when it is idle."
+ },
+ {
+ "value": "UserAbsence",
+ "description": "The VM will be considered as idle when there is no keyboard or mouse input."
+ },
+ {
+ "value": "LowUsage",
+ "description": "The VM will be considered as idle when user is absent and the resource (CPU and disk) consumption is low."
+ }
+ ]
+ }
+ },
+ "TrackedResourceUpdate": {
+ "description": "Base tracked resource type for all PATCH updates.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Resource tags.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AutoShutdownProfile": {
+ "description": "Profile for how to handle shutting down virtual machines.",
+ "type": "object",
+ "properties": {
+ "shutdownOnDisconnect": {
+ "description": "Whether shutdown on disconnect is enabled",
+ "default": "Disabled",
+ "$ref": "#/definitions/enableState"
+ },
+ "shutdownWhenNotConnected": {
+ "description": "Whether a VM will get shutdown when it hasn't been connected to after a period of time.",
+ "default": "Disabled",
+ "$ref": "#/definitions/enableState"
+ },
+ "shutdownOnIdle": {
+ "description": "Whether a VM will get shutdown when it has idled for a period of time.",
+ "default": "None",
+ "$ref": "#/definitions/shutdownOnIdleMode"
+ },
+ "disconnectDelay": {
+ "description": "The amount of time a VM will stay running after a user disconnects if this behavior is enabled.",
+ "type": "string",
+ "format": "duration"
+ },
+ "noConnectDelay": {
+ "description": "The amount of time a VM will stay running before it is shutdown if no connection is made and this behavior is enabled.",
+ "type": "string",
+ "format": "duration"
+ },
+ "idleDelay": {
+ "description": "The amount of time a VM will idle before it is shutdown if this behavior is enabled.",
+ "type": "string",
+ "format": "duration"
+ }
+ }
+ },
+ "ConnectionProfile": {
+ "description": "Connection profile for how users connect to lab virtual machines.",
+ "type": "object",
+ "properties": {
+ "webSshAccess": {
+ "description": "The enabled access level for Web Access over SSH.",
+ "default": "None",
+ "$ref": "#/definitions/connectionType"
+ },
+ "webRdpAccess": {
+ "description": "The enabled access level for Web Access over RDP.",
+ "default": "None",
+ "$ref": "#/definitions/connectionType"
+ },
+ "clientSshAccess": {
+ "description": "The enabled access level for Client Access over SSH.",
+ "default": "None",
+ "$ref": "#/definitions/connectionType"
+ },
+ "clientRdpAccess": {
+ "description": "The enabled access level for Client Access over RDP.",
+ "default": "None",
+ "$ref": "#/definitions/connectionType"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Labs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Labs.json
new file mode 100644
index 000000000000..1029bfd79632
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Labs.json
@@ -0,0 +1,797 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-15-preview",
+ "title": "LabServicesClient",
+ "description": "REST API for managing Azure Lab Services labs."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/labs": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "in": "query",
+ "name": "$filter",
+ "type": "string",
+ "description": "The filter to apply to the operation."
+ }
+ ],
+ "get": {
+ "tags": [
+ "Lab"
+ ],
+ "summary": "Get all labs for a subscription.",
+ "description": "Returns a list of all labs for a subscription.",
+ "operationId": "Labs_ListBySubscription",
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains all Labs for the given subscription.",
+ "schema": {
+ "$ref": "#/definitions/PagedLabs"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "listLabs": {
+ "$ref": "./examples/Labs/listLabs.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "Lab"
+ ],
+ "summary": "Get all labs for a subscription and resource group.",
+ "description": "Returns a list of all labs in a resource group.",
+ "operationId": "Labs_ListByResourceGroup",
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains all Labs for the given subscription and resource group.",
+ "schema": {
+ "$ref": "#/definitions/PagedLabs"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "listResourceGroupLabs": {
+ "$ref": "./examples/Labs/listResourceGroupLabs.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LabNameParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "Lab"
+ ],
+ "summary": "Get a lab resource.",
+ "description": "Returns the properties of a lab resource.",
+ "operationId": "Labs_Get",
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains the Lab.",
+ "schema": {
+ "$ref": "#/definitions/Lab"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "getLab": {
+ "$ref": "./examples/Labs/getLab.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Lab"
+ ],
+ "summary": "Create or update a lab resource.",
+ "description": "Operation to create or update a lab resource.",
+ "operationId": "Labs_CreateOrUpdate",
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Lab"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The update was successful; response contains the Lab.",
+ "schema": {
+ "$ref": "#/definitions/Lab"
+ }
+ },
+ "201": {
+ "description": "The create was successful; response contains the Lab.",
+ "schema": {
+ "$ref": "#/definitions/Lab"
+ }
+ },
+ "202": {
+ "description": "The update was successful and has a long running operation; response contains the Lab.",
+ "schema": {
+ "$ref": "#/definitions/Lab"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "original-uri"
+ },
+ "x-ms-examples": {
+ "putLab": {
+ "$ref": "./examples/Labs/putLab.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Lab"
+ ],
+ "summary": "Update a lab resource.",
+ "description": "Operation to update a lab resource.",
+ "consumes": [
+ "application/json"
+ ],
+ "operationId": "Labs_Update",
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LabUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource was updated; response contains the Lab.",
+ "schema": {
+ "$ref": "#/definitions/Lab"
+ }
+ },
+ "202": {
+ "description": "The resource was update and has a long running operation; response contains the Lab.",
+ "schema": {
+ "$ref": "#/definitions/Lab"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "patchLab": {
+ "$ref": "./examples/Labs/patchLab.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Lab"
+ ],
+ "summary": "Deletes a lab resource.",
+ "description": "Operation to delete a lab resource.",
+ "operationId": "Labs_Delete",
+ "responses": {
+ "200": {
+ "description": "The request was successful."
+ },
+ "202": {
+ "description": "The request was accepted."
+ },
+ "204": {
+ "description": "The request has been fulfilled."
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "deleteLab": {
+ "$ref": "./examples/Labs/deleteLab.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/publish": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LabNameParameter"
+ }
+ ],
+ "post": {
+ "tags": [
+ "Lab"
+ ],
+ "summary": "Publish or re-publish a lab.",
+ "description": "Publish or re-publish a lab. This will create or update all lab resources, such as virtual machines.",
+ "operationId": "Labs_Publish",
+ "responses": {
+ "200": {
+ "description": "The request was successful."
+ },
+ "202": {
+ "description": "The request was accepted."
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "publishLab": {
+ "$ref": "./examples/Labs/publishLab.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/syncGroup": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LabNameParameter"
+ }
+ ],
+ "post": {
+ "tags": [
+ "Lab"
+ ],
+ "summary": "Manually sync the lab group.",
+ "description": "Action used to manually kick off an AAD group sync job.",
+ "operationId": "Labs_SyncGroup",
+ "responses": {
+ "200": {
+ "description": "The request was successful."
+ },
+ "202": {
+ "description": "The request was accepted."
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "syncLab": {
+ "$ref": "./examples/Labs/syncLab.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Lab": {
+ "description": "The lab resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Metadata pertaining to creation and last modification of the lab.",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Lab resource properties",
+ "$ref": "#/definitions/LabProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "PagedLabs": {
+ "description": "Paged list of labs.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array page of lab results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Lab"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "The link to get the next page of image results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "LabNetworkProfile": {
+ "description": "Profile for how to handle networking for Labs.",
+ "type": "object",
+ "properties": {
+ "subnetId": {
+ "description": "The external subnet resource id",
+ "$ref": "LabServices.json#/definitions/url"
+ },
+ "loadBalancerId": {
+ "description": "The external load balancer resource id",
+ "$ref": "LabServices.json#/definitions/url"
+ },
+ "publicIpId": {
+ "description": "The external public IP resource id",
+ "$ref": "LabServices.json#/definitions/url"
+ }
+ }
+ },
+ "LabUpdate": {
+ "description": "The lab resource for updates.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "LabServices.json#/definitions/TrackedResourceUpdate"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Lab resource properties",
+ "$ref": "#/definitions/LabUpdateProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "LabUpdateProperties": {
+ "description": "Properties of a lab resource used for updates.",
+ "type": "object",
+ "properties": {
+ "autoShutdownProfile": {
+ "description": "The resource auto shutdown configuration for the lab. This controls whether actions are taken on resources that are sitting idle.",
+ "$ref": "LabServices.json#/definitions/AutoShutdownProfile"
+ },
+ "connectionProfile": {
+ "description": "The connection profile for the lab. This controls settings such as web access to lab resources or whether RDP or SSH ports are open.",
+ "$ref": "LabServices.json#/definitions/ConnectionProfile"
+ },
+ "virtualMachineProfile": {
+ "description": "The profile used for creating lab virtual machines.",
+ "$ref": "#/definitions/VirtualMachineProfile"
+ },
+ "securityProfile": {
+ "description": "The lab security profile.",
+ "$ref": "#/definitions/SecurityProfile"
+ },
+ "rosterProfile": {
+ "description": "The lab user list management profile.",
+ "$ref": "#/definitions/RosterProfile"
+ },
+ "labPlanId": {
+ "description": "The ID of the lab plan. Used during resource creation to provide defaults and acts as a permission container when creating a lab via labs.azure.com. Setting a labPlanId on an existing lab provides organization..",
+ "$ref": "LabServices.json#/definitions/url"
+ },
+ "title": {
+ "description": "The title of the lab.",
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 120
+ },
+ "description": {
+ "description": "The description of the lab.",
+ "type": "string"
+ }
+ }
+ },
+ "LabProperties": {
+ "description": "Properties of a lab resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/LabUpdateProperties"
+ }
+ ],
+ "properties": {
+ "provisioningState": {
+ "description": "Current provisioning state of the lab.",
+ "$ref": "LabServices.json#/definitions/provisioningState",
+ "readOnly": true
+ },
+ "networkProfile": {
+ "description": "The network profile for the lab, typically applied via a lab plan. This profile cannot be modified once a lab has been created.",
+ "$ref": "#/definitions/LabNetworkProfile",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "state": {
+ "description": "The lab state.",
+ "$ref": "#/definitions/LabState",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "autoShutdownProfile",
+ "connectionProfile",
+ "securityProfile",
+ "virtualMachineProfile"
+ ]
+ },
+ "SecurityProfile": {
+ "description": "The lab security profile.",
+ "type": "object",
+ "properties": {
+ "registrationCode": {
+ "description": "The registration code for the lab.",
+ "type": "string",
+ "readOnly": true
+ },
+ "openAccess": {
+ "description": "Whether any user or only specified users can register to a lab.",
+ "$ref": "LabServices.json#/definitions/enableState"
+ }
+ }
+ },
+ "RosterProfile": {
+ "description": "The lab user list management profile.",
+ "type": "object",
+ "properties": {
+ "activeDirectoryGroupId": {
+ "description": "The AAD group ID which this lab roster is populated from. Having this set enables AAD sync mode.",
+ "type": "string"
+ },
+ "ltiContextId": {
+ "description": "The unique context identifier for the lab in the lms.",
+ "type": "string"
+ },
+ "lmsInstance": {
+ "description": "The base URI identifying the lms instance.",
+ "type": "string"
+ },
+ "ltiClientId": {
+ "description": "The unique id of the azure lab services tool in the lms.",
+ "type": "string"
+ },
+ "ltiRosterEndpoint": {
+ "description": "The uri of the names and roles service endpoint on the lms for the class attached to this lab.",
+ "type": "string"
+ }
+ }
+ },
+ "VirtualMachineProfile": {
+ "description": "The base virtual machine configuration for a lab.",
+ "type": "object",
+ "properties": {
+ "createOption": {
+ "description": "Indicates what lab virtual machines are created from.",
+ "type": "string",
+ "enum": [
+ "Image",
+ "TemplateVM"
+ ],
+ "x-ms-enum": {
+ "name": "CreateOption",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Image",
+ "description": "An image is used to create all lab user virtual machines. When this option is set, no template VM will be created."
+ },
+ {
+ "value": "TemplateVM",
+ "description": "A template VM will be used to create all lab user virtual machines."
+ }
+ ]
+ },
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "imageReference": {
+ "description": "The image configuration for lab virtual machines.",
+ "$ref": "#/definitions/ImageReference",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "osType": {
+ "description": "The OS type of the image",
+ "$ref": "LabServices.json#/definitions/osType",
+ "readOnly": true
+ },
+ "sku": {
+ "description": "The SKU for the lab. Defines the type of virtual machines used in the lab.",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Sku",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "additionalCapabilities": {
+ "description": "Additional VM capabilities.",
+ "$ref": "#/definitions/VirtualMachineAdditionalCapabilities",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "usageQuota": {
+ "description": "The initial quota alloted to each lab user. Must be a time span between 0 and 9999 hours.",
+ "type": "string",
+ "format": "duration"
+ },
+ "useSharedPassword": {
+ "description": "Enabling this option will use the same password for all user VMs.",
+ "default": "Disabled",
+ "$ref": "LabServices.json#/definitions/enableState",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "adminUser": {
+ "description": "Credentials for the admin user on the VM.",
+ "$ref": "#/definitions/Credentials"
+ },
+ "nonAdminUser": {
+ "description": "Credentials for the non-admin user on the VM, if one exists.",
+ "$ref": "#/definitions/Credentials"
+ }
+ },
+ "required": [
+ "createOption",
+ "imageReference",
+ "usageQuota",
+ "sku",
+ "adminUser"
+ ]
+ },
+ "VirtualMachineAdditionalCapabilities": {
+ "description": "The additional capabilities for a lab VM.",
+ "type": "object",
+ "properties": {
+ "installGpuDrivers": {
+ "description": "Flag to pre-install dedicated GPU drivers.",
+ "default": "Disabled",
+ "$ref": "LabServices.json#/definitions/enableState"
+ }
+ }
+ },
+ "Credentials": {
+ "description": "Credentials for a user on a lab VM.",
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "The username to use when signing in to lab VMs.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "password": {
+ "description": "The password for the user. This is required for the TemplateVM createOption.",
+ "type": "string",
+ "x-ms-secret": true,
+ "x-ms-mutability": [
+ "create"
+ ]
+ }
+ },
+ "required": [
+ "username"
+ ]
+ },
+ "ImageReference": {
+ "description": "Image reference information. Used in the virtual machine profile.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Image resource ID",
+ "$ref": "LabServices.json#/definitions/url"
+ },
+ "offer": {
+ "description": "The image offer if applicable.",
+ "type": "string"
+ },
+ "publisher": {
+ "description": "The image publisher",
+ "type": "string"
+ },
+ "sku": {
+ "description": "The image SKU",
+ "type": "string"
+ },
+ "version": {
+ "description": "The image version specified on creation.",
+ "type": "string"
+ },
+ "exactVersion": {
+ "description": "The actual version of the image after use.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "LabState": {
+ "type": "string",
+ "enum": [
+ "Draft",
+ "Publishing",
+ "Scaling",
+ "Syncing",
+ "Published"
+ ],
+ "description": "The state of a virtual machine.",
+ "x-ms-enum": {
+ "name": "LabState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Draft",
+ "description": "The lab is currently in draft (has not been published)."
+ },
+ {
+ "value": "Publishing",
+ "description": "The lab is publishing."
+ },
+ {
+ "value": "Scaling",
+ "description": "The lab is scaling."
+ },
+ {
+ "value": "Syncing",
+ "description": "The lab is syncing users."
+ },
+ {
+ "value": "Published",
+ "description": "The lab has been published."
+ }
+ ]
+ }
+ }
+ },
+ "parameters": {
+ "LabNameParameter": {
+ "name": "labName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the lab that uniquely identifies it within containing lab account. Used in resource URIs.",
+ "minLength": 1,
+ "maxLength": 100,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/OperationResults.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/OperationResults.json
new file mode 100644
index 000000000000..33679bbf33c2
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/OperationResults.json
@@ -0,0 +1,173 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-15-preview",
+ "title": "LabServicesClient",
+ "description": "Azure Lab Services REST API.",
+ "x-ms-code-generation-settings": {
+ "internalConstructors": true
+ }
+ },
+ "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.LabServices/operationResults/{operationResultId}": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/OperationResultId"
+ }
+ ],
+ "get": {
+ "tags": [
+ "OperationResults"
+ ],
+ "summary": "Get an azure operation result.",
+ "description": "Returns an azure operation result.",
+ "operationId": "OperationResults_Get",
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains the operation result.",
+ "schema": {
+ "$ref": "#/definitions/OperationResult"
+ }
+ },
+ "204": {
+ "description": "The request has been fulfilled."
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "getOperationResult": {
+ "$ref": "./examples/OperationResults/getOperationResult.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationResult": {
+ "description": "A long running operation result",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource"
+ },
+ "status": {
+ "description": "The operation status",
+ "type": "string",
+ "enum": [
+ "NotStarted",
+ "InProgress",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "x-ms-enum": {
+ "name": "OperationStatus",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "NotStarted",
+ "description": "The operation has been accepted but hasn't started."
+ },
+ {
+ "value": "InProgress",
+ "description": "The operation is running"
+ },
+ {
+ "value": "Succeeded",
+ "description": "The operation Succeeded"
+ },
+ {
+ "value": "Failed",
+ "description": "The operation failed"
+ },
+ {
+ "value": "Canceled",
+ "description": "Not supported yet"
+ }
+ ]
+ }
+ },
+ "startTime": {
+ "description": "Start time",
+ "type": "string",
+ "format": "date-time"
+ },
+ "endTime": {
+ "description": "End time",
+ "type": "string",
+ "format": "date-time"
+ },
+ "percentComplete": {
+ "description": "Percent completion",
+ "type": "number"
+ },
+ "error": {
+ "description": "The error for a failure if the operation failed.",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorDetail"
+ }
+ },
+ "required": [
+ "status"
+ ]
+ }
+ },
+ "parameters": {
+ "OperationResultId": {
+ "name": "operationResultId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The operation result ID / name.",
+ "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$",
+ "minLength": 1,
+ "maxLength": 100,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Schedules.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Schedules.json
new file mode 100644
index 000000000000..0b7d82521ee5
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Schedules.json
@@ -0,0 +1,470 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-15-preview",
+ "title": "LabServicesClient",
+ "description": "REST API for managing Azure Lab Services schedules."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/schedules": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "Labs.json#/parameters/LabNameParameter"
+ },
+ {
+ "in": "query",
+ "name": "$filter",
+ "type": "string",
+ "description": "The filter to apply to the operation."
+ }
+ ],
+ "get": {
+ "tags": [
+ "Schedule"
+ ],
+ "summary": "Get all schedules for a lab.",
+ "description": "Returns a list of all schedules for a lab.",
+ "operationId": "Schedules_ListByLab",
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains all schedules for the given lab.",
+ "schema": {
+ "$ref": "#/definitions/PagedSchedules"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "getListSchedule": {
+ "$ref": "./examples/Schedules/listSchedule.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/schedules/{scheduleName}": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "Labs.json#/parameters/LabNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ScheduleNameParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "Schedule"
+ ],
+ "summary": "Get a lab Schedule.",
+ "description": "Returns the properties of a lab Schedule.",
+ "operationId": "Schedules_Get",
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains the lab schedule.",
+ "schema": {
+ "$ref": "#/definitions/Schedule"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "getSchedule": {
+ "$ref": "./examples/Schedules/getSchedule.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Schedule"
+ ],
+ "summary": "Create or update a lab schedule.",
+ "description": "Operation to create or update a lab schedule.",
+ "operationId": "Schedules_CreateOrUpdate",
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Schedule"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The schedule was updated; response contains the lab schedule.",
+ "schema": {
+ "$ref": "#/definitions/Schedule"
+ }
+ },
+ "201": {
+ "description": "The schedule was created; response contains the lab schedule.",
+ "schema": {
+ "$ref": "#/definitions/Schedule"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "putSchedule": {
+ "$ref": "./examples/Schedules/putSchedule.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Schedule"
+ ],
+ "summary": "Update a lab schedule.",
+ "description": "Operation to update a lab schedule.",
+ "consumes": [
+ "application/json"
+ ],
+ "operationId": "Schedules_Update",
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ScheduleUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The schedule was updated; response contains the lab schedule.",
+ "schema": {
+ "$ref": "#/definitions/Schedule"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "patchSchedule": {
+ "$ref": "./examples/Schedules/patchSchedule.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Schedule"
+ ],
+ "summary": "Deletes a schedule resource.",
+ "description": "Operation to delete a schedule resource.",
+ "operationId": "Schedules_Delete",
+ "responses": {
+ "200": {
+ "description": "The request was successful."
+ },
+ "202": {
+ "description": "The request was accepted."
+ },
+ "204": {
+ "description": "The request has been fulfilled."
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "deleteSchedule": {
+ "$ref": "./examples/Schedules/deleteSchedule.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Schedule": {
+ "description": "Schedule for automatically turning virtual machines in a lab on and off at specified times.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Metadata pertaining to creation and last modification of the schedule.",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Schedule resource properties",
+ "$ref": "#/definitions/ScheduleProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "PagedSchedules": {
+ "description": "Paged list of schedules.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array page of schedule results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Schedule"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "The link to get the next page of schedule results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ScheduleUpdate": {
+ "description": "Schedule for automatically turning virtual machines in a lab on and off at specified times. Used for updates.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Schedule resource properties",
+ "$ref": "#/definitions/ScheduleUpdateProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ScheduleUpdateProperties": {
+ "description": "Schedule resource properties used for updates.",
+ "type": "object",
+ "properties": {
+ "startAt": {
+ "description": "When lab user virtual machines will be started. Timestamp offsets will be ignored and timeZoneId is used instead.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "stopAt": {
+ "description": "When lab user virtual machines will be stopped. Timestamp offsets will be ignored and timeZoneId is used instead.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "recurrencePattern": {
+ "description": "The recurrence pattern of the scheduled actions.",
+ "$ref": "#/definitions/RecurrencePattern"
+ },
+ "timeZoneId": {
+ "description": "The IANA timezone id for the schedule.",
+ "type": "string",
+ "maxLength": 50
+ },
+ "notes": {
+ "description": "Notes for this schedule.",
+ "type": "string",
+ "maxLength": 1000
+ }
+ }
+ },
+ "ScheduleProperties": {
+ "description": "Schedule resource properties",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ScheduleUpdateProperties"
+ }
+ ],
+ "properties": {
+ "provisioningState": {
+ "description": "Current provisioning state of the schedule.",
+ "$ref": "LabServices.json#/definitions/provisioningState",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "stopAt",
+ "timeZoneId"
+ ]
+ },
+ "RecurrencePattern": {
+ "description": "Recurrence pattern of a lab schedule.",
+ "type": "object",
+ "properties": {
+ "frequency": {
+ "description": "The frequency of the recurrence.",
+ "$ref": "#/definitions/RecurrenceFrequency"
+ },
+ "weekDays": {
+ "description": "The week days the schedule runs. Used for when the Frequency is set to Weekly.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WeekDay",
+ "maxItems": 7
+ }
+ },
+ "interval": {
+ "description": "The interval to invoke the schedule on. For example, interval = 2 and RecurrenceFrequency.Daily will run every 2 days. When no interval is supplied, an interval of 1 is used.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 365
+ },
+ "expirationDate": {
+ "description": "When the recurrence will expire. This date is inclusive.",
+ "type": "string",
+ "format": "date"
+ }
+ },
+ "required": [
+ "frequency",
+ "expirationDate"
+ ]
+ },
+ "WeekDay": {
+ "type": "string",
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "description": "Days of the week.",
+ "x-ms-enum": {
+ "name": "WeekDay",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Sunday",
+ "description": "Schedule will run on Sunday"
+ },
+ {
+ "value": "Monday",
+ "description": "Schedule will run on Monday"
+ },
+ {
+ "value": "Tuesday",
+ "description": "Schedule will run on Tuesday"
+ },
+ {
+ "value": "Wednesday",
+ "description": "Schedule will run on Wednesday"
+ },
+ {
+ "value": "Thursday",
+ "description": "Schedule will run on Thursday"
+ },
+ {
+ "value": "Friday",
+ "description": "Schedule will run on Friday"
+ },
+ {
+ "value": "Saturday",
+ "description": "Schedule will run on Saturday"
+ }
+ ]
+ }
+ },
+ "RecurrenceFrequency": {
+ "type": "string",
+ "enum": [
+ "Daily",
+ "Weekly"
+ ],
+ "description": "Schedule recurrence frequencies.",
+ "x-ms-enum": {
+ "name": "RecurrenceFrequency",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Daily",
+ "description": "Schedule will run every days."
+ },
+ {
+ "value": "Weekly",
+ "description": "Schedule will run every week on days specified in weekDays."
+ }
+ ]
+ }
+ }
+ },
+ "parameters": {
+ "ScheduleNameParameter": {
+ "name": "scheduleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the schedule that uniquely identifies it within containing lab. Used in resource URIs.",
+ "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$",
+ "minLength": 1,
+ "maxLength": 100,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Skus.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Skus.json
new file mode 100644
index 000000000000..6d575db2fa33
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Skus.json
@@ -0,0 +1,300 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-15-preview",
+ "title": "LabServicesClient",
+ "description": "REST API for managing Azure Lab Services resource SKUs."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/skus": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "in": "query",
+ "name": "$filter",
+ "type": "string",
+ "description": "The filter to apply to the operation."
+ }
+ ],
+ "get": {
+ "tags": [
+ "Skus"
+ ],
+ "summary": "Gets all the Azure Lab Services resource SKUs.",
+ "description": "Returns a list of all the Azure Lab Services resource SKUs.",
+ "operationId": "Skus_List",
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains all Azure Lab Services virtual machine sizes.",
+ "schema": {
+ "$ref": "#/definitions/PagedLabServicesSkus"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "listSkus": {
+ "$ref": "./examples/Skus/listSkus.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "LabServicesSku": {
+ "description": "Azure Lab Services resource SKUs",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The lab services 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",
+ "enum": [
+ "Standard",
+ "Premium"
+ ],
+ "x-ms-enum": {
+ "name": "LabServicesSkuTier",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "size": {
+ "description": "The SKU size.",
+ "type": "string",
+ "readOnly": true
+ },
+ "family": {
+ "description": "The family of the SKU.",
+ "type": "string",
+ "readOnly": true
+ },
+ "capacity": {
+ "$ref": "#/definitions/LabServicesSkuCapacity"
+ },
+ "capabilities": {
+ "description": "The capabilities of the SKU.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LabServicesSkuCapabilities"
+ },
+ "readOnly": true
+ },
+ "locations": {
+ "description": "List of locations that are available for a size.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "costs": {
+ "description": "Metadata for retrieving price info of a lab services SKUs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LabServicesSkuCost"
+ },
+ "readOnly": true
+ },
+ "restrictions": {
+ "description": "Restrictions of a lab services SKUs.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LabServicesSkuRestrictions"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "PagedLabServicesSkus": {
+ "description": "Paged list of lab services skus.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array page of sku results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LabServicesSku"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "The link to get the next page of sku results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "LabServicesSkuCapabilities": {
+ "description": "The array of capabilities of a lab services SKU.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the capability for a SKU.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "The value of the capability for a SKU.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "LabServicesSkuCapacity": {
+ "description": "The scale out/in options of the SKU.",
+ "type": "object",
+ "properties": {
+ "default": {
+ "description": "The default capacity for this resource.",
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true
+ },
+ "minimum": {
+ "description": "The lowest permitted capacity for this resource.",
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true
+ },
+ "maximum": {
+ "description": "The highest permitted capacity for this resource.",
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true
+ },
+ "scaleType": {
+ "description": "The localized name of the resource.",
+ "type": "string",
+ "enum": [
+ "None",
+ "Manual",
+ "Automatic"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "The capacity is not adjustable in any way."
+ },
+ {
+ "value": "Manual",
+ "description": "The user must manually scale this SKU in and out."
+ },
+ {
+ "value": "Automatic",
+ "description": "The user is permitted to scale this SKU in and out."
+ }
+ ]
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "LabServicesSkuCost": {
+ "description": "The array of costs of a lab services SKU.",
+ "type": "object",
+ "properties": {
+ "meterId": {
+ "description": "The meter id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "quantity": {
+ "description": "The quantity of units charged.",
+ "type": "number",
+ "readOnly": true
+ },
+ "extendedUnit": {
+ "description": "The extended unit.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "LabServicesSkuRestrictions": {
+ "description": "The restriction details.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of restriction.",
+ "type": "string",
+ "enum": [
+ "Location"
+ ],
+ "x-ms-enum": {
+ "name": "RestrictionType",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "values": {
+ "description": "The values of the restriction.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "reasonCode": {
+ "description": "The reason for the restriction.",
+ "type": "string",
+ "enum": [
+ "QuotaId",
+ "NotAvailableForSubscription"
+ ],
+ "x-ms-enum": {
+ "name": "RestrictionReasonCode",
+ "modelAsString": true
+ },
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Usages.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Usages.json
new file mode 100644
index 000000000000..4b1e0bd6b370
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Usages.json
@@ -0,0 +1,163 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-15-preview",
+ "title": "LabServicesClient",
+ "description": "REST API for managing Azure Lab Services core usages."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.LabServices/locations/{location}/usages": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationRouteParameter"
+ },
+ {
+ "in": "query",
+ "name": "$filter",
+ "type": "string",
+ "description": "The filter to apply to the operation."
+ }
+ ],
+ "get": {
+ "tags": [
+ "Usages"
+ ],
+ "summary": "Gets the list of usages.",
+ "description": "Returns list of usage per SKU family for the specified subscription in the specified region.",
+ "operationId": "Usages_ListByLocation",
+ "responses": {
+ "200": {
+ "description": "The request was successful; a list of usages is returned",
+ "schema": {
+ "$ref": "#/definitions/ListUsagesResult"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "listUsages": {
+ "$ref": "./examples/Usages/getUsages.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ListUsagesResult": {
+ "description": "List of Core Usages.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array page of Usages.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Usage"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "The link to get the next page of Usage result.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Usage": {
+ "description": "The core usage details.",
+ "type": "object",
+ "properties": {
+ "currentValue": {
+ "description": "The current usage.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "limit": {
+ "description": "The limit integer.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "unit": {
+ "description": "The unit details.",
+ "type": "string",
+ "enum": [
+ "Count"
+ ],
+ "x-ms-enum": {
+ "name": "UsageUnit",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "The name.",
+ "$ref": "#/definitions/UsageName"
+ },
+ "id": {
+ "description": "The fully qualified arm resource id.",
+ "type": "string"
+ }
+ }
+ },
+ "UsageName": {
+ "description": "The Usage Names.",
+ "type": "object",
+ "properties": {
+ "localizedValue": {
+ "description": "The localized name of the resource.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The name of the resource.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "LocationRouteParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location name.",
+ "pattern": "^[-\\w\\._]+$",
+ "minLength": 1,
+ "maxLength": 100,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Users.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Users.json
new file mode 100644
index 000000000000..72e644d64dca
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/Users.json
@@ -0,0 +1,527 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-15-preview",
+ "title": "LabServicesClient",
+ "description": "REST API for managing Azure Lab Services users."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/users": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "Labs.json#/parameters/LabNameParameter"
+ },
+ {
+ "in": "query",
+ "name": "$filter",
+ "type": "string",
+ "description": "The filter to apply to the operation."
+ }
+ ],
+ "get": {
+ "tags": [
+ "User"
+ ],
+ "summary": "Get all users for a lab.",
+ "description": "Returns a list of all users for a lab.",
+ "operationId": "Users_ListByLab",
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains all users for the given lab.",
+ "schema": {
+ "$ref": "#/definitions/PagedUsers"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "listUser": {
+ "$ref": "./examples/Users/listUser.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/users/{userName}": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "Labs.json#/parameters/LabNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UserNameParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "User"
+ ],
+ "summary": "Get a lab user.",
+ "description": "Returns the properties of a lab user.",
+ "operationId": "Users_Get",
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains the lab user.",
+ "schema": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "getUser": {
+ "$ref": "./examples/Users/getUser.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "User"
+ ],
+ "summary": "Create or update a lab user.",
+ "description": "Operation to create or update a lab user.",
+ "operationId": "Users_CreateOrUpdate",
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/User"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The user was updated successfully; response contains the lab user.",
+ "schema": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ "201": {
+ "description": "The user was created successfully; response contains the lab user.",
+ "schema": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ "202": {
+ "description": "The user was updated successfully and has a long running operation; response contains the lab user.",
+ "schema": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "original-uri"
+ },
+ "x-ms-examples": {
+ "putUser": {
+ "$ref": "./examples/Users/putUser.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "User"
+ ],
+ "summary": "Update a lab user.",
+ "description": "Operation to update a lab user.",
+ "consumes": [
+ "application/json"
+ ],
+ "operationId": "Users_Update",
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UserUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The user was updated successfully; response contains the lab user.",
+ "schema": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ "202": {
+ "description": "The user was updated successfully and has a long running operation; response contains the lab user.",
+ "schema": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "patchUser": {
+ "$ref": "./examples/Users/patchUser.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "User"
+ ],
+ "summary": "Deletes a user resource.",
+ "description": "Operation to delete a user resource.",
+ "operationId": "Users_Delete",
+ "responses": {
+ "200": {
+ "description": "The request was completed."
+ },
+ "202": {
+ "description": "The request was accepted."
+ },
+ "204": {
+ "description": "The request has been fulfilled."
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "deleteUser": {
+ "$ref": "./examples/Users/deleteUser.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/users/{userName}/invite": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "Labs.json#/parameters/LabNameParameter"
+ },
+ {
+ "$ref": "#/parameters/UserNameParameter"
+ }
+ ],
+ "post": {
+ "tags": [
+ "User"
+ ],
+ "summary": "Invite a user to a lab.",
+ "description": "Operation to invite a user to a lab.",
+ "operationId": "Users_Invite",
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/InviteBody"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful."
+ },
+ "202": {
+ "description": "The request was accepted."
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "inviteUser": {
+ "$ref": "./examples/Users/inviteUser.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "User": {
+ "description": "User of a lab that can register for and use virtual machines within the lab.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "systemData": {
+ "description": "Metadata pertaining to creation and last modification of the user resource.",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "User resource properties",
+ "$ref": "#/definitions/UserProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "PagedUsers": {
+ "description": "Paged list of users.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array page of user results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/User"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "The link to get the next page of image results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UserUpdate": {
+ "description": "User of a lab that can register for and use virtual machines within the lab. Used for updates.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "User resource properties",
+ "$ref": "#/definitions/UserUpdateProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UserUpdateProperties": {
+ "description": "User resource properties used for updates.",
+ "type": "object",
+ "properties": {
+ "additionalUsageQuota": {
+ "description": "The amount of usage quota time the user gets in addition to the lab usage quota.",
+ "type": "string",
+ "format": "duration"
+ }
+ }
+ },
+ "UserProperties": {
+ "description": "User resource properties",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserUpdateProperties"
+ }
+ ],
+ "properties": {
+ "provisioningState": {
+ "description": "Current provisioning state of the user resource.",
+ "$ref": "LabServices.json#/definitions/provisioningState",
+ "readOnly": true
+ },
+ "displayName": {
+ "description": "Display name of the user, for example user's full name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "email": {
+ "description": "Email address of the user.",
+ "$ref": "LabServices.json#/definitions/emailAddress",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "registrationState": {
+ "description": "State of the user's registration within the lab.",
+ "$ref": "#/definitions/RegistrationState",
+ "readOnly": true
+ },
+ "invitationState": {
+ "description": "State of the invitation message for the user.",
+ "$ref": "#/definitions/InvitationState",
+ "readOnly": true
+ },
+ "invitationSent": {
+ "description": "Date and time when the invitation message was sent to the user.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "totalUsage": {
+ "description": "How long the user has used their virtual machines in this lab.",
+ "type": "string",
+ "format": "duration",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "email"
+ ]
+ },
+ "RegistrationState": {
+ "type": "string",
+ "enum": [
+ "NotRegistered",
+ "Registered"
+ ],
+ "description": "The user lab registration state.",
+ "x-ms-enum": {
+ "name": "RegistrationState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Registered",
+ "description": "User has not yet registered with the lab."
+ },
+ {
+ "value": "NotRegistered",
+ "description": "User has registered with the lab."
+ }
+ ]
+ }
+ },
+ "InvitationState": {
+ "type": "string",
+ "enum": [
+ "NotSent",
+ "Sending",
+ "Sent",
+ "Failed"
+ ],
+ "description": "The lab user invitation state.",
+ "x-ms-enum": {
+ "name": "InvitationState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "NotSent",
+ "description": "The invitation has not been sent."
+ },
+ {
+ "value": "Sending",
+ "description": "Currently sending the invitation."
+ },
+ {
+ "value": "Sent",
+ "description": "The invitation has been successfully sent."
+ },
+ {
+ "value": "Failed",
+ "description": "There was an error while sending the invitation."
+ }
+ ]
+ }
+ },
+ "InviteBody": {
+ "description": "Body for a user invite request",
+ "type": "object",
+ "properties": {
+ "text": {
+ "description": "Custom text for the invite email.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "UserNameParameter": {
+ "name": "userName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the user that uniquely identifies it within containing lab. Used in resource URIs.",
+ "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$",
+ "minLength": 1,
+ "maxLength": 100,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/VirtualMachines.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/VirtualMachines.json
new file mode 100644
index 000000000000..48e447c079ce
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/VirtualMachines.json
@@ -0,0 +1,615 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2021-11-15-preview",
+ "title": "LabServicesClient",
+ "description": "REST API for managing Azure Lab Services virtual machines."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "Labs.json#/parameters/LabNameParameter"
+ },
+ {
+ "in": "query",
+ "name": "$filter",
+ "type": "string",
+ "description": "The filter to apply to the operation."
+ }
+ ],
+ "get": {
+ "tags": [
+ "VirtualMachine"
+ ],
+ "summary": "Get all virtual machines for a lab.",
+ "description": "Returns a list of all virtual machines for a lab.",
+ "operationId": "VirtualMachines_ListByLab",
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains all virtual machines for the given lab.",
+ "schema": {
+ "$ref": "#/definitions/PagedVirtualMachines"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "listVirtualMachine": {
+ "$ref": "./examples/VirtualMachines/listVirtualMachine.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "Labs.json#/parameters/LabNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VirtualMachineNameParameter"
+ }
+ ],
+ "get": {
+ "tags": [
+ "VirtualMachine"
+ ],
+ "summary": "Get a lab virtual machine.",
+ "description": "Returns the properties for a lab virtual machine.",
+ "operationId": "VirtualMachines_Get",
+ "responses": {
+ "200": {
+ "description": "The request was successful; response contains the lab virtual machine.",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "getVirtualMachine": {
+ "$ref": "./examples/VirtualMachines/getVirtualMachine.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/start": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "Labs.json#/parameters/LabNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VirtualMachineNameParameter"
+ }
+ ],
+ "post": {
+ "tags": [
+ "VirtualMachine"
+ ],
+ "summary": "Start a lab virtual machine.",
+ "description": "Action to start a lab virtual machine.",
+ "operationId": "VirtualMachines_Start",
+ "responses": {
+ "200": {
+ "description": "The request was completed."
+ },
+ "202": {
+ "description": "The request was accepted."
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "startVirtualMachine": {
+ "$ref": "./examples/VirtualMachines/startVirtualMachine.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/stop": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "Labs.json#/parameters/LabNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VirtualMachineNameParameter"
+ }
+ ],
+ "post": {
+ "tags": [
+ "VirtualMachine"
+ ],
+ "summary": "Stop a lab virtual machine.",
+ "description": "Action to stop a lab virtual machine.",
+ "operationId": "VirtualMachines_Stop",
+ "responses": {
+ "200": {
+ "description": "The request was completed."
+ },
+ "202": {
+ "description": "The request was accepted."
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "stopVirtualMachine": {
+ "$ref": "./examples/VirtualMachines/stopVirtualMachine.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/reimage": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "Labs.json#/parameters/LabNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VirtualMachineNameParameter"
+ }
+ ],
+ "post": {
+ "tags": [
+ "VirtualMachine"
+ ],
+ "summary": "Re-image a lab virtual machine.",
+ "description": "Re-image a lab virtual machine. The virtual machine will be deleted and recreated using the latest published snapshot of the reference environment of the lab.",
+ "operationId": "VirtualMachines_Reimage",
+ "responses": {
+ "200": {
+ "description": "The request was completed."
+ },
+ "202": {
+ "description": "The request was accepted."
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "reimageVirtualMachine": {
+ "$ref": "./examples/VirtualMachines/reimageVirtualMachine.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/redeploy": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "Labs.json#/parameters/LabNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VirtualMachineNameParameter"
+ }
+ ],
+ "post": {
+ "tags": [
+ "VirtualMachine"
+ ],
+ "summary": "Redeploy a lab virtual machine to a different compute node. For troubleshooting connectivity.",
+ "description": "Action to redeploy a lab virtual machine to a different compute node. For troubleshooting connectivity.",
+ "operationId": "VirtualMachines_Redeploy",
+ "responses": {
+ "200": {
+ "description": "The request was completed."
+ },
+ "202": {
+ "description": "The request was accepted."
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "redeployVirtualMachine": {
+ "$ref": "./examples/VirtualMachines/redeployVirtualMachine.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labs/{labName}/virtualMachines/{virtualMachineName}/resetPassword": {
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "Labs.json#/parameters/LabNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VirtualMachineNameParameter"
+ }
+ ],
+ "post": {
+ "tags": [
+ "VirtualMachine"
+ ],
+ "summary": "Reset a lab virtual machine password.",
+ "description": "Resets a lab virtual machine password.",
+ "operationId": "VirtualMachines_ResetPassword",
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "description": "The request body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ResetPasswordBody"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was completed."
+ },
+ "202": {
+ "description": "The request was accepted."
+ },
+ "default": {
+ "description": "The default error response.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ },
+ "x-ms-examples": {
+ "resetPasswordVirtualMachine": {
+ "$ref": "./examples/VirtualMachines/resetPasswordVirtualMachine.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "VirtualMachine": {
+ "description": "A lab virtual machine 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",
+ "description": "System data of the Lab virtual machine.",
+ "readOnly": true
+ },
+ "properties": {
+ "description": "Virtual machine resource properties",
+ "$ref": "#/definitions/VirtualMachineProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "PagedVirtualMachines": {
+ "description": "Paged list of lab services virtual machines.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array page of virtual machine results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachine"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "The link to get the next page of virtual machine results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "VirtualMachineProperties": {
+ "description": "Virtual machine resource properties",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "Current provisioning state of the virtual machine.",
+ "$ref": "LabServices.json#/definitions/provisioningState",
+ "readOnly": true
+ },
+ "state": {
+ "description": "The current state of the virtual machine",
+ "$ref": "#/definitions/VirtualMachineState",
+ "readOnly": true
+ },
+ "connectionProfile": {
+ "description": "Profile for information about connecting to the virtual machine.",
+ "$ref": "#/definitions/VirtualMachineConnectionProfile",
+ "readOnly": true
+ },
+ "claimedByUserId": {
+ "description": "The lab user ID (not the PUID!) of who claimed the virtual machine.",
+ "type": "string",
+ "readOnly": true
+ },
+ "vmType": {
+ "description": "The type of this VM resource",
+ "$ref": "#/definitions/VirtualMachineType",
+ "readOnly": true
+ }
+ }
+ },
+ "ResetPasswordBody": {
+ "description": "Body of a reset password request.",
+ "type": "object",
+ "properties": {
+ "username": {
+ "description": "The user whose password is being reset",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "password": {
+ "description": "The password",
+ "type": "string",
+ "x-ms-secret": true,
+ "x-ms-mutability": [
+ "create"
+ ]
+ }
+ },
+ "required": [
+ "username",
+ "password"
+ ]
+ },
+ "VirtualMachineState": {
+ "type": "string",
+ "enum": [
+ "Stopped",
+ "Starting",
+ "Running",
+ "Stopping",
+ "ResettingPassword",
+ "Reimaging",
+ "Redeploying"
+ ],
+ "description": "The state of a virtual machine.",
+ "x-ms-enum": {
+ "name": "VirtualMachineState",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Stopped",
+ "description": "The VM is currently stopped."
+ },
+ {
+ "value": "Starting",
+ "description": "The VM is starting."
+ },
+ {
+ "value": "Running",
+ "description": "The VM is running."
+ },
+ {
+ "value": "Stopping",
+ "description": "The VM is stopping."
+ },
+ {
+ "value": "ResettingPassword",
+ "description": "The VM password is being reset."
+ },
+ {
+ "value": "Reimaging",
+ "description": "The VM is being reimaged."
+ },
+ {
+ "value": "Redeploying",
+ "description": "The VM is being redeployed."
+ }
+ ]
+ }
+ },
+ "VirtualMachineConnectionProfile": {
+ "description": "The connection information for the virtual machine",
+ "type": "object",
+ "properties": {
+ "privateIpAddress": {
+ "description": "The private IP address of the virtual machine.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sshAuthority": {
+ "description": "Port and host name separated by semicolon for connecting via SSH protocol to the virtual machine.",
+ "type": "string",
+ "readOnly": true
+ },
+ "sshInBrowserUrl": {
+ "description": "URL for connecting via SSH protocol to the virtual machine in browser.",
+ "$ref": "LabServices.json#/definitions/url",
+ "readOnly": true
+ },
+ "rdpAuthority": {
+ "description": "Port and host name separated by semicolon for connecting via RDP protocol to the virtual machine.",
+ "type": "string",
+ "readOnly": true
+ },
+ "rdpInBrowserUrl": {
+ "description": "URL for connecting via RDP protocol to the virtual machine in browser.",
+ "$ref": "LabServices.json#/definitions/url",
+ "readOnly": true
+ },
+ "adminUsername": {
+ "description": "The username used to log on to the virtual machine as admin.",
+ "type": "string",
+ "readOnly": true
+ },
+ "nonAdminUsername": {
+ "description": "The username used to log on to the virtual machine as non-admin, if one exists.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "VirtualMachineType": {
+ "type": "string",
+ "enum": [
+ "User",
+ "Template"
+ ],
+ "description": "The type of the lab virtual machine.",
+ "x-ms-enum": {
+ "name": "VirtualMachineType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "User",
+ "description": "A user VM"
+ },
+ {
+ "value": "Template",
+ "description": "A template VM"
+ }
+ ]
+ }
+ }
+ },
+ "parameters": {
+ "VirtualMachineNameParameter": {
+ "name": "virtualMachineName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the virtual machine that uniquely identifies it within the containing lab. Used in resource URIs.",
+ "pattern": "^[-\\w\\\\._\\\\(\\\\)]+$",
+ "minLength": 1,
+ "maxLength": 100,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/getImage.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/getImage.json
new file mode 100644
index 000000000000..9132849aff54
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/getImage.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labPlanName": "testlabplan",
+ "imageName": "image1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image1",
+ "name": "image1",
+ "type": "Microsoft.LabServices/Image",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "displayName": "Windows Server 2019 Datacenter",
+ "description": "A description of the image",
+ "osType": "Windows",
+ "offer": "WindowsServer",
+ "publisher": "Microsoft",
+ "sku": "2019-Datacenter",
+ "version": "2019.0.20190410",
+ "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/Providers/Microsoft.Compute/Locations/westus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/2019-Datacenter/Versions/2019.0.20190410",
+ "enabledState": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/listImages.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/listImages.json
new file mode 100644
index 000000000000..0211296f50ba
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/listImages.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labPlanName": "testlabplan"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": null,
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image1",
+ "name": "image1",
+ "type": "Microsoft.LabServices/Image",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "displayName": "Windows Server 2019 Datacenter",
+ "description": "A description of the image",
+ "osType": "Windows",
+ "offer": "WindowsServer",
+ "publisher": "Microsoft",
+ "sku": "2019-Datacenter",
+ "version": "2019.0.20190410",
+ "sharedGalleryId": null,
+ "enabledState": "Enabled"
+ }
+ },
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image2",
+ "name": "image2",
+ "type": "Microsoft.LabServices/Image",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "displayName": "A custom image",
+ "description": "An example custom image response",
+ "osType": "Windows",
+ "offer": null,
+ "publisher": null,
+ "sku": null,
+ "version": null,
+ "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/sig/images/test-1",
+ "enabledState": "Enabled"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/patchImage.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/patchImage.json
new file mode 100644
index 000000000000..3b4933c70f60
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/patchImage.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labPlanName": "testlabplan",
+ "imageName": "image1",
+ "body": {
+ "properties": {
+ "enabledState": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image1",
+ "name": "image1",
+ "type": "Microsoft.LabServices/Image",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "displayName": "Windows Server 2019 Datacenter",
+ "description": "A description of the image",
+ "osType": "Windows",
+ "offer": "WindowsServer",
+ "publisher": "Microsoft",
+ "sku": "2019-Datacenter",
+ "version": "2019.0.20190410",
+ "enabledState": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/putImage.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/putImage.json
new file mode 100644
index 000000000000..3b4933c70f60
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Images/putImage.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labPlanName": "testlabplan",
+ "imageName": "image1",
+ "body": {
+ "properties": {
+ "enabledState": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan/images/image1",
+ "name": "image1",
+ "type": "Microsoft.LabServices/Image",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "displayName": "Windows Server 2019 Datacenter",
+ "description": "A description of the image",
+ "osType": "Windows",
+ "offer": "WindowsServer",
+ "publisher": "Microsoft",
+ "sku": "2019-Datacenter",
+ "version": "2019.0.20190410",
+ "enabledState": "Enabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/deleteLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/deleteLabPlan.json
new file mode 100644
index 000000000000..614cde0fbd07
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/deleteLabPlan.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labPlanName": "testlabplan"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/getLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/getLabPlan.json
new file mode 100644
index 000000000000..df5e4b12dc75
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/getLabPlan.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labPlanName": "testlabplan"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan",
+ "name": "testlabplan",
+ "type": "Microsoft.LabServices/LabPlan",
+ "location": "westus",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultConnectionProfile": {
+ "webSshAccess": "None",
+ "webRdpAccess": "None",
+ "clientSshAccess": "Public",
+ "clientRdpAccess": "Public"
+ },
+ "defaultAutoShutdownProfile": {
+ "shutdownOnDisconnect": "Enabled",
+ "shutdownWhenNotConnected": "Enabled",
+ "shutdownOnIdle": "UserAbsence",
+ "disconnectDelay": "00:05",
+ "noConnectDelay": "01:00",
+ "idleDelay": "01:00"
+ },
+ "defaultNetworkProfile": {
+ "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
+ },
+ "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig",
+ "supportInfo": {
+ "url": "help.contoso.com",
+ "email": "help@contoso.com",
+ "phone": "+1-202-555-0123",
+ "instructions": "Contact support for help."
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/listLabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/listLabPlans.json
new file mode 100644
index 000000000000..85d7d2af0326
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/listLabPlans.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": null,
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan",
+ "name": "testlabplan",
+ "type": "Microsoft.LabServices/LabPlan",
+ "location": "westus",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultConnectionProfile": {
+ "webSshAccess": "None",
+ "webRdpAccess": "None",
+ "clientSshAccess": "Public",
+ "clientRdpAccess": "Public"
+ },
+ "defaultAutoShutdownProfile": {
+ "shutdownOnDisconnect": "Enabled",
+ "shutdownWhenNotConnected": "Enabled",
+ "shutdownOnIdle": "UserAbsence",
+ "disconnectDelay": "00:05",
+ "noConnectDelay": "01:00",
+ "idleDelay": "01:00"
+ },
+ "defaultNetworkProfile": {
+ "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
+ },
+ "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig",
+ "supportInfo": {
+ "url": "help.contoso.com",
+ "email": "help@contoso.com",
+ "phone": "+1-202-555-0123",
+ "instructions": "Contact support for help."
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/listResourceGroupLabPlans.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/listResourceGroupLabPlans.json
new file mode 100644
index 000000000000..5b91c91c40ce
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/listResourceGroupLabPlans.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": null,
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan",
+ "name": "testlabplan",
+ "type": "Microsoft.LabServices/LabPlan",
+ "location": "westus",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultConnectionProfile": {
+ "webSshAccess": "None",
+ "webRdpAccess": "None",
+ "clientSshAccess": "Public",
+ "clientRdpAccess": "Public"
+ },
+ "defaultAutoShutdownProfile": {
+ "shutdownOnDisconnect": "Enabled",
+ "shutdownWhenNotConnected": "Enabled",
+ "shutdownOnIdle": "UserAbsence",
+ "disconnectDelay": "00:05",
+ "noConnectDelay": "01:00",
+ "idleDelay": "01:00"
+ },
+ "defaultNetworkProfile": {
+ "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
+ },
+ "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig",
+ "supportInfo": {
+ "url": "help.contoso.com",
+ "email": "help@contoso.com",
+ "phone": "+1-202-555-0123",
+ "instructions": "Contact support for help."
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/patchLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/patchLabPlan.json
new file mode 100644
index 000000000000..12590bf03f14
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/patchLabPlan.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labPlanName": "testlabplan",
+ "body": {
+ "properties": {
+ "defaultConnectionProfile": {
+ "webSshAccess": "None",
+ "webRdpAccess": "None",
+ "clientSshAccess": "Public",
+ "clientRdpAccess": "Public"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan",
+ "name": "testlabplan",
+ "type": "Microsoft.LabServices/LabPlan",
+ "location": "westus",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultConnectionProfile": {
+ "webSshAccess": "None",
+ "webRdpAccess": "None",
+ "clientSshAccess": "Public",
+ "clientRdpAccess": "Public"
+ },
+ "defaultAutoShutdownProfile": {
+ "shutdownOnDisconnect": "Enabled",
+ "shutdownWhenNotConnected": "Enabled",
+ "shutdownOnIdle": "UserAbsence",
+ "disconnectDelay": "00:05",
+ "noConnectDelay": "01:00",
+ "idleDelay": "01:00"
+ },
+ "defaultNetworkProfile": {
+ "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
+ },
+ "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig",
+ "supportInfo": {
+ "url": "help.contoso.com",
+ "email": "help@contoso.com",
+ "phone": "+1-202-555-0123",
+ "instructions": "Contact support for help."
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan",
+ "name": "testlabplan",
+ "type": "Microsoft.LabServices/LabPlan",
+ "location": "westus",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Updating",
+ "defaultConnectionProfile": {
+ "webSshAccess": "None",
+ "webRdpAccess": "None",
+ "clientSshAccess": "Public",
+ "clientRdpAccess": "Public"
+ },
+ "defaultAutoShutdownProfile": {
+ "shutdownOnDisconnect": "Enabled",
+ "shutdownWhenNotConnected": "Enabled",
+ "shutdownOnIdle": "UserAbsence",
+ "disconnectDelay": "00:05",
+ "noConnectDelay": "01:00",
+ "idleDelay": "01:00"
+ },
+ "defaultNetworkProfile": {
+ "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
+ },
+ "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig",
+ "supportInfo": {
+ "url": "help.contoso.com",
+ "email": "help@contoso.com",
+ "phone": "+1-202-555-0123",
+ "instructions": "Contact support for help."
+ }
+ }
+ },
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/putLabPlan.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/putLabPlan.json
new file mode 100644
index 000000000000..9c7019e857b6
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/putLabPlan.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labPlanName": "testlabplan",
+ "body": {
+ "location": "westus",
+ "properties": {
+ "defaultConnectionProfile": {
+ "webSshAccess": "None",
+ "webRdpAccess": "None",
+ "clientSshAccess": "Public",
+ "clientRdpAccess": "Public"
+ },
+ "defaultAutoShutdownProfile": {
+ "shutdownOnDisconnect": "Enabled",
+ "shutdownWhenNotConnected": "Enabled",
+ "shutdownOnIdle": "UserAbsence",
+ "disconnectDelay": "00:05",
+ "noConnectDelay": "01:00",
+ "idleDelay": "01:00"
+ },
+ "defaultNetworkProfile": {
+ "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
+ },
+ "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig",
+ "supportInfo": {
+ "url": "help.contoso.com",
+ "email": "help@contoso.com",
+ "phone": "+1-202-555-0123",
+ "instructions": "Contact support for help."
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan",
+ "name": "testlabplan",
+ "type": "Microsoft.LabServices/LabPlan",
+ "location": "westus",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "defaultConnectionProfile": {
+ "webSshAccess": "None",
+ "webRdpAccess": "None",
+ "clientSshAccess": "Public",
+ "clientRdpAccess": "Public"
+ },
+ "defaultAutoShutdownProfile": {
+ "shutdownOnDisconnect": "Enabled",
+ "shutdownWhenNotConnected": "Enabled",
+ "shutdownOnIdle": "UserAbsence",
+ "disconnectDelay": "00:05",
+ "noConnectDelay": "01:00",
+ "idleDelay": "01:00"
+ },
+ "defaultNetworkProfile": {
+ "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
+ },
+ "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig",
+ "supportInfo": {
+ "url": "help.contoso.com",
+ "email": "help@contoso.com",
+ "phone": "+1-202-555-0123",
+ "instructions": "Contact support for help."
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan",
+ "name": "testlabplan",
+ "type": "Microsoft.LabServices/LabPlan",
+ "location": "westus",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Creating",
+ "defaultConnectionProfile": {
+ "webSshAccess": "None",
+ "webRdpAccess": "None",
+ "clientSshAccess": "Public",
+ "clientRdpAccess": "Public"
+ },
+ "defaultAutoShutdownProfile": {
+ "shutdownOnDisconnect": "Enabled",
+ "shutdownWhenNotConnected": "Enabled",
+ "shutdownOnIdle": "UserAbsence",
+ "disconnectDelay": "00:05",
+ "noConnectDelay": "01:00",
+ "idleDelay": "01:00"
+ },
+ "defaultNetworkProfile": {
+ "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
+ },
+ "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig",
+ "supportInfo": {
+ "url": "help.contoso.com",
+ "email": "help@contoso.com",
+ "phone": "+1-202-555-0123",
+ "instructions": "Contact support for help."
+ }
+ }
+ },
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan",
+ "name": "testlabplan",
+ "type": "Microsoft.LabServices/LabPlan",
+ "location": "westus",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Updating",
+ "defaultConnectionProfile": {
+ "webSshAccess": "None",
+ "webRdpAccess": "None",
+ "clientSshAccess": "Public",
+ "clientRdpAccess": "Public"
+ },
+ "defaultAutoShutdownProfile": {
+ "shutdownOnDisconnect": "Enabled",
+ "shutdownWhenNotConnected": "Enabled",
+ "shutdownOnIdle": "UserAbsence",
+ "disconnectDelay": "00:05",
+ "noConnectDelay": "01:00",
+ "idleDelay": "01:00"
+ },
+ "defaultNetworkProfile": {
+ "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
+ },
+ "sharedGalleryId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Compute/galleries/testsig",
+ "supportInfo": {
+ "url": "help.contoso.com",
+ "email": "help@contoso.com",
+ "phone": "+1-202-555-0123",
+ "instructions": "Contact support for help."
+ }
+ }
+ },
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/saveImageVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/saveImageVirtualMachine.json
new file mode 100644
index 000000000000..b4dcbbad1dd2
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabPlans/saveImageVirtualMachine.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labPlanName": "testlabplan",
+ "body": {
+ "name": "Test Image",
+ "labVirtualMachineId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/virtualMachines/template"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabServices/listOperations.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabServices/listOperations.json
new file mode 100644
index 000000000000..0b05ab710e1d
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/LabServices/listOperations.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": null,
+ "value": [
+ {
+ "name": "Microsoft.LabServices/labPlans/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Azure Lab Services",
+ "resource": "Microsoft.LabServices/labPlans",
+ "operation": "Create or Update Lab Plan",
+ "description": "Create new or update an existing lab plan."
+ },
+ "origin": "user,system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/deleteLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/deleteLab.json
new file mode 100644
index 000000000000..eac1ad568fcd
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/deleteLab.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/getLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/getLab.json
new file mode 100644
index 000000000000..97440adfbfcb
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/getLab.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab",
+ "name": "testlabplan",
+ "type": "Microsoft.LabServices/Lab",
+ "location": "westus",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "connectionProfile": {
+ "webSshAccess": "None",
+ "webRdpAccess": "None",
+ "clientSshAccess": "Public",
+ "clientRdpAccess": "Public"
+ },
+ "autoShutdownProfile": {
+ "shutdownOnDisconnect": "Enabled",
+ "shutdownWhenNotConnected": "Enabled",
+ "shutdownOnIdle": "UserAbsence",
+ "disconnectDelay": "00:05",
+ "noConnectDelay": "01:00",
+ "idleDelay": "01:00"
+ },
+ "securityProfile": {
+ "registrationCode": "fAkEcodE",
+ "openAccess": "Disabled"
+ },
+ "networkProfile": {
+ "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
+ },
+ "virtualMachineProfile": {
+ "createOption": "TemplateVM",
+ "imageReference": {
+ "offer": "WindowsServer",
+ "publisher": "Microsoft",
+ "sku": "2019-Datacenter",
+ "version": "2019.0.20190410"
+ },
+ "osType": "Windows",
+ "sku": {
+ "name": "Medium",
+ "capacity": 20
+ },
+ "additionalCapabilities": {
+ "installGpuDrivers": "Disabled"
+ },
+ "usageQuota": "10:00",
+ "useSharedPassword": "Disabled",
+ "adminUser": {
+ "username": "test-user"
+ }
+ },
+ "title": "Test Lab",
+ "description": "This is a test lab.",
+ "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan",
+ "state": "Draft"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/listLabs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/listLabs.json
new file mode 100644
index 000000000000..bac7763b79c6
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/listLabs.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": null,
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab",
+ "name": "testlabplan",
+ "type": "Microsoft.LabServices/Lab",
+ "location": "westus",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "connectionProfile": {
+ "webSshAccess": "None",
+ "webRdpAccess": "None",
+ "clientSshAccess": "Public",
+ "clientRdpAccess": "Public"
+ },
+ "autoShutdownProfile": {
+ "shutdownOnDisconnect": "Enabled",
+ "shutdownWhenNotConnected": "Enabled",
+ "shutdownOnIdle": "UserAbsence",
+ "disconnectDelay": "00:05",
+ "noConnectDelay": "01:00",
+ "idleDelay": "01:00"
+ },
+ "securityProfile": {
+ "registrationCode": "fAkEcodE",
+ "openAccess": "Disabled"
+ },
+ "networkProfile": {
+ "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
+ },
+ "virtualMachineProfile": {
+ "createOption": "TemplateVM",
+ "imageReference": {
+ "offer": "WindowsServer",
+ "publisher": "Microsoft",
+ "sku": "2019-Datacenter",
+ "version": "2019.0.20190410"
+ },
+ "osType": "Windows",
+ "sku": {
+ "name": "Medium",
+ "capacity": 20
+ },
+ "additionalCapabilities": {
+ "installGpuDrivers": "Disabled"
+ },
+ "usageQuota": "10:00",
+ "useSharedPassword": "Disabled",
+ "adminUser": {
+ "username": "test-user"
+ }
+ },
+ "title": "Test Lab",
+ "description": "This is a test lab.",
+ "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan",
+ "state": "Draft"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/listResourceGroupLabs.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/listResourceGroupLabs.json
new file mode 100644
index 000000000000..62e35f67fbd0
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/listResourceGroupLabs.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": null,
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab",
+ "name": "testlabplan",
+ "type": "Microsoft.LabServices/Lab",
+ "location": "westus",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "connectionProfile": {
+ "webSshAccess": "None",
+ "webRdpAccess": "None",
+ "clientSshAccess": "Public",
+ "clientRdpAccess": "Public"
+ },
+ "autoShutdownProfile": {
+ "shutdownOnDisconnect": "Enabled",
+ "shutdownWhenNotConnected": "Enabled",
+ "shutdownOnIdle": "UserAbsence",
+ "disconnectDelay": "00:05",
+ "noConnectDelay": "01:00",
+ "idleDelay": "01:00"
+ },
+ "securityProfile": {
+ "registrationCode": "fAkEcodE",
+ "openAccess": "Disabled"
+ },
+ "networkProfile": {
+ "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
+ },
+ "virtualMachineProfile": {
+ "createOption": "TemplateVM",
+ "imageReference": {
+ "offer": "WindowsServer",
+ "publisher": "Microsoft",
+ "sku": "2019-Datacenter",
+ "version": "2019.0.20190410"
+ },
+ "osType": "Windows",
+ "sku": {
+ "name": "Medium",
+ "capacity": 20
+ },
+ "additionalCapabilities": {
+ "installGpuDrivers": "Disabled"
+ },
+ "usageQuota": "10:00",
+ "useSharedPassword": "Disabled",
+ "adminUser": {
+ "username": "test-user"
+ }
+ },
+ "title": "Test Lab",
+ "description": "This is a test lab.",
+ "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan",
+ "state": "Draft"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/patchLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/patchLab.json
new file mode 100644
index 000000000000..7f5cca021f1e
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/patchLab.json
@@ -0,0 +1,151 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab",
+ "body": {
+ "properties": {
+ "securityProfile": {
+ "openAccess": "Enabled"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab",
+ "name": "testlabplan",
+ "type": "Microsoft.LabServices/Lab",
+ "location": "westus",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "connectionProfile": {
+ "webSshAccess": "None",
+ "webRdpAccess": "None",
+ "clientSshAccess": "Public",
+ "clientRdpAccess": "Public"
+ },
+ "autoShutdownProfile": {
+ "shutdownOnDisconnect": "Enabled",
+ "shutdownWhenNotConnected": "Enabled",
+ "shutdownOnIdle": "UserAbsence",
+ "disconnectDelay": "00:05",
+ "noConnectDelay": "01:00",
+ "idleDelay": "01:00"
+ },
+ "securityProfile": {
+ "registrationCode": "fAkEcodE",
+ "openAccess": "Enabled"
+ },
+ "networkProfile": {
+ "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/id"
+ },
+ "virtualMachineProfile": {
+ "createOption": "TemplateVM",
+ "imageReference": {
+ "offer": "WindowsServer",
+ "publisher": "Microsoft",
+ "sku": "2019-Datacenter",
+ "version": "2019.0.20190410"
+ },
+ "sku": {
+ "name": "Medium",
+ "capacity": 20
+ },
+ "additionalCapabilities": {
+ "installGpuDrivers": "Disabled"
+ },
+ "usageQuota": "10:00",
+ "useSharedPassword": "Disabled",
+ "adminUser": {
+ "username": "test-user"
+ }
+ },
+ "title": "Test Lab",
+ "description": "This is a test lab.",
+ "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan",
+ "state": "Draft"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab",
+ "name": "testlabplan",
+ "type": "Microsoft.LabServices/Lab",
+ "location": "westus",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Updating",
+ "connectionProfile": {
+ "webSshAccess": "None",
+ "webRdpAccess": "None",
+ "clientSshAccess": "Public",
+ "clientRdpAccess": "Public"
+ },
+ "autoShutdownProfile": {
+ "shutdownOnDisconnect": "Enabled",
+ "shutdownWhenNotConnected": "Enabled",
+ "shutdownOnIdle": "UserAbsence",
+ "disconnectDelay": "00:05",
+ "noConnectDelay": "01:00",
+ "idleDelay": "01:00"
+ },
+ "securityProfile": {
+ "registrationCode": "fAkEcodE",
+ "openAccess": "Enabled"
+ },
+ "networkProfile": {
+ "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
+ },
+ "virtualMachineProfile": {
+ "createOption": "TemplateVM",
+ "imageReference": {
+ "offer": "WindowsServer",
+ "publisher": "Microsoft",
+ "sku": "2019-Datacenter",
+ "version": "2019.0.20190410"
+ },
+ "osType": "Windows",
+ "sku": {
+ "name": "Medium",
+ "capacity": 20
+ },
+ "additionalCapabilities": {
+ "installGpuDrivers": "Disabled"
+ },
+ "usageQuota": "10:00",
+ "useSharedPassword": "Disabled",
+ "adminUser": {
+ "username": "test-user"
+ }
+ },
+ "title": "Test Lab",
+ "description": "This is a test lab.",
+ "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan",
+ "state": "Draft"
+ }
+ },
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/publishLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/publishLab.json
new file mode 100644
index 000000000000..c0ea7cf822ef
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/publishLab.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/putLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/putLab.json
new file mode 100644
index 000000000000..69e17003b3d4
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/putLab.json
@@ -0,0 +1,263 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab",
+ "body": {
+ "location": "westus",
+ "properties": {
+ "connectionProfile": {
+ "webSshAccess": "None",
+ "webRdpAccess": "None",
+ "clientSshAccess": "Public",
+ "clientRdpAccess": "Public"
+ },
+ "autoShutdownProfile": {
+ "shutdownOnDisconnect": "Enabled",
+ "shutdownWhenNotConnected": "Enabled",
+ "shutdownOnIdle": "UserAbsence",
+ "disconnectDelay": "00:05",
+ "noConnectDelay": "01:00",
+ "idleDelay": "01:00"
+ },
+ "securityProfile": {
+ "openAccess": "Disabled"
+ },
+ "networkProfile": {
+ "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
+ },
+ "virtualMachineProfile": {
+ "createOption": "TemplateVM",
+ "imageReference": {
+ "offer": "WindowsServer",
+ "publisher": "Microsoft",
+ "sku": "2019-Datacenter",
+ "version": "2019.0.20190410"
+ },
+ "sku": {
+ "name": "Medium"
+ },
+ "additionalCapabilities": {
+ "installGpuDrivers": "Disabled"
+ },
+ "usageQuota": "10:00",
+ "useSharedPassword": "Disabled",
+ "adminUser": {
+ "username": "test-user"
+ }
+ },
+ "title": "Test Lab",
+ "description": "This is a test lab.",
+ "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan",
+ "state": "Draft"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab",
+ "name": "testlabplan",
+ "type": "Microsoft.LabServices/Lab",
+ "location": "westus",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "connectionProfile": {
+ "webSshAccess": "None",
+ "webRdpAccess": "None",
+ "clientSshAccess": "Public",
+ "clientRdpAccess": "Public"
+ },
+ "autoShutdownProfile": {
+ "shutdownOnDisconnect": "Enabled",
+ "shutdownWhenNotConnected": "Enabled",
+ "shutdownOnIdle": "UserAbsence",
+ "disconnectDelay": "00:05",
+ "noConnectDelay": "01:00",
+ "idleDelay": "01:00"
+ },
+ "securityProfile": {
+ "registrationCode": "fAkEcodE",
+ "openAccess": "Disabled"
+ },
+ "networkProfile": {
+ "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
+ },
+ "virtualMachineProfile": {
+ "createOption": "TemplateVM",
+ "imageReference": {
+ "offer": "WindowsServer",
+ "publisher": "Microsoft",
+ "sku": "2019-Datacenter",
+ "version": "2019.0.20190410"
+ },
+ "osType": "Windows",
+ "sku": {
+ "name": "Medium",
+ "capacity": 20
+ },
+ "additionalCapabilities": {
+ "installGpuDrivers": "Disabled"
+ },
+ "usageQuota": "10:00",
+ "useSharedPassword": "Disabled",
+ "adminUser": {
+ "username": "test-user"
+ }
+ },
+ "title": "Test Lab",
+ "description": "This is a test lab.",
+ "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan",
+ "state": "Draft"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab",
+ "name": "testlabplan",
+ "type": "Microsoft.LabServices/Lab",
+ "location": "westus",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Creating",
+ "connectionProfile": {
+ "webSshAccess": "None",
+ "webRdpAccess": "None",
+ "clientSshAccess": "Public",
+ "clientRdpAccess": "Public"
+ },
+ "autoShutdownProfile": {
+ "shutdownOnDisconnect": "Enabled",
+ "shutdownWhenNotConnected": "Enabled",
+ "shutdownOnIdle": "UserAbsence",
+ "disconnectDelay": "00:05",
+ "noConnectDelay": "01:00",
+ "idleDelay": "01:00"
+ },
+ "securityProfile": {
+ "registrationCode": "fAkEcodE",
+ "openAccess": "Disabled"
+ },
+ "networkProfile": {
+ "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
+ },
+ "virtualMachineProfile": {
+ "createOption": "TemplateVM",
+ "imageReference": {
+ "offer": "WindowsServer",
+ "publisher": "Microsoft",
+ "sku": "2019-Datacenter",
+ "version": "2019.0.20190410"
+ },
+ "osType": "Windows",
+ "sku": {
+ "name": "Medium",
+ "capacity": 20
+ },
+ "additionalCapabilities": {
+ "installGpuDrivers": "Disabled"
+ },
+ "usageQuota": "10:00",
+ "useSharedPassword": "Disabled",
+ "adminUser": {
+ "username": "test-user"
+ }
+ },
+ "title": "Test Lab",
+ "description": "This is a test lab.",
+ "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan",
+ "state": "Draft"
+ }
+ },
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab",
+ "name": "testlabplan",
+ "type": "Microsoft.LabServices/Lab",
+ "location": "westus",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Updating",
+ "connectionProfile": {
+ "webSshAccess": "None",
+ "webRdpAccess": "None",
+ "clientSshAccess": "Public",
+ "clientRdpAccess": "Public"
+ },
+ "autoShutdownProfile": {
+ "shutdownOnDisconnect": "Enabled",
+ "shutdownWhenNotConnected": "Enabled",
+ "shutdownOnIdle": "UserAbsence",
+ "disconnectDelay": "00:05",
+ "noConnectDelay": "01:00",
+ "idleDelay": "01:00"
+ },
+ "securityProfile": {
+ "registrationCode": "fAkEcodE",
+ "openAccess": "Disabled"
+ },
+ "networkProfile": {
+ "subnetId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/default"
+ },
+ "virtualMachineProfile": {
+ "createOption": "TemplateVM",
+ "imageReference": {
+ "offer": "WindowsServer",
+ "publisher": "Microsoft",
+ "sku": "2019-Datacenter",
+ "version": "2019.0.20190410"
+ },
+ "osType": "Windows",
+ "sku": {
+ "name": "Medium",
+ "capacity": 20
+ },
+ "additionalCapabilities": {
+ "installGpuDrivers": "Disabled"
+ },
+ "usageQuota": "10:00",
+ "useSharedPassword": "Disabled",
+ "adminUser": {
+ "username": "test-user"
+ }
+ },
+ "title": "Test Lab",
+ "description": "This is a test lab.",
+ "labPlanId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labPlans/testlabplan",
+ "state": "Draft"
+ }
+ },
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/syncLab.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/syncLab.json
new file mode 100644
index 000000000000..c0ea7cf822ef
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Labs/syncLab.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/OperationResults/getOperationResult.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/OperationResults/getOperationResult.json
new file mode 100644
index 000000000000..b422658c1b37
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/OperationResults/getOperationResult.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "operationResultId": "a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174",
+ "name": "a64149d8-84cb-4566-ab8e-b4ee1a074174",
+ "status": "InProgress",
+ "startTime": "2020-05-01T10:00:00Z"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/deleteSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/deleteSchedule.json
new file mode 100644
index 000000000000..40404931e070
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/deleteSchedule.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab",
+ "scheduleName": "schedule1"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/getSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/getSchedule.json
new file mode 100644
index 000000000000..0a800ce629b8
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/getSchedule.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab",
+ "scheduleName": "schedule1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1",
+ "name": "schedule1",
+ "type": "Microsoft.LabServices/Schedule",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "startAt": "2020-05-26T12:00:00Z",
+ "stopAt": "2020-05-26T18:00:00Z",
+ "recurrencePattern": {
+ "frequency": "Daily",
+ "interval": 1,
+ "expirationDate": "2020-08-14"
+ },
+ "timeZoneId": "America/Los_Angeles",
+ "notes": "Schedule 1 for students"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/listSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/listSchedule.json
new file mode 100644
index 000000000000..40e7b958bd6b
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/listSchedule.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": null,
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1",
+ "name": "schedule1",
+ "type": "Microsoft.LabServices/Schedule",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "startAt": "2020-05-26T12:00:00Z",
+ "stopAt": "2020-05-26T18:00:00Z",
+ "recurrencePattern": {
+ "frequency": "Daily",
+ "interval": 1,
+ "expirationDate": "2020-08-14"
+ },
+ "timeZoneId": "America/Los_Angeles",
+ "notes": "Schedule 1 for students"
+ }
+ },
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule2",
+ "name": "schedule2",
+ "type": "Microsoft.LabServices/Schedule",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "startAt": "2020-05-26T12:00:00Z",
+ "stopAt": "2020-05-26T18:00:00Z",
+ "recurrencePattern": {
+ "frequency": "Weekly",
+ "weekDays": [
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday"
+ ],
+ "expirationDate": "2020-08-14"
+ },
+ "timeZoneId": "America/Los_Angeles",
+ "notes": "Schedule 2 for students"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/patchSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/patchSchedule.json
new file mode 100644
index 000000000000..199a4d3be297
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/patchSchedule.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab",
+ "scheduleName": "schedule1",
+ "body": {
+ "properties": {
+ "recurrencePattern": {
+ "frequency": "Daily",
+ "interval": 2,
+ "expirationDate": "2020-08-14"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1",
+ "name": "schedule1",
+ "type": "Microsoft.LabServices/Schedule",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "startAt": "2020-05-26T12:00:00Z",
+ "stopAt": "2020-05-26T18:00:00Z",
+ "recurrencePattern": {
+ "frequency": "Daily",
+ "interval": 2,
+ "expirationDate": "2020-08-14"
+ },
+ "timeZoneId": "America/Los_Angeles",
+ "notes": "Schedule 1 for students"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/putSchedule.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/putSchedule.json
new file mode 100644
index 000000000000..f2cd26a4de2f
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Schedules/putSchedule.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab",
+ "scheduleName": "schedule1",
+ "body": {
+ "properties": {
+ "startAt": "2020-05-26T12:00:00Z",
+ "stopAt": "2020-05-26T18:00:00Z",
+ "recurrencePattern": {
+ "frequency": "Daily",
+ "interval": 2,
+ "expirationDate": "2020-08-14"
+ },
+ "timeZoneId": "America/Los_Angeles",
+ "notes": "Schedule 1 for students"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1",
+ "name": "schedule1",
+ "type": "Microsoft.LabServices/Schedule",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "startAt": "2020-05-26T12:00:00Z",
+ "stopAt": "2020-05-26T18:00:00Z",
+ "recurrencePattern": {
+ "frequency": "Daily",
+ "interval": 2,
+ "expirationDate": "2020-08-14"
+ },
+ "timeZoneId": "America/Los_Angeles",
+ "notes": "Schedule 1 for students"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/schedules/schedule1",
+ "name": "schedule1",
+ "type": "Microsoft.LabServices/Schedule",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "startAt": "2020-05-26T12:00:00Z",
+ "stopAt": "2020-05-26T18:00:00Z",
+ "recurrencePattern": {
+ "frequency": "Daily",
+ "interval": 2,
+ "expirationDate": "2020-08-14"
+ },
+ "timeZoneId": "America/Los_Angeles",
+ "notes": "Schedule 1 for students"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Skus/listSkus.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Skus/listSkus.json
new file mode 100644
index 000000000000..8ca159f3b62e
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Skus/listSkus.json
@@ -0,0 +1,271 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": null,
+ "value": [
+ {
+ "resourceType": "labs",
+ "name": "Standard_Fv2_2_4GB_64_S_SSD",
+ "tier": "Standard",
+ "size": "Fv2_2_4GB_64_S_SSD",
+ "family": "Fv2",
+ "locations": [
+ "westus2"
+ ],
+ "capacity": {
+ "minimum": 0,
+ "maximum": 400,
+ "default": 1,
+ "scaleType": "Automatic"
+ },
+ "costs": [
+ {
+ "meterId": "",
+ "quantity": 20.4,
+ "extendedUnit": "WindowsHourly"
+ },
+ {
+ "meterId": "",
+ "quantity": 20.4,
+ "extendedUnit": "HybridBenefitHourly"
+ },
+ {
+ "meterId": "",
+ "quantity": 0.7,
+ "extendedUnit": "InactiveHourly"
+ },
+ {
+ "meterId": "",
+ "quantity": 20.4,
+ "extendedUnit": "LinuxHourly"
+ }
+ ],
+ "capabilities": [
+ {
+ "name": "vCPUs",
+ "value": "2"
+ },
+ {
+ "name": "MemoryGB",
+ "value": "4"
+ },
+ {
+ "name": "StorageGB",
+ "value": "64"
+ },
+ {
+ "name": "StorageType",
+ "value": "StandardSSD"
+ },
+ {
+ "name": "HyperVGenerations",
+ "value": "V1,V2"
+ },
+ {
+ "name": "IsGpu",
+ "value": "False"
+ }
+ ]
+ },
+ {
+ "resourceType": "labs",
+ "name": "Standard_Fv2_2_4GB_256_S_SSD",
+ "tier": "Standard",
+ "size": "Fv2_2_4GB_256_S_SSD",
+ "family": "Fv2",
+ "locations": [
+ "westus2"
+ ],
+ "capacity": {
+ "minimum": 0,
+ "maximum": 400,
+ "default": 1,
+ "scaleType": "Automatic"
+ },
+ "costs": [
+ {
+ "meterId": "",
+ "quantity": 22.8,
+ "extendedUnit": "WindowsHourly"
+ },
+ {
+ "meterId": "",
+ "quantity": 22.8,
+ "extendedUnit": "HybridBenefitHourly"
+ },
+ {
+ "meterId": "",
+ "quantity": 2.7,
+ "extendedUnit": "InactiveHourly"
+ },
+ {
+ "meterId": "",
+ "quantity": 22.8,
+ "extendedUnit": "LinuxHourly"
+ }
+ ],
+ "capabilities": [
+ {
+ "name": "vCPUs",
+ "value": "2"
+ },
+ {
+ "name": "MemoryGB",
+ "value": "4"
+ },
+ {
+ "name": "StorageGB",
+ "value": "256"
+ },
+ {
+ "name": "StorageType",
+ "value": "StandardSSD"
+ },
+ {
+ "name": "HyperVGenerations",
+ "value": "V1,V2"
+ },
+ {
+ "name": "IsGpu",
+ "value": "False"
+ }
+ ]
+ },
+ {
+ "resourceType": "labs",
+ "name": "Standard_Dv4_2_8GB_128_S_SSD",
+ "tier": "Standard",
+ "size": "Dv4_2_8GB_128_S_SSD",
+ "family": "Dv4",
+ "locations": [
+ "westus2"
+ ],
+ "capacity": {
+ "minimum": 0,
+ "maximum": 400,
+ "default": 1,
+ "scaleType": "Automatic"
+ },
+ "costs": [
+ {
+ "meterId": "",
+ "quantity": 24.2,
+ "extendedUnit": "WindowsHourly"
+ },
+ {
+ "meterId": "",
+ "quantity": 24.2,
+ "extendedUnit": "HybridBenefitHourly"
+ },
+ {
+ "meterId": "",
+ "quantity": 1.4,
+ "extendedUnit": "InactiveHourly"
+ },
+ {
+ "meterId": "",
+ "quantity": 24.2,
+ "extendedUnit": "LinuxHourly"
+ }
+ ],
+ "capabilities": [
+ {
+ "name": "vCPUs",
+ "value": "2"
+ },
+ {
+ "name": "MemoryGB",
+ "value": "8"
+ },
+ {
+ "name": "StorageGB",
+ "value": "128"
+ },
+ {
+ "name": "StorageType",
+ "value": "StandardSSD"
+ },
+ {
+ "name": "HyperVGenerations",
+ "value": "V1,V2"
+ },
+ {
+ "name": "IsGpu",
+ "value": "False"
+ }
+ ]
+ },
+ {
+ "resourceType": "labs",
+ "name": "Standard_Dv4_2_8GB_256_S_SSD",
+ "tier": "Standard",
+ "size": "Dv4_2_8GB_256_S_SSD",
+ "family": "Dv4",
+ "locations": [
+ "westus2"
+ ],
+ "capacity": {
+ "minimum": 0,
+ "maximum": 400,
+ "default": 1,
+ "scaleType": "Automatic"
+ },
+ "costs": [
+ {
+ "meterId": "",
+ "quantity": 25.8,
+ "extendedUnit": "WindowsHourly"
+ },
+ {
+ "meterId": "",
+ "quantity": 25.8,
+ "extendedUnit": "HybridBenefitHourly"
+ },
+ {
+ "meterId": "",
+ "quantity": 2.7,
+ "extendedUnit": "InactiveHourly"
+ },
+ {
+ "meterId": "",
+ "quantity": 25.8,
+ "extendedUnit": "LinuxHourly"
+ }
+ ],
+ "capabilities": [
+ {
+ "name": "vCPUs",
+ "value": "2"
+ },
+ {
+ "name": "MemoryGB",
+ "value": "8"
+ },
+ {
+ "name": "StorageGB",
+ "value": "256"
+ },
+ {
+ "name": "StorageType",
+ "value": "StandardSSD"
+ },
+ {
+ "name": "HyperVGenerations",
+ "value": "V1,V2"
+ },
+ {
+ "name": "IsGpu",
+ "value": "False"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Usages/getUsages.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Usages/getUsages.json
new file mode 100644
index 000000000000..7d0271df5565
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Usages/getUsages.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "location": "westus2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": null,
+ "value": [
+ {
+ "currentValue": 10,
+ "limit": 100,
+ "unit": "Count",
+ "name": {
+ "value": "NCasv3T4"
+ },
+ "id": ""
+ },
+ {
+ "currentValue": 5,
+ "limit": 30,
+ "unit": "Count",
+ "name": {
+ "value": "ESv4"
+ },
+ "id": ""
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/deleteUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/deleteUser.json
new file mode 100644
index 000000000000..2a4f8e8fece3
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/deleteUser.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab",
+ "userName": "testuser"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/getUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/getUser.json
new file mode 100644
index 000000000000..f06a90c79c05
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/getUser.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab",
+ "userName": "testuser"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser",
+ "name": "default",
+ "type": "Microsoft.LabServices/User",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "displayName": "Test User",
+ "email": "testuser@contoso.com",
+ "registrationState": "Registered",
+ "invitationState": "Sent",
+ "totalUsage": "23:59",
+ "additionalUsageQuota": "10:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/inviteUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/inviteUser.json
new file mode 100644
index 000000000000..c6c772fb258e
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/inviteUser.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab",
+ "userName": "testuser",
+ "body": {
+ "text": "Invitation to lab testlab"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/listUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/listUser.json
new file mode 100644
index 000000000000..c2a6a2319c10
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/listUser.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": null,
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser",
+ "name": "default",
+ "type": "Microsoft.LabServices/User",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "displayName": "Test User",
+ "email": "testuser@contoso.com",
+ "registrationState": "Registered",
+ "invitationState": "Sent",
+ "totalUsage": "23:59",
+ "additionalUsageQuota": "10:00"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/patchUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/patchUser.json
new file mode 100644
index 000000000000..fb60932c7660
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/patchUser.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab",
+ "userName": "testuser",
+ "body": {
+ "properties": {
+ "additionalUsageQuota": "20:00"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser",
+ "name": "default",
+ "type": "Microsoft.LabServices/User",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "displayName": "Test User",
+ "email": "testuser@contoso.com",
+ "registrationState": "Registered",
+ "invitationState": "Sent",
+ "totalUsage": "23:59",
+ "additionalUsageQuota": "20:00"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser",
+ "name": "default",
+ "type": "Microsoft.LabServices/User",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Updating",
+ "displayName": "Test User",
+ "email": "testuser@contoso.com",
+ "registrationState": "Registered",
+ "invitationState": "Sent",
+ "totalUsage": "23:59",
+ "additionalUsageQuota": "20:00"
+ }
+ },
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/putUser.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/putUser.json
new file mode 100644
index 000000000000..cc940c4fce0e
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/Users/putUser.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab",
+ "userName": "testuser",
+ "body": {
+ "properties": {
+ "additionalUsageQuota": "20:00",
+ "email": "testuser@contoso.com"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser",
+ "name": "default",
+ "type": "Microsoft.LabServices/User",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "displayName": "Test User",
+ "email": "testuser@contoso.com",
+ "registrationState": "Registered",
+ "invitationState": "Sent",
+ "totalUsage": "23:59",
+ "additionalUsageQuota": "20:00"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser",
+ "name": "default",
+ "type": "Microsoft.LabServices/User",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "displayName": "Test User",
+ "email": "testuser@contoso.com",
+ "registrationState": "Registered",
+ "invitationState": "Sent",
+ "totalUsage": "23:59",
+ "additionalUsageQuota": "20:00"
+ }
+ },
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/users/testuser",
+ "name": "default",
+ "type": "Microsoft.LabServices/User",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Updating",
+ "displayName": "Test User",
+ "email": "testuser@contoso.com",
+ "registrationState": "Registered",
+ "invitationState": "Sent",
+ "totalUsage": "23:59",
+ "additionalUsageQuota": "20:00"
+ }
+ },
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/getVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/getVirtualMachine.json
new file mode 100644
index 000000000000..c0e43a30b81c
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/getVirtualMachine.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab",
+ "virtualMachineName": "template"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/virtualMachines/template",
+ "name": "default",
+ "type": "Microsoft.LabServices/VirtualMachine",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "state": "Running",
+ "connectionProfile": {
+ "privateIpAddress": "192.168.2.1",
+ "sshAuthority": "vm-42.contoso.com:22",
+ "sshInBrowserUrl": "vm-42.contoso.com",
+ "rdpAuthority": "vm-42.contoso.com:3389",
+ "rdpInBrowserUrl": "vm-42.contoso.com",
+ "adminUsername": "user123"
+ },
+ "claimedByUserId": "testuser567",
+ "vmType": "Template"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/listVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/listVirtualMachine.json
new file mode 100644
index 000000000000..0ff8f1b929fa
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/listVirtualMachine.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": null,
+ "value": [
+ {
+ "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.LabServices/labs/testlab/virtualMachines/template",
+ "name": "default",
+ "type": "Microsoft.LabServices/VirtualMachine",
+ "systemData": {
+ "createdBy": "identity123",
+ "createdByType": "User",
+ "createdAt": "2020-05-01T10:00:00Z",
+ "lastModifiedBy": "identity123",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2020-06-01T09:12:28Z"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "state": "Running",
+ "connectionProfile": {
+ "privateIpAddress": "192.168.2.1",
+ "sshAuthority": "vm-42.contoso.com:22",
+ "sshInBrowserUrl": "vm-42.contoso.com",
+ "rdpAuthority": "vm-42.contoso.com:3389",
+ "rdpInBrowserUrl": "vm-42.contoso.com",
+ "adminUsername": "user123"
+ },
+ "claimedByUserId": "testuser567",
+ "vmType": "Template"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/redeployVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/redeployVirtualMachine.json
new file mode 100644
index 000000000000..6534b4e6b37f
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/redeployVirtualMachine.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab",
+ "virtualMachineName": "template"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/reimageVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/reimageVirtualMachine.json
new file mode 100644
index 000000000000..6534b4e6b37f
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/reimageVirtualMachine.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab",
+ "virtualMachineName": "template"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/resetPasswordVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/resetPasswordVirtualMachine.json
new file mode 100644
index 000000000000..c453d6236d61
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/resetPasswordVirtualMachine.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab",
+ "virtualMachineName": "template",
+ "body": {
+ "username": "example-username",
+ "password": "example-password"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/startVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/startVirtualMachine.json
new file mode 100644
index 000000000000..6534b4e6b37f
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/startVirtualMachine.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab",
+ "virtualMachineName": "template"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/stopVirtualMachine.json b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/stopVirtualMachine.json
new file mode 100644
index 000000000000..6534b4e6b37f
--- /dev/null
+++ b/specification/labservices/resource-manager/Microsoft.LabServices/preview/2021-11-15-preview/examples/VirtualMachines/stopVirtualMachine.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2021-11-15-preview",
+ "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345",
+ "resourceGroupName": "testrg123",
+ "labName": "testlab",
+ "virtualMachineName": "template"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "Location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.LabServices/operationresults/a64149d8-84cb-4566-ab8e-b4ee1a074174"
+ }
+ }
+ }
+}
diff --git a/specification/labservices/resource-manager/readme.md b/specification/labservices/resource-manager/readme.md
index 64ae5a1342d2..c171c6a13cea 100644
--- a/specification/labservices/resource-manager/readme.md
+++ b/specification/labservices/resource-manager/readme.md
@@ -26,15 +26,32 @@ These are the global settings for the LabServices API.
``` yaml
openapi-type: arm
-tag: package-preview-2021-10
+tag: package-preview-2021-11
```
+### Tag: package-preview-2021-11
+
+These settings apply only when `--tag=package-preview-2021-11` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2021-11'
+input-file:
+ - Microsoft.LabServices/preview/2021-11-15-preview/Images.json
+ - Microsoft.LabServices/preview/2021-11-15-preview/LabPlans.json
+ - Microsoft.LabServices/preview/2021-11-15-preview/LabServices.json
+ - Microsoft.LabServices/preview/2021-11-15-preview/Labs.json
+ - Microsoft.LabServices/preview/2021-11-15-preview/OperationResults.json
+ - Microsoft.LabServices/preview/2021-11-15-preview/Schedules.json
+ - Microsoft.LabServices/preview/2021-11-15-preview/Users.json
+ - Microsoft.LabServices/preview/2021-11-15-preview/VirtualMachines.json
+ - Microsoft.LabServices/preview/2021-11-15-preview/Usages.json
+ - Microsoft.LabServices/preview/2021-11-15-preview/Skus.json
+```
### Tag: package-preview-2021-10
These settings apply only when `--tag=package-preview-2021-10` is specified on the command line.
-```yaml $(tag) == 'package-preview-2021-10'
+``` yaml $(tag) == 'package-preview-2021-10'
input-file:
- Microsoft.LabServices/preview/2021-10-01-preview/LabServices.json
- Microsoft.LabServices/preview/2021-10-01-preview/OperationResults.json
@@ -45,6 +62,7 @@ input-file:
- Microsoft.LabServices/preview/2021-10-01-preview/VirtualMachines.json
- Microsoft.LabServices/preview/2021-10-01-preview/Schedules.json
```
+
### Tag: package-2018-10
These settings apply only when `--tag=package-2018-10` is specified on the command line.
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_Put.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_Put.json
index afa23a8b4540..3a7fdb7a95e5 100644
--- a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_Put.json
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/examples/IntegrationServiceEnvironments_ManagedApis_Put.json
@@ -4,7 +4,13 @@
"subscriptionId": "f34b22a3-2202-4fb1-b040-1332bd928c84",
"resourceGroup": "testResourceGroup",
"integrationServiceEnvironmentName": "testIntegrationServiceEnvironment",
- "apiName": "servicebus"
+ "apiName": "servicebus",
+ "integrationServiceEnvironmentManagedApi": {
+ "location": "brazilsouth",
+ "properties": {
+ "deploymentParameters": null
+ }
+ }
},
"responses": {
"201": {
diff --git a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/logic.json b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/logic.json
index 604c3048b2a0..71195d2d791f 100644
--- a/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/logic.json
+++ b/specification/logic/resource-manager/Microsoft.Logic/stable/2019-05-01/logic.json
@@ -6105,7 +6105,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/ManagedApiListResult"
+ "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApiListResult"
}
},
"default": {
@@ -6165,7 +6165,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/ManagedApi"
+ "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApi"
}
},
"default": {
@@ -6215,19 +6215,28 @@
},
{
"$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "integrationServiceEnvironmentManagedApi",
+ "description": "The integration service environment managed api.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApi"
+ }
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/ManagedApi"
+ "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApi"
}
},
"201": {
"description": "Created",
"schema": {
- "$ref": "#/definitions/ManagedApi"
+ "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApi"
}
},
"default": {
@@ -6467,6 +6476,9 @@
"x-ms-client-flatten": true,
"$ref": "#/definitions/WorkflowProperties",
"description": "The workflow properties."
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedServiceIdentity"
}
},
"description": "The workflow type.",
@@ -7318,20 +7330,24 @@
},
"contentVersion": {
"type": "string",
- "description": "The content version."
+ "description": "The content version.",
+ "readOnly": true
},
"contentSize": {
"type": "integer",
"format": "int64",
- "description": "The content size."
+ "description": "The content size.",
+ "readOnly": true
},
"contentHash": {
"$ref": "#/definitions/ContentHash",
- "description": "The content hash."
+ "description": "The content hash.",
+ "readOnly": true
},
"metadata": {
"$ref": "#/definitions/Object",
- "description": "The metadata."
+ "description": "The metadata.",
+ "readOnly": true
}
},
"description": "The content link."
@@ -8297,52 +8313,62 @@
"properties": {
"name": {
"type": "string",
- "description": "The name"
+ "description": "The name",
+ "readOnly": true
},
"connectionParameters": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/Object"
},
- "description": "The connection parameters."
+ "description": "The connection parameters.",
+ "readOnly": true
},
"metadata": {
"$ref": "#/definitions/ApiResourceMetadata",
- "description": "The metadata."
+ "description": "The metadata.",
+ "readOnly": true
},
"runtimeUrls": {
"type": "array",
"description": "The runtime urls.",
"items": {
"type": "string"
- }
+ },
+ "readOnly": true
},
"generalInformation": {
"$ref": "#/definitions/ApiResourceGeneralInformation",
- "description": "The api general information."
+ "description": "The api general information.",
+ "readOnly": true
},
"capabilities": {
"type": "array",
"description": "The capabilities.",
"items": {
"type": "string"
- }
+ },
+ "readOnly": true
},
"backendService": {
"$ref": "#/definitions/ApiResourceBackendService",
- "description": "The backend service."
+ "description": "The backend service.",
+ "readOnly": true
},
"policies": {
"$ref": "#/definitions/ApiResourcePolicies",
- "description": "The policies for the API."
+ "description": "The policies for the API.",
+ "readOnly": true
},
"apiDefinitionUrl": {
"type": "string",
- "description": "The API definition."
+ "description": "The API definition.",
+ "readOnly": true
},
"apiDefinitions": {
"$ref": "#/definitions/ApiResourceDefinitions",
- "description": "The api definitions."
+ "description": "The api definitions.",
+ "readOnly": true
},
"integrationServiceEnvironment": {
"$ref": "#/definitions/ResourceReference",
@@ -8350,11 +8376,13 @@
},
"provisioningState": {
"$ref": "#/definitions/WorkflowProvisioningState",
- "description": "The provisioning state."
+ "description": "The provisioning state.",
+ "readOnly": true
},
"category": {
"$ref": "#/definitions/ApiTier",
- "description": "The category."
+ "description": "The category.",
+ "readOnly": true
}
}
},
@@ -8810,6 +8838,9 @@
"sku": {
"$ref": "#/definitions/IntegrationServiceEnvironmentSku",
"description": "The sku."
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedServiceIdentity"
}
},
"allOf": [
@@ -9018,7 +9049,6 @@
"properties": {
"type": {
"$ref": "#/definitions/OpenAuthenticationProviderType",
- "readOnly": true,
"description": "Type of provider for OAuth."
},
"claims": {
@@ -9102,6 +9132,63 @@
}
}
},
+ "ManagedServiceIdentity": {
+ "description": "Managed service identity properties.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Type of managed service identity. The type 'SystemAssigned' includes an implicitly created identity. The type 'None' will remove any identities from the resource.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "None"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ManagedServiceIdentityType",
+ "modelAsString": true
+ }
+ },
+ "tenantId": {
+ "description": "Tenant of managed service identity.",
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true
+ },
+ "principalId": {
+ "description": "Principal Id of managed service identity.",
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true
+ },
+ "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": {
+ "$ref": "#/definitions/userAssignedIdentity"
+ }
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "userAssignedIdentity": {
+ "description": "User Assigned identity properties.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "Principal Id of user assigned identity",
+ "type": "string",
+ "readOnly": true
+ },
+ "clientId": {
+ "description": "Client Id of user assigned identity",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
"IntegrationServiceEnvironmentSkuList": {
"type": "object",
"properties": {
@@ -9185,6 +9272,64 @@
"modelAsString": true
}
},
+ "IntegrationServiceEnvironmentManagedApiListResult": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApi"
+ },
+ "description": "The integration service environment managed APIs."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "The list of integration service environment managed APIs."
+ },
+ "IntegrationServiceEnvironmentManagedApi": {
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApiProperties",
+ "description": "The integration service environment managed api properties."
+ }
+ },
+ "description": "The integration service environment managed api.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "IntegrationServiceEnvironmentManagedApiProperties": {
+ "type": "object",
+ "description": "The integration service environment managed api properties.",
+ "properties": {
+ "deploymentParameters": {
+ "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApiDeploymentParameters",
+ "description": "The integration service environment managed api deployment parameters."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ApiResourceProperties"
+ }
+ ]
+ },
+ "IntegrationServiceEnvironmentManagedApiDeploymentParameters": {
+ "type": "object",
+ "description": "The integration service environment managed api deployment parameters.",
+ "properties": {
+ "contentLinkDefinition": {
+ "$ref": "#/definitions/ContentLink",
+ "description": "The integration service environment managed api content link for deployment."
+ }
+ }
+ },
"IntegrationAccountSkuName": {
"type": "string",
"description": "The integration account sku name.",
@@ -9224,7 +9369,7 @@
"description": "The integration account properties.",
"properties": {
"integrationServiceEnvironment": {
- "$ref": "#/definitions/IntegrationServiceEnvironment",
+ "$ref": "#/definitions/ResourceReference",
"description": "The integration service environment."
},
"state": {
diff --git a/specification/logic/resource-manager/readme.go.md b/specification/logic/resource-manager/readme.go.md
index a379ee0f9451..0b56f2bdc1f5 100644
--- a/specification/logic/resource-manager/readme.go.md
+++ b/specification/logic/resource-manager/readme.go.md
@@ -11,7 +11,7 @@ go:
``` yaml $(go) && $(track2)
license-header: MICROSOFT_MIT_NO_VERSION
-module-name: sdk/logic/armlogic
+module-name: sdk/resourcemanager/logic/armlogic
module: github.com/Azure/azure-sdk-for-go/$(module-name)
output-folder: $(go-sdk-folder)/$(module-name)
azure-arm: true
diff --git a/specification/logic/resource-manager/readme.md b/specification/logic/resource-manager/readme.md
index de6d61a19038..9a849167969b 100644
--- a/specification/logic/resource-manager/readme.md
+++ b/specification/logic/resource-manager/readme.md
@@ -130,6 +130,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-java
- repo: azure-sdk-for-trenton
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-sdk-for-ruby
diff --git a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/logz.json b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/logz.json
index b5e404f18ed4..3693313e61f9 100644
--- a/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/logz.json
+++ b/specification/logz/resource-manager/Microsoft.Logz/preview/2020-10-01-preview/logz.json
@@ -1936,7 +1936,11 @@
"effectiveDate": {
"format": "date-time",
"description": "date when plan was applied",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
}
}
},
diff --git a/specification/logz/resource-manager/Microsoft.Logz/stable/2020-10-01/logz.json b/specification/logz/resource-manager/Microsoft.Logz/stable/2020-10-01/logz.json
index 0c142e9b146a..4bbd299b05ac 100644
--- a/specification/logz/resource-manager/Microsoft.Logz/stable/2020-10-01/logz.json
+++ b/specification/logz/resource-manager/Microsoft.Logz/stable/2020-10-01/logz.json
@@ -1936,7 +1936,11 @@
"effectiveDate": {
"format": "date-time",
"description": "date when plan was applied",
- "type": "string"
+ "type": "string",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
}
}
},
diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinition.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinition.json
index 065d892c01f7..6fd81d1fcc3b 100644
--- a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinition.json
+++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinition.json
@@ -44,6 +44,8 @@
}
],
"provisioningState": "Succeeded",
+ "manageeTenantId": "0e06d6a3-55ae-40a3-ac29-350808980808",
+ "manageeTenantName": "Test customer",
"managedByTenantName": "Test Tenant"
},
"plan": {
diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinitions.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinitions.json
index d88e7509f99f..e57d8f7a77b7 100644
--- a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinitions.json
+++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/examples/GetRegistrationDefinitions.json
@@ -45,6 +45,8 @@
}
],
"provisioningState": "Succeeded",
+ "manageeTenantId": "0e06d6a3-55ae-40a3-ac29-350808980808",
+ "manageeTenantName": "Test customer",
"managedByTenantName": "Test Tenant"
},
"plan": {
diff --git a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json
index caaac95ed665..877402e94ebb 100644
--- a/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json
+++ b/specification/managedservices/resource-manager/Microsoft.ManagedServices/preview/2020-02-01-preview/managedservices.json
@@ -652,6 +652,16 @@
"modelAsString": true
}
},
+ "manageeTenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The identifier of the managed tenant."
+ },
+ "manageeTenantName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the managed tenant."
+ },
"managedByTenantName": {
"readOnly": true,
"type": "string",
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/DeleteManagementGroup.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/DeleteManagementGroup.json
index 94bb28c71f43..0f32df28ed5d 100644
--- a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/DeleteManagementGroup.json
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/DeleteManagementGroup.json
@@ -6,6 +6,9 @@
},
"responses": {
"202": {
+ "headers": {
+ "Location": "https://management.azure.com/providers/Microsoft.Management/managementGroups/GroupToDelete?api-version=2021-04-01"
+ },
"body": {
"id": "/providers/Microsoft.Management/managementGroups/GroupToDelete",
"type": "Microsoft.Management/managementGroups",
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/ListOperations.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/ListOperations.json
new file mode 100644
index 000000000000..f852371b28f0
--- /dev/null
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/examples/ListOperations.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2021-04-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+ "display": {
+ "provider": "aaaaaaaaaaaaaaaaaaaaa",
+ "resource": "aaaaaaaaaaaaa",
+ "operation": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+ "description": "aaaaaaaaaaaaaaaaaaaaaa"
+ }
+ }
+ ],
+ "nextLink": "aaaaaaaaaaaaaaaaaaa"
+ }
+ }
+ }
+}
diff --git a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/management.json b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/management.json
index dac391a711a6..bc6ed0b42164 100644
--- a/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/management.json
+++ b/specification/managementgroups/resource-manager/Microsoft.Management/stable/2021-04-01/management.json
@@ -718,6 +718,11 @@
},
"x-ms-pageable": {
"nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Operations": {
+ "$ref": "./examples/ListOperations.json"
+ }
}
}
},
diff --git a/specification/managementgroups/resource-manager/readme.go.md b/specification/managementgroups/resource-manager/readme.go.md
index 60c68669323e..d41844a72c39 100644
--- a/specification/managementgroups/resource-manager/readme.go.md
+++ b/specification/managementgroups/resource-manager/readme.go.md
@@ -2,13 +2,21 @@
These settings apply only when `--go` is specified on the command line.
-``` yaml $(go)
+``` yaml $(go) && !$(track2)
go:
license-header: MICROSOFT_MIT_NO_VERSION
clear-output-folder: true
namespace: managementgroups
```
+``` yaml $(go) && $(track2)
+license-header: MICROSOFT_MIT_NO_VERSION
+module-name: sdk/resourcemanager/managementgroups/armmanagementgroups
+module: github.com/Azure/azure-sdk-for-go/$(module-name)
+output-folder: $(go-sdk-folder)/$(module-name)
+azure-arm: true
+```
+
### Go multi-api
``` yaml $(go) && $(multiapi)
diff --git a/specification/managementgroups/resource-manager/readme.md b/specification/managementgroups/resource-manager/readme.md
index d95f4e63afc7..a4cff1e75af2 100644
--- a/specification/managementgroups/resource-manager/readme.md
+++ b/specification/managementgroups/resource-manager/readme.md
@@ -114,6 +114,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-go-track2
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-cli-extensions
diff --git a/specification/maps/data-plane/Common/preview/1.0/common.json b/specification/maps/data-plane/Common/preview/1.0/common.json
index f91f88f9b5b6..257942bd35d5 100644
--- a/specification/maps/data-plane/Common/preview/1.0/common.json
+++ b/specification/maps/data-plane/Common/preview/1.0/common.json
@@ -64,7 +64,7 @@
}
}
},
- "BatchRequestBody": {
+ "BatchRequest": {
"description": "This type represents the request body for the Batch service.",
"type": "object",
"properties": {
@@ -72,25 +72,29 @@
"description": "The list of queries to process.",
"type": "array",
"items": {
- "description": "Batch Query object",
- "type": "object",
- "properties": {
- "query": {
- "description": "Partial query string.",
- "type": "string",
- "example": "?query=One, Microsoft Way, Redmond, WA 98052&limit=3"
- }
- }
+ "$ref": "#/definitions/BatchRequestItem"
}
}
}
},
- "BatchResponse": {
+ "BatchRequestItem": {
+ "description": "Batch request object",
+ "type": "object",
+ "properties": {
+ "query": {
+ "description": "This parameter contains a query string used to perform an unstructured geocoding operation. The query string will be passed verbatim to the search API for processing.",
+ "type": "string",
+ "example": "?query=One, Microsoft Way, Redmond, WA 98052&limit=3"
+ }
+ }
+ },
+ "BatchResult": {
"description": "This object is returned from a successful Batch service call. Extend with 'batchItems' property.",
"type": "object",
"properties": {
"summary": {
- "description": "Summary for the batch request",
+ "description": "Summary of the results for the batch request",
+ "x-ms-client-name": "BatchSummary",
"type": "object",
"readOnly": true,
"properties": {
@@ -108,19 +112,19 @@
}
}
},
- "BatchItem": {
+ "BatchResultItem": {
"description": "An item returned from Batch API. Extend with 'response' property.",
"type": "object",
"properties": {
"statusCode": {
"description": "HTTP request status code.",
- "type": "number",
+ "type": "integer",
"readOnly": true,
"example": 200
}
}
},
- "CoordinatesPair": {
+ "LatLongPair": {
"description": "A location represented as a latitude and longitude.",
"type": "object",
"properties": {
@@ -136,7 +140,7 @@
}
}
},
- "CoordinatesPairAbbreviated": {
+ "LatLongPairAbbreviated": {
"description": "A location represented as a latitude and longitude using short names 'lat' & 'lon'.",
"type": "object",
"properties": {
@@ -152,6 +156,16 @@
}
}
},
+ "BoundingBox": {
+ "x-ms-client-name": "boundingBox",
+ "description": "Bounding box. Projection used - EPSG:3857. Format : 'minLon, minLat, maxLon, maxLat'.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
+ },
"GeoJsonPosition": {
"description": "A `Position` is an array of numbers with two or more elements. The first two elements are _longitude_ and _latitude_, precisely in that order. _Altitude/Elevation_ is an optional third element. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.1) for details.",
"type": "array",
@@ -532,7 +546,7 @@
"Language": {
"name": "language",
"in": "query",
- "description": "Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.\n\nPlease refer to [Supported Languages](https://docs.microsoft.com/en-us/azure/azure-maps/supported-languages) for details.",
+ "description": "Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.\n\nPlease refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.",
"type": "string",
"x-ms-parameter-location": "method"
},
@@ -614,29 +628,195 @@
},
"View": {
"name": "view",
+ "x-ms-client-name": "localizedMapView",
"in": "query",
- "description": "The View parameter specifies which set of geopolitically disputed content is returned via Azure Maps services, including borders and labels displayed on the map. The View parameter (also referred to as “user region parameter”) will show the correct maps for that country/region. By default, the View parameter is set to “Unified” even if you haven’t defined it in the request. It is your responsibility to determine the location of your users, and then set the View parameter correctly for that location. Alternatively, you have the option to set ‘View=Auto’, which will return the map data based on the IP address of the request. The View parameter in Azure Maps must be used in compliance with applicable laws, including those regarding mapping, of the country where maps, images and other data and third party content that you are authorized to access via Azure Maps is made available. Example: view=IN.\n\nPlease refer to [Supported Views](https://aka.ms/AzureMapsLocalizationViews) for details and to see the available Views.",
+ "description": "The View parameter (also called the \"user region\" parameter) allows you to show the correct maps for a certain country/region for geopolitically disputed regions. Different countries have different views of such regions, and the View parameter allows your application to comply with the view required by the country your application will be serving. By default, the View parameter is set to “Unified” even if you haven’t defined it in the request. It is your responsibility to determine the location of your users, and then set the View parameter correctly for that location. Alternatively, you have the option to set ‘View=Auto’, which will return the map data based on the IP address of the request. The View parameter in Azure Maps must be used in compliance with applicable laws, including those regarding mapping, of the country where maps, images and other data and third party content that you are authorized to access via Azure Maps is made available. Example: view=IN.\n\nPlease refer to [Supported Views](https://aka.ms/AzureMapsLocalizationViews) for details and to see the available Views.",
+ "x-ms-parameter-location": "method",
"type": "string",
- "x-ms-parameter-location": "method"
+ "enum": [
+ "AE",
+ "AR",
+ "BH",
+ "IN",
+ "IQ",
+ "JO",
+ "KW",
+ "LB",
+ "MA",
+ "OM",
+ "PK",
+ "PS",
+ "QA",
+ "SA",
+ "SY",
+ "YE",
+ "Auto",
+ "Unified"
+ ],
+ "x-ms-enum": {
+ "name": "LocalizedMapView",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "AE",
+ "description": "United Arab Emirates (Arabic View)"
+ },
+ {
+ "value": "AR",
+ "description": "Argentina (Argentinian View)"
+ },
+ {
+ "value": "BH",
+ "description": "Bahrain (Arabic View)"
+ },
+ {
+ "value": "IN",
+ "description": "India (Indian View)"
+ },
+ {
+ "value": "IQ",
+ "description": "Iraq (Arabic View)"
+ },
+ {
+ "value": "JO",
+ "description": "Jordan (Arabic View)"
+ },
+ {
+ "value": "KW",
+ "description": "Kuwait (Arabic View)"
+ },
+ {
+ "value": "LB",
+ "description": "Lebanon (Arabic View)"
+ },
+ {
+ "value": "MA",
+ "description": "Morocco (Moroccan View)"
+ },
+ {
+ "value": "OM",
+ "description": "Oman (Arabic View)"
+ },
+ {
+ "value": "PK",
+ "description": "Pakistan (Pakistani View)"
+ },
+ {
+ "value": "PS",
+ "description": "Palestinian Authority (Arabic View)"
+ },
+ {
+ "value": "QA",
+ "description": "Qatar (Arabic View)"
+ },
+ {
+ "value": "SA",
+ "description": "Saudi Arabia (Arabic View)"
+ },
+ {
+ "value": "SY",
+ "description": "Syria (Arabic View)"
+ },
+ {
+ "value": "YE",
+ "description": "Yemen (Arabic View)"
+ },
+ {
+ "value": "Auto",
+ "description": "Return the map data based on the IP address of the request."
+ },
+ {
+ "value": "Unified",
+ "description": "Unified View (Others)"
+ }
+ ]
+ }
+ },
+ "PositionLatitudeAbbreviated": {
+ "name": "lat",
+ "x-ms-client-name": "Latitude",
+ "description": "The latitude of the location being passed. Example: 48.36.",
+ "type": "number",
+ "in": "query",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "position"
+ }
+ },
+ "PositionLongitudeAbbreviated": {
+ "name": "lon",
+ "x-ms-client-name": "Longitude",
+ "description": "The longitude of the location being passed. Example: -124.63.",
+ "type": "number",
+ "in": "query",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "position"
+ }
},
"xTileIndex": {
"name": "x",
- "x-ms-client-name": "xTileIndex",
"in": "query",
- "description": "X coordinate of the tile on zoom grid. Value must be in the range [0, 2`zoom` -1].\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.",
+ "description": "X coordinate of the tile on zoom grid. Value must be in the range [0, 2`zoom` -1].\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid) for details.",
"required": true,
"type": "integer",
"format": "int32",
- "x-ms-parameter-location": "method"
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "tileIndex"
+ }
},
"yTileIndex": {
"name": "y",
- "x-ms-client-name": "yTileIndex",
"in": "query",
- "description": "Y coordinate of the tile on zoom grid. Value must be in the range [0, 2`zoom` -1].\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.",
+ "description": "Y coordinate of the tile on zoom grid. Value must be in the range [0, 2`zoom` -1].\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/azure/location-based-services/zoom-levels-and-tile-grid) for details.",
"required": true,
"type": "integer",
"format": "int32",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "tileIndex"
+ }
+ },
+ "zTileIndex": {
+ "name": "zoom",
+ "x-ms-client-name": "z",
+ "in": "query",
+ "description": "Zoom level for the desired tile. \n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.",
+ "required": true,
+ "type": "integer",
+ "format": "int32",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "tileIndex"
+ }
+ },
+ "IncludeText": {
+ "name": "text",
+ "x-ms-client-name": "includeText",
+ "in": "query",
+ "description": "Yes/no value to exclude textual data from response. Only images and country names will be in response.",
+ "type": "string",
+ "enum": [
+ "yes",
+ "no"
+ ],
+ "x-ms-enum": {
+ "name": "IncludeText",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "yes",
+ "description": "Include all textual data in response."
+ },
+ {
+ "value": "no",
+ "description": "Exclude textual data from response. Only images and country names will be in response."
+ }
+ ]
+ },
"x-ms-parameter-location": "method"
}
},
@@ -686,7 +866,7 @@
"x-ms-error-response": true
},
"409StorageLimit": {
- "description": "The [data storage limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits) is reached on the Azure Maps account. You can always use the [Data Delete API](https://docs.microsoft.com/en-us/rest/api/maps/data/deletepreview) to delete old/unused content and create space for new uploads.",
+ "description": "The [data storage limit](https://docs.microsoft.com/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits) is reached on the Azure Maps account. You can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data/deletepreview) to delete old/unused content and create space for new uploads.",
"schema": {
"$ref": "../../../../../common-types/data-plane/v1/types.json#/definitions/ErrorResponse"
},
diff --git a/specification/maps/data-plane/Creator/preview/1.0/examples/spatial/Spatial_GetPointInPolygon.json b/specification/maps/data-plane/Creator/preview/1.0/examples/spatial/Spatial_EvaluatePointInPolygon.json
similarity index 100%
rename from specification/maps/data-plane/Creator/preview/1.0/examples/spatial/Spatial_GetPointInPolygon.json
rename to specification/maps/data-plane/Creator/preview/1.0/examples/spatial/Spatial_EvaluatePointInPolygon.json
diff --git a/specification/maps/data-plane/Creator/preview/1.0/spatial.json b/specification/maps/data-plane/Creator/preview/1.0/spatial.json
index 84aac9f7e193..018f46e700e6 100644
--- a/specification/maps/data-plane/Creator/preview/1.0/spatial.json
+++ b/specification/maps/data-plane/Creator/preview/1.0/spatial.json
@@ -25,15 +25,21 @@
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
"https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "AzureKey": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
+ "in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
"in": "header"
}
},
@@ -44,7 +50,10 @@
]
},
{
- "AzureKey": []
+ "SharedKey": []
+ },
+ {
+ "SasToken": []
}
],
"responses": {},
@@ -112,24 +121,6 @@
},
"x-ms-parameter-location": "method"
},
- "SpatialLatitude": {
- "name": "lat",
- "x-ms-client-name": "Latitude",
- "description": "The latitude of the location being passed. Example: 48.36.",
- "type": "number",
- "in": "query",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "SpatialLongitude": {
- "name": "lon",
- "x-ms-client-name": "Longitude",
- "description": "The longitude of the location being passed. Example: -124.63.",
- "type": "number",
- "in": "query",
- "required": true,
- "x-ms-parameter-location": "method"
- },
"SearchGeofenceRequestBody": {
"name": "searchGeofenceRequestBody",
"in": "body",
@@ -196,12 +187,13 @@
"type": "string"
},
{
- "$ref": "#/parameters/SpatialLatitude"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLatitudeAbbreviated"
},
{
- "$ref": "#/parameters/SpatialLongitude"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLongitudeAbbreviated"
},
{
+ "x-ms-client-name": "altitude",
"name": "z",
"in": "query",
"description": "The sea level in meter of the location being passed. If this parameter is presented, 2D extrusion is used. Example: 200.",
@@ -215,6 +207,7 @@
"type": "string"
},
{
+ "x-ms-client-name": "searchBufferInMeters",
"name": "searchBuffer",
"in": "query",
"description": "The radius of the buffer around the geofence in meters that defines how far to search inside and outside the border of the fence against the coordinate that was provided when calculating the result. The minimum value is 0, and the maximum is 500. The default value is 50.",
@@ -242,7 +235,7 @@
}
},
"schema": {
- "$ref": "#/definitions/GeofenceResponse"
+ "$ref": "#/definitions/Geofence"
}
},
"default": {
@@ -276,12 +269,13 @@
"type": "string"
},
{
- "$ref": "#/parameters/SpatialLatitude"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLatitudeAbbreviated"
},
{
- "$ref": "#/parameters/SpatialLongitude"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLongitudeAbbreviated"
},
{
+ "x-ms-client-name": "altitude",
"name": "z",
"in": "query",
"description": "The sea level in meter of the location being passed. If this parameter is presented, 2D extrusion geofencing is applied. Example: 200.",
@@ -325,7 +319,7 @@
}
},
"schema": {
- "$ref": "#/definitions/GeofenceResponse"
+ "$ref": "#/definitions/Geofence"
}
},
"default": {
@@ -367,7 +361,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/BufferResponse"
+ "$ref": "#/definitions/BufferResult"
}
},
"default": {
@@ -408,7 +402,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/BufferResponse"
+ "$ref": "#/definitions/BufferResult"
}
},
"default": {
@@ -437,10 +431,10 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat"
},
{
- "$ref": "#/parameters/SpatialLatitude"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLatitudeAbbreviated"
},
{
- "$ref": "#/parameters/SpatialLongitude"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLongitudeAbbreviated"
},
{
"name": "numberOfClosestPoints",
@@ -486,10 +480,10 @@
"$ref": "#/parameters/SpatialUploadUdid"
},
{
- "$ref": "#/parameters/SpatialLatitude"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLatitudeAbbreviated"
},
{
- "$ref": "#/parameters/SpatialLongitude"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLongitudeAbbreviated"
},
{
"name": "numberOfClosestPoints",
@@ -531,10 +525,10 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat"
},
{
- "$ref": "#/parameters/SpatialLatitude"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLatitudeAbbreviated"
},
{
- "$ref": "#/parameters/SpatialLongitude"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLongitudeAbbreviated"
},
{
"$ref": "#/parameters/PointInPolygonRequestBody"
@@ -544,7 +538,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/PointInPolygonResponse"
+ "$ref": "#/definitions/PointInPolygonResult"
}
},
"default": {
@@ -554,10 +548,10 @@
},
"get": {
"description": "**Applies to**: S1 pricing tier.\n\nThis API returns a boolean value indicating whether a point is inside a set of polygons. The set of polygons is provided by a GeoJSON file which is uploaded via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and referenced by a unique udid. The GeoJSON file may contain Polygon and MultiPolygon geometries, other geometries will be ignored if provided. If the point is inside or on the boundary of one of these polygons, the value returned is true. In all other cases, the value returned is false. When the point is inside multiple polygons, the result will give intersecting geometries section to show all valid geometries(referenced by geometryId) in user data. The maximum number of vertices accepted to form a Polygon is 10,000.\n\n \nTo test this API, you can upload the sample data from [Post Point In Polygon API](https://docs.microsoft.com/en-us/rest/api/maps/spatial/postpointinpolygon#examples) examples(Request Body) via [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) and replace the [udid] from the [sample request below](https://docs.microsoft.com/en-us/rest/api/maps/spatial/getpointinpolygon#examples) with the udid returned by Data Upload API.",
- "operationId": "Spatial_GetPointInPolygon",
+ "operationId": "Spatial_EvaluatePointInPolygon",
"x-ms-examples": {
"GetPointInPolygon": {
- "$ref": "./examples/spatial/Spatial_GetPointInPolygon.json"
+ "$ref": "./examples/spatial/Spatial_EvaluatePointInPolygon.json"
}
},
"parameters": [
@@ -574,17 +568,17 @@
"$ref": "#/parameters/SpatialUploadUdid"
},
{
- "$ref": "#/parameters/SpatialLatitude"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLatitudeAbbreviated"
},
{
- "$ref": "#/parameters/SpatialLongitude"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/PositionLongitudeAbbreviated"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/PointInPolygonResponse"
+ "$ref": "#/definitions/PointInPolygonResult"
}
},
"default": {
@@ -624,7 +618,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/GreatCircleDistanceResponse"
+ "$ref": "#/definitions/GreatCircleDistanceResult"
}
},
"default": {
@@ -635,24 +629,6 @@
}
},
"definitions": {
- "SpatialCoordinate": {
- "description": "A location represented as a latitude and longitude",
- "type": "object",
- "properties": {
- "lat": {
- "description": "Latitude property",
- "type": "number",
- "format": "double",
- "readOnly": true
- },
- "lon": {
- "description": "Longitude property",
- "type": "number",
- "format": "double",
- "readOnly": true
- }
- }
- },
"GeofenceGeometry": {
"description": "The geofencing geometry.",
"type": "object",
@@ -664,6 +640,7 @@
"readOnly": true
},
"udId": {
+ "x-ms-client-name": "udid",
"description": "The unique id returned from [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadPreview) after uploading a valid GeoJSON FeatureCollection object. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.3) for details. All the feature's properties should contain `geometryId`, which is used for identifying the geometry and is case-sensitive.",
"type": "string",
"readOnly": true
@@ -674,7 +651,7 @@
"readOnly": true
},
"distance": {
- "description": "Distance from the coordinate to the closest border of the geofence. Positive means the coordinate is outside of the geofence. If the coordinate is outside of the geofence, but more than the value of searchBuffer away from the closest geofence border, then the value is 999. Negative means the coordinate is inside of the geofence. If the coordinate is inside the polygon, but more than the value of searchBuffer away from the closest geofencing border, then the value is -999. A value of 999 means that there is great confidence the coordinate is well outside the geofence. A value of -999 means that there is great confidence the coordinate is well within the geofence.",
+ "description": "Distance from the coordinate to the closest border of the geofence (in meters except when special values -999/999 are used). Positive means the coordinate is outside of the geofence. If the coordinate is outside of the geofence, but more than the value of searchBuffer away from the closest geofence border, then the value is 999. Negative means the coordinate is inside of the geofence. If the coordinate is inside the polygon, but more than the value of searchBuffer away from the closest geofencing border, then the value is -999. A value of 999 means that there is great confidence the coordinate is well outside the geofence. A value of -999 means that there is great confidence the coordinate is well within the geofence.",
"type": "number",
"readOnly": true
},
@@ -689,13 +666,14 @@
"readOnly": true
},
"nearestZ": {
+ "x-ms-client-name": "nearestElevation",
"description": "Sea level in meter of the nearest point on the 2D extrusion geometry. This will only be presented in response when value is provided for 'zInMeter' in the request.",
"type": "number",
"readOnly": true
}
}
},
- "GeofenceResponse": {
+ "Geofence": {
"description": "This object is returned from a geofence proximity call.",
"type": "object",
"properties": {
@@ -746,28 +724,31 @@
}
}
},
- "BufferResponse": {
+ "BufferSummary": {
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "udid": {
+ "description": "The udid for the user data if one exists",
+ "type": "string",
+ "readOnly": true
+ },
+ "information": {
+ "description": "The information about what happened during the call.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "BufferResult": {
"description": "This object is returned from a successful Spatial Buffer call.",
"type": "object",
"properties": {
"summary": {
- "description": "Summary of the call.",
- "type": "object",
- "readOnly": true,
- "properties": {
- "udid": {
- "description": "The udid for the user data if one exists",
- "type": "string",
- "readOnly": true
- },
- "information": {
- "description": "The information about what happened during the call.",
- "type": "string",
- "readOnly": true
- }
- }
+ "$ref": "#/definitions/BufferSummary"
},
"result": {
+ "x-ms-client-name": "features",
"description": "The FeatureCollection of buffers for the input.",
"$ref": "../../../Common/preview/1.0/common.json#/definitions/GeoJsonFeatureCollection"
}
@@ -781,7 +762,11 @@
"$ref": "#/definitions/ClosestPointSummary"
},
"result": {
- "$ref": "#/definitions/ClosestPointResult"
+ "description": "Closest Point Result Array",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClosestPoint"
+ }
}
}
},
@@ -791,7 +776,7 @@
"readOnly": true,
"properties": {
"sourcePoint": {
- "$ref": "#/definitions/SpatialCoordinate"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated"
},
"udid": {
"description": "A unique data id (udid) for the uploaded content",
@@ -805,14 +790,7 @@
}
}
},
- "ClosestPointResult": {
- "description": "Closest Point Result Array",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ClosestPointResultEntry"
- }
- },
- "ClosestPointResultEntry": {
+ "ClosestPoint": {
"description": "Closest Point Result Entry Object",
"type": "object",
"readOnly": true,
@@ -823,7 +801,7 @@
"readOnly": true
},
"position": {
- "$ref": "#/definitions/SpatialCoordinate"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated"
},
"geometryId": {
"description": "The unique id identifies a geometry",
@@ -832,7 +810,7 @@
}
}
},
- "PointInPolygonResponse": {
+ "PointInPolygonResult": {
"description": "Returns true if point is within the polygon, false otherwise",
"type": "object",
"properties": {
@@ -840,7 +818,24 @@
"$ref": "#/definitions/PointInPolygonSummary"
},
"result": {
- "$ref": "#/definitions/PointInPolygonResult"
+ "description": "Point In Polygon Result Object",
+ "type": "object",
+ "properties": {
+ "pointInPolygons": {
+ "x-ms-client-name": "isPointInPolygons",
+ "description": "Point In Polygons Property",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "intersectingGeometries": {
+ "description": "Geometries array",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/GeometryId"
+ }
+ }
+ }
}
}
},
@@ -850,7 +845,7 @@
"readOnly": true,
"properties": {
"sourcePoint": {
- "$ref": "#/definitions/SpatialCoordinate"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated"
},
"udid": {
"description": "A unique data id (udid) for the uploaded content. Udid is not applicable for POST spatial operations(set to null)",
@@ -864,46 +859,30 @@
}
}
},
- "PointInPolygonResult": {
- "description": "Point In Polygon Result Object",
+ "GeometryId": {
+ "description": "The Spatial geometry",
+ "type": "string",
+ "readOnly": true
+ },
+ "GreatCircleDistanceSummary": {
+ "description": "Summary object",
"type": "object",
+ "readOnly": true,
"properties": {
- "pointInPolygons": {
- "description": "Point In Polygons Property",
- "type": "boolean",
- "readOnly": true
+ "sourcePoint": {
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated"
},
- "intersectingGeometries": {
- "description": "Geometries array",
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/GeometryId"
- }
+ "targetPoint": {
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated"
}
}
},
- "GeometryId": {
- "description": "The Spatial geometry",
- "type": "string",
- "readOnly": true
- },
- "GreatCircleDistanceResponse": {
+ "GreatCircleDistanceResult": {
"description": "This object is returned from a successful Great Circle Distance call",
"type": "object",
"properties": {
"summary": {
- "description": "Summary object",
- "type": "object",
- "readOnly": true,
- "properties": {
- "sourcePoint": {
- "$ref": "#/definitions/SpatialCoordinate"
- },
- "targetPoint": {
- "$ref": "#/definitions/SpatialCoordinate"
- }
- }
+ "$ref": "#/definitions/GreatCircleDistanceSummary"
},
"result": {
"description": "Result Object",
diff --git a/specification/maps/data-plane/Creator/preview/2.0/alias.json b/specification/maps/data-plane/Creator/preview/2.0/alias.json
index 4f780ebd4c4c..91d2e5d3e70e 100644
--- a/specification/maps/data-plane/Creator/preview/2.0/alias.json
+++ b/specification/maps/data-plane/Creator/preview/2.0/alias.json
@@ -25,15 +25,21 @@
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
"https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "AzureKey": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
+ "in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
"in": "header"
}
},
@@ -44,7 +50,10 @@
]
},
{
- "AzureKey": []
+ "SharedKey": []
+ },
+ {
+ "SasToken": []
}
],
"responses": {},
@@ -107,7 +116,7 @@
"201": {
"description": "Content created successfully. The response body contains the newly created alias id `aliasId`.",
"schema": {
- "$ref": "#/definitions/AliasesCreateResponse"
+ "$ref": "#/definitions/Alias"
},
"headers": {
"Access-Control-Expose-Headers": {
@@ -145,7 +154,7 @@
"200": {
"description": "List alias request completed successfully. The response body contains a list of all the previously created aliases.",
"schema": {
- "$ref": "#/definitions/AliasListResponse"
+ "$ref": "#/definitions/AliasListResult"
}
},
"default": {
@@ -181,7 +190,7 @@
"200": {
"description": "Alias was assigned successfully.",
"schema": {
- "$ref": "#/definitions/AliasListItem"
+ "$ref": "#/definitions/Alias"
}
},
"default": {
@@ -219,10 +228,10 @@
},
"get": {
"description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch the details of a previously created alias.\n\n### Submit Get Details Request\n\nTo get the details of your alias, you will issue a `GET` request with the `aliasId` in the path.\n\n### Get Details Response\n\nThe Get Details API returns the previously created alias in `json` format. The response contains the following details for the alias resource:\n > createdTimestamp - The timestamp that the alias was created.\n > aliasId - The id for the alias.\n > creatorDataItemId - The id for the creator data item that this alias references (could be null if the alias has not been assigned).\n > lastUpdatedTimestamp - The last time the alias was assigned to a resource.\n\nHere's a sample response:\n```json\n{\n \"createdTimestamp\": \"2020-02-13T21:19:11.123Z\",\n \"aliasId\": \"a8a4b8bb-ecf4-fb27-a618-f41721552766\",\n \"creatorDataItemId\": \"e89aebb9-70a3-8fe1-32bb-1fbd0c725f14\",\n \"lastUpdatedTimestamp\": \"2020-02-13T21:19:22.123Z\"\n}\n```",
- "operationId": "Alias_GetDetails",
+ "operationId": "Alias_Get",
"x-ms-examples": {
"Get a previously created alias": {
- "$ref": "./examples/alias/Alias_GetDetails.json"
+ "$ref": "./examples/alias/Alias_Get.json"
}
},
"parameters": [
@@ -240,7 +249,7 @@
"200": {
"description": "Get alias request completed successfully. The response body contains the previously created alias.",
"schema": {
- "$ref": "#/definitions/AliasListItem"
+ "$ref": "#/definitions/Alias"
}
},
"default": {
@@ -251,35 +260,7 @@
}
},
"definitions": {
- "AliasesCreateResponse": {
- "description": "The response model for the Alias Create API for the case when the alias was successfully created.",
- "type": "object",
- "properties": {
- "createdTimestamp": {
- "description": "The created timestamp for the alias.",
- "type": "string",
- "format": "date-time",
- "readOnly": true
- },
- "aliasId": {
- "description": "The id for the alias.",
- "type": "string",
- "readOnly": true
- },
- "creatorDataItemId": {
- "description": "The id for the creator data item that this alias references (could be null if the alias has not been assigned).",
- "type": "string",
- "readOnly": true
- },
- "lastUpdatedTimestamp": {
- "description": "The timestamp of the last time the alias was assigned.",
- "type": "string",
- "format": "date-time",
- "readOnly": true
- }
- }
- },
- "AliasListResponse": {
+ "AliasListResult": {
"description": "The response model for the List API. Returns a list of all the previously created aliases.",
"type": "object",
"properties": {
@@ -288,7 +269,7 @@
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/AliasListItem"
+ "$ref": "#/definitions/Alias"
}
},
"nextLink": {
@@ -298,13 +279,14 @@
}
}
},
- "AliasListItem": {
+ "Alias": {
"description": "Detailed information for the alias.",
"type": "object",
"properties": {
"createdTimestamp": {
"description": "The created timestamp for the alias.",
"type": "string",
+ "format": "date-time",
"readOnly": true
},
"aliasId": {
diff --git a/specification/maps/data-plane/Creator/preview/2.0/data.json b/specification/maps/data-plane/Creator/preview/2.0/data.json
index 7e56d1ee4ab8..0db86c566229 100644
--- a/specification/maps/data-plane/Creator/preview/2.0/data.json
+++ b/specification/maps/data-plane/Creator/preview/2.0/data.json
@@ -25,15 +25,21 @@
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
"https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "AzureKey": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
+ "in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
"in": "header"
}
},
@@ -44,7 +50,10 @@
]
},
{
- "AzureKey": []
+ "SharedKey": []
+ },
+ {
+ "SasToken": []
}
],
"responses": {},
@@ -58,9 +67,8 @@
"default": "2.0",
"x-ms-parameter-location": "client"
},
- "UploadDataFormat": {
+ "DataFormat": {
"name": "dataFormat",
- "x-ms-client-name": "UploadDataFormat",
"description": "Data format of the content being uploaded.",
"type": "string",
"in": "query",
@@ -71,7 +79,7 @@
"dwgzippackage"
],
"x-ms-enum": {
- "name": "UploadDataFormat",
+ "name": "DataFormat",
"modelAsString": true,
"values": [
{
@@ -83,6 +91,7 @@
"description": "Compressed data format."
},
{
+ "name": "dwgZipPackage",
"value": "dwgzippackage",
"description": "ZIP package containing DWG file."
}
@@ -92,7 +101,6 @@
},
"UniqueDataId": {
"name": "udid",
- "x-ms-client-name": "UniqueDataId",
"description": "The unique data id for the content. The `udid` must have been obtained from a successful [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) call.",
"type": "string",
"in": "path",
@@ -101,7 +109,6 @@
},
"UploadDataDescription": {
"name": "description",
- "x-ms-client-name": "UploadDataDescription",
"description": "The description to be given to the upload.",
"type": "string",
"in": "query",
@@ -120,7 +127,7 @@
"/mapData": {
"post": {
"description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Data Upload API allows the caller to upload data content to the Azure Maps service.\nYou can use this API in a scenario like uploading a collection of Geofences in `GeoJSON` \nformat, for use in our [Azure Maps Geofencing Service](https://docs.microsoft.com/rest/api/maps/spatial).\n\n## Submit Upload Request\n\nTo upload your content you will use a `POST` request. The request body will contain the data to upload. The \n`dataFormat` query parameter will contain the format for the data, the `dataSharingLevel` query parameter \ncan contain the sharing level for the data. The `Content-Type` header will be set to the content type of the \ndata.\n\nFor example, to upload a collection of geofences in `GeoJSON` format, set the request body to the geofence \ncontent. Set the `dataFormat` query parameter to _geojson_, and set the `Content-Type` header to either one \nof the following media types:\n\n- `application/json`\n- `application/vnd.geo+json`\n- `application/octet-stream`\n\nHere's a sample request body for uploading a simple Geofence represented as a circle geometry using a center \npoint and a radius. The sample below is in `GeoJSON`:\n\n```json\n{\n \"type\": \"FeatureCollection\",\n \"features\": [{\n \"type\": \"Feature\",\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [-122.126986, 47.639754]\n },\n \"properties\": {\n \"geometryId\": \"001\",\n \"radius\": 500\n }\n }]\n}\n```\n\nThe Data Upload API performs a \n[long-running request](https://aka.ms/am-creator-lrt-v2).\n\n## Data Upload Limits\n\nPlease, be aware that currently every Azure Maps account has a [data storage limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). \nOnce the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. \nYou can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to \ndelete old/unused content and create space for new uploads.",
- "operationId": "Data_UploadPreview",
+ "operationId": "Data_Upload",
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
"final-state-via": "location"
@@ -145,7 +152,7 @@
"$ref": "#/parameters/UploadDataDescription"
},
{
- "$ref": "#/parameters/UploadDataFormat"
+ "$ref": "#/parameters/DataFormat"
},
{
"name": "UploadContent",
@@ -174,7 +181,7 @@
},
"get": {
"description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API allows the caller to fetch a list of all content uploaded previously using the [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview). \n\n\n### Submit List Request\n\nTo list all your map data content you will issue a `GET` request with no additional parameters.\n\n\n### List Data Response\n\nThe Data List API returns the complete list of all data in `json` format. The response contains the following details for each data resource:\n\n > udid - The unique data id for the data resource.\n\n > location - The location of the data resource. Execute a HTTP `GET` on this location to download the data.\n\n\nHere's a sample response returning the `udid` and `location` of 3 data resources: \n\n
\n\n```json\n{\n \"mapDataList\": \n [\n {\n \"udid\": \"9a1288fa-1858-4a3b-b68d-13a8j5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/9a1288fa-1858-4a3b-b68d-13a8j5af7d7c?api-version=1.0\",\n \"sizeInBytes\": 29920,\n \"uploadStatus\": \"Completed\"\n },\n {\n \"udid\": \"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/8b1288fa-1958-4a2b-b68e-13a7i5af7d7c?api-version=1.0\",\n \"sizeInBytes\": 1339,\n \"uploadStatus\": \"Completed\"\n },\n {\n \"udid\": \"7c1288fa-2058-4a1b-b68f-13a6h5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/7c1288fa-2058-4a1b-b68f-13a6h5af7d7c?api-version=1.0\",\n \"sizeInBytes\": 1650,\n \"uploadStatus\": \"Pending\"\n }]\n}\n```\n\n
",
- "operationId": "Data_ListPreview",
+ "operationId": "Data_List",
"x-ms-examples": {
"List all the previously uploaded data": {
"$ref": "./examples/data/Data_List.json"
@@ -192,7 +199,7 @@
"200": {
"description": "List data request completed successfully. The response body contains a list of all the previously uploaded data.",
"schema": {
- "$ref": "#/definitions/MapDataListResponse"
+ "$ref": "#/definitions/MapDataListResult"
}
},
"default": {
@@ -204,7 +211,7 @@
"/mapData/{udid}": {
"put": {
"description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThe Data Update API allows the caller to update a previously uploaded data content.\n\nYou can use this API in a scenario like adding or removing geofences to or from an existing collection of geofences. \nGeofences are uploaded using the [Data Upload API](https://docs.microsoft.com/rest/api/maps/data-v2/upload-preview), for \nuse in the [Azure Maps Geofencing Service](https://docs.microsoft.com/rest/api/maps/spatial).\n\nPlease note that the Update API will *replace* and *override* the existing data content.\n\n## Submit Update Request\n\nTo update your content you will use a `PUT` request. The request body will contain the new data that will replace \nthe existing data. The `Content-Type` header will be set to the content type of the data, and the path will contain \nthe `udid` of the data to be update.\n\nFor example, to update a collection of geofences that were previously uploaded using the Upload API, place the new \ngeofence content in the request body. Set the `udid` parameter in the path to the `udid` of the data received \npreviously in the upload API response. And set the `Content-Type` header to one of the following media types:\n\n- `application/json`\n- `application/vnd.geo+json`\n- `application/octet-stream`\n\nHere's a sample request body for updating a simple Geofence. It's represented as a circle geometry using a center \npoint and a radius. The sample below is in `GeoJSON`:\n\n```json\n{\n \"type\": \"FeatureCollection\",\n \"features\": [{\n \"type\": \"Feature\",\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [-122.126986, 47.639754]\n },\n \"properties\": {\n \"geometryId\": \"001\",\n \"radius\": 500\n }\n }]\n}\n```\n\nThe previously uploaded geofence had a radius of 100m. The above request will update it to 500m.\n\nThe Data Update API performs a \n[long-running request](https://aka.ms/am-creator-lrt-v2).\n\n## Data Update Limits\n\nPlease, be aware that currently every Azure Maps account has a [data storage limit](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). \nOnce the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. \nYou can always use the [Data Delete API](https://docs.microsoft.com/rest/api/maps/data-v2/delete-preview) to \ndelete old/unused content and create space for new uploads.",
- "operationId": "Data_UpdatePreview",
+ "operationId": "Data_Update",
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
"final-state-via": "location"
@@ -254,7 +261,7 @@
},
"get": {
"description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API allows the caller to download a previously uploaded data content.
\nYou can use this API in a scenario like downloading an existing collection of geofences uploaded previously using the [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) for use in our [Azure Maps Geofencing Service](https://docs.microsoft.com/en-us/rest/api/maps/spatial). \n\n\n### Submit Download Request\n\nTo download your content you will use a `GET` request where the path will contain the `udid` of the data to download. Optionally, you can also pass in an `Accept` header to specify a preference for the `Content-Type` of the data response.
\nFor example, to download a collection of geofences previously uploaded using the Upload API, set the `udid` parameter in the path to the `udid` of the data received previously in the upload API response and set the `Accept` header to either one of the following media types: \n \n - `application/json`\n - `application/vnd.geo+json`\n - `application/octet-stream`\n\n\n### Download Data Response\n\nThe Download API will return a HTTP `200 OK` response if the data resource with the passed-in `udid` is found, where the response body will contain the content of the data resource.
\nA HTTP `400 Bad Request` error response will be returned if the data resource with the passed-in `udid` is not found.
\n\nHere's a sample response body for a simple geofence represented in `GeoJSON` uploaded previously using the Upload API:\n
\n\n```json\n{\n \"type\": \"FeatureCollection\",\n \"features\": [{\n \"type\": \"Feature\",\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [-122.126986, 47.639754]\n },\n \"properties\": {\n \"geometryId\": \"001\",\n \"radius\": 500\n }\n }]\n}\n```",
- "operationId": "Data_DownloadPreview",
+ "operationId": "Data_Download",
"x-ms-examples": {
"Download previously uploaded GeoJSON data containing geometries that represent a collection of geofences": {
"$ref": "./examples/data/Data_Download.json"
@@ -296,7 +303,7 @@
},
"delete": {
"description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API allows the caller to delete a previously uploaded data content.
\nYou can use this API in a scenario like removing geofences previously uploaded using the [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview) for use in our [Azure Maps Geofencing Service](https://docs.microsoft.com/en-us/rest/api/maps/spatial). You can also use this API to delete old/unused uploaded content and create space for new content.\n\n\n### Submit Delete Request\n\nTo delete your content you will issue a `DELETE` request where the path will contain the `udid` of the data to delete.
\nFor example, to delete a collection of geofences previously uploaded using the Upload API, set the `udid` parameter in the path to the `udid` of the data received previously in the upload API response. \n\n\n### Delete Data Response\n\nThe Data Delete API returns a HTTP `204 No Content` response with an empty body, if the data resource was deleted successfully.
\nA HTTP `400 Bad Request` error response will be returned if the data resource with the passed-in `udid` is not found. ",
- "operationId": "Data_DeletePreview",
+ "operationId": "Data_Delete",
"x-ms-examples": {
"Delete previously uploaded GeoJSON data containing geometries that represent a collection of geofences": {
"$ref": "./examples/data/Data_Delete.json"
@@ -326,7 +333,7 @@
"/mapData/operations/{operationId}": {
"get": {
"description": "This path will be obtained from a call to POST /mapData. While in progress, an http200 will be returned with no extra headers - followed by an http200 with Resource-Location header once completed.",
- "operationId": "Data_GetOperationPreview",
+ "operationId": "Data_GetOperation",
"x-ms-examples": {
"Get the status of an operation which is still running": {
"$ref": "./examples/data/Data_GetOperationStillRunning.json"
@@ -355,11 +362,7 @@
}
},
"definitions": {
- "MapDataDownloadResponse": {
- "description": "The response model for the Data Download API. The response body will contain the content for the passed in `udid`.",
- "type": "object"
- },
- "MapDataListResponse": {
+ "MapDataListResult": {
"description": "The response model for the Data List API. Returns a list of all the previously uploaded data.",
"type": "object",
"properties": {
@@ -368,12 +371,68 @@
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/MapDataDetailInfo"
+ "$ref": "#/definitions/MapData"
}
}
}
},
- "MapDataDetailInfo": {
+ "DataFormat": {
+ "description": "Data format of the uploaded content.",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "geojson",
+ "zip",
+ "dwgzippackage"
+ ],
+ "x-ms-enum": {
+ "name": "DataFormat",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "geojson",
+ "description": "[GeoJSON](https://tools.ietf.org/html/rfc7946) is a JSON based geospatial data interchange format."
+ },
+ {
+ "value": "zip",
+ "description": "Compressed data format."
+ },
+ {
+ "name": "dwgZipPackage",
+ "value": "dwgzippackage",
+ "description": "ZIP package containing DWG file."
+ }
+ ]
+ }
+ },
+ "UploadStatus": {
+ "description": "The current upload status of the content.",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "Pending",
+ "Completed",
+ "Failed"
+ ],
+ "x-ms-enum": {
+ "name": "UploadStatus",
+ "values": [
+ {
+ "value": "Pending",
+ "description": "Upload is processing"
+ },
+ {
+ "value": "Completed",
+ "description": "Upload validation and processing completed"
+ },
+ {
+ "value": "Failed",
+ "description": "Upload validation and/or processing failure"
+ }
+ ]
+ }
+ },
+ "MapData": {
"description": "Detail information for the data.",
"type": "object",
"properties": {
@@ -383,8 +442,10 @@
"readOnly": true
},
"location": {
+ "x-ms-client-name": "locationURL",
"description": "The location of the data. Execute a HTTP `GET` on this location to download the data.",
"type": "string",
+ "format": "uri",
"readOnly": true
},
"sizeInBytes": {
@@ -394,14 +455,10 @@
"readOnly": true
},
"uploadStatus": {
- "description": "The current upload status of the content.",
- "type": "string",
- "readOnly": true
+ "$ref": "#/definitions/UploadStatus"
},
"dataFormat": {
- "description": "The current data format.",
- "type": "string",
- "readOnly": true
+ "$ref": "#/definitions/DataFormat"
},
"description": {
"description": "The current description.",
diff --git a/specification/maps/data-plane/Creator/preview/2.0/dataset.json b/specification/maps/data-plane/Creator/preview/2.0/dataset.json
index 49360cdd2775..6a724a677cd8 100644
--- a/specification/maps/data-plane/Creator/preview/2.0/dataset.json
+++ b/specification/maps/data-plane/Creator/preview/2.0/dataset.json
@@ -25,15 +25,21 @@
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
"https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "AzureKey": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
+ "in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
"in": "header"
}
},
@@ -44,7 +50,10 @@
]
},
{
- "AzureKey": []
+ "SharedKey": []
+ },
+ {
+ "SasToken": []
}
],
"responses": {},
@@ -66,9 +75,8 @@
"required": true,
"x-ms-parameter-location": "method"
},
- "DescriptionDataset": {
+ "DatasetDescription": {
"name": "description",
- "x-ms-client-name": "DescriptionDataset",
"description": "The description to be given to the dataset.",
"type": "string",
"in": "query",
@@ -126,7 +134,7 @@
"$ref": "#/parameters/AppendDatasetId"
},
{
- "$ref": "#/parameters/DescriptionDataset"
+ "$ref": "#/parameters/DatasetDescription"
}
],
"responses": {
@@ -142,7 +150,7 @@
}
},
"get": {
- "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a list of all previously successfully created datasets.\n\n### Submit List Request\n\nTo list all your datasets, you will issue a `GET` request with no additional parameters.\n\n\n### List Data Response\n\nThe List API returns the complete list of all datasets in `json` format. The response contains the following fields (if they are not null or empty):\n> created - The timestamp the dataset was created.\n> datasetId - The id for the dataset.\n> description - The description for the dataset.\n> datasetSources - The source data that was used when the create request was issued.\n> ontology - The source [ontology](https://docs.microsoft.com/en-us/azure/azure-maps/creator-facility-ontology) that was used in the conversion service for the input data.
\n\nThe `datasetSources` describes the source data that was used when the create request was issued and contains the following elements (if they are not null or empty):\n\n> conversionIds - The list of `conversionId` (null if none were provided).\n> appendDatasetId - The `datasetId` that was used for an append operation (null if none was used).\n>featureCounts - The counts for each feature type in the dataset.
\n\nHere's a sample response returning the `timestamp`, `datasetId`, `description`, `datasetSources`, and `ontology` of 3 dataset resources:\n\n\n```json\n{\n \"datasets\": [\n {\n \"timestamp\": \"2020-01-01T22:50:48.123Z\",\n \"datasetId\": \"f6495f62-94f8-0ec2-c252-45626f82fcb2\",\n \"description\": \"Some description or comment for the dataset.\",\n \"datasetSources\": {\n \"conversionIds\": [\n \"15d21452-c9bb-27b6-5e79-743ca5c3205d\"\n ], },\n \"ontology\": \"facility-2.0\",\n \"featureCounts\": {\n \"directoryInfo\": 2,\n \"category\": 10,\n \"facility\": 1,\n \"level\": 3,\n \"unit\": 183,\n \"zone\": 3,\n \"verticalPenetration\": 6,\n \"opening\": 48,\n \"areaElement\": 108\n }\n },\n {\n \"timestamp\": \"2020-01-01T22:57:53.123Z\",\n \"datasetId\": \"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\n \"description\": \"Create from upload '0c1288fa-2058-4a1b-b68d-13a5f5af7d7c'.\",\n \"datasetSources\": {\n \"conversionIds\": [\n \"0c1288fa-2058-4a1b-b68d-13a5f5af7d7c\"\n ],\n \"appendDatasetId\": \"46d1edb6-d29e-4786-9589-dbd4efd7a977\"\n },\n \"ontology\": \"facility-2.0\",\n \"featureCounts\": {\n \"directoryInfo\": 2,\n \"category\": 10,\n \"facility\": 1,\n \"level\": 3,\n \"unit\": 183,\n \"zone\": 3,\n \"verticalPenetration\": 6,\n \"opening\": 48,\n \"areaElement\": 108\n }\n }\n ]\n}\n```",
+ "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis API allows the caller to fetch a list of all previously successfully created datasets.\n\n### Submit List Request\n\nTo list all your datasets, you will issue a `GET` request with no additional parameters.\n\n\n### List Data Response\n\nThe List API returns the complete list of all datasets in `json` format. The response contains the following fields (if they are not null or empty):\n> created - The timestamp the dataset was created.\n> datasetId - The id for the dataset.\n> description - The description for the dataset.\n> datasetSources - The source data that was used when the create request was issued.\n> ontology - The source [ontology](https://docs.microsoft.com/en-us/azure/azure-maps/creator-facility-ontology) that was used in the conversion service for the input data.
\n\nThe `datasetSources` describes the source data that was used when the create request was issued and contains the following elements (if they are not null or empty):\n\n> conversionIds - The list of `conversionId` (null if none were provided).\n> appendDatasetId - The `datasetId` that was used for an append operation (null if none was used).\n>featureCounts - The counts for each feature type in the dataset.
\n\nHere's a sample response returning the `timestamp`, `datasetId`, `description`, `datasetSources`, and `ontology` of 3 dataset resources:\n\n\n```json\n{\n \"datasets\": [\n {\n \"timestamp\": \"2020-01-01T22:50:48.123Z\",\n \"datasetId\": \"f6495f62-94f8-0ec2-c252-45626f82fcb2\",\n \"description\": \"Some description or comment for the dataset.\",\n \"datasetSources\": {\n \"conversionIds\": [\n \"15d21452-c9bb-27b6-5e79-743ca5c3205d\"\n ], },\n \"\": \"facility-2.0\",\n \"featureCounts\": {\n \"directoryInfo\": 2,\n \"category\": 10,\n \"facility\": 1,\n \"level\": 3,\n \"unit\": 183,\n \"zone\": 3,\n \"verticalPenetration\": 6,\n \"opening\": 48,\n \"areaElement\": 108\n }\n },\n {\n \"timestamp\": \"2020-01-01T22:57:53.123Z\",\n \"datasetId\": \"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\n \"description\": \"Create from upload '0c1288fa-2058-4a1b-b68d-13a5f5af7d7c'.\",\n \"datasetSources\": {\n \"conversionIds\": [\n \"0c1288fa-2058-4a1b-b68d-13a5f5af7d7c\"\n ],\n \"appendDatasetId\": \"46d1edb6-d29e-4786-9589-dbd4efd7a977\"\n },\n \"ontology\": \"facility-2.0\",\n \"featureCounts\": {\n \"directoryInfo\": 2,\n \"category\": 10,\n \"facility\": 1,\n \"level\": 3,\n \"unit\": 183,\n \"zone\": 3,\n \"verticalPenetration\": 6,\n \"opening\": 48,\n \"areaElement\": 108\n }\n }\n ]\n}\n```",
"operationId": "Dataset_List",
"x-ms-examples": {
"List all the previously created datasets": {
@@ -165,7 +173,7 @@
"200": {
"description": "The dataset request completed successfully. The response body contains the previously created dataset.",
"schema": {
- "$ref": "#/definitions/DatasetListResponse"
+ "$ref": "#/definitions/DatasetListResult"
}
},
"default": {
@@ -198,7 +206,7 @@
"200": {
"description": "The get dataset request completed successfully.",
"schema": {
- "$ref": "#/definitions/DatasetDetailInfo"
+ "$ref": "#/definitions/Dataset"
}
},
"default": {
@@ -270,7 +278,7 @@
}
},
"definitions": {
- "DatasetListResponse": {
+ "DatasetListResult": {
"description": "The response model for the Dataset List API. The response body will contain a list of all the previously created datasets.",
"type": "object",
"properties": {
@@ -279,7 +287,7 @@
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/DatasetDetailInfo"
+ "$ref": "#/definitions/Dataset"
}
},
"nextLink": {
@@ -289,13 +297,14 @@
}
}
},
- "DatasetDetailInfo": {
+ "Dataset": {
"description": "Detail information for the dataset.",
"type": "object",
"properties": {
"created": {
"description": "The created timestamp for the dataset.",
"type": "string",
+ "format": "date-time",
"readOnly": true
},
"datasetId": {
diff --git a/specification/maps/data-plane/Creator/preview/2.0/dwgconversion.json b/specification/maps/data-plane/Creator/preview/2.0/dwgconversion.json
index cec49312d4bb..ca5b9048a125 100644
--- a/specification/maps/data-plane/Creator/preview/2.0/dwgconversion.json
+++ b/specification/maps/data-plane/Creator/preview/2.0/dwgconversion.json
@@ -25,15 +25,21 @@
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
"https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "AzureKey": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
+ "in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
"in": "header"
}
},
@@ -44,7 +50,10 @@
]
},
{
- "AzureKey": []
+ "SharedKey": []
+ },
+ {
+ "SasToken": []
}
],
"responses": {},
@@ -80,6 +89,20 @@
"type": "string",
"in": "query",
"required": true,
+ "enum": [
+ "facility-2.0"
+ ],
+ "x-ms-enum": {
+ "name": "OutputOntology",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "facility-2.0",
+ "description": "Facility ontology defines how Azure Maps Creator internally stores facility data in a Creator dataset."
+ }
+ ]
+ },
+ "x-ms-client-default": "facility-2.0",
"x-ms-parameter-location": "method"
},
"DescriptionDwgConversion": {
@@ -165,7 +188,7 @@
"200": {
"description": "List request completed successfully.",
"schema": {
- "$ref": "#/definitions/ConversionListResponse"
+ "$ref": "#/definitions/ConversionListResult"
}
},
"default": {
@@ -198,7 +221,7 @@
"200": {
"description": "Returns details of the specified conversion.",
"schema": {
- "$ref": "#/definitions/ConversionListDetailInfo"
+ "$ref": "#/definitions/Conversion"
}
},
"default": {
@@ -267,7 +290,7 @@
}
},
"definitions": {
- "ConversionListResponse": {
+ "ConversionListResult": {
"description": "The response model for the Conversion List API.",
"type": "object",
"properties": {
@@ -276,7 +299,7 @@
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/ConversionListDetailInfo"
+ "$ref": "#/definitions/Conversion"
}
},
"nextLink": {
@@ -286,7 +309,7 @@
}
}
},
- "ConversionListDetailInfo": {
+ "Conversion": {
"description": "Detail information for the conversion requests.",
"type": "object",
"properties": {
@@ -315,6 +338,10 @@
},
"featureCounts": {
"description": "A summary of feature counts in this conversion.",
+ "additionalProperties": {
+ "type": "integer",
+ "format": "int64"
+ },
"type": "object",
"readOnly": true
}
diff --git a/specification/maps/data-plane/Creator/preview/2.0/examples/alias/Alias_GetDetails.json b/specification/maps/data-plane/Creator/preview/2.0/examples/alias/Alias_Get.json
similarity index 100%
rename from specification/maps/data-plane/Creator/preview/2.0/examples/alias/Alias_GetDetails.json
rename to specification/maps/data-plane/Creator/preview/2.0/examples/alias/Alias_Get.json
diff --git a/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_CreateStateset.json b/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_CreateStateset.json
index 10cb4c1c3c01..80d3be39e2f1 100644
--- a/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_CreateStateset.json
+++ b/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_CreateStateset.json
@@ -4,7 +4,7 @@
"api-version": "2.0",
"description": "Stateset for Azure Maps POC.",
"datasetId": "5d34fbe8-87b7-f7c0-3144-c50e003a3c75",
- "statesetCreateRequestBody": {
+ "styleRules": {
"styles": [
{
"keyName": "s1",
diff --git a/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_GetStates.json b/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_ListStates.json
similarity index 100%
rename from specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_GetStates.json
rename to specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_ListStates.json
diff --git a/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_UpdateStates.json b/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_UpdateStates.json
index ef821c9a0fbe..ee6316364a98 100644
--- a/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_UpdateStates.json
+++ b/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_UpdateStates.json
@@ -4,7 +4,7 @@
"api-version": "2.0",
"statesetId": "b24bdb73-1305-3212-1909-a428d937b64",
"featureId": "SPC4709",
- "featureStateUpdateRequestBody": {
+ "featureStates": {
"states": [
{
"keyName": "s1",
diff --git a/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_UpdateStateset.json b/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_UpdateStateset.json
index 792430d33438..7bc6f55f1718 100644
--- a/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_UpdateStateset.json
+++ b/specification/maps/data-plane/Creator/preview/2.0/examples/featurestate/Featurestate_UpdateStateset.json
@@ -3,7 +3,7 @@
"geography": "us",
"api-version": "2.0",
"statesetId": "b24bdb73-1305-3212-1909-a428d937b64",
- "statesetStyleUpdateRequestBody": {
+ "styleRules": {
"styles": [
{
"keyName": "s1",
diff --git a/specification/maps/data-plane/Creator/preview/2.0/examples/wfs/WFS_GetConformance.json b/specification/maps/data-plane/Creator/preview/2.0/examples/wfs/WFS_ListConformance.json
similarity index 100%
rename from specification/maps/data-plane/Creator/preview/2.0/examples/wfs/WFS_GetConformance.json
rename to specification/maps/data-plane/Creator/preview/2.0/examples/wfs/WFS_ListConformance.json
diff --git a/specification/maps/data-plane/Creator/preview/2.0/featurestate.json b/specification/maps/data-plane/Creator/preview/2.0/featurestate.json
index cc8fafcd0f60..96bbaf6ee5b6 100644
--- a/specification/maps/data-plane/Creator/preview/2.0/featurestate.json
+++ b/specification/maps/data-plane/Creator/preview/2.0/featurestate.json
@@ -25,15 +25,21 @@
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
"https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "AzureKey": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
+ "in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
"in": "header"
}
},
@@ -44,7 +50,10 @@
]
},
{
- "AzureKey": []
+ "SharedKey": []
+ },
+ {
+ "SasToken": []
}
],
"responses": {},
@@ -106,8 +115,9 @@
"required": true,
"x-ms-parameter-location": "method"
},
- "StateKeyNameDelete": {
+ "StateKeyName": {
"name": "stateKeyName",
+ "x-ms-client-name": "keyName",
"description": "The Name of the state to be deleted.",
"type": "string",
"in": "query",
@@ -139,12 +149,12 @@
"$ref": "#/parameters/FeatureStateSetDescription"
},
{
- "name": "statesetCreateRequestBody",
+ "name": "styleRules",
"in": "body",
"description": "The stateset style JSON data.",
"required": true,
"schema": {
- "$ref": "#/definitions/StylesObject"
+ "$ref": "#/definitions/StyleRules"
}
}
],
@@ -152,7 +162,7 @@
"200": {
"description": "Stateset created.",
"schema": {
- "$ref": "#/definitions/StatesetCreatedResponse"
+ "$ref": "#/definitions/StatesetCreatedResult"
}
},
"default": {
@@ -162,7 +172,7 @@
},
"get": {
"description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n This API allows the caller to fetch a list of all previously successfully created statesets.",
- "operationId": "FeatureState_ListStateset",
+ "operationId": "FeatureState_ListStatesets",
"x-ms-examples": {
"List all the previously created statesets": {
"$ref": "./examples/featurestate/Featurestate_List.json"
@@ -184,7 +194,7 @@
"200": {
"description": "The list stateset request completed successfully. The response body contains a list of all the previously created statesets.",
"schema": {
- "$ref": "#/definitions/StatesetListResponse"
+ "$ref": "#/definitions/StatesetListResult"
}
},
"default": {
@@ -196,7 +206,7 @@
"/featureStateSets/{statesetId}": {
"put": {
"description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThis PUT API allows the user to update the stateset style rules.",
- "operationId": "FeatureState_PutStateset",
+ "operationId": "FeatureState_UpdateStateset",
"x-ms-examples": {
"Update stateset style rules with a statesetId": {
"$ref": "./examples/featurestate/Featurestate_UpdateStateset.json"
@@ -213,12 +223,12 @@
"$ref": "#/parameters/StatesetIdInPath"
},
{
- "name": "statesetStyleUpdateRequestBody",
+ "name": "styleRules",
"in": "body",
"description": "The stateset style JSON data. Only style rules are allowed to be updated, update on keyname and type is not allowed.",
"required": true,
"schema": {
- "$ref": "#/definitions/StylesObject"
+ "$ref": "#/definitions/StyleRules"
}
}
],
@@ -282,7 +292,7 @@
"200": {
"description": "Get request completed successfully.",
"schema": {
- "$ref": "#/definitions/StatesetGetResponse"
+ "$ref": "#/definitions/Stateset"
}
},
"default": {
@@ -314,7 +324,7 @@
"$ref": "#/parameters/FeatureIdSet"
},
{
- "name": "featureStateUpdateRequestBody",
+ "name": "featureStates",
"in": "body",
"description": "The feature state JSON data. A feature can have only one state at a given point in time. The specified state keyname must have been defined during the stateset creation.",
"required": true,
@@ -354,7 +364,7 @@
"$ref": "#/parameters/FeatureIdDelete"
},
{
- "$ref": "#/parameters/StateKeyNameDelete"
+ "$ref": "#/parameters/StateKeyName"
}
],
"responses": {
@@ -367,11 +377,11 @@
}
},
"get": {
- "operationId": "FeatureState_GetStates",
+ "operationId": "FeatureState_ListStates",
"description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\n This API returns the current state information associated with the given feature in the given stateset.",
"x-ms-examples": {
"Get the current states of a feature": {
- "$ref": "./examples/featurestate/Featurestate_GetStates.json"
+ "$ref": "./examples/featurestate/Featurestate_ListStates.json"
}
},
"parameters": [
@@ -403,7 +413,7 @@
}
},
"definitions": {
- "StatesetGetResponse": {
+ "Stateset": {
"description": "The response model for the successful Stateset Get API.",
"type": "object",
"properties": {
@@ -420,11 +430,12 @@
}
},
"statesetStyle": {
- "$ref": "#/definitions/StylesObject"
+ "x-ms-client-name": "styleRules",
+ "$ref": "#/definitions/StyleRules"
}
}
},
- "StatesetListResponse": {
+ "StatesetListResult": {
"description": "The response model for the successful Stateset List API.",
"type": "object",
"properties": {
@@ -432,7 +443,7 @@
"description": "A list of statesets information.",
"type": "array",
"items": {
- "$ref": "#/definitions/StatesetInfoObject"
+ "$ref": "#/definitions/StatesetInfo"
}
},
"nextLink": {
@@ -442,32 +453,23 @@
}
}
},
- "StatesetInfoObject": {
+ "StatesetInfo": {
"description": "The stateset information detail.",
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Stateset"
+ }
+ ],
"properties": {
"statesetId": {
"description": "The stateset ID of this stateset.",
- "type": "string"
- },
- "description": {
- "description": "Description associated with the stateset.",
"type": "string",
"readOnly": true
- },
- "datasetIds": {
- "description": "Dataset ID associated with the stateset.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "statesetStyle": {
- "$ref": "#/definitions/StylesObject"
}
}
},
- "StatesetCreatedResponse": {
+ "StatesetCreatedResult": {
"description": "The response model for the successful Stateset Create API.",
"type": "object",
"properties": {
@@ -486,12 +488,12 @@
"description": "The feature states array.",
"type": "array",
"items": {
- "$ref": "#/definitions/FeatureStateObject"
+ "$ref": "#/definitions/FeatureState"
}
}
}
},
- "FeatureStateObject": {
+ "FeatureState": {
"description": "Single feature state model.",
"type": "object",
"properties": {
@@ -509,25 +511,26 @@
}
}
},
- "StylesObject": {
+ "StyleRules": {
"description": "The styles model.",
"type": "object",
"properties": {
"styles": {
- "description": "An array of stateset styles. The style rule could be a numeric or string or a boolean type style rule. Refer to NumberRuleObject, StringRuleObject and BooleanRuleObject definitions [here](https://aka.ms/AzureMapsStatesetStylesObject). ",
+ "x-ms-client-name": "styleRules",
+ "description": "An array of stateset style rules. The style rule could be a numeric or string or a boolean type style rule. Refer to NumberRule, StringRule and BooleanRule definitions [here](https://aka.ms/AzureMapsStatesetStyles). ",
"type": "array",
"items": {
- "$ref": "#/definitions/StyleObject"
+ "$ref": "#/definitions/StyleRule"
}
}
}
},
- "NumberRuleObject": {
+ "NumberRule": {
"description": "The numeric rule. The color is selected from the first range it falls into.",
"type": "object",
"properties": {
"range": {
- "$ref": "#/definitions/RangeObject"
+ "$ref": "#/definitions/Range"
},
"color": {
"description": "The color when value is within the range. Color is a JSON string in a variety of permitted formats, HTML-style hex values, RGB (\"#ff0\", \"#ffff00\", \"rgb(255, 255, 0)\"), RGBA (\"rgba(255, 255, 0, 1)\"), HSL(\"hsl(100, 50%, 50%)\"), and HSLA(\"hsla(100, 50%, 50%, 1)\"). Predefined HTML colors names, like yellow and blue, are also permitted.",
@@ -535,7 +538,7 @@
}
}
},
- "RangeObject": {
+ "Range": {
"description": "The numeric value range for this style rule. If the value is in the range, all the conditions must hold true.",
"type": "object",
"properties": {
@@ -557,7 +560,7 @@
}
}
},
- "BooleanRuleObject": {
+ "BooleanRule": {
"description": "The boolean rule. The color is selected based on the logic value of the key.",
"type": "object",
"properties": {
@@ -579,8 +582,8 @@
"type": "string"
}
},
- "StyleObject": {
- "description": "The stateset style model. The style rule could be a numeric type style rule or a boolean type style rule. Refer to NumberRuleObject, StringRuleObject and BooleanRuleObject definitions [here](https://aka.ms/AzureMapsStatesetStylesObject). ",
+ "StyleRule": {
+ "description": "The stateset style model. The style rule could be a numeric type style rule or a boolean type style rule. Refer to NumberRule, StringRuleObject and BooleanRule definitions [here](https://aka.ms/AzureMapsStatesetStyles). ",
"discriminator": "type",
"type": "object",
"required": [
@@ -601,36 +604,33 @@
"string"
],
"x-ms-enum": {
- "name": "StyleObjectType",
+ "name": "StyleRuleType",
"modelAsString": true,
"values": [
{
"value": "boolean",
- "description": "Boolean type of stateset style.",
- "name": "BooleanTypeStyleRule"
+ "description": "Boolean type of stateset style."
},
{
"value": "number",
- "description": "Number type of stateset style.",
- "name": "NumberTypeStyleRule"
+ "description": "Number type of stateset style."
},
{
"value": "string",
- "description": "String type of stateset style.",
- "name": "StringTypeStyleRule"
+ "description": "String type of stateset style."
}
]
}
}
}
},
- "BooleanTypeStyleRule": {
+ "BooleanStyleRule": {
"description": "The boolean type style rule object.",
"x-ms-discriminator-value": "boolean",
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/StyleObject"
+ "$ref": "#/definitions/StyleRule"
}
],
"properties": {
@@ -638,7 +638,7 @@
"description": "Boolean style rules.",
"type": "array",
"items": {
- "$ref": "#/definitions/BooleanRuleObject"
+ "$ref": "#/definitions/BooleanRule"
}
}
},
@@ -646,13 +646,13 @@
"rules"
]
},
- "NumberTypeStyleRule": {
+ "NumberStyleRule": {
"description": "The numeric type style rule object.",
"x-ms-discriminator-value": "number",
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/StyleObject"
+ "$ref": "#/definitions/StyleRule"
}
],
"properties": {
@@ -660,7 +660,7 @@
"description": "Numeric style rules.",
"type": "array",
"items": {
- "$ref": "#/definitions/NumberRuleObject"
+ "$ref": "#/definitions/NumberRule"
}
}
},
@@ -668,13 +668,13 @@
"rules"
]
},
- "StringTypeStyleRule": {
+ "StringStyleRule": {
"description": "The string type style rule object.",
"x-ms-discriminator-value": "string",
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/StyleObject"
+ "$ref": "#/definitions/StyleRule"
}
],
"properties": {
diff --git a/specification/maps/data-plane/Creator/preview/2.0/tileset.json b/specification/maps/data-plane/Creator/preview/2.0/tileset.json
index a6d5d1fdb6d4..fa2e258968a6 100644
--- a/specification/maps/data-plane/Creator/preview/2.0/tileset.json
+++ b/specification/maps/data-plane/Creator/preview/2.0/tileset.json
@@ -25,15 +25,21 @@
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
"https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "AzureKey": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
+ "in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
"in": "header"
}
},
@@ -44,7 +50,10 @@
]
},
{
- "AzureKey": []
+ "SharedKey": []
+ },
+ {
+ "SasToken": []
}
],
"responses": {},
@@ -154,7 +163,7 @@
"200": {
"description": "List tileset request completed successfully. The response body contains a list of all tilesets.",
"schema": {
- "$ref": "#/definitions/TilesetListResponse"
+ "$ref": "#/definitions/TilesetListResult"
}
},
"default": {
@@ -187,7 +196,7 @@
"200": {
"description": "List tileset request completed successfully. The response body contains a list of all tilesets.",
"schema": {
- "$ref": "#/definitions/TilesetDetailInfo"
+ "$ref": "#/definitions/Tileset"
}
},
"default": {
@@ -256,7 +265,7 @@
}
},
"definitions": {
- "TilesetListResponse": {
+ "TilesetListResult": {
"description": "The response model for the Tileset List API. Returns a list of all tilesets.",
"type": "object",
"properties": {
@@ -265,7 +274,7 @@
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/TilesetDetailInfo"
+ "$ref": "#/definitions/Tileset"
}
},
"nextLink": {
@@ -275,7 +284,7 @@
}
}
},
- "TilesetDetailInfo": {
+ "Tileset": {
"description": "Detail information for the data.",
"type": "object",
"properties": {
@@ -309,11 +318,7 @@
},
"bbox": {
"description": "Bounding box which all features of the tileset lay within. Projection used - EPSG:3857. Format : 'minLon, minLat, maxLon, maxLat'.",
- "type": "array",
- "readOnly": true,
- "items": {
- "type": "number"
- }
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/BoundingBox"
}
}
}
diff --git a/specification/maps/data-plane/Creator/preview/2.0/wfs.json b/specification/maps/data-plane/Creator/preview/2.0/wfs.json
index 7759489089de..b944c8c21255 100644
--- a/specification/maps/data-plane/Creator/preview/2.0/wfs.json
+++ b/specification/maps/data-plane/Creator/preview/2.0/wfs.json
@@ -25,15 +25,21 @@
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
"https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "AzureKey": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
+ "in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
"in": "header"
}
},
@@ -44,7 +50,10 @@
]
},
{
- "AzureKey": []
+ "SharedKey": []
+ },
+ {
+ "SasToken": []
}
],
"responses": {},
@@ -76,8 +85,14 @@
},
"Bbox": {
"name": "bbox",
+ "x-ms-client-name": "boundingBox",
"in": "query",
- "type": "string",
+ "type": "array",
+ "collectionFormat": "csv",
+ "items": {
+ "type": "number",
+ "format": "double"
+ },
"description": "Only features that have a geometry that intersects the supplied bounding box are selected.\n* Lower left corner, coordinate axis 1 * Lower left corner, coordinate axis 2 * Upper right corner, coordinate axis 1 * Upper right corner, coordinate axis 2\nThe coordinate reference system of the values is WGS84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless a different coordinate reference system is specified in the parameter `bbox-crs`.\nFor WGS84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude. However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge).",
"x-ms-parameter-location": "method"
},
@@ -123,7 +138,7 @@
"200": {
"description": "Ok",
"schema": {
- "$ref": "#/definitions/LandingPageResponse"
+ "$ref": "#/definitions/LandingPageResult"
}
},
"default": {
@@ -135,10 +150,10 @@
"/wfs/datasets/{datasetId}/conformance": {
"get": {
"description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThe Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/v2/dataset/create). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Get Requirements Classes lists all requirements classes specified in the standard that the server conforms to.",
- "operationId": "WFS_GetConformance",
+ "operationId": "WFS_ListConformance",
"x-ms-examples": {
"GetConformance": {
- "$ref": "./examples/wfs/WFS_GetConformance.json"
+ "$ref": "./examples/wfs/WFS_ListConformance.json"
}
},
"parameters": [
@@ -156,7 +171,7 @@
"200": {
"description": "Ok",
"schema": {
- "$ref": "#/definitions/ConformanceResponse"
+ "$ref": "#/definitions/ConformanceResult"
}
},
"default": {
@@ -225,7 +240,7 @@
"200": {
"description": "Ok",
"schema": {
- "$ref": "#/definitions/CollectionInfo"
+ "$ref": "#/definitions/Collection"
}
},
"default": {
@@ -261,7 +276,7 @@
"200": {
"description": "Ok",
"schema": {
- "$ref": "#/definitions/CollectionDefinitionResponse"
+ "$ref": "#/definitions/CollectionDefinition"
}
},
"default": {
@@ -342,7 +357,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/FeatureResponse"
+ "$ref": "#/definitions/FeatureResult"
}
},
"default": {
@@ -384,7 +399,7 @@
}
},
"definitions": {
- "LandingPageResponse": {
+ "LandingPageResult": {
"type": "object",
"required": [
"links"
@@ -397,12 +412,12 @@
"description": "Links to other WFS endpoints.",
"type": "array",
"items": {
- "$ref": "#/definitions/WfsEndpointLink"
+ "$ref": "#/definitions/WFSEndpointLink"
}
}
}
},
- "ConformanceResponse": {
+ "ConformanceResult": {
"type": "object",
"required": [
"conformsTo"
@@ -423,7 +438,7 @@
}
}
},
- "WfsEndpointLink": {
+ "WFSEndpointLink": {
"description": "Links to other WFS endpoints",
"type": "object",
"required": [
@@ -445,6 +460,7 @@
"example": "application/geo+json"
},
"hreflang": {
+ "x-ms-client-name": "hrefLang",
"description": "A hint indicating what the language of the result of dereferencing the link should be.",
"type": "string",
"example": "en"
@@ -469,7 +485,7 @@
"description": "Links to other WFS endpoints.",
"type": "array",
"items": {
- "$ref": "#/definitions/WfsEndpointLink"
+ "$ref": "#/definitions/WFSEndpointLink"
},
"example": [
{
@@ -496,12 +512,12 @@
"description": "All the collections in a given dataset.",
"type": "array",
"items": {
- "$ref": "#/definitions/CollectionInfo"
+ "$ref": "#/definitions/Collection"
}
}
}
},
- "CollectionInfo": {
+ "Collection": {
"type": "object",
"required": [
"name",
@@ -530,7 +546,7 @@
"description": "Links to other WFS endpoints.",
"type": "array",
"items": {
- "$ref": "#/definitions/WfsEndpointLink"
+ "$ref": "#/definitions/WFSEndpointLink"
},
"example": [
{
@@ -549,7 +565,7 @@
}
}
},
- "CollectionDefinitionResponse": {
+ "CollectionDefinition": {
"description": "collection of GeoJSON features",
"type": "object",
"required": [
@@ -643,23 +659,22 @@
}
},
"properties": {
- "x-ms-client-flatten": true,
"description": "attributes of the collection used",
"type": "array",
"items": {
- "$ref": "#/definitions/DefinitionProperties"
+ "$ref": "#/definitions/DefinitionProperty"
}
},
"links": {
"description": "Links to other WFS endpoints.",
"type": "array",
"items": {
- "$ref": "#/definitions/WfsEndpointLink"
+ "$ref": "#/definitions/WFSEndpointLink"
}
}
}
},
- "DefinitionProperties": {
+ "DefinitionProperty": {
"type": "object",
"required": [
"name",
@@ -684,16 +699,34 @@
},
"ExtendedGeoJsonFeatureCollection": {
"description": "A valid `GeoJSON FeatureCollection` object type extended with numberReturned and links array. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.3) for details.",
- "x-ms-discriminator-value": "FeatureCollection",
"type": "object",
"allOf": [
{
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/GeoJsonFeatureCollection"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/GeoJsonFeatureCollectionData"
},
{
"$ref": "#/definitions/ExtendedGeoJsonFeatureCollectionData"
}
- ]
+ ],
+ "properties": {
+ "type": {
+ "description": "Specifies the `GeoJSON` type: FeatureCollection.",
+ "type": "string",
+ "enum": [
+ "FeatureCollection"
+ ],
+ "x-ms-enum": {
+ "name": "GeoJsonObjectType",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "FeatureCollection",
+ "description": "`GeoJSON FeatureCollection` object."
+ }
+ ]
+ }
+ }
+ }
},
"ExtendedGeoJsonFeatureCollectionData": {
"type": "object",
@@ -709,12 +742,12 @@
"description": "Links to other WFS endpoints.",
"type": "array",
"items": {
- "$ref": "#/definitions/WfsEndpointLink"
+ "$ref": "#/definitions/WFSEndpointLink"
}
}
}
},
- "FeatureResponse": {
+ "FeatureResult": {
"type": "object",
"required": [
"feature"
@@ -730,7 +763,7 @@
"description": "Links to other WFS endpoints.",
"type": "array",
"items": {
- "$ref": "#/definitions/WfsEndpointLink"
+ "$ref": "#/definitions/WFSEndpointLink"
}
}
}
diff --git a/specification/maps/data-plane/Creator/readme.python.md b/specification/maps/data-plane/Creator/readme.python.md
index e21d59809285..4d120e214bb5 100644
--- a/specification/maps/data-plane/Creator/readme.python.md
+++ b/specification/maps/data-plane/Creator/readme.python.md
@@ -14,9 +14,9 @@ clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
no-namespace-folders: true
-output-folder: $(python-sdks-folder)/maps/azure-maps-creator/azure/maps/creator
+output-folder: $(python-sdks-folder)/maps/azure-maps-creator/azure/maps/creator/_generated
```
``` yaml $(python) && $(python-mode) == 'create'
basic-setup-py: true
-output-folder: $(python-sdks-folder)/maps/azure-maps-creator
+output-folder: $(python-sdks-folder)/maps/azure-maps-creator/
```
diff --git a/specification/maps/data-plane/DEM/preview/1.0/elevation.json b/specification/maps/data-plane/DEM/preview/1.0/elevation.json
index 34562e06e61c..4186af0ed6f3 100644
--- a/specification/maps/data-plane/DEM/preview/1.0/elevation.json
+++ b/specification/maps/data-plane/DEM/preview/1.0/elevation.json
@@ -18,15 +18,21 @@
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
"https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "AzureKey": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
+ "in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
"in": "header"
}
},
@@ -37,7 +43,10 @@
]
},
{
- "AzureKey": []
+ "SharedKey": []
+ },
+ {
+ "SasToken": []
}
],
"responses": {},
@@ -56,10 +65,10 @@
"/elevation/point/{format}": {
"get": {
"summary": "Get Elevation Data on One or More Points",
- "description": "**Applies to**: S1 pricing tier.\n\nThe Get Data for Points API provides elevation data for one or more points. A point is defined in lat,long coordinate format.\n\n Due to the URL character length limit of 2048, it's not possible to pass more than 100 coordinates as a pipeline delimited string in a URL GET request. If you intend to pass more than 100 coordinates as a pipeline delimited string, use the [POST Data\n For Points](https://docs.microsoft.com/en-us/rest/api/maps/elevation/postdataforpoints).",
- "operationId": "GetDataForPoints",
+ "description": "**Applies to**: S1 pricing tier.\n\n The Get Data for Points API provides elevation data for one or more points. A point is defined in lat,long coordinate format.\n\n Due to the URL character length limit of 2048, it's not possible to pass more than 100 coordinates as a pipeline delimited string in a URL GET request. If you intend to pass more than 100 coordinates as a pipeline delimited string, use the [POST Data\n For Points](https://docs.microsoft.com/rest/api/maps/elevation/postdataforpoints).\n\n The result will be in the same sequence of points listed in the request.",
+ "operationId": "Elevation_GetDataForPoints",
"x-ms-examples": {
- "GetDataForPoints": {
+ "Successfully retrieve elevation data for one or more points using get": {
"$ref": "./examples/GetDataForPoints.json"
}
},
@@ -91,7 +100,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/PointsResult"
+ "$ref": "#/definitions/ElevationResult"
}
},
"default": {
@@ -101,10 +110,10 @@
},
"post": {
"summary": "Query Elevation Data for Multiple Points",
- "description": "**Applies to**: S1 pricing tier.\n\nThe Post Data for Points API provides elevation data for multiple points. A point is defined lon/lat coordinate format. Use the POST endpoint only if you intend to pass multiple points in the request. If you intend to pass a single coordinate into the API, use the [GET Data For Points API](https://docs.microsoft.com/en-us/rest/api/maps/elevation/getdataforpoints).",
- "operationId": "PostDataForPoints",
+ "description": "**Applies to**: S1 pricing tier.\n\n The Post Data for Points API provides elevation data for multiple points. A point is defined lon/lat coordinate format.\n\n Use the POST endpoint only if you intend to pass multiple points in the request. If you intend to pass a single coordinate into the API, use the [GET Data For Points API](https://docs.microsoft.com/rest/api/maps/elevation/getdataforpoints).\n\n The result will be in the same sequence of points listed in the request.",
+ "operationId": "Elevation_PostDataForPoints",
"x-ms-examples": {
- "PostDataForPoints": {
+ "Successfully retrieve elevation data for multiple points using post": {
"$ref": "./examples/PostDataForPoints.json"
}
},
@@ -119,7 +128,7 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat"
},
{
- "name": "pointsRequestBody",
+ "name": "points",
"in": "body",
"description": "The string representation of a list of points. A point is defined in lon/lat WGS84 coordinate reference system format. Each points in a list should be separated by the pipe ('|') character. The number of points that can be requested in a POST request ranges from 2 to 2,000. The resolution of the elevation data will be the highest for a single point and will decrease if multiple points are spread further apart. ",
"required": true,
@@ -132,7 +141,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/PointsResult"
+ "$ref": "#/definitions/ElevationResult"
}
},
"default": {
@@ -144,10 +153,10 @@
"/elevation/line/{format}": {
"get": {
"summary": "Get Elevation Data Along a Polyline",
- "description": "**Applies to**: S1 pricing tier.\n\nThe Get Data for Polyline API provides elevation data along a polyline.\n\n A polyline is defined by passing in between 2 and N endpoint coordinates separated by a pipe ('|') character. In addition to passing in endpoints, customers can specify the number of sample points that will be used to divide polyline into equally spaced segments. Elevation data at both start and endpoints and equally spaced points along the polyline will be returned.\n\n A line between two endpoints is a straight Cartesian line, the shortest line between those two points in the coordinate reference system. Note that the point is chosen based on Euclidean distance and may markedly differ from the geodesic path along the curved surface of the reference ellipsoid.",
- "operationId": "GetDataForPolyline",
+ "description": "**Applies to**: S1 pricing tier.\n\n The Get Data for Polyline API provides elevation data along a polyline.\n\n A polyline is defined by passing in between 2 and N endpoint coordinates separated by a pipe ('|') character. In addition to passing in endpoints, customers can specify the number of sample points that will be used to divide polyline into equally spaced segments.\n\n Elevation data at both start and endpoints, as well as equally spaced points along the polyline will be returned. The results will be listed in the direction from the first endpoint towards the last endpoint. A line between two endpoints is a straight Cartesian line, the shortest line between those two points in the coordinate reference system. Note that the point is chosen based on Euclidean distance and may markedly differ from the geodesic path along the curved surface of the reference ellipsoid.",
+ "operationId": "Elevation_GetDataForPolyline",
"x-ms-examples": {
- "GetDataForPolyLine": {
+ "Successfully retrieve elevation data along a polyline using get": {
"$ref": "./examples/GetDataForPolyline.json"
}
},
@@ -187,7 +196,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/LinesResult"
+ "$ref": "#/definitions/ElevationResult"
}
},
"default": {
@@ -197,10 +206,10 @@
},
"post": {
"summary": "Query Elevation Data Along a Polyline",
- "description": "**Applies to**: S1 pricing tier.\n\n The Post Data for Polyline API provides elevation data along a polyline. A polyline is defined by passing in between 2 and N endpoint coordinates separated by a pipe ('|') character. In addition to passing in endpoints, customers can specify the number of sample points that will be used to divide polyline into equally spaced segments.\n\n Elevation data at both start and end points and equally spaced points along the polyline will be returned. A line between two endpoints is a straight Cartesian line, the shortest line between those two points in the coordinate reference system. Note that the point is chosen based on Euclidean distance and may markedly differ from the geodesic path along the curved surface of the reference ellipsoid.",
- "operationId": "PostDataForPolyline",
+ "description": "**Applies to**: S1 pricing tier.\n\n The Post Data for Polyline API provides elevation data along a polyline.\n\n A polyline is defined by passing in between 2 and N endpoint coordinates separated by a pipe ('|') character. In addition to passing in endpoints, customers can specify the number of sample points that will be used to divide polyline into equally spaced segments.\n\n Elevation data at both start and end points, as well as equally spaced points along the polyline will be returned. The results will be listed in the direction from the first endpoint towards the last endpoint. A line between two endpoints is a straight Cartesian line, the shortest line between those two points in the coordinate reference system. Note that the point is chosen based on Euclidean distance and may markedly differ from the geodesic path along the curved surface of the reference ellipsoid.",
+ "operationId": "Elevation_PostDataForPolyline",
"x-ms-examples": {
- "PostDataForPolyLine": {
+ "Successfully retrieve elevation data along a polyline using post": {
"$ref": "./examples/PostDataForPolyline.json"
}
},
@@ -215,7 +224,7 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat"
},
{
- "name": "linesRequestBody",
+ "name": "polyline",
"in": "body",
"description": "The string representation of a polyline path. A polyline is defined by endpoint coordinates, with each endpoint separated by a pipe ('|') character. The polyline should be defined in the following format: `[longitude_point1, latitude_point1 | longitude_point2, latitude_point2, ..., longitude_pointN, latitude_pointN]`. The longitude and latitude values refer to the World Geodetic System (WGS84) coordinate reference system. The resolution of the data used to compute the elevation will depend on the distance between the endpoints.",
"required": true,
@@ -236,7 +245,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/LinesResult"
+ "$ref": "#/definitions/ElevationResult"
}
},
"default": {
@@ -249,9 +258,9 @@
"get": {
"summary": "Get Elevation Data at Equally Spaced Locations Within a Bounding Box",
"description": "**Applies to**: S1 pricing tier.\n\nThe Get Data for Bounding Box API provides elevation data at equally spaced locations within a bounding box. A bounding box is defined by the coordinates for two corners (southwest, northeast) and then subsequently divided into rows and columns.\n\n Elevations are returned for the vertices of the grid created by the rows and columns. Up to 2,000 elevations can be returned in a single request. The returned elevation values are ordered, starting at the southwest corner, and then proceeding west to east along the row. At the end of the row, it moves north to the next row, and repeats the process until it reaches the far northeast corner.",
- "operationId": "GetDataForBoundingBox",
+ "operationId": "Elevation_GetDataForBoundingBox",
"x-ms-examples": {
- "GetDataForBoundingBox": {
+ "Successfully retrieve elevation data within a bounding box": {
"$ref": "./examples/GetDataForBoundingBox.json"
}
},
@@ -271,14 +280,18 @@
"description": "The string that represents the rectangular area of a bounding box. The bounds parameter is defined by the 4 bounding box coordinates, with WGS84 longitude and latitude of the southwest corner followed by WGS84 longitude and latitude of the northeast corner. The string is presented in the following format: `[SouthwestCorner_Longitude, SouthwestCorner_Latitude, NortheastCorner_Longitude, NortheastCorner_Latitude]`.",
"required": true,
"type": "array",
+ "collectionFormat": "csv",
+ "minItems": 4,
+ "maxItems": 4,
"items": {
- "type": "string"
+ "type": "number",
+ "format": "float"
}
},
{
"name": "rows",
"in": "query",
- "description": "Specifies the number of rows to use to divide the bounding box area into a grid. The number of vertices in the grid should be less than 2,000. ",
+ "description": "Specifies the number of rows to use to divide the bounding box area into a grid. The number of vertices (rows x columns) in the grid should be less than 2,000. ",
"type": "integer",
"minimum": 2,
"maximum": 1000,
@@ -287,7 +300,7 @@
{
"name": "columns",
"in": "query",
- "description": "Specifies the number of columns to use to divide the bounding box area into a grid. The number of vertices in the grid should be less than 2,000. ",
+ "description": "Specifies the number of columns to use to divide the bounding box area into a grid. The number of vertices (rows x columns) in the grid should be less than 2,000. ",
"type": "integer",
"minimum": 2,
"maximum": 1000,
@@ -298,7 +311,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/BoundingBoxResult"
+ "$ref": "#/definitions/ElevationResult"
}
},
"default": {
@@ -309,20 +322,20 @@
}
},
"definitions": {
- "ElevationPointResponse": {
+ "ElevationArray": {
"description": "The response for point/points elevation API. The result will be in same sequence of points listed in request.",
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/PointElevationResult"
+ "$ref": "#/definitions/Elevation"
}
},
- "PointElevationResult": {
+ "Elevation": {
"type": "object",
"description": "The elevation data.",
"properties": {
"coordinate": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPair"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPair"
},
"elevationInMeter": {
"description": "The elevation value in meters.",
@@ -331,46 +344,13 @@
}
}
},
- "ElevationLineResponse": {
- "description": "The response from the Get Data for Polyline API. The results will be listed in the direction from the first endpoint towards the last endpoint.",
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/PointElevationResult"
- }
- },
- "ElevationLatticeResponse": {
- "description": "The response from the Get Data for Bounding Box API. The results are ordered starting with the southwest corner, and then proceed west to east and south to north.",
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/PointElevationResult"
- }
- },
- "PointsResult": {
- "type": "object",
- "description": "The response from a successful Elevation Points request.",
- "properties": {
- "data": {
- "$ref": "#/definitions/ElevationPointResponse"
- }
- }
- },
- "LinesResult": {
- "type": "object",
- "description": "The response from a successful Elevation Polyline request.",
- "properties": {
- "data": {
- "$ref": "#/definitions/ElevationLineResponse"
- }
- }
- },
- "BoundingBoxResult": {
+ "ElevationResult": {
"type": "object",
"description": "The response from a successful Get Data for Bounding Box API.",
"properties": {
"data": {
- "$ref": "#/definitions/ElevationLatticeResponse"
+ "x-ms-client-name": "elevations",
+ "$ref": "#/definitions/ElevationArray"
}
}
},
@@ -378,14 +358,14 @@
"type": "array",
"description": "The post elevation points array request body. The length of the array ranges from 2 to 2000.",
"items": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPairAbbreviated"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated"
}
},
"LinesInRequestBody": {
"type": "array",
"description": "The post elevation lines request body.",
"items": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPairAbbreviated"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated"
}
}
}
diff --git a/specification/maps/data-plane/DEM/preview/1.0/examples/PostDataForPoints.json b/specification/maps/data-plane/DEM/preview/1.0/examples/PostDataForPoints.json
index 61ab92e429b1..f5cca15a81ae 100644
--- a/specification/maps/data-plane/DEM/preview/1.0/examples/PostDataForPoints.json
+++ b/specification/maps/data-plane/DEM/preview/1.0/examples/PostDataForPoints.json
@@ -2,7 +2,7 @@
"parameters": {
"format": "json",
"api-version": "1.0",
- "pointsRequestBody": [
+ "points": [
{
"lon": -121.66853362143818,
"lat": 46.84646479863713
diff --git a/specification/maps/data-plane/DEM/preview/1.0/examples/PostDataForPolyline.json b/specification/maps/data-plane/DEM/preview/1.0/examples/PostDataForPolyline.json
index e1de6f13cbc5..b1be86350322 100644
--- a/specification/maps/data-plane/DEM/preview/1.0/examples/PostDataForPolyline.json
+++ b/specification/maps/data-plane/DEM/preview/1.0/examples/PostDataForPolyline.json
@@ -2,7 +2,7 @@
"parameters": {
"format": "json",
"api-version": "1.0",
- "linesRequestBody": [
+ "polyline": [
{
"lon": -121.66853362143818,
"lat": 46.84646479863713
diff --git a/specification/maps/data-plane/DEM/readme.python.md b/specification/maps/data-plane/DEM/readme.python.md
index a4de636f8430..7300ff1f047f 100644
--- a/specification/maps/data-plane/DEM/readme.python.md
+++ b/specification/maps/data-plane/DEM/readme.python.md
@@ -14,9 +14,9 @@ clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
no-namespace-folders: true
-output-folder: $(python-sdks-folder)/maps/azure-maps-elevation/azure/maps/elevation
+output-folder: $(python-sdks-folder)/maps/azure-maps-elevation/azure/maps/elevation/_generated
```
``` yaml $(python) && $(python-mode) == 'create'
basic-setup-py: true
-output-folder: $(python-sdks-folder)/maps/azure-maps-elevation
+output-folder: $(python-sdks-folder)/maps/azure-maps-elevation/
```
diff --git a/specification/maps/data-plane/Geolocation/preview/1.0/geolocation.json b/specification/maps/data-plane/Geolocation/preview/1.0/geolocation.json
index 80075541a4dc..13fdf8aba99f 100644
--- a/specification/maps/data-plane/Geolocation/preview/1.0/geolocation.json
+++ b/specification/maps/data-plane/Geolocation/preview/1.0/geolocation.json
@@ -18,15 +18,21 @@
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
"https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "AzureKey": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
+ "in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
"in": "header"
}
},
@@ -37,7 +43,10 @@
]
},
{
- "AzureKey": []
+ "SharedKey": []
+ },
+ {
+ "SasToken": []
}
],
"responses": {},
@@ -55,8 +64,9 @@
"paths": {
"/geolocation/ip/{format}": {
"get": {
- "description": "\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis service will return the ISO country code for the provided IP address. Developers can use this information to block or alter certain content based on geographical locations where the application is being viewed from. \n\n\n__Note:__ This service returns results from IANA and does not necessarily reflect the views of Microsoft Corporation.",
- "operationId": "GetLocation",
+ "description": "\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis service will return the ISO country code for the provided IP address. Developers can use this information to block or alter certain content based on geographical locations where the application is being viewed from.",
+ "operationId": "Geolocation_GetIPToLocation",
+ "x-ms-client-name": "GetLocation",
"x-ms-examples": {
"Successfully retrieve country code from IP address": {
"$ref": "./examples/SuccessfulGetCountryCodeFromIP.json"
@@ -117,7 +127,7 @@
"readOnly": true,
"properties": {
"isoCode": {
- "description": "The IP Address's 2-character code [(ISO 3166-1)](https://www.iso.org/iso-3166-country-codes.html) of the country or region as assigned by IANA and regional internet authorities. Please note, IP address in ranges reserved for special purpose will return Null for country/region.",
+ "description": "The IP Address's 2-character code [(ISO 3166-1)](https://www.iso.org/iso-3166-country-codes.html) of the country or region. Please note, IP address in ranges reserved for special purpose will return Null for country/region.",
"type": "string",
"readOnly": true
}
diff --git a/specification/maps/data-plane/Geolocation/readme.python.md b/specification/maps/data-plane/Geolocation/readme.python.md
index 52c2c17b7339..e36a62d9ec23 100644
--- a/specification/maps/data-plane/Geolocation/readme.python.md
+++ b/specification/maps/data-plane/Geolocation/readme.python.md
@@ -14,9 +14,9 @@ clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
no-namespace-folders: true
-output-folder: $(python-sdks-folder)/maps/azure-maps-geolocation/azure/maps/geolocation
+output-folder: $(python-sdks-folder)/maps/azure-maps-geolocation/azure/maps/geolocation/_generated
```
``` yaml $(python) && $(python-mode) == 'create'
basic-setup-py: true
-output-folder: $(python-sdks-folder)/maps/azure-maps-geolocation
+output-folder: $(python-sdks-folder)/maps/azure-maps-geolocation/
```
diff --git a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/alias.json b/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/alias.json
deleted file mode 100644
index 4dcb41ce7393..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/alias.json
+++ /dev/null
@@ -1,450 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "Azure Maps Alias Service",
- "version": "1.0",
- "description": "APIs for managing aliases in Azure Maps."
- },
- "x-ms-parameterized-host": {
- "hostTemplate": "{geography}.atlas.microsoft.com",
- "parameters": [
- {
- "$ref": "#/parameters/GeographicResourceLocation"
- }
- ]
- },
- "schemes": [
- "https"
- ],
- "consumes": [],
- "produces": [
- "application/json",
- "application/xml"
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
- "scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
- }
- },
- "apiKeyQuery": {
- "type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
- "name": "subscription-key",
- "in": "query"
- }
- },
- "security": [
- {
- "azure_auth": []
- },
- {
- "apiKeyQuery": []
- }
- ],
- "responses": {
- "202": {
- "description": "Request Accepted: The request has been accepted for processing. Please use the URL in the Location Header to retry or access the results.",
- "headers": {
- "Location": {
- "type": "string",
- "description": "New URL to check for the results of the long running process."
- }
- }
- },
- "400": {
- "description": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "401": {
- "description": "Access denied due to invalid subscription key or invalid Azure Active Directory (Azure AD) bearer token. Make sure to provide a valid key for an active Azure subscription and Maps resource. Otherwise, verify the [WWW-Authenticate](https://tools.ietf.org/html/rfc6750#section-3.1) header for error code and description of the provided Azure AD bearer token.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- },
- "headers": {
- "WWW-Authenticate": {
- "type": "string",
- "description": "Bearer realm=\"https://atlas.microsoft.com/\", error=\"invalid_token\", error_description=\"The access token expired\""
- }
- }
- },
- "403": {
- "description": "Permission, capacity, or authentication issues.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "404": {
- "description": "Not Found: the requested resource could not be found, but it may be available again in the future.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "500": {
- "description": "An error occurred while processing the request. Please try again later.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- }
- },
- "parameters": {
- "GeographicResourceLocation": {
- "name": "geography",
- "description": "This parameter specifies where the Azure Maps Creator resource is located. Valid values are us and eu.",
- "in": "path",
- "required": true,
- "type": "string",
- "default": "us",
- "enum": [
- "us",
- "eu"
- ],
- "x-ms-enum": {
- "name": "GeographicResourceLocation",
- "modelAsString": true,
- "values": [
- {
- "value": "us",
- "description": "Used to access an Azure Maps Creator resource in the United States"
- },
- {
- "value": "eu",
- "description": "Used to access an Azure Maps Creator resource in Europe"
- }
- ]
- },
- "x-ms-parameter-location": "client"
- },
- "SubscriptionKey": {
- "name": "subscription-key",
- "description": "One of the Azure Maps keys provided from an Azure Map Account. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/how-to-manage-authentication) for details on how to manage authentication.",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "client"
- },
- "ApiVersion": {
- "name": "api-version",
- "description": "Version number of Azure Maps API. Current version is 1.0",
- "type": "string",
- "in": "query",
- "required": true,
- "default": "1.0",
- "x-ms-parameter-location": "client"
- },
- "CreateResourceId": {
- "name": "resourceId",
- "description": "The unique id that references a resource to be aliased.",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "AssignResourceId": {
- "name": "resourceId",
- "description": "The unique id that references a resource to be aliased.",
- "type": "string",
- "in": "query",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "AliasId": {
- "name": "aliasId",
- "description": "The unique id that references an existing alias.",
- "type": "string",
- "in": "path",
- "required": true,
- "x-ms-parameter-location": "method"
- }
- },
- "paths": {
- "/alias": {
- "post": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Alias - Create API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nThis API allows the caller to create an alias.
\nYou can also assign the alias during the create request as well.\n\n\n### Submit Create Request\n\nTo create your alias, you will use a `POST` request. If you would like to assign the alias during the creation, you will pass the `resourceId` query parameter.
\n\n\n### Create Alias Response\n\nThe Create API returns a HTTP `201 Created` response the id of the alias, `aliasId`, in the body.\nThe response will look something like:\n\n```json\n{\n \"aliasId\" : \"d7e5efc8-2239-4387-a286-5bb51aa804e3\"\n}\n```\n\n
",
- "operationId": "Alias_CreatePreview",
- "x-ms-examples": {
- "Create an alias that does not reference any resource": {
- "$ref": "./examples/Alias_Create.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- }
- ],
- "responses": {
- "201": {
- "description": "Content created successfully. The response body contains the newly created alias id `aliasId`.",
- "schema": {
- "$ref": "#/definitions/AliasCreateResponse"
- },
- "headers": {
- "Access-Control-Expose-Headers": {
- "type": "string",
- "description": "The list of response headers that can be read by the client."
- }
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- },
- "get": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Alias - List API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nThis API allows the caller to fetch a list of all previously successfully created aliases.\n\n\n### Submit List Request\n\nTo list all your aliases, you will issue a `GET` request with no additional parameters.
\n\n\n### List Data Response\n\nThe List API returns the complete list of all aliases in `json` format. The response contains the following details for each alias resource:\n\n > createdTimestamp - The timestamp that the alias was created.\n > aliasId - The id for the alias.\n > resourceId - The id for the resource that this alias references (could be null if the alias has not been assigned).\n > lastUpdatedTimestamp - The last time the alias was assigned to a resource.\n\n\nHere's a sample response returning 2 alias resources: \n\n
\n\n```json\n{\n \"aliases\": [\n {\n \"createdTimestamp\": \"2020-02-13T21:19:11+00:00\",\n \"aliasId\": \"a8a4b8bb-ecf4-fb27-a618-f41721552766\",\n \"resourceId\": \"e89aebb9-70a3-8fe1-32bb-1fbd0c725f14\",\n \"lastUpdatedTimestamp\": \"2020-02-13T21:19:22+00:00\"\n },\n {\n \"createdTimestamp\": \"2020-02-18T19:53:33+00:00\",\n \"aliasId\": \"1856dbfc-7a66-ee5a-bf8d-51dbfe1906f6\",\n \"resourceId\": null,\n \"lastUpdatedTimestamp\": \"2020-02-18T19:53:33+00:00\"\n }\n ]\n}\n```\n\n
",
- "operationId": "Alias_ListPreview",
- "x-ms-examples": {
- "List all the previously created aliases": {
- "$ref": "./examples/Alias_List.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- }
- ],
- "responses": {
- "200": {
- "description": "List alias request completed successfully. The response body contains a list of all the previously created aliases.",
- "schema": {
- "$ref": "#/definitions/AliasListResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/alias/assign/{aliasId}": {
- "patch": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Alias - Assign API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nThis API allows the caller to assign an alias to reference a resource.
\n\n\n### Submit Assign Request\n\nTo assign your alias to a resource, you will use a `PATCH` request with the `aliasId` in the path and the `resourceId` passed as a query parameter.
\n\n\n### Create Alias Response\n\nThe Assign API returns a HTTP `204 No Content` response with an empty body, if the alias was assigned successfully.
",
- "operationId": "Alias_AssignPreview",
- "x-ms-examples": {
- "Assign an alias to a resource": {
- "$ref": "./examples/Alias_Assign.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/AliasId"
- },
- {
- "$ref": "#/parameters/AssignResourceId"
- }
- ],
- "responses": {
- "204": {
- "description": "Alias was assigned successfully.",
- "schema": {
- "$ref": "#/definitions/AliasAssignResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/alias/{aliasId}": {
- "delete": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Alias - Delete API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nThis API allows the caller to delete a previously created alias.
\nYou can also use this API to delete old/unused aliases to create space for new content.\nThis API does not delete the references resource, only the alias referencing the resource.\n\n\n### Submit Delete Request\n\nTo delete your alias you will issue a `DELETE` request where the path will contain the `aliasId` of the alias to delete.
\n\n\n### Delete Alias Response\n\nThe Delete API returns a HTTP `204 No Content` response with an empty body, if the alias was deleted successfully.
\nA HTTP `400 Bad Request` error response will be returned if the alias with the passed-in `aliasId` is not found. ",
- "operationId": "Alias_DeletePreview",
- "x-ms-examples": {
- "Delete previously created alias": {
- "$ref": "./examples/Alias_Delete.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/AliasId"
- }
- ],
- "responses": {
- "204": {
- "description": "Alias delete request completed successfully. The content for `aliasId` was deleted on the server.",
- "schema": {
- "$ref": "#/definitions/AliasDeleteResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- }
- },
- "definitions": {
- "ODataErrorResponse": {
- "type": "object",
- "description": "This response object is returned when an error occurs in the Azure Maps API.",
- "properties": {
- "error": {
- "$ref": "#/definitions/ODataError"
- }
- }
- },
- "ODataError": {
- "type": "object",
- "description": "This object is returned when an error occurs in the Azure Maps API.",
- "properties": {
- "code": {
- "type": "string",
- "readOnly": true,
- "description": "The ODataError code."
- },
- "message": {
- "type": "string",
- "readOnly": true,
- "description": "If available, a human-readable description of the error."
- },
- "details": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ODataError"
- }
- },
- "target": {
- "type": "string",
- "readOnly": true,
- "description": "If available, the target causing the error."
- }
- }
- },
- "AliasCreateResponse": {
- "description": "The response model for the Alias Create API for the case when the alias was successfully created.",
- "type": "object",
- "properties": {
- "aliasId": {
- "description": "An alias id `aliasId` for the created alias.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "AliasAssignResponse": {
- "description": "The response model for the Assign API. The response body will be empty signifying the assign was successful.",
- "type": "object"
- },
- "AliasDeleteResponse": {
- "description": "The response model for the Delete API. The response body will be empty signifying there's alias available with the given `aliasId` anymore.",
- "type": "object"
- },
- "AliasListResponse": {
- "description": "The response model for the List API. Returns a list of all the previously created aliases.",
- "type": "object",
- "properties": {
- "aliases": {
- "description": "A list of all the previously created aliases.",
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/AliasListItem"
- }
- }
- }
- },
- "AliasListItem": {
- "description": "Detailed information for the alias.",
- "type": "object",
- "properties": {
- "createdTimestamp": {
- "description": "The created timestamp for the alias.",
- "type": "string",
- "readOnly": true
- },
- "aliasId": {
- "description": "The id for the alias.",
- "type": "string",
- "readOnly": true
- },
- "resourceId": {
- "description": "The id for the resource that this alias references (could be null if the alias has not been assigned).",
- "type": "string",
- "readOnly": true
- },
- "lastUpdatedTimestamp": {
- "description": "The timestamp of the last time the alias was assigned.",
- "type": "string",
- "readOnly": true
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Assign.json b/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Assign.json
deleted file mode 100644
index 510eadf5d277..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Assign.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]",
- "aliasId": "[aliasId]",
- "resourceId": "[resourceId]"
- },
- "responses": {
- "204": {
- "body": {}
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request - Error message."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found - The requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "Unknown error - An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Create.json b/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Create.json
deleted file mode 100644
index 4ceff472346f..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Create.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]"
- },
- "responses": {
- "201": {
- "headers": {},
- "body": {
- "aliasId": "25084fb7-307a-4720-8f91-7952a0b91012"
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request - Error message."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found - The requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "Unknown error - An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Delete.json b/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Delete.json
deleted file mode 100644
index fc920bdb905e..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_Delete.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]",
- "aliasId": "[aliasId]"
- },
- "responses": {
- "204": {
- "body": {}
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request - One or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found - The requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "Unknown error - An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_List.json b/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_List.json
deleted file mode 100644
index 918b6bc1c103..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/1.0/examples/Alias_List.json
+++ /dev/null
@@ -1,72 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]"
- },
- "responses": {
- "200": {
- "body": {
- "aliases": [
- {
- "createdTimestamp": "2020-02-13T21:19:11+00:00",
- "aliasId": "a8a4b8bb-ecf4-fb27-a618-f41721552766",
- "resourceId": "e89aebb9-70a3-8fe1-32bb-1fbd0c725f14",
- "lastUpdatedTimestamp": "2020-02-13T21:19:22+00:00"
- },
- {
- "createdTimestamp": "2020-02-13T21:19:11+00:00",
- "aliasId": "1856dbfc-7a66-ee5a-bf8d-51dbfe1906f6",
- "resourceId": null,
- "lastUpdatedTimestamp": "2020-02-13T21:19:11+00:00"
- }
- ]
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request - One or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found - The requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "Unknown error - An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/2.0/alias.json b/specification/maps/data-plane/Microsoft.Maps/Alias/preview/2.0/alias.json
index e90893e81a35..5a2882386f63 100644
--- a/specification/maps/data-plane/Microsoft.Maps/Alias/preview/2.0/alias.json
+++ b/specification/maps/data-plane/Microsoft.Maps/Alias/preview/2.0/alias.json
@@ -22,28 +22,39 @@
"application/xml"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
diff --git a/specification/maps/data-plane/Microsoft.Maps/DEM/preview/1.0/elevation.json b/specification/maps/data-plane/Microsoft.Maps/DEM/preview/1.0/elevation.json
index d5cbc47fbca0..686f8968c607 100644
--- a/specification/maps/data-plane/Microsoft.Maps/DEM/preview/1.0/elevation.json
+++ b/specification/maps/data-plane/Microsoft.Maps/DEM/preview/1.0/elevation.json
@@ -15,28 +15,39 @@
"application/xml"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
diff --git a/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/data.json b/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/data.json
index df595c8d592c..d11b63884ca3 100644
--- a/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/data.json
+++ b/specification/maps/data-plane/Microsoft.Maps/Data/preview/1.0/data.json
@@ -21,28 +21,39 @@
"application/json"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
diff --git a/specification/maps/data-plane/Microsoft.Maps/Data/preview/2.0/data.json b/specification/maps/data-plane/Microsoft.Maps/Data/preview/2.0/data.json
index 283d5bde47c5..0eea5ccd637e 100644
--- a/specification/maps/data-plane/Microsoft.Maps/Data/preview/2.0/data.json
+++ b/specification/maps/data-plane/Microsoft.Maps/Data/preview/2.0/data.json
@@ -21,28 +21,39 @@
"application/json"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
@@ -304,7 +315,7 @@
},
"get": {
"x-publish": true,
- "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API allows the caller to fetch a list of all content uploaded previously using the [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview). \n\n\n### Submit List Request\n\nTo list all your map data content you will issue a `GET` request with no additional parameters.\n\n\n### List Data Response\n\nThe Data List API returns the complete list of all data in `json` format. The response contains the following details for each data resource:\n\n > udid - The unique data id for the data resource.\n\n > location - The location of the data resource. Execute a HTTP `GET` on this location to download the data.\n\n\nHere's a sample response returning the `udid` and `location` of 3 data resources: \n\n
\n\n```json\n{\n \"mapDataList\": \n [\n {\n \"udid\": \"9a1288fa-1858-4a3b-b68d-13a8j5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/9a1288fa-1858-4a3b-b68d-13a8j5af7d7c?api-version=1.0\",\n \"sizeInBytes\": 29920,\n \"uploadStatus\": \"Completed\"\n },\n {\n \"udid\": \"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/8b1288fa-1958-4a2b-b68e-13a7i5af7d7c?api-version=1.0\",\n \"sizeInBytes\": 1339,\n \"uploadStatus\": \"Completed\"\n },\n {\n \"udid\": \"7c1288fa-2058-4a1b-b68f-13a6h5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/7c1288fa-2058-4a1b-b68f-13a6h5af7d7c?api-version=1.0\",\n \"sizeInBytes\": 1650,\n \"uploadStatus\": \"Pending\"\n }]\n}\n```\n\n
",
+ "description": "**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).\n\nThis API allows the caller to fetch a list of all content uploaded previously using the [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data-v2/upload-preview). \n\n\n### Submit List Request\n\nTo list all your map data content you will issue a `GET` request with no additional parameters.\n\n\n### List Data Response\n\nThe Data List API returns the complete list of all data in `json` format. The response contains the following details for each data resource:\n\n > udid - The unique data id for the data resource.\n\n > location - The location of the data resource. Execute a HTTP `GET` on this location to download the data.\n\n\nHere's a sample response returning the `udid` and `location` of 3 data resources: \n\n
\n\n```json\n{\n \"mapDataList\": \n [\n {\n \"udid\": \"9a1288fa-1858-4a3b-b68d-13a8j5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/9a1288fa-1858-4a3b-b68d-13a8j5af7d7c?api-version=1.0\",\n \"created\": \"2021-04-05T18:41:15+00:00\",\n \"updated\": \"2021-04-05T18:41:26+00:00\",\n \"sizeInBytes\": 29920,\n \"uploadStatus\": \"Completed\",\n \"description\": \"Sample Building\",\n \"dataFormat\": \"zip\"\n },\n {\n \"udid\": \"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/8b1288fa-1958-4a2b-b68e-13a7i5af7d7c?api-version=1.0\",\n \"created\": \"2021-06-09T12:42:17+00:00\",\n \"updated\": \"2021-06-09T12:42:19+00:00\",\n \"sizeInBytes\": 1339,\n \"uploadStatus\": \"Completed\",\n \"description\": \"Sample Lobby\",\n \"dataFormat\": \"zip\"\n },\n {\n \"udid\": \"7c1288fa-2058-4a1b-b68f-13a6h5af7d7c\",\n \"location\": \"https://us.atlas.microsoft.com/mapData/7c1288fa-2058-4a1b-b68f-13a6h5af7d7c?api-version=1.0\",\n \"created\": \"2021-07-08T08:25:48+00:00\",\n \"updated\": \"2021-07-08T08:25:52+00:00\",\n \"sizeInBytes\": 1650,\n \"uploadStatus\": \"Pending\",\n \"description\": \"Sample Break Room\",\n \"dataFormat\": \"zip\"\n }]\n}\n```\n\n
",
"operationId": "Data_ListPreview",
"x-ms-examples": {
"List all the previously uploaded data": {
diff --git a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/dataset.json b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/dataset.json
deleted file mode 100644
index 272cdc992bb5..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/dataset.json
+++ /dev/null
@@ -1,642 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "Azure Maps Dataset Service",
- "version": "1.0",
- "description": "APIs for managing datasets from uploaded data in Azure Maps."
- },
- "x-ms-parameterized-host": {
- "hostTemplate": "{geography}.atlas.microsoft.com",
- "parameters": [
- {
- "$ref": "#/parameters/GeographicResourceLocation"
- }
- ]
- },
- "schemes": [
- "https"
- ],
- "consumes": [],
- "produces": [
- "application/json",
- "application/xml"
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
- "scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
- }
- },
- "apiKeyQuery": {
- "type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
- "name": "subscription-key",
- "in": "query"
- }
- },
- "security": [
- {
- "azure_auth": []
- },
- {
- "apiKeyQuery": []
- }
- ],
- "responses": {
- "400": {
- "description": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "401": {
- "description": "Access denied due to invalid subscription key or invalid Azure Active Directory (Azure AD) bearer token. Make sure to provide a valid key for an active Azure subscription and Maps resource. Otherwise, verify the [WWW-Authenticate](https://tools.ietf.org/html/rfc6750#section-3.1) header for error code and description of the provided Azure AD bearer token.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- },
- "headers": {
- "WWW-Authenticate": {
- "type": "string",
- "description": "Bearer realm=\"https://atlas.microsoft.com/\", error=\"invalid_token\", error_description=\"The access token expired\""
- }
- }
- },
- "403": {
- "description": "Permission, capacity, or authentication issues.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "404": {
- "description": "Not Found: the requested resource could not be found, but it may be available again in the future.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "500": {
- "description": "An error occurred while processing the request. Please try again later.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "200Async": {
- "description": "The operation's status response.",
- "schema": {
- "$ref": "#/definitions/LongRunningOperationResult"
- }
- },
- "201Async": {
- "description": "The resource has been created successfully.",
- "schema": {
- "$ref": "#/definitions/LongRunningOperationResult"
- },
- "headers": {
- "Location": {
- "type": "string",
- "description": "A URI where details on the newly created resource can be found."
- }
- }
- },
- "202Async": {
- "description": "**Supported only for async request.**\nRequest Accepted: The request has been accepted for processing. Please use the URL in the Location Header to retry or access the results.",
- "headers": {
- "Location": {
- "type": "string",
- "description": "New URL to check for the results of the long running process."
- }
- }
- }
- },
- "parameters": {
- "GeographicResourceLocation": {
- "name": "geography",
- "description": "This parameter specifies where the Azure Maps Creator resource is located. Valid values are us and eu.",
- "in": "path",
- "required": true,
- "type": "string",
- "default": "us",
- "enum": [
- "us",
- "eu"
- ],
- "x-ms-enum": {
- "name": "GeographicResourceLocation",
- "modelAsString": true,
- "values": [
- {
- "value": "us",
- "description": "Used to access an Azure Maps Creator resource in the United States"
- },
- {
- "value": "eu",
- "description": "Used to access an Azure Maps Creator resource in Europe"
- }
- ]
- },
- "x-ms-parameter-location": "client"
- },
- "SubscriptionKey": {
- "name": "subscription-key",
- "description": "One of the Azure Maps keys provided from an Azure Map Account. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/how-to-manage-authentication) for details on how to manage authentication.",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "client"
- },
- "ApiVersion": {
- "name": "api-version",
- "description": "Version number of Azure Maps API. Current version is 1.0",
- "type": "string",
- "in": "query",
- "required": true,
- "default": "1.0",
- "x-ms-parameter-location": "client"
- },
- "ConversionIdQuery": {
- "name": "conversionId",
- "description": "The unique ID used to create the dataset. The `conversionId` must have been obtained from a successful call to the Conversion Service Convert API and must be provided with multiple query parameters with same name (if more than one is provided). May not be provided in conjunction with the `udid` query parameter.",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "UdidDataset": {
- "name": "udid",
- "description": "The unique data ID used to create the dataset. The `udid` must have been obtained from a successful call to the Data Service Upload API and must be provided with multiple query parameters with the same name (if more than one is provided). May not be provided in conjunction with `conversionId` query parameter.",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "DescriptionDataset": {
- "name": "description",
- "description": "The description to be given to the dataset.",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "DatasetId": {
- "name": "datasetId",
- "type": "string",
- "in": "path",
- "description": "The identifier for the dataset to query from.",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "Type": {
- "name": "type",
- "type": "string",
- "in": "query",
- "description": "The type of data to create the dataset with.",
- "enum": [
- "facility"
- ],
- "x-ms-enum": {
- "name": "DatasetType",
- "modelAsString": true,
- "values": [
- {
- "value": "facility",
- "description": "Facility Maps data type."
- }
- ]
- },
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "ImportUdid": {
- "name": "udid",
- "description": "The unique data ID used to import data into the dataset. The `udid` must have been obtained from a successful call to the Data Service Upload API.",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "ImportType": {
- "name": "type",
- "type": "string",
- "in": "query",
- "description": "The type of data to import into the dataset with.",
- "enum": [
- "fixture"
- ],
- "x-ms-enum": {
- "name": "ImportDataType",
- "modelAsString": true,
- "values": [
- {
- "value": "fixture",
- "description": "Area and point element data."
- }
- ]
- },
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "AppendDatasetId": {
- "name": "datasetId",
- "type": "string",
- "in": "query",
- "description": "The ID for the dataset to append to.",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "StatusId": {
- "name": "statusId",
- "type": "string",
- "in": "path",
- "description": "The ID to query the status for the dataset create/import request.",
- "required": true,
- "x-ms-parameter-location": "method"
- }
- },
- "paths": {
- "/dataset/create": {
- "post": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Dataset Create API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API \nand SDK. The Dataset APIs are part of Creator. This API allows the caller to create a dataset from data that \nwas uploaded to the Azure Maps Data Service.\n\nYou can use this API in a scenario like uploading a DWG zip package for a building, converting the zip package using \nthe Azure Maps Conversion Service, creating a dataset from the converted zip package. The created dataset can be \nused to create tilesets using the Azure Maps Tileset Service and can be queried via the Azure Maps WFS Service.\n\n## Submit Create Request\n\nTo create your dataset, you will use a `POST` request where the `conversionId` query parameter is an id that represents \nthe converted DWG zip package, the `type` parameter will describe the data type to use for the dataset, the `datasetId`\nparameter will describe if the provided data should be appended to a current dataset and, optionally, the \n`description` query parameter will contain a description (if description is not provided a default description will be \ngiven).\n\nThe Create API is a \n[long-running request](https://aka.ms/am-creator-lrt).",
- "operationId": "Dataset_CreatePreview",
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- },
- "x-ms-examples": {
- "Create dataset from a converted CAD file provided by conversionId": {
- "$ref": "./examples/Dataset_Create.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/ConversionIdQuery"
- },
- {
- "$ref": "#/parameters/UdidDataset"
- },
- {
- "$ref": "#/parameters/Type"
- },
- {
- "$ref": "#/parameters/AppendDatasetId"
- },
- {
- "$ref": "#/parameters/DescriptionDataset"
- }
- ],
- "responses": {
- "201": {
- "$ref": "#/responses/201Async"
- },
- "202": {
- "$ref": "#/responses/202Async"
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/dataset/import/{datasetId}": {
- "patch": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Dataset Import API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API \nand SDK. The Dataset APIs are part of Creator. This API allows the caller to bulk import data into a dataset \nfrom data that was uploaded to the Azure Maps Data service.
\n\n### Submit Import Request\n\nTo import data into your dataset, you will use a `PATCH` request where the `datasetId` query parameter is the \ndataset you want to import your data into, the `udid` query parameter is the data you want to import, and the `type` \nparameter will describe the data type to use for the import data.
\n\nThe Import API is a \n[long-running request](https://aka.ms/am-creator-lrt).",
- "operationId": "Dataset_ImportPreview",
- "x-ms-examples": {
- "Import data into previously created dataset": {
- "$ref": "./examples/Dataset_Import.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/DatasetId"
- },
- {
- "$ref": "#/parameters/ImportUdid"
- },
- {
- "$ref": "#/parameters/ImportType"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/responses/200Async"
- },
- "202": {
- "$ref": "#/responses/202Async"
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/dataset/{datasetId}": {
- "delete": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Dataset Delete API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Dataset APIs are part of Creator.\nThis API allows the caller to delete a previously created dataset.
\nYou can also use this API to delete old/unused datasets to create space for new Creator content.\n\n\n### Submit Delete Request\n\nTo delete your content you will issue a `DELETE` request where the path will contain the `datasetId` of the dataset to delete.
\n\n\n### Delete Data Response\n\nThe Delete API returns a HTTP `204 No Content` response if the dataset resource was deleted successfully.
",
- "operationId": "Dataset_DeletePreview",
- "x-ms-examples": {
- "Delete previously created dataset": {
- "$ref": "./examples/Dataset_Delete.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/DatasetId"
- }
- ],
- "responses": {
- "204": {
- "description": "The dataset delete request completed successfully. The resource referenced by the `datasetId` was deleted from the server.",
- "schema": {
- "$ref": "#/definitions/DatasetDeleteResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/dataset": {
- "get": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Dataset List API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Dataset APIs are part of Creator.\nThis API allows the caller to fetch a list of all previously successfully created datasets.\n\n\n### Submit List Request\n\nTo list all your datasets, you will issue a `GET` request with no additional parameters.
\n\n\n### List Data Response\n\nThe List API returns the complete list of all datasets in `json` format. The response contains the following fields (if they are not null or empty):\n > created - The timestamp the dataset was created.\n > datasetId - The id for the dataset.\n > description - The description for the dataset.\n > datasetSources - The source data that was used when the create request was issued.\n\nThe `datasetSources` describes the source data that was used when the create request was issued and contains the following elements (if they are not null or empty):\n > conversionIds - The list of `conversionId` (null if none were provided).\n > udids - The list of `udid` (null if none were provided).\n > appendDatasetId - The `datasetId` that was used for an append operation (null if none was used).\n > type - The type of data stored in the dataset that was created.\n\nHere's a sample response returning the `timestamp`, `datasetId`, `description`, and `datasetSources` of 3 dataset resources:\n\n
\n\n```json\n{\n \"datasets\": [\n {\n \"timestamp\": \"2020-01-01T22:50:48+00:00\",\n \"datasetId\": \"f6495f62-94f8-0ec2-c252-45626f82fcb2\",\n \"description\": \"Some description or comment for the dataset.\",\n \"datasetSources\": {\n \"conversionIds\": [\n \"15d21452-c9bb-27b6-5e79-743ca5c3205d\"\n ],\n \"type\": \"facility\"\n },\n \"status\": \"Succeeded\"\n },\n {\n \"timestamp\": \"2020-01-01T22:57:53+00:00\",\n \"datasetId\": \"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\n \"description\": \"Create from upload '0c1288fa-2058-4a1b-b68d-13a5f5af7d7c'.\",\n \"datasetSources\": {\n \"udids\": [\n \"0c1288fa-2058-4a1b-b68d-13a5f5af7d7c\"\n ],\n \"type\": \"facility\"\n },\n \"status\": \"Succeeded\"\n },\n {\n \"timestamp\": \"2020-01-01T20:39:36+00:00\",\n \"datasetId\": \"7c1288fa-2058-4a1b-b68f-13a6h5af7d7c\",\n \"description\": \"Some other description or comment for the dataset.\",\n \"datasetSources\": {\n \"conversionIds\": [\n \"15d21452-c9bb-27b6-5e79-743ca5c3205d\"\n ],\n \"appendDatasetId\": \"8b1288fa-1958-4a2b-b68e-13a7i5af7d7c\",\n \"type\": \"facility\"\n },\n \"status\": \"Succeeded\"\n }\n ]\n}\n```\n
",
- "operationId": "Dataset_ListPreview",
- "x-ms-examples": {
- "List all the previously created datasets": {
- "$ref": "./examples/Dataset_List.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- }
- ],
- "responses": {
- "200": {
- "description": "The list dataset request completed successfully. The response body contains a list of all the previously created datasets.",
- "schema": {
- "$ref": "#/definitions/DatasetListResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- }
- },
- "definitions": {
- "ODataErrorResponse": {
- "type": "object",
- "description": "This response object is returned when an error occurs in the Azure Maps API.",
- "properties": {
- "error": {
- "$ref": "#/definitions/ODataError"
- }
- }
- },
- "ODataError": {
- "type": "object",
- "description": "This object is returned when an error occurs in the Azure Maps API.",
- "properties": {
- "code": {
- "type": "string",
- "readOnly": true,
- "description": "The ODataError code."
- },
- "message": {
- "type": "string",
- "readOnly": true,
- "description": "If available, a human-readable description of the error."
- },
- "details": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ODataError"
- }
- },
- "target": {
- "type": "string",
- "readOnly": true,
- "description": "If available, the target causing the error."
- }
- }
- },
- "LongRunningOperationResult": {
- "description": "The response model for a Long-Running Operations API.",
- "type": "object",
- "properties": {
- "operationId": {
- "description": "The Id for this long-running operation.",
- "type": "string"
- },
- "status": {
- "description": "The status state of the request.",
- "type": "string",
- "enum": [
- "NotStarted",
- "Running",
- "Failed",
- "Succeeded"
- ],
- "x-ms-enum": {
- "name": "type",
- "modelAsString": true,
- "values": [
- {
- "value": "NotStarted",
- "description": "The request has not started processing yet."
- },
- {
- "value": "Running",
- "description": "The request has started processing."
- },
- {
- "value": "Failed",
- "description": "The request has one or more failures."
- },
- {
- "value": "Succeeded",
- "description": "The request has successfully completed."
- }
- ]
- },
- "readOnly": true
- },
- "created": {
- "description": "The created timestamp.",
- "type": "string",
- "readOnly": true
- },
- "resourceLocation": {
- "description": "The location URI for details about the created resource. This is only provided when the request was successfully completed.",
- "type": "string",
- "readOnly": true
- },
- "error": {
- "$ref": "#/definitions/ODataError"
- },
- "warning": {
- "$ref": "#/definitions/ODataError"
- }
- }
- },
- "DatasetDeleteResponse": {
- "description": "The response model for the Dataset Delete API. The response body will be empty signifying there's no content available for the `datasetId` anymore.",
- "type": "object"
- },
- "DatasetListResponse": {
- "description": "The response model for the Dataset List API. The response body will contain a list of all the previously created datasets.",
- "type": "object",
- "properties": {
- "datasets": {
- "description": "A list of all the previously created datasets.",
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/DatasetDetailInfo"
- }
- }
- }
- },
- "DatasetDetailInfo": {
- "description": "Detail information for the dataset.",
- "type": "object",
- "properties": {
- "created": {
- "description": "The created timestamp for the dataset.",
- "type": "string",
- "readOnly": true
- },
- "datasetId": {
- "description": "The id for the dataset.",
- "type": "string",
- "readOnly": true
- },
- "description": {
- "description": "The description for the dataset.",
- "type": "string",
- "readOnly": true
- },
- "datasetSources": {
- "$ref": "#/definitions/DatasetSources"
- },
- "featureCounts": {
- "description": "The feature counts for the dataset.",
- "type": "object",
- "readOnly": true
- }
- }
- },
- "DatasetSources": {
- "description": "Information about the details of the create request for the dataset.",
- "type": "object",
- "properties": {
- "conversionIds": {
- "description": "The list of `conversionId` that were used to create the dataset.",
- "type": "array",
- "readOnly": true,
- "items": {
- "type": "string"
- }
- },
- "udids": {
- "description": "The list of `conversionId` that were used to create the dataset.",
- "type": "array",
- "readOnly": true,
- "items": {
- "type": "string"
- }
- },
- "appendDatasetId": {
- "description": "The dataset that was appended to to create the current dataset.",
- "type": "string",
- "readOnly": true
- },
- "type": {
- "description": "The type of data stored in the dataset.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "DatasetGetDetailsResponse": {
- "$ref": "#/definitions/DatasetDetailInfo"
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Create.json b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Create.json
deleted file mode 100644
index e59db5d0820e..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Create.json
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]",
- "conversionId": "[conversionId]",
- "type": "facility"
- },
- "responses": {
- "201": {
- "headers": {
- "Location": "https://us.atlas.microsoft.com/dataset/{datasetId}?api-version=1.0",
- "Access-Control-Expose-Headers": "Location"
- },
- "body": {
- "operationId": "{operationId}",
- "status": "Succeeded",
- "created": "2020-01-02 1:02:03 AM +00:00",
- "resourceLocation": "https://us.atlas.microsoft.com/dataset/{datasetId}?api-version=1.0"
- }
- },
- "202": {
- "headers": {
- "Location": "https://us.atlas.microsoft.com/dataset/operations/{operationId}?api-version=1.0",
- "Access-Control-Expose-Headers": "Location"
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request - Error message."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found - The requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "Unknown error - An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Delete.json b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Delete.json
deleted file mode 100644
index 865652b9cbd8..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Delete.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]",
- "datasetId": "[datasetId]"
- },
- "responses": {
- "204": {
- "body": {}
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request - One or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found - The requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "Unknown error - An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Import.json b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Import.json
deleted file mode 100644
index 074bd5c20371..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_Import.json
+++ /dev/null
@@ -1,72 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]",
- "datasetId": "[conversionId]",
- "udid": "[udid]",
- "type": "fixture"
- },
- "responses": {
- "200": {
- "headers": {},
- "body": {
- "operationId": "{operationId}",
- "status": "Succeeded",
- "created": "2020-01-02 03:04:05 AM +00:00",
- "resourceLocation": "https://us.atlas.microsoft.com/dataset/{datasetId}?api-version=1.0"
- }
- },
- "202": {
- "headers": {
- "Location": "https://us.atlas.microsoft.com/dataset/operations/{operationId}?api-version=1.0",
- "Access-Control-Expose-Headers": "Location"
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request - Error message."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found - The requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "Unknown error - An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_List.json b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_List.json
deleted file mode 100644
index 70a28edebb38..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/1.0/examples/Dataset_List.json
+++ /dev/null
@@ -1,117 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]"
- },
- "responses": {
- "200": {
- "body": {
- "datasets": [
- {
- "created": "2020-01-02 3:04:05 AM +00:00",
- "datasetId": "f6495f62-94f8-0ec2-c252-45626f82fcb2",
- "description": "Some description or comment for the dataset.",
- "datasetSources": {
- "conversionIds": [
- "15d21452-c9bb-27b6-5e79-743ca5c3205d"
- ],
- "type": "facility"
- },
- "featureCounts": {
- "directoryInfo": 1,
- "category": 18,
- "facility": 1,
- "level": 6,
- "unit": 775,
- "opening": 471,
- "areaElement": 496
- }
- },
- {
- "created": "2020-01-02 3:04:05 PM +00:00",
- "datasetId": "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c",
- "description": "Create from upload '0c1288fa-2058-4a1b-b68d-13a5f5af7d7c'.",
- "datasetSources": {
- "udids": [
- "0c1288fa-2058-4a1b-b68d-13a5f5af7d7c"
- ],
- "type": "facility"
- },
- "featureCounts": {
- "directoryInfo": 1,
- "category": 2,
- "facility": 1,
- "level": 6,
- "unit": 19
- }
- },
- {
- "created": "2020-01-02 3:04:05 AM +00:00",
- "datasetId": "7c1288fa-2058-4a1b-b68f-13a6h5af7d7c",
- "description": "Some other description or comment for the dataset.",
- "datasetSources": {
- "conversionIds": [
- "15d21452-c9bb-27b6-5e79-743ca5c3205d"
- ],
- "appendDatasetId": "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c",
- "type": "facility"
- },
- "featureCounts": {
- "directoryInfo": 1,
- "category": 1,
- "facility": 1,
- "level": 1,
- "unit": 10
- }
- }
- ]
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request - One or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found - The requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "Unknown error - An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/2.0/dataset.json b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/2.0/dataset.json
index 6d0f4eae2b24..49fe3a5335a7 100644
--- a/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/2.0/dataset.json
+++ b/specification/maps/data-plane/Microsoft.Maps/Dataset/preview/2.0/dataset.json
@@ -22,28 +22,39 @@
"application/xml"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
diff --git a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/dwgconversion.json b/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/dwgconversion.json
deleted file mode 100644
index 1c058347349c..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/dwgconversion.json
+++ /dev/null
@@ -1,508 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "Azure Maps Conversion Service",
- "version": "1.0",
- "description": "APIs for converting DWG Packages in Azure Maps."
- },
- "x-ms-parameterized-host": {
- "hostTemplate": "{geography}.atlas.microsoft.com",
- "parameters": [
- {
- "$ref": "#/parameters/GeographicResourceLocation"
- }
- ]
- },
- "schemes": [
- "https"
- ],
- "consumes": [],
- "produces": [
- "application/json"
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
- "scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
- }
- },
- "apiKeyQuery": {
- "type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
- "name": "subscription-key",
- "in": "query"
- }
- },
- "security": [
- {
- "azure_auth": []
- },
- {
- "apiKeyQuery": []
- }
- ],
- "responses": {
- "400": {
- "description": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "401": {
- "description": "Access denied due to invalid subscription key or invalid Azure Active Directory (Azure AD) bearer token. Make sure to provide a valid key for an active Azure subscription and Maps resource. Otherwise, verify the [WWW-Authenticate](https://tools.ietf.org/html/rfc6750#section-3.1) header for error code and description of the provided Azure AD bearer token.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- },
- "headers": {
- "WWW-Authenticate": {
- "type": "string",
- "description": "Bearer realm=\"https://atlas.microsoft.com/\", error=\"invalid_token\", error_description=\"The access token expired\""
- }
- }
- },
- "403": {
- "description": "Permission, capacity, or authentication issues.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "404": {
- "description": "Not Found: the requested resource could not be found, but it may be available again in the future.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "500": {
- "description": "An error occurred while processing the request. Please try again later.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "201Async": {
- "description": "The resource has been created successfully.",
- "schema": {
- "$ref": "#/definitions/LongRunningOperationResult"
- },
- "headers": {
- "Location": {
- "type": "string",
- "description": "A URI where details on the newly created resource can be found."
- }
- }
- },
- "202Async": {
- "description": "**Supported only for async request.**\nRequest Accepted: The request has been accepted for processing. Please use the URL in the Location Header to retry or access the results.",
- "headers": {
- "Location": {
- "type": "string",
- "description": "New URL to check for the results of the long running process."
- }
- }
- }
- },
- "parameters": {
- "GeographicResourceLocation": {
- "name": "geography",
- "description": "This parameter specifies where the Azure Maps Creator resource is located. Valid values are us and eu.",
- "in": "path",
- "required": true,
- "type": "string",
- "default": "us",
- "enum": [
- "us",
- "eu"
- ],
- "x-ms-enum": {
- "name": "GeographicResourceLocation",
- "modelAsString": true,
- "values": [
- {
- "value": "us",
- "description": "Used to access an Azure Maps Creator resource in the United States"
- },
- {
- "value": "eu",
- "description": "Used to access an Azure Maps Creator resource in Europe"
- }
- ]
- },
- "x-ms-parameter-location": "client"
- },
- "ClientId": {
- "name": "x-ms-client-id",
- "description": "Specifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.",
- "type": "string",
- "in": "header",
- "required": false,
- "x-ms-parameter-location": "client"
- },
- "SubscriptionKey": {
- "name": "subscription-key",
- "description": "One of the Azure Maps keys provided from an Azure Map Account. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/how-to-manage-authentication) for details on how to manage authentication.",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "client"
- },
- "ApiVersion": {
- "name": "api-version",
- "description": "Version number of Azure Maps API. Current version is 1.0",
- "type": "string",
- "in": "query",
- "required": true,
- "default": "1.0",
- "x-ms-parameter-location": "client"
- },
- "UdidQuery": {
- "name": "udid",
- "description": "The unique data id for the content. The `udid` must have been obtained from a successful [Data Upload API](https://docs.microsoft.com/en-us/rest/api/maps/data/uploadpreview) call.",
- "type": "string",
- "in": "query",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "ConversionId": {
- "name": "conversionId",
- "description": "The conversion id for the content. The `conversionId` must have been obtained from a successful [Conversion API](https://docs.microsoft.com/en-us/rest/api/maps/conversion/convertpreview) call.",
- "type": "string",
- "in": "path",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "ConversionInputType": {
- "name": "inputType",
- "description": "Input type of the content being converted. Currently, only `DWG` type is supported.",
- "type": "string",
- "in": "query",
- "required": true,
- "enum": [
- "DWG"
- ],
- "x-ms-enum": {
- "name": "ConversionInputType",
- "modelAsString": true,
- "values": [
- {
- "value": "DWG",
- "description": "DWG file format."
- }
- ]
- },
- "x-ms-parameter-location": "method"
- },
- "DescriptionDwgConversion": {
- "name": "description",
- "description": "User provided description of the content being converted.",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- }
- },
- "paths": {
- "/conversion/convert": {
- "post": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Conversion Create API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).
\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and \nSDK. [This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.
\n\nThe Conversion API lets the caller import a set of DWG design files as a zipped [Drawing Package](https://aka.ms/am-drawing-package) into Azure Maps. The [Drawing Package](https://aka.ms/am-drawing-package) should first be \nuploaded using the [Azure Maps Data Service](https://docs.microsoft.com/rest/api/maps/data). Once uploaded, use the \n`udid` returned by the [Data Upload API](https://docs.microsoft.com/rest/api/maps/data/uploadpreview) to call \nthis Conversion API.\n\n## Convert DWG package\n\nThe Conversion API performs a \n[long-running request](https://aka.ms/am-creator-lrt).\n\n## Debug DWG package issues\n\n\nDuring the Conversion process, if there are any issues with the DWG package [errors and warnings](https://aka.ms/am-conversion-errors) are provided in the response along with a *diagnostic package* to visualize \nand diagnose these issues. In case any issues are encountered with your DWG package, the Conversion operation status process as detailed \n[here](https://aka.ms/am-creator-lrt) returns the location of the *diagnostic\npackage* that can be downloaded by the caller to help them visualize and diagnose these issues. The *diagnostic package* location\ncan be found in the properties section of the conversion operation status response and looks like the following:\n\n```json\n{\n \"properties\": {\n \"diagnosticPackageLocation\": \"https://us.atlas.microsoft.com/mapdata/{DiagnosticPackageId}?api-version=1.0\" \n } \n}\n```\n\nThe *diagnostic package* can be downloaded by executing a `HTTP GET` request on the `diagnosticPackageLocation`.\nFor more details on how to use the tool to visualize and diagnose all the errors and warnings see [Drawing Error Visualizer](https://aka.ms/am-drawing-errors-visualizer).
\n\nA conversion operation will be marked as *success* if there are zero or more warnings but will be marked as *failed* if any errors are encountered. ",
- "operationId": "Conversion_ConvertPreview",
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- },
- "x-ms-examples": {
- "Convert previously uploaded DWG Package": {
- "$ref": "./examples/Conversion.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/UdidQuery"
- },
- {
- "$ref": "#/parameters/ConversionInputType"
- },
- {
- "$ref": "#/parameters/DescriptionDwgConversion"
- }
- ],
- "responses": {
- "201": {
- "$ref": "#/responses/201Async"
- },
- "202": {
- "$ref": "#/responses/202Async"
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/conversion": {
- "get": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Conversion List API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).
\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.
\n\nThis API allows the caller to fetch a list of all successful data conversions submitted previously using the [Conversion API](https://docs.microsoft.com/en-us/rest/api/maps/conversion/convertpreview). \n\n### Submit List Request\n\nTo list all successful conversions you will issue a `GET` request with no additional parameters.\n\n### List Data Response\n\nThe Conversion List API returns the complete list of all conversion details in `json` format.
\n\nHere is a sample response returning the details of two successful conversion requests: \n\n
\n\n```json\n{\n \"conversions\": \n [\n {\n \"conversionId\": \"54398242-ea6c-1f31-4fa6-79b1ae0fc24d\",\n \"udid\": \"31838736-8b84-11ea-bc55-0242ac130003\",\n \"created\": \"5/19/2020 9:00:00 AM +00:00\",\n \"description\": \"User provided description.\",\n \"featureCounts\": {\n \"DIR\": 1,\n \"LVL\": 3,\n \"FCL\": 1,\n \"UNIT\": 150,\n \"CTG\": 8,\n \"AEL\": 0,\n \"OPN\": 10\n }\n },\n {\n \"conversionId\": \"2acf7d32-8b84-11ea-bc55-0242ac130003\",\n \"udid\": \"1214bc58-8b84-11ea-bc55-0242ac1300039\",\n \"created\": \"5/19/2020 9:00:00 AM +00:00\",\n \"description\": \"User provided description.\",\n \"featureCounts\": {\n \"DIR\": 1,\n \"LVL\": 3,\n \"FCL\": 1,\n \"UNIT\": 150,\n \"CTG\": 8,\n \"AEL\": 0,\n \"OPN\": 10\n }\n }\n ]\n}\n```\n\n
",
- "operationId": "Conversion_ListPreview",
- "x-ms-examples": {
- "Returns a list of all the data processed by the Conversion Service for the account": {
- "$ref": "./examples/List.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- }
- ],
- "responses": {
- "200": {
- "description": "List request completed successfully.",
- "schema": {
- "$ref": "#/definitions/ConversionListResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/conversion/{conversionId}": {
- "delete": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Conversion Delete API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).
\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.
\n\nThis API allows the caller to delete any data conversions created previously using the [Conversion API](https://docs.microsoft.com/en-us/rest/api/maps/conversion/convertpreview).\n\n### Submit Delete Request\n\nTo delete your conversion data you will issue a `DELETE` request where the path will contain the `conversionId` of the data to delete.\n\n### Conversion Delete Response\n\nThe Conversion Delete API returns a HTTP `204 No Content` response with an empty body, if the converted data resources were deleted successfully.
\nA HTTP `400 Bad Request` error response will be returned if no resource associated with the passed-in `conversionId` is found. ",
- "operationId": "Conversion_DeletePreview",
- "x-ms-examples": {
- "Delete previously converted content": {
- "$ref": "./examples/Delete.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/ConversionId"
- }
- ],
- "responses": {
- "204": {
- "description": "Conversion delete request completed successfully. The content for `conversionId` was deleted on the server.",
- "schema": {
- "$ref": "#/definitions/ConversionDeleteResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- }
- },
- "definitions": {
- "ODataErrorResponse": {
- "type": "object",
- "description": "This response object is returned when an error occurs in the Azure Maps API.",
- "properties": {
- "error": {
- "$ref": "#/definitions/ODataError"
- }
- }
- },
- "ODataError": {
- "type": "object",
- "description": "This object is returned when an error occurs in the Azure Maps API.",
- "properties": {
- "code": {
- "type": "string",
- "readOnly": true,
- "description": "The ODataError code."
- },
- "message": {
- "type": "string",
- "readOnly": true,
- "description": "If available, a human-readable description of the error."
- },
- "details": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ODataError"
- }
- },
- "target": {
- "type": "string",
- "readOnly": true,
- "description": "If available, the target causing the error."
- }
- }
- },
- "LongRunningOperationResult": {
- "description": "The response model for a Long-Running Operations API.",
- "type": "object",
- "properties": {
- "operationId": {
- "description": "The Id for this long-running operation.",
- "type": "string"
- },
- "status": {
- "description": "The status state of the request.",
- "type": "string",
- "enum": [
- "NotStarted",
- "Running",
- "Failed",
- "Succeeded"
- ],
- "x-ms-enum": {
- "name": "type",
- "modelAsString": true,
- "values": [
- {
- "value": "NotStarted",
- "description": "The request has not started processing yet."
- },
- {
- "value": "Running",
- "description": "The request has started processing."
- },
- {
- "value": "Failed",
- "description": "The request has one or more failures."
- },
- {
- "value": "Succeeded",
- "description": "The request has successfully completed."
- }
- ]
- },
- "readOnly": true
- },
- "created": {
- "description": "The created timestamp.",
- "type": "string",
- "readOnly": true
- },
- "resourceLocation": {
- "description": "The location URI for details about the created resource. This is only provided when the request was successfully completed.",
- "type": "string",
- "readOnly": true
- },
- "error": {
- "$ref": "#/definitions/ODataError"
- },
- "warning": {
- "$ref": "#/definitions/ODataError"
- }
- }
- },
- "ConversionListResponse": {
- "description": "The response model for the Conversion List API.",
- "type": "object",
- "properties": {
- "conversions": {
- "description": "A list of all the previously submitted conversion requests.",
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/ConversionListDetailInfo"
- }
- }
- }
- },
- "ConversionListDetailInfo": {
- "description": "Detail information for the conversion requests.",
- "type": "object",
- "properties": {
- "conversionId": {
- "description": "A unique id that represents the artifact of a _successfully_ completed conversion process.",
- "type": "string",
- "readOnly": true
- },
- "udid": {
- "description": "The unique id of the content provided to create this conversion.",
- "type": "string",
- "readOnly": true
- },
- "created": {
- "description": "The date and time of this conversion.",
- "type": "string",
- "readOnly": true
- },
- "description": {
- "description": "User provided description of the content being converted.",
- "type": "string",
- "readOnly": true
- },
- "featureCounts": {
- "description": "A summary of feature counts in this conversion.",
- "type": "object",
- "readOnly": true
- }
- }
- },
- "ConversionDeleteResponse": {
- "description": "The response model for the Conversion Delete API. The response body will be empty signifying there's no content available for the `conversionId` anymore.",
- "type": "object"
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/Conversion.json b/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/Conversion.json
deleted file mode 100644
index 620928efd64a..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/Conversion.json
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]",
- "udid": "25084fb7-307a-4720-8f91-7952a0b91012",
- "inputType": "DWG"
- },
- "responses": {
- "201": {
- "headers": {
- "Location": "https://us.atlas.microsoft.com/conversion/{conversionId}?api-version=1.0",
- "Access-Control-Expose-Headers": "Location"
- },
- "body": {
- "operationId": "{operationId}",
- "status": "Succeeded",
- "created": "2020-01-02 1:02:03 AM +00:00",
- "resourceLocation": "https://us.atlas.microsoft.com/conversion/{conversionId}?api-version=1.0"
- }
- },
- "202": {
- "headers": {
- "Location": "https://us.atlas.microsoft.com/conversion/operations/{operationId}?api-version=1.0",
- "Access-Control-Expose-Headers": "Location"
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/Delete.json b/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/Delete.json
deleted file mode 100644
index a2437b22c532..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/Delete.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]",
- "conversionId": "99884fb7-87a9-0920-7f93-7952a0b91012"
- },
- "responses": {
- "204": {
- "body": {}
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/List.json b/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/List.json
deleted file mode 100644
index 2b7782a6acf3..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/1.0/examples/List.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]"
- },
- "responses": {
- "200": {
- "body": {
- "conversions": [
- {
- "conversionId": "54398242-ea6c-1f31-4fa6-79b1ae0fc24d",
- "udid": "31838736-8b84-11ea-bc55-0242ac130003",
- "created": "5/19/2020 9:00:00 AM +00:00",
- "description": "User provided description.",
- "featureCounts": {
- "directoryInfo": 1,
- "level": 3,
- "facility": 1,
- "unit": 150,
- "category": 8,
- "areaElement": 0,
- "opening": 10
- }
- },
- {
- "conversionId": "2acf7d32-8b84-11ea-bc55-0242ac130003",
- "udid": "1214bc58-8b84-11ea-bc55-0242ac1300039",
- "created": "5/19/2020 9:00:00 AM +00:00",
- "description": "User provided description.",
- "featureCounts": {
- "directoryInfo": 1,
- "level": 3,
- "facility": 1,
- "unit": 150,
- "category": 8,
- "areaElement": 0,
- "opening": 10
- }
- }
- ]
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/2.0/dwgconversion.json b/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/2.0/dwgconversion.json
index 7aee6aea4ce0..805f6381fc1b 100644
--- a/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/2.0/dwgconversion.json
+++ b/specification/maps/data-plane/Microsoft.Maps/DwgConversion/preview/2.0/dwgconversion.json
@@ -21,28 +21,39 @@
"application/json"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/CreateStateset.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/CreateStateset.json
deleted file mode 100644
index 26077a93784b..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/CreateStateset.json
+++ /dev/null
@@ -1,117 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]",
- "datasetId": "5d34fbe8-87b7-f7c0-3144-c50e003a3c75",
- "statesetCreateRequestBody": {
- "styles": [
- {
- "keyname": "s1",
- "type": "boolean",
- "rules": [
- {
- "true": "#FF0000",
- "false": "#00FF00"
- }
- ]
- },
- {
- "keyname": "s2",
- "type": "number",
- "rules": [
- {
- "range": {
- "exclusiveMaximum": 50
- },
- "color": "#343deb"
- },
- {
- "range": {
- "minimum": 50,
- "exclusiveMaximum": 70
- },
- "color": "#34ebb1"
- },
- {
- "range": {
- "minimum": 70,
- "exclusiveMaximum": 90
- },
- "color": "#eba834"
- },
- {
- "range": {
- "minimum": 90
- },
- "color": "#eb3434"
- }
- ]
- },
- {
- "keyname": "s3",
- "type": "string",
- "rules": [
- {
- "stateValue1": "#FF0000",
- "stateValue2": "#FF00AA",
- "stateValueN": "#00FF00"
- }
- ]
- }
- ]
- }
- },
- "responses": {
- "200": {
- "body": {
- "statesetId": "b24bdb73-1305-3212-1909-a428d937b64f"
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/DeleteFeatureState.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/DeleteFeatureState.json
deleted file mode 100644
index 4fae12773bc9..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/DeleteFeatureState.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]",
- "statesetId": "b24bdb73-1305-3212-1909-a428d937b64",
- "featureId": "SPC4709",
- "stateKeyName": "keyName1"
- },
- "responses": {
- "200": {},
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "409": {
- "headers": {},
- "body": {
- "error": {
- "code": "409 Conflict",
- "message": "The request could not be completed due to a conflict with the current state of the resource."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/DeleteStateset.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/DeleteStateset.json
deleted file mode 100644
index 18a62b07b2d0..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/DeleteStateset.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]",
- "statesetId": "b24bdb73-1305-3212-1909-a428d937b64f"
- },
- "responses": {
- "204": {},
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/GetStates.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/GetStates.json
deleted file mode 100644
index 0f83e1814041..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/GetStates.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]",
- "statesetId": "b24bdb73-1305-3212-1909-a428d937b64",
- "featureId": "SPC4709"
- },
- "responses": {
- "200": {
- "body": {
- "states": [
- {
- "keyName": "s1",
- "value": true,
- "eventTimestamp": "2019-08-16 13:01"
- }
- ]
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/GetStateset.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/GetStateset.json
deleted file mode 100644
index 655b55546d1c..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/GetStateset.json
+++ /dev/null
@@ -1,118 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]",
- "statesetId": "b24bdb73-1305-3212-1909-a428d937b64"
- },
- "responses": {
- "200": {
- "body": {
- "datasetIdList": [
- "8d700cc7-fd2c-4e21-b402-ad3f5e524f36"
- ],
- "statesetStyle": {
- "styles": [
- {
- "keyName": "s1",
- "type": "boolean",
- "rules": [
- {
- "true": "#FFFF00",
- "false": "#FFFFFF"
- }
- ]
- },
- {
- "keyName": "s2",
- "type": "number",
- "rules": [
- {
- "range": {
- "minimum": null,
- "maximum": null,
- "exclusiveMinumum": null,
- "exclusiveMaximum": "50"
- },
- "color": "#343deb"
- },
- {
- "range": {
- "minimum": "50",
- "maximum": null,
- "exclusiveMinumum": null,
- "exclusiveMaximum": "69"
- },
- "color": "#34ebb1"
- },
- {
- "range": {
- "minimum": "69",
- "maximum": null,
- "exclusiveMinumum": null,
- "exclusiveMaximum": "90"
- },
- "color": "#eba834"
- },
- {
- "range": {
- "minimum": "90",
- "maximum": null,
- "exclusiveMinumum": null,
- "exclusiveMaximum": null
- },
- "color": "#eb3434"
- }
- ]
- }
- ]
- }
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/Stateset_List.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/Stateset_List.json
deleted file mode 100644
index 94eede94963b..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/Stateset_List.json
+++ /dev/null
@@ -1,122 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]"
- },
- "responses": {
- "200": {
- "body": {
- "statesetDetailList": [
- {
- "statesetId": "09abcdf8-cad0-b3dd-a38f-d5ee3cff5eea",
- "datasetIdList": [
- "8d700cc7-fd2c-4e21-b402-ad3f5e524f36"
- ],
- "statesetStyle": {
- "styles": [
- {
- "keyName": "s1",
- "type": "boolean",
- "rules": [
- {
- "true": "#0FFF00",
- "false": "#00FFF0"
- }
- ]
- },
- {
- "keyName": "s2",
- "type": "number",
- "rules": [
- {
- "range": {
- "minimum": null,
- "maximum": null,
- "exclusiveMinumum": null,
- "exclusiveMaximum": "50"
- },
- "color": "#343deb"
- },
- {
- "range": {
- "minimum": "50",
- "maximum": null,
- "exclusiveMinumum": null,
- "exclusiveMaximum": "69"
- },
- "color": "#34ebb1"
- },
- {
- "range": {
- "minimum": "69",
- "maximum": null,
- "exclusiveMinumum": null,
- "exclusiveMaximum": "90"
- },
- "color": "#eba834"
- },
- {
- "range": {
- "minimum": "90",
- "maximum": null,
- "exclusiveMinumum": null,
- "exclusiveMaximum": null
- },
- "color": "#eb3434"
- }
- ]
- }
- ]
- }
- }
- ]
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/UpdateStates.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/UpdateStates.json
deleted file mode 100644
index a2e115192cc9..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/UpdateStates.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]",
- "statesetId": "b24bdb73-1305-3212-1909-a428d937b64",
- "featureId": "SPC4709",
- "featureStateUpdateRequestBody": {
- "states": [
- {
- "keyName": "s1",
- "value": true,
- "eventTimestamp": "2019-08-16 13:01"
- }
- ]
- }
- },
- "responses": {
- "200": {},
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/UpdateStateset.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/UpdateStateset.json
deleted file mode 100644
index 02d4c988a0a1..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/examples/UpdateStateset.json
+++ /dev/null
@@ -1,102 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]",
- "statesetId": "b24bdb73-1305-3212-1909-a428d937b64",
- "statesetStyleUpdateRequestBody": {
- "styles": [
- {
- "keyname": "s1",
- "type": "boolean",
- "rules": [
- {
- "true": "#FFFF00",
- "false": "#FFFFFF"
- }
- ]
- },
- {
- "keyname": "s2",
- "type": "number",
- "rules": [
- {
- "range": {
- "exclusiveMaximum": 50
- },
- "color": "#343deb"
- },
- {
- "range": {
- "minimum": 50,
- "exclusiveMaximum": 69
- },
- "color": "#34ebb1"
- },
- {
- "range": {
- "minimum": 69,
- "exclusiveMaximum": 90
- },
- "color": "#eba834"
- },
- {
- "range": {
- "minimum": 90
- },
- "color": "#eb3434"
- }
- ]
- }
- ]
- }
- },
- "responses": {
- "200": {},
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/featurestate.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/featurestate.json
deleted file mode 100644
index 2ba054df55af..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/1.0/featurestate.json
+++ /dev/null
@@ -1,875 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "Azure Maps Feature State Service",
- "version": "1.0",
- "description": "APIs for managing the dynamic feature states in Azure Maps."
- },
- "x-ms-parameterized-host": {
- "hostTemplate": "{geography}.atlas.microsoft.com",
- "parameters": [
- {
- "$ref": "#/parameters/GeographicResourceLocation"
- }
- ]
- },
- "schemes": [
- "https"
- ],
- "consumes": [],
- "produces": [
- "application/json"
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
- "scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
- }
- },
- "apiKeyQuery": {
- "type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
- "name": "subscription-key",
- "in": "query"
- }
- },
- "security": [
- {
- "azure_auth": []
- },
- {
- "apiKeyQuery": []
- }
- ],
- "responses": {
- "400": {
- "description": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "401": {
- "description": "Access denied due to invalid subscription key or invalid Azure Active Directory (Azure AD) bearer token. Make sure to provide a valid key for an active Azure subscription and Maps resource. Otherwise, verify the [WWW-Authenticate](https://tools.ietf.org/html/rfc6750#section-3.1) header for error code and description of the provided Azure AD bearer token.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- },
- "headers": {
- "WWW-Authenticate": {
- "type": "string",
- "description": "Bearer realm=\"https://atlas.microsoft.com/\", error=\"invalid_token\", error_description=\"The access token expired\""
- }
- }
- },
- "403": {
- "description": "Permission, capacity, or authentication issues.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "404": {
- "description": "Not Found: the requested resource could not be found, but it may be available again in the future.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "409": {
- "description": "The request could not be completed due to a conflict with the current state of the resource. Likely caused by a parallel update to the same resource.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "500": {
- "description": "An error occurred while processing the request. Please try again later.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- }
- },
- "parameters": {
- "GeographicResourceLocation": {
- "name": "geography",
- "description": "This parameter specifies where the Azure Maps Creator resource is located. Valid values are us and eu.",
- "in": "path",
- "required": true,
- "type": "string",
- "default": "us",
- "enum": [
- "us",
- "eu"
- ],
- "x-ms-enum": {
- "name": "GeographicResourceLocation",
- "modelAsString": true,
- "values": [
- {
- "value": "us",
- "description": "Used to access an Azure Maps Creator resource in the United States"
- },
- {
- "value": "eu",
- "description": "Used to access an Azure Maps Creator resource in Europe"
- }
- ]
- },
- "x-ms-parameter-location": "client"
- },
- "SubscriptionKey": {
- "name": "subscription-key",
- "description": "One of the Azure Maps keys provided from an Azure Map Account. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/how-to-manage-authentication) for details on how to manage authentication.",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "client"
- },
- "ApiVersion": {
- "name": "api-version",
- "description": "Version number of Azure Maps API. Current version is 1.0",
- "type": "string",
- "in": "query",
- "required": true,
- "default": "1.0",
- "x-ms-parameter-location": "client"
- },
- "DatasetIdForCreate": {
- "name": "datasetId",
- "description": "The datasetId must have been obtained from a successful [Dataset Create API](https://review.docs.microsoft.com/en-us/rest-staging/api/maps-master/dataset/createpreview?branch=lbs) call.",
- "type": "string",
- "in": "query",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "StatesetId": {
- "name": "statesetId",
- "description": "The stateset id that was created.",
- "type": "string",
- "in": "query",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "StatesetIdInPath": {
- "name": "statesetId",
- "description": "The stateset id that was created.",
- "type": "string",
- "in": "path",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "FeatureIdSet": {
- "name": "featureId",
- "description": "The id of a feature in the given dataset. If the featureId is not present in the dataset, Bad Request response will be returned.",
- "type": "string",
- "in": "query",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "FeatureIdGet": {
- "name": "featureId",
- "description": "The id of a feature in the given stateset. If no state was set for the featureId in the stateset earlier, Bad Request response will be returned.",
- "type": "string",
- "in": "query",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "FeatureIdDelete": {
- "name": "featureId",
- "description": "The id of a feature in the given stateset. If no state was set for the featureId in the stateset earlier, Bad Request response will be returned.",
- "type": "string",
- "in": "query",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "StateKeyNameDelete": {
- "name": "stateKeyName",
- "description": "The Name of the state to be deleted.",
- "type": "string",
- "in": "query",
- "required": true,
- "x-ms-parameter-location": "method"
- }
- },
- "paths": {
- "/featureState/stateset/{statesetId}": {
- "get": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nThis GET API allows the user to get the stateset Information.\n\nThe stateset Information includes the datasetId associated to the stateset, and the styles of that stateset.",
- "operationId": "FeatureState_GetStatesetPreview",
- "x-ms-examples": {
- "Get stateset information with a statesetId": {
- "$ref": "./examples/GetStateset.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/StatesetIdInPath"
- }
- ],
- "responses": {
- "200": {
- "description": "Get request completed successfully.",
- "schema": {
- "$ref": "#/definitions/StatesetGetResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- },
- "delete": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).
This DELETE API allows the user to delete the stateset and the associated data.",
- "operationId": "FeatureState_DeleteStatesetPreview",
- "x-ms-examples": {
- "Delete an existing stateset": {
- "$ref": "./examples/DeleteStateset.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/StatesetIdInPath"
- }
- ],
- "responses": {
- "204": {
- "description": "Stateset Deleted."
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- },
- "put": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nThis PUT API allows the user to update the stateset style rules.",
- "operationId": "FeatureState_PutStatesetPreview",
- "x-ms-examples": {
- "Update stateset style rules with a statesetId": {
- "$ref": "./examples/UpdateStateset.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/StatesetIdInPath"
- },
- {
- "name": "statesetStyleUpdateRequestBody",
- "in": "body",
- "description": "The stateset style JSON data. Only style rules are allowed to be updated, update on keyname and type is not allowed.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/StylesObject"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Stateset styles are updated successfully."
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/featureState/stateset": {
- "post": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nThis POST API allows the user to create a new Stateset and define stateset style using request body.\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Feature State API is part of Creator. \n\nThe Feature State service allows the user to update the states of a feature and query them to be used in other services. The dynamic properties of a feature that don't belong to the dataset are referred to as *states* here.\n\nThis Feature State service pivot on the Stateset. Like Tileset, Stateset encapsulates the storage mechanism for feature states for a dataset.\n\nOnce the stateset is created, users can use that statesetId to post feature state updates and retrieve the current feature states. A feature can have only one state at a given point in time. \n\nFeature state is defined by the key name, value and the timestamp. When a feature state update is posted to Azure Maps, the state value gets updated only if the provided state’s timestamp is later than the stored timestamp. \n\nAzure Maps MapControl provides a way to use these feature states to style the features. Please refer to the State Tile documentation for more information.",
- "operationId": "FeatureState_CreateStatesetPreview",
- "x-ms-examples": {
- "Create a new stateset with a datasetId": {
- "$ref": "./examples/CreateStateset.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/DatasetIdForCreate"
- },
- {
- "name": "statesetCreateRequestBody",
- "in": "body",
- "description": "The stateset style JSON data.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/StylesObject"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Stateset created.",
- "schema": {
- "$ref": "#/definitions/StatesetCreatedResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- },
- "get": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).
This API allows the caller to fetch a list of all previously successfully created statesets.",
- "operationId": "FeatureState_ListStatesetPreview",
- "x-ms-examples": {
- "List all the previously created statesets": {
- "$ref": "./examples/Stateset_List.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- }
- ],
- "responses": {
- "200": {
- "description": "The list stateset request completed successfully. The response body contains a list of all the previously created statesets.",
- "schema": {
- "$ref": "#/definitions/StatesetListResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/featureState/state": {
- "get": {
- "x-publish": true,
- "operationId": "FeatureState_GetStatesPreview",
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).
This API returns the current state information associated with the given feature in the given stateset.",
- "x-ms-examples": {
- "Get the current states of a feature": {
- "$ref": "./examples/GetStates.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/StatesetId"
- },
- {
- "$ref": "#/parameters/FeatureIdGet"
- }
- ],
- "responses": {
- "200": {
- "description": "Get request completed successfully.",
- "schema": {
- "$ref": "#/definitions/FeatureStatesStructure"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- },
- "post": {
- "x-publish": true,
- "operationId": "FeatureState_UpdateStatesPreview",
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).
\nThis POST API allows the user to update the state of the given feature in the given stateset.",
- "x-ms-examples": {
- "Update the states of a feature": {
- "$ref": "./examples/UpdateStates.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/StatesetId"
- },
- {
- "$ref": "#/parameters/FeatureIdSet"
- },
- {
- "name": "featureStateUpdateRequestBody",
- "in": "body",
- "description": "The feature state JSON data. A feature can have only one state at a given point in time. The specified state keyname must have been defined during the stateset creation.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/FeatureStatesStructure"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Feature states are updated successfully."
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- },
- "delete": {
- "x-publish": true,
- "operationId": "FeatureState_DeleteStatePreview",
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).
This API deletes the state information identified by the StateKeyName parameter for the feature identified by the FeatureId parameter in the the stateset.",
- "x-ms-examples": {
- "Delete the given feature state": {
- "$ref": "./examples/DeleteFeatureState.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/StatesetId"
- },
- {
- "$ref": "#/parameters/FeatureIdDelete"
- },
- {
- "$ref": "#/parameters/StateKeyNameDelete"
- }
- ],
- "responses": {
- "200": {
- "description": "Feature states deleted successfully."
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "409": {
- "$ref": "#/responses/409"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- }
- },
- "definitions": {
- "ODataErrorResponse": {
- "type": "object",
- "description": "This response object is returned when an error occurs in the Azure Maps API.",
- "properties": {
- "error": {
- "$ref": "#/definitions/ODataError"
- }
- }
- },
- "ODataError": {
- "type": "object",
- "description": "This object is returned when an error occurs in the Azure Maps API.",
- "properties": {
- "code": {
- "type": "string",
- "readOnly": true,
- "description": "The ODataError code."
- },
- "message": {
- "type": "string",
- "readOnly": true,
- "description": "If available, a human-readable description of the error."
- },
- "details": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ODataError"
- }
- },
- "target": {
- "type": "string",
- "readOnly": true,
- "description": "If available, the target causing the error."
- }
- }
- },
- "StatesetGetResponse": {
- "description": "The response model for the successful Stateset Get API.",
- "type": "object",
- "properties": {
- "datasetIdList": {
- "description": "Dataset ID associated with the stateset.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "statesetStyle": {
- "$ref": "#/definitions/StylesObject"
- }
- }
- },
- "StatesetListResponse": {
- "description": "The response model for the successful Stateset List API.",
- "type": "object",
- "properties": {
- "statesetDetailList": {
- "description": "A list of statesets information.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/StatesetInfoObject"
- }
- }
- }
- },
- "StatesetInfoObject": {
- "description": "The stateset information detail.",
- "type": "object",
- "properties": {
- "statesetId": {
- "description": "The stateset ID of this stateset.",
- "type": "string"
- },
- "datasetIdList": {
- "description": "Dataset ID associated with the stateset.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "statesetStyle": {
- "$ref": "#/definitions/StylesObject"
- }
- }
- },
- "StatesetCreatedResponse": {
- "description": "The response model for the successful Stateset Create API.",
- "type": "object",
- "properties": {
- "statesetId": {
- "description": "The ID for the new stateset created.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "FeatureStatesStructure": {
- "description": "The feature states model for a feature.",
- "type": "object",
- "properties": {
- "states": {
- "description": "The feature states array.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/FeatureStateObject"
- }
- }
- }
- },
- "FeatureStateObject": {
- "description": "Single feature state model.",
- "type": "object",
- "properties": {
- "keyName": {
- "description": "Feature state Keyname.",
- "type": "string"
- },
- "value": {
- "description": "Value for the feature state.",
- "type": "object"
- },
- "eventTimestamp": {
- "description": "Timestamp when the feature state was captured.",
- "type": "string"
- }
- }
- },
- "StylesObject": {
- "description": "The styles model.",
- "type": "object",
- "properties": {
- "styles": {
- "description": "An array of stateset styles. The style rule could be a numeric or string or a boolean type style rule. Refer to NumberRuleObject, StringRuleObject and BooleanRuleObject definitions [here](https://aka.ms/AzureMapsStatesetStylesObject). ",
- "type": "array",
- "items": {
- "$ref": "#/definitions/StyleObject"
- }
- }
- }
- },
- "StyleObject": {
- "description": "The stateset style model. The style rule could be a numeric type style rule or a boolean type style rule. Refer to NumberRuleObject, StringRuleObject and BooleanRuleObject definitions [here](https://aka.ms/AzureMapsStatesetStylesObject). ",
- "type": "object"
- },
- "NumberRuleObject": {
- "description": "The numeric rule",
- "type": "object",
- "properties": {
- "range": {
- "$ref": "#/definitions/RangeObject"
- },
- "color": {
- "description": "Color is a JSON string in a variety of permitted formats, HTML-style hex values, RGB (\"#ff0\", \"#ffff00\", \"rgb(255, 255, 0)\"), RGBA (\"rgba(255, 255, 0, 1)\"), HSL(\"hsl(100, 50%, 50%)\"), and HSLA(\"hsla(100, 50%, 50%, 1)\"). Predefined HTML colors names, like yellow and blue, are also permitted.",
- "type": "string"
- }
- }
- },
- "RangeObject": {
- "description": "The numeric value range for this style rule, If the value is in the range, all the conditions must hold true.",
- "type": "object",
- "properties": {
- "minimum": {
- "description": "All the number x that x ≥ minimum.",
- "type": "number",
- "format": "double"
- },
- "maximum": {
- "description": "All the number x that x ≤ maximum.",
- "type": "number",
- "format": "double"
- },
- "exclusiveMinimum": {
- "description": "All the number x that x > exclusiveMinimum.",
- "type": "number",
- "format": "double"
- },
- "exclusiveMaximum": {
- "description": "All the number x that x < exclusiveMaximum.",
- "type": "number",
- "format": "double"
- }
- }
- },
- "BooleanRuleObject": {
- "description": "the boolean rule",
- "type": "object",
- "properties": {
- "true": {
- "description": "The color when value is true.",
- "type": "string"
- },
- "false": {
- "description": "The color when value is false.",
- "type": "string"
- }
- }
- },
- "StringRuleObject": {
- "description": "The string rule. The string value matching is case sensitive. If a feature's state doesn't match any of the values defined here, that feature will not have any dynamic style. If duplicate string values are given, the first one takes precedence.",
- "type": "object",
- "properties": {
- "stateValue1": {
- "description": "The color when value string is stateValue1.",
- "type": "string"
- },
- "stateValue2": {
- "description": "The color when value string is stateValue2.",
- "type": "string"
- },
- "stateValueN": {
- "description": "The color when value string is stateValueN.",
- "type": "string"
- }
- }
- },
- "StyleRuleBase": {
- "description": "contains common properties for numeric, string and boolean style rules.",
- "discriminator": "type",
- "required": [
- "keyName",
- "type"
- ],
- "properties": {
- "keyName": {
- "description": "Stateset style key name. Key names are random strings but they should be unique inside style array.",
- "type": "string"
- },
- "type": {
- "description": "The type of stateset style.",
- "type": "string",
- "enum": [
- "number",
- "boolean",
- "string"
- ]
- }
- }
- },
- "BooleanTypeStyleRule": {
- "description": "the boolean type style rule object.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/StyleRuleBase"
- }
- ],
- "properties": {
- "rules": {
- "description": "Boolean style rules.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/BooleanRuleObject"
- }
- }
- }
- },
- "NumberTypeStyleRule": {
- "description": "The numeric type style rule object.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/StyleRuleBase"
- }
- ],
- "properties": {
- "rules": {
- "description": "Numeric style rules.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/NumberRuleObject"
- }
- }
- }
- },
- "StringTypeStyleRule": {
- "description": "The string type style rule object.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/StyleRuleBase"
- }
- ],
- "properties": {
- "rules": {
- "description": "String style rules.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/StringRuleObject"
- }
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/2.0/featurestate.json b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/2.0/featurestate.json
index 5a3cb74172c4..350f6c6c0e7e 100644
--- a/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/2.0/featurestate.json
+++ b/specification/maps/data-plane/Microsoft.Maps/FeatureState/preview/2.0/featurestate.json
@@ -21,28 +21,39 @@
"application/json"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
diff --git a/specification/maps/data-plane/Microsoft.Maps/Feedback/preview/1.0/feedback.json b/specification/maps/data-plane/Microsoft.Maps/Feedback/preview/1.0/feedback.json
index ee3fcae13137..cadd50ab6c0d 100644
--- a/specification/maps/data-plane/Microsoft.Maps/Feedback/preview/1.0/feedback.json
+++ b/specification/maps/data-plane/Microsoft.Maps/Feedback/preview/1.0/feedback.json
@@ -14,28 +14,39 @@
"application/xml"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
diff --git a/specification/maps/data-plane/Microsoft.Maps/Geolocation/preview/1.0/geolocation.json b/specification/maps/data-plane/Microsoft.Maps/Geolocation/preview/1.0/geolocation.json
index d5540b97f505..c56a90f64d14 100644
--- a/specification/maps/data-plane/Microsoft.Maps/Geolocation/preview/1.0/geolocation.json
+++ b/specification/maps/data-plane/Microsoft.Maps/Geolocation/preview/1.0/geolocation.json
@@ -14,28 +14,39 @@
"application/json"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
@@ -128,8 +139,8 @@
"/geolocation/ip/{format}": {
"get": {
"x-publish": true,
- "description": "\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis service will return the ISO country code for the provided IP address. Developers can use this information to block or alter certain content based on geographical locations where the application is being viewed from. \n\n\n__Note:__ This service returns results from IANA and does not necessarily reflect the views of Microsoft Corporation.",
- "operationId": "Geolocation_GetIPToLocationPreview",
+ "description": "\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis service will return the ISO country code for the provided IP address. Developers can use this information to block or alter certain content based on geographical locations where the application is being viewed from.",
+ "operationId": "Geolocation_GetIPToLocation",
"x-ms-examples": {
"GetLocationByIpAddress": {
"$ref": "./examples/GetLocationByIpAddress.json"
@@ -239,7 +250,7 @@
"readOnly": true,
"properties": {
"isoCode": {
- "description": "The IP Address's 2-character code [(ISO 3166-1)](https://www.iso.org/iso-3166-country-codes.html) of the country or region as assigned by IANA and regional internet authorities. Please note, IP address in ranges reserved for special purpose will return Null for country/region.",
+ "description": "The IP Address's 2-character code [(ISO 3166-1)](https://www.iso.org/iso-3166-country-codes.html) of the country or region. Please note, IP address in ranges reserved for special purpose will return Null for country/region.",
"type": "string",
"readOnly": true
}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetMetroArea.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetMetroArea.json
deleted file mode 100644
index 82d62473f11d..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetMetroArea.json
+++ /dev/null
@@ -1,110 +0,0 @@
-{
- "parameters": {
- "api-version": "1.0",
- "format": "json",
- "query": "40.648677,-74.010535",
- "queryType": "position"
- },
- "responses": {
- "200": {
- "body": {
- "results": [
- {
- "metroId": 121,
- "metroName": "NYC-NJ",
- "viewport": {
- "topLeftPoint": {
- "latitude": 42.21254,
- "longitude": -75.68527
- },
- "btmRightPoint": {
- "latitude": 38.87921,
- "longitude": -71.83323
- }
- },
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- -73.08158,
- 41.18596
- ],
- [
- -73.12026,
- 41.23447
- ],
- [
- -73.17959,
- 41.25386
- ],
- [
- -73.25697,
- 41.18014
- ],
- [
- -73.36529,
- 41.18401
- ],
- [
- -73.36013,
- 41.39719
- ],
- [
- -73.08158,
- 41.18596
- ]
- ]
- ]
- }
- }
- ]
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetMetroAreaInfo.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetMetroAreaInfo.json
deleted file mode 100644
index 34064024fa0d..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetMetroAreaInfo.json
+++ /dev/null
@@ -1,360 +0,0 @@
-{
- "parameters": {
- "api-version": "1.0",
- "format": "json",
- "query": "121",
- "detailType": "agencies"
- },
- "responses": {
- "200": {
- "body": {
- "metroName": "NYC-NJ",
- "agencies": [
- {
- "agencyId": "121---10368",
- "agencyKey": "LIBUS",
- "agencyName": "NICE bus",
- "transitType": {
- "transitType": "Bus",
- "captionOverride": "Bus"
- }
- },
- {
- "agencyId": "121---10369",
- "agencyKey": "GOOGLESTAM_TRANSIT",
- "agencyName": "CT Transit- Stamford",
- "transitType": {
- "transitType": "Bus",
- "captionOverride": "Bus"
- }
- },
- {
- "agencyId": "121---10370",
- "agencyKey": "0",
- "agencyName": "Norwalk Transit District",
- "transitType": {
- "transitType": "Bus",
- "captionOverride": "Bus"
- }
- },
- {
- "agencyId": "121---516",
- "agencyKey": "NJB",
- "agencyName": "NJ Transit",
- "transitType": {
- "transitType": "Bus",
- "captionOverride": "Bus"
- }
- },
- {
- "agencyId": "121---1175189",
- "agencyKey": "42700",
- "agencyName": "Statue Cruises",
- "transitType": {
- "transitType": "Ferry",
- "captionOverride": "Ferry"
- }
- },
- {
- "agencyId": "121---1058901",
- "agencyKey": "SCT",
- "agencyName": "Suffolk County Transit",
- "transitType": {
- "transitType": "Bus",
- "captionOverride": "Bus"
- }
- },
- {
- "agencyId": "121---1175188",
- "agencyKey": "42705",
- "agencyName": "Seastreak",
- "transitType": {
- "transitType": "Ferry",
- "captionOverride": "Ferry"
- }
- },
- {
- "agencyId": "121---1217492",
- "agencyKey": "1",
- "agencyName": "NYC Ferry Shuttle bus",
- "transitType": {
- "transitType": "Bus",
- "captionOverride": "Bus"
- }
- },
- {
- "agencyId": "121---726988",
- "agencyKey": "LI",
- "agencyName": "LIRR",
- "transitType": {
- "transitType": "Rail",
- "captionOverride": "Rail"
- }
- },
- {
- "agencyId": "121---1217493",
- "agencyKey": "1",
- "agencyName": "NYC Ferry",
- "transitType": {
- "transitType": "Ferry",
- "captionOverride": "Ferry"
- }
- },
- {
- "agencyId": "121---855111",
- "agencyKey": "MTA NYCT",
- "agencyName": "MTA Subway",
- "transitType": {
- "transitType": "Subway",
- "captionOverride": "Subway"
- }
- },
- {
- "agencyId": "121---855110",
- "agencyKey": "MTA NYCT",
- "agencyName": "Staten Island Railway",
- "transitType": {
- "transitType": "Rail",
- "captionOverride": "Rail"
- }
- },
- {
- "agencyId": "121---5844",
- "agencyKey": "151",
- "agencyName": "PATH",
- "transitType": {
- "transitType": "Rail",
- "captionOverride": "Rail"
- }
- },
- {
- "agencyId": "121---965398",
- "agencyKey": "631",
- "agencyName": "Port Authority of NY and NJ",
- "transitType": {
- "transitType": "Bus",
- "captionOverride": "Bus"
- }
- },
- {
- "agencyId": "121---865943",
- "agencyKey": "5942",
- "agencyName": "Suffolk County Transit",
- "transitType": {
- "transitType": "Bus",
- "captionOverride": "Bus"
- }
- },
- {
- "agencyId": "121---1020565",
- "agencyKey": "24415",
- "agencyName": "Staten Island Ferry",
- "transitType": {
- "transitType": "Ferry",
- "captionOverride": "Ferry"
- }
- },
- {
- "agencyId": "121---865942",
- "agencyKey": "14639",
- "agencyName": "Long Beach NY",
- "transitType": {
- "transitType": "Bus",
- "captionOverride": "Bus"
- }
- },
- {
- "agencyId": "121---1358024",
- "agencyKey": "72",
- "agencyName": "Ulster County Area Transit",
- "transitType": {
- "transitType": "Bus",
- "captionOverride": "Bus"
- }
- },
- {
- "agencyId": "121---1325321",
- "agencyKey": "58939",
- "agencyName": "Hampton Jitney",
- "transitType": {
- "transitType": "Bus",
- "captionOverride": "Bus"
- }
- },
- {
- "agencyId": "121---1440628",
- "agencyKey": "63882",
- "agencyName": "Housatonic Area Regional Transit",
- "transitType": {
- "transitType": "Bus",
- "captionOverride": "Bus"
- }
- },
- {
- "agencyId": "121---775148",
- "agencyKey": "119",
- "agencyName": "AirTrain",
- "transitType": {
- "transitType": "Tram",
- "captionOverride": "Light Rail"
- }
- },
- {
- "agencyId": "121---427",
- "agencyKey": "1",
- "agencyName": "Metro-North Railroad",
- "transitType": {
- "transitType": "Rail",
- "captionOverride": "Rail"
- }
- },
- {
- "agencyId": "121---856508",
- "agencyKey": "5705",
- "agencyName": "Roosevelt Island Cable Car",
- "transitType": {
- "transitType": "Bus",
- "captionOverride": "Bus"
- }
- },
- {
- "agencyId": "121---1460323",
- "agencyKey": "65856",
- "agencyName": "Downtown Alliance",
- "transitType": {
- "transitType": "Bus",
- "captionOverride": "Bus"
- }
- },
- {
- "agencyId": "121---856507",
- "agencyKey": "5705",
- "agencyName": "Roosevelt Island Cable Car",
- "transitType": {
- "transitType": "CableCar",
- "captionOverride": "Cable car"
- }
- },
- {
- "agencyId": "121---1227748",
- "agencyKey": "SLE",
- "agencyName": "Shore Line East",
- "transitType": {
- "transitType": "Rail",
- "captionOverride": "Rail"
- }
- },
- {
- "agencyId": "121---856506",
- "agencyKey": "5703",
- "agencyName": "NY Waterway",
- "transitType": {
- "transitType": "Ferry",
- "captionOverride": "Ferry"
- }
- },
- {
- "agencyId": "121---1367715",
- "agencyKey": "67",
- "agencyName": "Dutchess County Public Transit",
- "transitType": {
- "transitType": "Bus",
- "captionOverride": "Bus"
- }
- },
- {
- "agencyId": "121---10169",
- "agencyKey": "NJT",
- "agencyName": "NJ Transit Rail",
- "transitType": {
- "transitType": "Rail",
- "captionOverride": "Rail"
- }
- },
- {
- "agencyId": "121---10170",
- "agencyKey": "NJT",
- "agencyName": "NJ Transit Rail",
- "transitType": {
- "transitType": "Tram",
- "captionOverride": "Light Rail"
- }
- },
- {
- "agencyId": "121---857463",
- "agencyKey": "MTA NYCT",
- "agencyName": "MTA Bus",
- "transitType": {
- "transitType": "Bus",
- "captionOverride": "Bus"
- }
- },
- {
- "agencyId": "121---11515",
- "agencyKey": "WCDOT",
- "agencyName": "Bee-Line Bus",
- "transitType": {
- "transitType": "Bus",
- "captionOverride": "Bus"
- }
- },
- {
- "agencyId": "121---1177901",
- "agencyKey": "0",
- "agencyName": "LANTA",
- "transitType": {
- "transitType": "Bus",
- "captionOverride": "Bus"
- }
- }
- ],
- "isFaresSupported": "true"
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetNearbyTransit.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetNearbyTransit.json
deleted file mode 100644
index 963d9675101b..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetNearbyTransit.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{
- "parameters": {
- "api-version": "1.0",
- "format": "json",
- "query": "40.693393,-73.988310",
- "radius": 300
- },
- "responses": {
- "200": {
- "body": {
- "results": [
- {
- "id": "121---14013676",
- "type": "stop",
- "objectDetails": {
- "stopKey": "307460",
- "stopName": "Adams St/Bklyn Supreme Crt",
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- "position": {
- "latitude": 40.69256,
- "longitude": -73.989131
- },
- "viewport": {
- "topLeftPoint": {
- "latitude": 40.693471,
- "longitude": -73.9903
- },
- "btmRightPoint": {
- "latitude": 40.691648,
- "longitude": -73.987961
- }
- }
- },
- {
- "id": "121---14013518",
- "type": "stop",
- "objectDetails": {
- "stopKey": "306969",
- "stopName": "Jay St/Willoughby St",
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- "position": {
- "latitude": 40.692661,
- "longitude": -73.98718
- },
- "viewport": {
- "topLeftPoint": {
- "latitude": 40.693572,
- "longitude": -73.988349
- },
- "btmRightPoint": {
- "latitude": 40.691749,
- "longitude": -73.98601
- }
- }
- },
- {
- "id": "121---14011729",
- "type": "stop",
- "objectDetails": {
- "stopKey": "302445",
- "stopName": "Jay St/Willoughby St",
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- "position": {
- "latitude": 40.692451,
- "longitude": -73.987337
- },
- "viewport": {
- "topLeftPoint": {
- "latitude": 40.693362,
- "longitude": -73.988506
- },
- "btmRightPoint": {
- "latitude": 40.691539,
- "longitude": -73.986167
- }
- }
- }
- ]
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetRealTimeArrivals.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetRealTimeArrivals.json
deleted file mode 100644
index 60933fce0b9f..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetRealTimeArrivals.json
+++ /dev/null
@@ -1,141 +0,0 @@
-{
- "parameters": {
- "api-version": "1.0",
- "format": "json",
- "query": "121---19919516"
- },
- "responses": {
- "200": {
- "body": {
- "results": [
- {
- "arrivalMinutes": 1,
- "scheduleType": "realTime",
- "patternId": "121---3120454",
- "line": {
- "lineId": "121---3128966",
- "lineGroupId": "121---400175",
- "direction": "forward",
- "agencyId": "121---855111",
- "agencyName": "MTA Subway",
- "lineNumber": "R",
- "lineDestination": "Forest Hills - 71 Av",
- "transitType": "Subway"
- },
- "stop": {
- "stopId": "121---19919516",
- "stopKey": "S9563736",
- "stopName": "45 St [R]",
- "position": {
- "latitude": 40.648939,
- "longitude": -74.010006
- },
- "mainTransitType": "Subway",
- "mainAgencyId": "121---855111",
- "mainAgencyName": "MTA Subway"
- }
- },
- {
- "arrivalMinutes": 7,
- "scheduleType": "realTime",
- "patternId": "121---3120453",
- "line": {
- "lineId": "121---3128969",
- "lineGroupId": "121---400175",
- "direction": "backward",
- "agencyId": "121---855111",
- "agencyName": "MTA Subway",
- "lineNumber": "R",
- "lineDestination": "Bay Ridge - 95 St",
- "transitType": "Subway"
- },
- "stop": {
- "stopId": "121---19919516",
- "stopKey": "S9563736",
- "stopName": "45 St [R]",
- "position": {
- "latitude": 40.648939,
- "longitude": -74.010006
- },
- "mainTransitType": "Subway",
- "mainAgencyId": "121---855111",
- "mainAgencyName": "MTA Subway"
- }
- },
- {
- "arrivalMinutes": 13,
- "scheduleType": "realTime",
- "patternId": "121---3120453",
- "line": {
- "lineId": "121---3128969",
- "lineGroupId": "121---400175",
- "direction": "backward",
- "agencyId": "121---855111",
- "agencyName": "MTA Subway",
- "lineNumber": "R",
- "lineDestination": "Bay Ridge - 95 St",
- "transitType": "Subway"
- },
- "stop": {
- "stopId": "121---19919516",
- "stopKey": "S9563736",
- "stopName": "45 St [R]",
- "position": {
- "latitude": 40.648939,
- "longitude": -74.010006
- },
- "mainTransitType": "Subway",
- "mainAgencyId": "121---855111",
- "mainAgencyName": "MTA Subway"
- }
- }
- ]
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitItinerary.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitItinerary.json
deleted file mode 100644
index 91f2c104f189..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitItinerary.json
+++ /dev/null
@@ -1,253 +0,0 @@
-{
- "parameters": {
- "api-version": "1.0",
- "format": "json",
- "query": "6f1eb44e-255f-4d06-9491-a35ee7864e19---20200929FF43D18907D24B35A1A7454DE7231C89:0---81",
- "detailType": [
- "geometry"
- ]
- },
- "responses": {
- "200": {
- "body": {
- "departureTime": "2020-09-29T20:48:05Z",
- "arrivalTime": "2020-09-29T20:53:25Z",
- "legs": [
- {
- "legType": "Wait",
- "legStartTime": "2020-09-29T20:48:05Z",
- "legEndTime": "2020-09-29T20:48:05Z",
- "lineGroup": {
- "lineGroupId": "0---211457",
- "agencyId": "0---321",
- "agencyName": "CTA",
- "lineNumber": "22",
- "caption1": "Clark",
- "caption2": "22 Clark",
- "color": "565A5C",
- "transitType": "Bus"
- },
- "line": {
- "lineId": "0---1151684",
- "lineGroupId": "0---211457",
- "direction": "forward",
- "agencyId": "0---321",
- "lineNumber": "22",
- "lineDestination": "Southbound - Harrison"
- },
- "stops": [
- {
- "stopId": "0---161771",
- "stopKey": "1853",
- "stopName": "Clark & Oak (South)",
- "stopCode": "1853",
- "position": {
- "latitude": 41.900657,
- "longitude": -87.631426
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "0---321",
- "mainAgencyName": "CTA"
- },
- {
- "stopId": "0---33004397",
- "stopKey": "18255",
- "stopName": "Clark & Huron (South)",
- "stopCode": "18255",
- "position": {
- "latitude": 41.894729,
- "longitude": -87.631288
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "0---321",
- "mainAgencyName": "CTA"
- }
- ],
- "waitOnVehicle": "false"
- },
- {
- "legType": "Bus",
- "legStartTime": "2020-09-29T20:48:05Z",
- "legEndTime": "2020-09-29T20:51:15Z",
- "lineGroup": {
- "lineGroupId": "81---211457",
- "agencyId": "81---321",
- "agencyName": "CTA",
- "lineNumber": "22",
- "caption1": "Clark",
- "caption2": "22 Clark",
- "color": "565A5C",
- "transitType": "Bus"
- },
- "line": {
- "lineId": "81---1151684",
- "lineGroupId": "81---211457",
- "direction": "forward",
- "agencyId": "81---321",
- "lineNumber": "22",
- "lineDestination": "Southbound - Harrison"
- },
- "stops": [
- {
- "stopId": "81---161771",
- "stopKey": "1853",
- "stopName": "Clark & Oak (South)",
- "stopCode": "1853",
- "position": {
- "latitude": 41.900657,
- "longitude": -87.631426
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "81---321",
- "mainAgencyName": "CTA"
- },
- {
- "stopId": "81---161772",
- "stopKey": "1854",
- "stopName": "Clark & Delaware (South)",
- "stopCode": "1854",
- "position": {
- "latitude": 41.899361,
- "longitude": -87.631386
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "81---321",
- "mainAgencyName": "CTA"
- },
- {
- "stopId": "81---33004397",
- "stopKey": "18255",
- "stopName": "Clark & Huron (South)",
- "stopCode": "18255",
- "position": {
- "latitude": 41.894729,
- "longitude": -87.631288
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "81---321",
- "mainAgencyName": "CTA"
- }
- ],
- "geometry": {
- "type": "LineString",
- "coordinates": [
- [
- -87.63157,
- 41.90064
- ],
- [
- -87.63156,
- 41.90057
- ],
- [
- -87.63153,
- 41.90045
- ],
- [
- -87.6315,
- 41.90029
- ],
- [
- -87.63121,
- 41.89508
- ],
- [
- -87.63121,
- 41.89498
- ],
- [
- -87.63121,
- 41.89487
- ],
- [
- -87.63121,
- 41.89481
- ],
- [
- -87.6312,
- 41.89476
- ],
- [
- -87.6312,
- 41.89473
- ],
- [
- -87.6312,
- 41.89472
- ]
- ]
- },
- "legFare": {
- "fares": [
- {
- "price": {
- "amount": 225,
- "currencyCode": "USD"
- },
- "usage": "pay"
- }
- ]
- }
- }
- ],
- "itineraryFare": {
- "price": {
- "amount": 225,
- "currencyCode": "USD"
- },
- "tickets": [
- {
- "amount": 225,
- "currencyCode": "USD"
- }
- ]
- }
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitLineInfo.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitLineInfo.json
deleted file mode 100644
index ea4d8d7bf140..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitLineInfo.json
+++ /dev/null
@@ -1,599 +0,0 @@
-{
- "parameters": {
- "api-version": "1.0",
- "format": "json",
- "query": "121---373227",
- "detailType": [
- "stops"
- ]
- },
- "responses": {
- "200": {
- "body": {
- "lineGroup": {
- "lineGroupId": "121---373227",
- "agencyId": "121---857463",
- "agencyName": "MTA Bus",
- "lineNumber": "B25",
- "caption1": "Dwntn Bklyn & DUMBO - Broadway Junction",
- "caption2": "B25 Dwntn Bklyn & DUMBO - Broadway Junction",
- "color": "6CBE45",
- "transitType": "Bus"
- },
- "lines": [
- {
- "lineId": "121---1227940",
- "lineGroupId": "121---373227",
- "direction": "forward",
- "agencyId": "121---857463",
- "agencyName": "MTA Bus",
- "lineNumber": "B25",
- "lineDestination": "Broadway Jct Alabama Av Via Fulton",
- "mostFrequentPatternId": "121---1581548",
- "transitType": "Bus"
- },
- {
- "lineId": "121---1227941",
- "lineGroupId": "121---373227",
- "direction": "backward",
- "agencyId": "121---857463",
- "agencyName": "MTA Bus",
- "lineNumber": "B25",
- "lineDestination": "Downtown Bklyn Front St Via Fulton",
- "mostFrequentPatternId": "121---1701359",
- "transitType": "Bus"
- }
- ],
- "stops": [
- {
- "stopId": "121---14011984",
- "stopKey": "303017",
- "stopName": "Fulton St/Ashland Pl",
- "position": {
- "latitude": 40.687781,
- "longitude": -73.978221
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14013637",
- "stopKey": "307259",
- "stopName": "Fulton St/Thomas S Boyland St",
- "position": {
- "latitude": 40.678336,
- "longitude": -73.913138
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14013639",
- "stopKey": "307263",
- "stopName": "Fulton St/Van Sinderen Av",
- "position": {
- "latitude": 40.677816,
- "longitude": -73.903542
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14013638",
- "stopKey": "307260",
- "stopName": "Fulton St/Rockaway Av",
- "position": {
- "latitude": 40.678189,
- "longitude": -73.910359
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14013633",
- "stopKey": "307255",
- "stopName": "Fulton St/Ralph Av",
- "position": {
- "latitude": 40.678762,
- "longitude": -73.92125
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14013632",
- "stopKey": "307254",
- "stopName": "Fulton St/Buffalo Av",
- "position": {
- "latitude": 40.67894,
- "longitude": -73.924108
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---31066255",
- "stopKey": "901211",
- "stopName": "East New York Av/Alabama Av",
- "position": {
- "latitude": 40.676719,
- "longitude": -73.900118
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14013635",
- "stopKey": "307257",
- "stopName": "Fulton St/Saratoga Av",
- "position": {
- "latitude": 40.678489,
- "longitude": -73.915892
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14013634",
- "stopKey": "307256",
- "stopName": "Fulton St/Howard Av",
- "position": {
- "latitude": 40.678615,
- "longitude": -73.918564
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011701",
- "stopKey": "302376",
- "stopName": "Fulton St/Grand Av",
- "position": {
- "latitude": 40.682362,
- "longitude": -73.961824
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011700",
- "stopKey": "302375",
- "stopName": "Fulton St/St James Pl",
- "position": {
- "latitude": 40.682662,
- "longitude": -73.9633
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14193658",
- "stopName": "Front St/York St",
- "position": {
- "latitude": 40.702464,
- "longitude": -73.991858
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011703",
- "stopKey": "302378",
- "stopName": "Fulton St/Franklin Av",
- "position": {
- "latitude": 40.680982,
- "longitude": -73.955289
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14013751",
- "stopKey": "307631",
- "stopName": "Fulton St/Eastern Py",
- "position": {
- "latitude": 40.678066,
- "longitude": -73.908188
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011702",
- "stopKey": "302377",
- "stopName": "Fulton St/Classon Av",
- "position": {
- "latitude": 40.681579,
- "longitude": -73.958134
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011697",
- "stopKey": "302371",
- "stopName": "Fulton St/Clermont Av",
- "position": {
- "latitude": 40.683904,
- "longitude": -73.968617
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011696",
- "stopKey": "302370",
- "stopName": "Fulton St/Carlton Av",
- "position": {
- "latitude": 40.68478,
- "longitude": -73.970798
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011699",
- "stopKey": "302374",
- "stopName": "Fulton St/Washington Av",
- "position": {
- "latitude": 40.682882,
- "longitude": -73.964338
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011698",
- "stopKey": "302372",
- "stopName": "Fulton St/Clinton Av",
- "position": {
- "latitude": 40.683332,
- "longitude": -73.966593
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14013629",
- "stopKey": "307251",
- "stopName": "Fulton St/Troy Av",
- "position": {
- "latitude": 40.679501,
- "longitude": -73.934459
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011964",
- "stopKey": "302948",
- "stopName": "Fulton St/Flatbush Av Ext",
- "position": {
- "latitude": 40.688976,
- "longitude": -73.981278
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011708",
- "stopKey": "302383",
- "stopName": "Fulton St/Kingston Av",
- "position": {
- "latitude": 40.67988,
- "longitude": -73.941381
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14013631",
- "stopKey": "307253",
- "stopName": "Fulton St/Utica Av",
- "position": {
- "latitude": 40.67919,
- "longitude": -73.928636
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14013630",
- "stopKey": "307252",
- "stopName": "Fulton St/Schenectady Av",
- "position": {
- "latitude": 40.679398,
- "longitude": -73.932497
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14013689",
- "stopKey": "307491",
- "stopName": "Fulton St/Hoyt St",
- "position": {
- "latitude": 40.69069,
- "longitude": -73.985547
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011705",
- "stopKey": "302380",
- "stopName": "Fulton St/Nostrand Av",
- "position": {
- "latitude": 40.680301,
- "longitude": -73.949161
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14013881",
- "stopKey": "307926",
- "stopName": "Fulton St/Albany Av",
- "position": {
- "latitude": 40.679664,
- "longitude": -73.937573
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011704",
- "stopKey": "302379",
- "stopName": "Fulton St/Bedford Av",
- "position": {
- "latitude": 40.6805,
- "longitude": -73.952805
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011963",
- "stopKey": "302947",
- "stopName": "Fulton St/Bond St",
- "position": {
- "latitude": 40.689709,
- "longitude": -73.983099
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011707",
- "stopKey": "302382",
- "stopName": "Fulton St/Brooklyn Av",
- "position": {
- "latitude": 40.680033,
- "longitude": -73.944167
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011962",
- "stopKey": "302945",
- "stopName": "Fulton St/Smith St",
- "position": {
- "latitude": 40.69148,
- "longitude": -73.987534
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011706",
- "stopKey": "302381",
- "stopName": "Fulton St/Marcy Av",
- "position": {
- "latitude": 40.680116,
- "longitude": -73.945667
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14406637",
- "stopName": "Tillary St/Cadman Pz E",
- "position": {
- "latitude": 40.696046,
- "longitude": -73.990383
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011693",
- "stopKey": "302359",
- "stopName": "Cadman Plz W/Cadman Tower",
- "position": {
- "latitude": 40.698348,
- "longitude": -73.991565
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011692",
- "stopKey": "302358",
- "stopName": "Cadman Pz W/Clark St",
- "position": {
- "latitude": 40.696696,
- "longitude": -73.991464
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14013676",
- "stopKey": "307460",
- "stopName": "Adams St/Bklyn Supreme Crt",
- "position": {
- "latitude": 40.69256,
- "longitude": -73.989131
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011695",
- "stopKey": "302369",
- "stopName": "Fulton St/S Portland Av",
- "position": {
- "latitude": 40.686059,
- "longitude": -73.974034
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14013934",
- "stopKey": "308025",
- "stopName": "Water St/Main St",
- "position": {
- "latitude": 40.703318,
- "longitude": -73.991102
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011694",
- "stopKey": "302368",
- "stopName": "Fulton St/Lafayette Av",
- "position": {
- "latitude": 40.687146,
- "longitude": -73.97669
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011689",
- "stopKey": "302355",
- "stopName": "Old Fulton St/Elizabeth Pl",
- "position": {
- "latitude": 40.702666,
- "longitude": -73.993952
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011691",
- "stopKey": "302357",
- "stopName": "Cadman Pz W/Middagh St",
- "position": {
- "latitude": 40.699591,
- "longitude": -73.99129
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- {
- "stopId": "121---14011690",
- "stopKey": "302356",
- "stopName": "Old Fulton St/Henry St",
- "position": {
- "latitude": 40.701021,
- "longitude": -73.991449
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- }
- ]
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitRoute.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitRoute.json
deleted file mode 100644
index 280920327153..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitRoute.json
+++ /dev/null
@@ -1,268 +0,0 @@
-{
- "parameters": {
- "api-version": "1.0",
- "format": "json",
- "origin": "41.948437, -87.655334",
- "originType": "position",
- "destination": "41.878876, -87.635918",
- "destinationType": "position",
- "modeType": "publicTransit",
- "transitType": "bus"
- },
- "responses": {
- "200": {
- "body": {
- "results": [
- {
- "itineraryId": "41372ab5-8577-481a-ab24-e84572fe69a5---2020092910DC67FA27034F15A29F4AE5415ADAF2:0---81",
- "departureTime": "2020-09-30T00:30:29Z",
- "arrivalTime": "2020-09-30T01:18:16Z",
- "travelTimeInSeconds": 2867,
- "numberOfLegs": 4,
- "legs": [
- {
- "legType": "Walk",
- "legStartTime": "2020-09-30T00:30:29Z",
- "legEndTime": "2020-09-30T00:34:01Z",
- "caption": "North Clark Street",
- "lengthInMeters": 196
- },
- {
- "legType": "Wait",
- "legStartTime": "2020-09-30T00:34:01Z",
- "legEndTime": "2020-09-30T00:35:02Z",
- "caption": "22"
- },
- {
- "legType": "Bus",
- "legStartTime": "2020-09-30T00:35:02Z",
- "legEndTime": "2020-09-30T01:12:52Z",
- "caption": "22",
- "lengthInMeters": 8463,
- "legFare": {
- "fares": [
- {
- "price": {
- "amount": 225,
- "currencyCode": "USD"
- },
- "usage": "pay"
- }
- ]
- }
- },
- {
- "legType": "Walk",
- "legStartTime": "2020-09-30T01:12:53Z",
- "legEndTime": "2020-09-30T01:18:16Z",
- "lengthInMeters": 421
- }
- ],
- "itineraryFare": {
- "price": {
- "amount": 225,
- "currencyCode": "USD"
- },
- "tickets": [
- {
- "amount": 225,
- "currencyCode": "USD"
- }
- ]
- }
- },
- {
- "itineraryId": "41372ab5-8577-481a-ab24-e84572fe69a5---2020092910DC67FA27034F15A29F4AE5415ADAF2:1---81",
- "departureTime": "2020-09-30T00:32:42Z",
- "arrivalTime": "2020-09-30T01:26:29Z",
- "travelTimeInSeconds": 3227,
- "numberOfLegs": 3,
- "legs": [
- {
- "legType": "Walk",
- "legStartTime": "2020-09-30T00:32:42Z",
- "legEndTime": "2020-09-30T00:39:40Z",
- "caption": "West Sheridan Road",
- "lengthInMeters": 480
- },
- {
- "legType": "Wait",
- "legStartTime": "2020-09-30T00:39:40Z",
- "legEndTime": "2020-09-30T00:40:41Z",
- "caption": "151"
- },
- {
- "legType": "Bus",
- "legStartTime": "2020-09-30T00:40:41Z",
- "legEndTime": "2020-09-30T01:26:29Z",
- "caption": "151",
- "lengthInMeters": 10539,
- "legFare": {
- "fares": [
- {
- "price": {
- "amount": 225,
- "currencyCode": "USD"
- },
- "usage": "pay"
- }
- ]
- }
- }
- ],
- "itineraryFare": {
- "price": {
- "amount": 225,
- "currencyCode": "USD"
- },
- "tickets": [
- {
- "amount": 225,
- "currencyCode": "USD"
- }
- ]
- }
- },
- {
- "itineraryId": "41372ab5-8577-481a-ab24-e84572fe69a5---2020092910DC67FA27034F15A29F4AE5415ADAF2:2---81",
- "departureTime": "2020-09-30T00:28:04Z",
- "arrivalTime": "2020-09-30T01:24:46Z",
- "travelTimeInSeconds": 3402,
- "numberOfLegs": 7,
- "legs": [
- {
- "legType": "Walk",
- "legStartTime": "2020-09-30T00:28:04Z",
- "legEndTime": "2020-09-30T00:35:40Z",
- "caption": "West Waveland Avenue",
- "lengthInMeters": 522
- },
- {
- "legType": "Wait",
- "legStartTime": "2020-09-30T00:35:40Z",
- "legEndTime": "2020-09-30T00:36:41Z",
- "caption": "8"
- },
- {
- "legType": "Bus",
- "legStartTime": "2020-09-30T00:36:41Z",
- "legEndTime": "2020-09-30T01:09:41Z",
- "caption": "8",
- "lengthInMeters": 8059,
- "legFare": {
- "fares": [
- {
- "price": {
- "amount": 225,
- "currencyCode": "USD"
- },
- "usage": "pay"
- }
- ]
- }
- },
- {
- "legType": "Walk",
- "legStartTime": "2020-09-30T01:09:42Z",
- "legEndTime": "2020-09-30T01:11:59Z",
- "caption": "West Van Buren Street",
- "lengthInMeters": 174
- },
- {
- "legType": "Wait",
- "legStartTime": "2020-09-30T01:11:59Z",
- "legEndTime": "2020-09-30T01:18:43Z",
- "caption": "126"
- },
- {
- "legType": "Bus",
- "legStartTime": "2020-09-30T01:18:43Z",
- "legEndTime": "2020-09-30T01:22:45Z",
- "caption": "126",
- "lengthInMeters": 1092,
- "legFare": {
- "fares": [
- {
- "price": {
- "amount": 25,
- "currencyCode": "USD"
- },
- "usage": "pay"
- }
- ]
- }
- },
- {
- "legType": "Walk",
- "legStartTime": "2020-09-30T01:22:46Z",
- "legEndTime": "2020-09-30T01:24:46Z",
- "lengthInMeters": 102
- }
- ],
- "itineraryFare": {
- "price": {
- "amount": 250,
- "currencyCode": "USD"
- },
- "tickets": [
- {
- "amount": 225,
- "currencyCode": "USD"
- },
- {
- "amount": 25,
- "currencyCode": "USD"
- }
- ]
- }
- }
- ]
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitStopInfo.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitStopInfo.json
deleted file mode 100644
index 1f7fc7684b6d..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitStopInfo.json
+++ /dev/null
@@ -1,166 +0,0 @@
-{
- "parameters": {
- "api-version": "1.0",
- "format": "json",
- "query": "121---14013676",
- "queryType": "stopId",
- "detailType": [
- "lines"
- ]
- },
- "responses": {
- "200": {
- "body": {
- "stop": {
- "stopId": "121---14013676",
- "stopKey": "307460",
- "stopName": "Adams St/Bklyn Supreme Crt",
- "position": {
- "latitude": 40.69256,
- "longitude": -73.989131
- },
- "mainTransitType": "Bus",
- "mainAgencyId": "121---857463",
- "mainAgencyName": "MTA Bus"
- },
- "lines": [
- {
- "lineId": "121---1227940",
- "lineGroupId": "121---373227",
- "direction": "forward",
- "agencyId": "121---857463",
- "agencyName": "MTA Bus",
- "lineNumber": "B25",
- "lineDestination": "Broadway Jct Alabama Av Via Fulton",
- "transitType": "Bus"
- },
- {
- "lineId": "121---1227962",
- "lineGroupId": "121---373234",
- "direction": "forward",
- "agencyId": "121---857463",
- "agencyName": "MTA Bus",
- "lineNumber": "B38",
- "lineDestination": "Ltd Ridgewood Catalpa Av",
- "transitType": "Bus"
- },
- {
- "lineId": "121---1227960",
- "lineGroupId": "121---373234",
- "direction": "forward",
- "agencyId": "121---857463",
- "agencyName": "MTA Bus",
- "lineNumber": "B38",
- "lineDestination": "Ridgewood Metro Av",
- "transitType": "Bus"
- },
- {
- "lineId": "121---1227961",
- "lineGroupId": "121---373234",
- "direction": "forward",
- "agencyId": "121---857463",
- "agencyName": "MTA Bus",
- "lineNumber": "B38",
- "lineDestination": "Ridgewood Catalpa Av",
- "transitType": "Bus"
- },
- {
- "lineId": "121---3996060",
- "lineGroupId": "121---373236",
- "direction": "backward",
- "agencyId": "121---857463",
- "agencyName": "MTA Bus",
- "lineNumber": "B41",
- "lineDestination": "Kings Plaza Via Flatbush",
- "transitType": "Bus"
- },
- {
- "lineId": "121---3996040",
- "lineGroupId": "121---373236",
- "direction": "backward",
- "agencyId": "121---857463",
- "agencyName": "MTA Bus",
- "lineNumber": "B41",
- "lineDestination": "Bergen Beach Veterans Av Via Flatbush",
- "transitType": "Bus"
- },
- {
- "lineId": "121---3996059",
- "lineGroupId": "121---373236",
- "direction": "backward",
- "agencyId": "121---857463",
- "agencyName": "MTA Bus",
- "lineNumber": "B41",
- "lineDestination": "Limited Kings Plaza Via Flatbush",
- "transitType": "Bus"
- },
- {
- "lineId": "121---1227976",
- "lineGroupId": "121---373236",
- "direction": "backward",
- "agencyId": "121---857463",
- "agencyName": "MTA Bus",
- "lineNumber": "B41",
- "lineDestination": "Ltd Bergen Bch Veterans Av Via Flatbush",
- "transitType": "Bus"
- },
- {
- "lineId": "121---1228017",
- "lineGroupId": "121---373245",
- "direction": "forward",
- "agencyId": "121---857463",
- "agencyName": "MTA Bus",
- "lineNumber": "B52",
- "lineDestination": "Ridgewood Term Via Gates",
- "transitType": "Bus"
- }
- ]
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/mobility.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/mobility.json
deleted file mode 100644
index 01fbad524e40..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/mobility.json
+++ /dev/null
@@ -1,2596 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "Azure Maps Mobility Service",
- "version": "1.0"
- },
- "host": "atlas.microsoft.com",
- "schemes": [
- "https"
- ],
- "consumes": [],
- "produces": [
- "application/json"
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
- "scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
- }
- },
- "apiKeyQuery": {
- "type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
- "name": "subscription-key",
- "in": "query"
- }
- },
- "security": [
- {
- "azure_auth": []
- },
- {
- "apiKeyQuery": []
- }
- ],
- "responses": {
- "400": {
- "description": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "401": {
- "description": "Access denied due to invalid subscription key or invalid Azure Active Directory (Azure AD) bearer token. Make sure to provide a valid key for an active Azure subscription and Maps resource. Otherwise, verify the [WWW-Authenticate](https://tools.ietf.org/html/rfc6750#section-3.1) header for error code and description of the provided Azure AD bearer token.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- },
- "headers": {
- "WWW-Authenticate": {
- "type": "string",
- "description": "Bearer realm=\"https://atlas.microsoft.com/\", error=\"invalid_token\", error_description=\"The access token expired\""
- }
- }
- },
- "403": {
- "description": "Permission, capacity, or authentication issues.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "404": {
- "description": "Not Found: the requested resource could not be found, but it may be available again in the future.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "500": {
- "description": "An error occurred while processing the request. Please try again later.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- }
- },
- "parameters": {
- "ClientId": {
- "name": "x-ms-client-id",
- "description": "Specifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.",
- "type": "string",
- "in": "header",
- "required": false,
- "x-ms-parameter-location": "client"
- },
- "SubscriptionKey": {
- "name": "subscription-key",
- "description": "One of the Azure Maps keys provided from an Azure Map Account. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/how-to-manage-authentication) for details on how to manage authentication.",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "client"
- },
- "ApiVersion": {
- "name": "api-version",
- "description": "Version number of Azure Maps API. Current version is 1.0",
- "type": "string",
- "in": "query",
- "required": true,
- "default": "1.0",
- "x-ms-parameter-location": "client"
- },
- "JsonFormat": {
- "name": "format",
- "description": "Desired format of the response. Only `json` format is supported.",
- "type": "string",
- "in": "path",
- "required": true,
- "enum": [
- "json"
- ],
- "x-ms-enum": {
- "name": "JsonFormat",
- "modelAsString": true,
- "values": [
- {
- "value": "json",
- "description": "[The JavaScript Object Notation Data Interchange Format](https://tools.ietf.org/html/rfc8259)"
- }
- ]
- },
- "x-ms-parameter-location": "method"
- },
- "MetroId": {
- "name": "metroId",
- "description": "The unique id of the metro area. Can be retrieved via [Get Metro Area API](https://aka.ms/AzureMapsMobilityMetro).",
- "type": "integer",
- "format": "int32",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "MobilityLanguage": {
- "name": "language",
- "description": "Language in which search results will be returned. Only NGT is supported. Please refer to [Supported languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- }
- },
- "paths": {
- "/mobility/metroArea/id/{format}": {
- "get": {
- "deprecated": true,
- "x-publish": true,
- "operationId": "Mobility_GetMetroAreaPreview",
- "description": ">[!Important]\n>The Azure Maps Mobility Services Preview has been retired and will no longer be available and supported after October 5, 2021. All other Azure Maps API and Services are unaffected by this retirement announcement.\n>For details, see [Azure Maps Mobility Preview Retirement](https://azure.microsoft.com/updates/azure-maps-mobility-services-preview-retirement/).\n\n\n**Metro Area API**\n\n**Applies to**: S1 pricing tier.\n\nService allows users to request metro areas in which the Azure Maps Mobility Service is available. The service supports filtering results by country or coordinate location. Information returned includes Metro Area details such as metro Id, name and a representation of the metro area geometry in GeoJSON format.",
- "x-ms-examples": {
- "MetroArea": {
- "$ref": "./examples/GetMetroArea.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/JsonFormat"
- },
- {
- "name": "query",
- "description": "The applicable location input. Can be position (specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\") or countryCode (2-character ISO country code).",
- "in": "query",
- "required": true,
- "type": "string"
- },
- {
- "name": "queryType",
- "description": "The type of the query. By default originType=position, specified as a comma separated string composed by latitude followed by longitude, e.g. \"47.641268,-122.125679”.",
- "in": "query",
- "required": false,
- "type": "string",
- "default": "position",
- "enum": [
- "position",
- "countryCode"
- ],
- "x-ms-enum": {
- "name": "MetroAreaQueryType",
- "modelAsString": true,
- "values": [
- {
- "value": "position",
- "description": "The origin of the route as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\"."
- },
- {
- "value": "countryCode",
- "description": "2-character [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-2 country code. E.g. US."
- }
- ]
- },
- "x-ms-parameter-location": "method"
- },
- {
- "$ref": "#/parameters/MobilityLanguage"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/MetroAreaResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/mobility/metroArea/info/{format}": {
- "get": {
- "deprecated": true,
- "x-publish": true,
- "operationId": "Mobility_GetMetroAreaInfoPreview",
- "description": ">[!Important]\n>The Azure Maps Mobility Services Preview has been retired and will no longer be available and supported after October 5, 2021. All other Azure Maps API and Services are unaffected by this retirement announcement.\n>For details, see [Azure Maps Mobility Preview Retirement](https://azure.microsoft.com/updates/azure-maps-mobility-services-preview-retirement/).\n\n\n**Metro Area Info API**\n\n**Applies to**: S1 pricing tier.\n\nService allows users to request additional information for metro areas in which the Azure Maps Mobility services are available. Information such as supported transit types, transit agencies and active alerts is available, depending on the options selected. Also, the service returns information if the public transit fare information is available for the requested metro area.",
- "x-ms-examples": {
- "MetroAreaInfo": {
- "$ref": "./examples/GetMetroAreaInfo.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/JsonFormat"
- },
- {
- "name": "query",
- "description": "metroId. The unique id of the metro area. Required parameter specifying the required metro area to search in. Can be retrieved via [Get Metro Area API](https://aka.ms/AzureMapsMobilityTransitRoute).",
- "in": "query",
- "required": true,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "detailType",
- "description": "Specify details requested respective to the metro area as a comma separated list. Supported values are:\n * `agencies` - Return a list of all public transit agencies operating in the given metro area.\n * `alerts` - Returns a list of all active service alerts, that are defined in the metro or agency level, and are not connected to a specific line or stop.\n * `alertDetails` - Applicable only when alerts are requested. Returns details of the alerts.\n * `transitTypes` - Returns a list of all supported transit types in the given metro area.",
- "in": "query",
- "required": true,
- "type": "array",
- "items": {
- "type": "string",
- "enum": [
- "agencies",
- "alerts",
- "alertDetails",
- "transitTypes"
- ],
- "x-ms-enum": {
- "name": "MetroAreaDetailType",
- "modelAsString": true,
- "values": [
- {
- "value": "agencies",
- "description": "Return a list of all public transit agencies operating in the given metro area."
- },
- {
- "value": "alerts",
- "description": "Returns a list of all active service alerts, that are defined in the metro or agency level, and are not connected to a specific line or stop."
- },
- {
- "value": "alertDetails",
- "description": "Applicable only when alerts are requested. Returns details of the alerts."
- },
- {
- "value": "transitTypes",
- "description": "Returns a list of all supported transit types in the given metro area."
- }
- ]
- }
- },
- "x-ms-parameter-location": "method"
- },
- {
- "$ref": "#/parameters/MobilityLanguage"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/MetroAreaInfoResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/mobility/transit/nearby/{format}": {
- "get": {
- "deprecated": true,
- "x-publish": true,
- "operationId": "Mobility_GetNearbyTransitPreview",
- "description": ">[!Important]\n>The Azure Maps Mobility Services Preview has been retired and will no longer be available and supported after October 5, 2021. All other Azure Maps API and Services are unaffected by this retirement announcement.\n>For details, see [Azure Maps Mobility Preview Retirement](https://azure.microsoft.com/updates/azure-maps-mobility-services-preview-retirement/).\n\n\n**Find Nearby Transit API**\n\n**Applies to**: S1 pricing tier.\n\nGet Nearby Transit service allows you to search public transit stops around a given location returning the transit object details. Service allows users to search for public transit stops within a given radius returning a set of stops with stop details. Additional information such as transit operator information is returned depending on the options selected. The returned information can be used for further processing such as requesting [real-time arrivals](https://aka.ms/AzureMapsMobilityRealTimeArrivals) for the stop or [transit stop details](https://aka.ms/AzureMapsMobilityTransitStop) such as main transit type of most lines stopping for a given public, active service alerts or main transport agency.",
- "x-ms-examples": {
- "NearbyTransit": {
- "$ref": "./examples/GetNearbyTransit.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/JsonFormat"
- },
- {
- "$ref": "#/parameters/MetroId"
- },
- {
- "name": "query",
- "description": "Location input from user. The applicable location query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".",
- "in": "query",
- "required": true,
- "type": "string"
- },
- {
- "name": "limit",
- "description": "Maximum number of responses that will be returned. Default is 3, minimum 1 and maximum 100. Sort order is based on distance from input location.",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "radius",
- "description": "Specifies the search area to constrain a search. The radius in meters to for the results to be constrained to the defined area. Default value is 30 meters, minimum 1 meter and maximum 5000 meters (5km).",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "objectType",
- "description": "The transit object type. By default, objectType is set to `stop`",
- "in": "query",
- "required": false,
- "default": "stop",
- "type": "string"
- },
- {
- "$ref": "#/parameters/MobilityLanguage"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/NearbyTransitResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/mobility/transit/line/{format}": {
- "get": {
- "deprecated": true,
- "x-publish": true,
- "operationId": "Mobility_GetTransitLineInfoPreview",
- "description": ">[!Important]\n>The Azure Maps Mobility Services Preview has been retired and will no longer be available and supported after October 5, 2021. All other Azure Maps API and Services are unaffected by this retirement announcement.\n>For details, see [Azure Maps Mobility Preview Retirement](https://azure.microsoft.com/updates/azure-maps-mobility-services-preview-retirement/).\n\n\n**Transit Line Info API**\n\n**Applies to**: S1 pricing tier.\n\nYour scenario might require requesting transit line specific data such as stops and line geometry. Transit Line Info service allows you to request line group by line group id returning a line group comprised a set of lines. Additional information such as 24 hours static schedule, active alerts for the line group and line patterns is also available, depending on the options selected. Mobility services uses a parallel data model for public transit lines and line groups. Usually line group contains 2 lines, one going from A to B, and the other returning from B to A, both operating by the same Public Transport Agency having the same line number. We recommend you review our guidance [article](https://aka.ms/AMapsPublicTRansitConcepts) to understand the concepts of lines and line groups.",
- "x-ms-examples": {
- "TransitLineInfo": {
- "$ref": "./examples/GetTransitLineInfo.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/JsonFormat"
- },
- {
- "$ref": "#/parameters/MetroId"
- },
- {
- "name": "query",
- "description": "lineGroupId, for example,'666074'. Typically contains 2 lines having the same agency and line, one going from A to B, and the other from B to A.",
- "in": "query",
- "required": true,
- "type": "string"
- },
- {
- "name": "detailType",
- "description": "Specify additional details requested respective to the line group as a comma separated list. As a default service returns line basic info. Supported values are:\n * `alerts` - Return any active service alerts for the specified stop. Response provides brief information for disruption in service and all basic data associated with the alert.\n * `alertDetails` - Can only be used in conjunction with detailType=alerts.Return additional details associated with the active service alerts.\n * `lines` - Return transit lines that stops at the specified stop.\n * `stops` - Return list of stops the line group goes through.\n * `schedule` - Return a 24h static schedule for the specified line group from the current time of the day to the end of the current day.\n * `patterns` - Return list of patterns this group is comprised of. A pattern consists of a stop sequence and shape per line.",
- "in": "query",
- "required": false,
- "type": "array",
- "items": {
- "type": "string",
- "enum": [
- "alerts",
- "alertDetails",
- "lines",
- "stops",
- "schedule",
- "patterns"
- ],
- "x-ms-enum": {
- "name": "TransitLineDetailType",
- "modelAsString": true,
- "values": [
- {
- "value": "alerts",
- "description": "Return any active service alerts for the specified stop. Response provides brief information for disruption in service and all basic data associated with the alert."
- },
- {
- "value": "alertDetails",
- "description": "Can only be used in conjunction with detailType=alerts.Return additional details associated with the active service alerts."
- },
- {
- "value": "lines",
- "description": "Return transit lines that stops at the specified stop."
- },
- {
- "value": "stops",
- "description": "Return list of stops the line group goes through."
- },
- {
- "value": "schedule",
- "description": "Return a 24h static schedule for the specified line group from the current time of the day to the end of the current day."
- },
- {
- "value": "patterns",
- "description": "Return list of patterns this group is comprised of. A pattern consists of a stop sequence and shape per line."
- }
- ]
- }
- }
- },
- {
- "$ref": "#/parameters/MobilityLanguage"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/TransitLineInfoResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/mobility/transit/stop/{format}": {
- "get": {
- "deprecated": true,
- "x-publish": true,
- "operationId": "Mobility_GetTransitStopInfoPreview",
- "description": ">[!Important]\n>The Azure Maps Mobility Services Preview has been retired and will no longer be available and supported after October 5, 2021. All other Azure Maps API and Services are unaffected by this retirement announcement.\n>For details, see [Azure Maps Mobility Preview Retirement](https://azure.microsoft.com/updates/azure-maps-mobility-services-preview-retirement/).\n\n\n**Transit Stop Info API**\n\n**Applies to**: S1 pricing tier.\n\nGet Transit Stop Info service allows you to request information for a given public transit stop. Basic information returned includes details such as main transit type of most lines stopping for a given public and main transport agency. Additional details such as stop lines and active service alerts for specified stop are also available, depending on the options selected.",
- "x-ms-examples": {
- "TransitStopInfo": {
- "$ref": "./examples/GetTransitStopInfo.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/JsonFormat"
- },
- {
- "$ref": "#/parameters/MetroId"
- },
- {
- "name": "query",
- "description": "The stopId or stopKey for which the user is requesting transit stop details.",
- "in": "query",
- "required": true,
- "type": "string"
- },
- {
- "name": "queryType",
- "description": "The type of the unique query parameter of the stop. By default queryType=stopId.",
- "in": "query",
- "required": false,
- "type": "string",
- "enum": [
- "stopId",
- "stopKey"
- ],
- "default": "stopId",
- "x-ms-enum": {
- "name": "TransitStopQueryType",
- "modelAsString": true,
- "values": [
- {
- "value": "stopId",
- "description": "The unique Azure Maps identifier for the respective public transit stop. When referring to public transit stops over time, it is recommended to use `stopId` since it will not change, as long as the physical stop exists"
- },
- {
- "value": "stopKey",
- "description": "The GTFS stop Id. GTFS stop Ids are provided by the transit authority and are subject to change.
**Note**: When this value is used, the metroId parameter is required."
- }
- ]
- },
- "x-ms-parameter-location": "method"
- },
- {
- "name": "detailType",
- "description": "Specify additional details requested respective to the transit stop as a comma separated list. Supported values are:\n * `alerts` - Return any active service alerts for the specified stop. Response provides brief information for disruption in service and all basic data associated with the alert.\n * `alertDetails` - Can only be used in conjunction with detailType=alerts.Return additional details associated with the active service alerts.\n * `lines` - Return transit lines that stops at the specified stop.\n * `lineGroups` - Return line groups that stops at the specified stop.",
- "in": "query",
- "required": false,
- "type": "array",
- "items": {
- "type": "string",
- "enum": [
- "alerts",
- "alertDetails",
- "lines",
- "lineGroups"
- ],
- "x-ms-enum": {
- "name": "TransitStopDetailType",
- "modelAsString": true,
- "values": [
- {
- "value": "alerts",
- "description": "Return any active service alerts for the specified stop. Response provides brief information for disruption in service and all basic data associated with the alert."
- },
- {
- "value": "alertDetails",
- "description": "Can only be used in conjunction with detailType=alerts.Return additional details associated with the active service alerts."
- },
- {
- "value": "lines",
- "description": "Return transit lines that stops at the specified stop."
- },
- {
- "value": "lineGroups",
- "description": "Return line groups that stops at the specified stop."
- }
- ]
- }
- }
- },
- {
- "$ref": "#/parameters/MobilityLanguage"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/TransitStopInfoResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/mobility/transit/route/{format}": {
- "get": {
- "deprecated": true,
- "x-publish": true,
- "operationId": "Mobility_GetTransitRoutePreview",
- "description": ">[!Important]\n>The Azure Maps Mobility Services Preview has been retired and will no longer be available and supported after October 5, 2021. All other Azure Maps API and Services are unaffected by this retirement announcement.\n>For details, see [Azure Maps Mobility Preview Retirement](https://azure.microsoft.com/updates/azure-maps-mobility-services-preview-retirement/).\n\n\n**Transit Route API**\n\n**Applies to**: S1 pricing tier.\n\nGet Transit Route API will allow trip planning returning the best possible route options between an origin and destination by using multi-modal search. Service provides a variety of travel modes, including walk, bike, and public transit. The API supports parameters to request one or multiple public transit types such as bus, tram and subway, and prefer a specific transit agency operating in the area. Also, service provides transit fare details and options to choose optimal route with least walk or transfers and specify arrival or departure times when user need to be at a specific destination by a certain time.",
- "x-ms-examples": {
- "TransitRoute": {
- "$ref": "./examples/GetTransitRoute.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/JsonFormat"
- },
- {
- "$ref": "#/parameters/MetroId"
- },
- {
- "name": "origin",
- "description": "The origin of the route. By default originType=position, specified as a comma separated string composed by latitude followed by longitude, e.g. \"47.641268,-122.125679”.",
- "in": "query",
- "required": true,
- "type": "string"
- },
- {
- "name": "originType",
- "description": "The type of the origin. By default originType=position, specified as a comma separated string composed by latitude followed by longitude, e.g., \"47.641268,-122.125679”.",
- "in": "query",
- "required": false,
- "type": "string",
- "enum": [
- "position",
- "stopId",
- "stopKey"
- ],
- "default": "position",
- "x-ms-enum": {
- "name": "OriginType",
- "modelAsString": true,
- "values": [
- {
- "value": "position",
- "description": "The origin of the route as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\"."
- },
- {
- "value": "stopId",
- "description": "The unique Azure Maps identifier for the respective public transit stop. When referring to public transit stops over time, it is recommended to use `stopId` since it will not change, as long as the physical stop exists"
- },
- {
- "value": "stopKey",
- "description": "The GTFS stop Id. GTFS stop Ids are provided by the transit authority and are subject to change.
**Note**: When this value is used, the metroId parameter is required."
- }
- ]
- },
- "x-ms-parameter-location": "method"
- },
- {
- "name": "destination",
- "description": "The destination of the route. By default the destinationType=position, specified as a comma separated string composed by latitude followed by longitude, e.g. \"47.641268,-122.125679”.",
- "in": "query",
- "required": true,
- "type": "string"
- },
- {
- "name": "destinationType",
- "description": "The type of the destination.",
- "in": "query",
- "required": false,
- "type": "string",
- "default": "position",
- "enum": [
- "position",
- "stopId",
- "stopKey"
- ],
- "x-ms-enum": {
- "name": "DestinationType",
- "modelAsString": true,
- "values": [
- {
- "value": "position",
- "description": "The destination of the route as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\"."
- },
- {
- "value": "stopId",
- "description": "The unique Azure Maps identifier for the respective public transit stop. When referring to public transit stops over time, it is recommended to use `stopId` since it will not change, as long as the physical stop exists."
- },
- {
- "value": "stopKey",
- "description": "The GTFS stop Id. GTFS stop Ids are provided by the transit authority and are subject to change.
**Note**: When this value is used, the metroId parameter is required."
- }
- ]
- },
- "x-ms-parameter-location": "method"
- },
- {
- "name": "modeType",
- "description": "The mode of travel for the requested route; as comma separated list. If not specified, all modes will be allowed. All modes might not be available in all metro areas. If valid trip is not found, empty result will be returned. Supported values are:\n * `walk` - Walk (pedestrian)\n * `bike` - Bike\n * `publicTransit` - Public transit",
- "required": false,
- "in": "query",
- "type": "array",
- "items": {
- "type": "string",
- "enum": [
- "walk",
- "bike",
- "publicTransit"
- ],
- "x-ms-enum": {
- "name": "ModeType",
- "modelAsString": true,
- "values": [
- {
- "value": "walk",
- "description": "walk (pedestrian)"
- },
- {
- "value": "bike",
- "description": "bike"
- },
- {
- "value": "publicTransit",
- "description": "public transit"
- }
- ]
- }
- },
- "x-ms-parameter-location": "method"
- },
- {
- "name": "transitType",
- "description": "Applicable only with modeType = publicTransit. Allow only a specific set of public transit types (as a comma separated list) to be returned for the route. Note that the requested transitType may not be available for the entire route. If not specified, all modes will be allowed. Supported values are:\n * `bus` - Bus\n * `cableCar` - Cable car\n * `ferry` - Ferry\n * `funicular` - Funicular\n * `gondola` - Gondola\n * `rail` - Rail\n * `tram` - Tram\n * `subway` - Subway/Metro",
- "in": "query",
- "required": false,
- "type": "array",
- "items": {
- "type": "string",
- "enum": [
- "bus",
- "cableCar",
- "ferry",
- "funicular",
- "gondola",
- "rail",
- "tram",
- "subway"
- ],
- "x-ms-enum": {
- "name": "TransitTypeFilter",
- "modelAsString": true,
- "values": [
- {
- "value": "bus",
- "description": "bus"
- },
- {
- "value": "cableCar",
- "description": "cableCar"
- },
- {
- "value": "ferry",
- "description": "ferry"
- },
- {
- "value": "funicular",
- "description": "funicular"
- },
- {
- "value": "gondola",
- "description": "gondola"
- },
- {
- "value": "rail",
- "description": "rail"
- },
- {
- "value": "tram",
- "description": "tram"
- },
- {
- "value": "subway",
- "description": "subway"
- }
- ]
- }
- },
- "x-ms-parameter-location": "method"
- },
- {
- "name": "agency",
- "description": "Specifies whether to prefer routes from a specific set of agencies if possible; as a comma separated list. If valid trip isn’t found with the preferred agency, or only one with very long trips or with large number of transfers, itineraries with other agencies will be returned.",
- "in": "query",
- "required": false,
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- {
- "name": "agencyType",
- "description": "Specifies the agency identifier to request routes from preferred agencies. By default the agencyType=agencyId.",
- "in": "query",
- "required": false,
- "type": "string",
- "default": "agencyId",
- "enum": [
- "agencyId",
- "agencyKey",
- "agencyName"
- ],
- "x-ms-enum": {
- "name": "AgencyType",
- "modelAsString": true,
- "values": [
- {
- "value": "agencyId",
- "description": "The Id of the transit agency, e.g. '5872'"
- },
- {
- "value": "agencyKey",
- "description": "The agency’s GTFS Id.
**Note**: When this value is used, the metroId parameter is required."
- },
- {
- "value": "agencyName",
- "description": "The name of the transit agency, e.g. Metro Transit."
- }
- ]
- },
- "x-ms-parameter-location": "method"
- },
- {
- "name": "time",
- "description": "The time of departure or arrival in the local time in ISO format (2019-04-05T14:24:18-04:00). If timeType is not specified, it will be assumed to be 'departure' and time is the current local time at the origin point.",
- "in": "query",
- "required": false,
- "type": "string"
- },
- {
- "name": "timeType",
- "description": "Specifies whether the time signifies departure time or arrival time. If not defined, default value is 'departure'.",
- "in": "query",
- "required": false,
- "type": "string",
- "default": "departure",
- "enum": [
- "arrival",
- "departure",
- "last"
- ],
- "x-ms-enum": {
- "name": "TimeType",
- "modelAsString": true,
- "values": [
- {
- "value": "arrival",
- "description": "arrival at the destination point. Requires that 'time' value must be in the future."
- },
- {
- "value": "departure",
- "description": "Request departure at the destination point. Requires that 'time' value must be now or in the future."
- },
- {
- "value": "last",
- "description": "Request the last lines for the day."
- }
- ]
- }
- },
- {
- "name": "routeType",
- "description": "The type of route requested. If not specified, 'optimal' will be used.",
- "in": "query",
- "required": false,
- "type": "string",
- "default": "optimal",
- "enum": [
- "optimal",
- "leastWalk",
- "leastTransfers"
- ],
- "x-ms-enum": {
- "name": "TransitRouteType",
- "modelAsString": true,
- "values": [
- {
- "value": "optimal",
- "description": "The best optimal route."
- },
- {
- "value": "leastWalk",
- "description": "Route with least walk."
- },
- {
- "value": "leastTransfers",
- "description": "Route with least transfers."
- }
- ]
- }
- },
- {
- "name": "bikeType",
- "description": "Bike type of the bike. Specifies which type of bikes will be used. Only private bikes are supported.",
- "in": "query",
- "required": false,
- "type": "string",
- "default": "privateBike"
- },
- {
- "$ref": "#/parameters/MobilityLanguage"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/TransitRouteResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/mobility/transit/itinerary/{format}": {
- "get": {
- "deprecated": true,
- "x-publish": true,
- "operationId": "Mobility_GetTransitItineraryPreview",
- "description": ">[!Important]\n>The Azure Maps Mobility Services Preview has been retired and will no longer be available and supported after October 5, 2021. All other Azure Maps API and Services are unaffected by this retirement announcement.\n>For details, see [Azure Maps Mobility Preview Retirement](https://azure.microsoft.com/updates/azure-maps-mobility-services-preview-retirement/).\n\n\n**Transit Itinerary API**\n\n**Applies to**: S1 pricing tier.\n\nReturns data according to an itinerary Id previously returned by [Transit Route API](https://aka.ms/AzureMapsMobilityTransitRoute). The basic info contains data as to the various legs comprising the itinerary, including the locations, public transit lines, start and end times and fare information. Users can request additional routing information such as the shape of the itinerary and detailed itinerary schedules is also available, depending on the options selected. An itinerary is available up to 24 hours following a search request.",
- "x-ms-examples": {
- "TransitItinerary": {
- "$ref": "./examples/GetTransitItinerary.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/JsonFormat"
- },
- {
- "name": "query",
- "description": "The unique id (itineraryId) of an itinerary previously returned by [Transit Route API](https://aka.ms/AzureMapsMobilityTransitRoute).",
- "in": "query",
- "required": true,
- "type": "string"
- },
- {
- "name": "detailType",
- "description": "Specify additional details returned in the transit route itinerary response, as a comma separated list. Supported values are:\n * `geometry` - Shape of an in GeoJSON format. For public transit legs will return also the stops that the leg passes through. For walk and bike legs, will return also the turn-by-turn navigation data. \n * `schedule` - Static schedule data as to all departures of Public Transit legs from the current time of the day to the end of the current day.",
- "required": false,
- "in": "query",
- "type": "array",
- "items": {
- "type": "string",
- "enum": [
- "geometry",
- "schedule"
- ],
- "x-ms-enum": {
- "name": "TransitItineraryDetailType",
- "modelAsString": true,
- "values": [
- {
- "value": "geometry",
- "description": "Shape of an in GeoJSON format. For public transit legs will return also the stops that the leg passes through. For walk and bike legs, will return also the turn-by-turn navigation data."
- },
- {
- "value": "schedule",
- "description": "Static schedule data as to all departures of Public Transit legs from the current time of the day to the end of the current day."
- }
- ]
- }
- },
- "x-ms-parameter-location": "method"
- },
- {
- "$ref": "#/parameters/MobilityLanguage"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/TransitItineraryResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/mobility/realtime/arrivals/{format}": {
- "get": {
- "deprecated": true,
- "x-publish": true,
- "operationId": "Mobility_GetRealTimeArrivalsPreview",
- "description": ">[!Important]\n>The Azure Maps Mobility Services Preview has been retired and will no longer be available and supported after October 5, 2021. All other Azure Maps API and Services are unaffected by this retirement announcement.\n>For details, see [Azure Maps Mobility Preview Retirement](https://azure.microsoft.com/updates/azure-maps-mobility-services-preview-retirement/).\n\n\n**Real-time Arrivals API**\n\n**Applies to**: S1 pricing tier.\n\nGet Real Time Arrivals API returns for a given a stop, line or location the requested number of real-time arrivals. Endpoint support different modes to request real-time arrivals such as number of live arrivals for all lines arriving at the specified stop or all arrivals of a line to stops near the user’s location. The API supports parameters to request one or multiple public transit types such as bus, tram and subway, maximum number if arrivals, and prefer a specific transit agency operating in the area. In some cases real-time arrivals may not be available, for example, if arrival is too far in the future or transit vehicle does not have capability to share the real-time location. This is symbolized in a scheduleType field present in all responses.",
- "x-ms-examples": {
- "RealTimeArrivals": {
- "$ref": "./examples/GetRealTimeArrivals.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/JsonFormat"
- },
- {
- "$ref": "#/parameters/MetroId"
- },
- {
- "name": "query",
- "description": "Stop, line or location identifier.",
- "in": "query",
- "required": true,
- "type": "string"
- },
- {
- "name": "queryType",
- "description": "The type of the query parameter. Defines the mode of the request. Only one mode per request is supported. By default queryType is set to be ‘stops’ returning the requested number of Live Arrivals for all lines arriving at the specified stop.",
- "in": "query",
- "required": false,
- "type": "string",
- "enum": [
- "stops",
- "line",
- "lineAndStop",
- "position"
- ],
- "default": "stops",
- "x-ms-enum": {
- "name": "RealTimeArrivalsQueryType",
- "modelAsString": true,
- "values": [
- {
- "value": "stops",
- "description": "One or multiple stops as a comma separated list. Returns the requested number of live arrivals for all lines arriving at the specified stop. Defined by parameter stopQueryType."
- },
- {
- "value": "line",
- "description": "Returns the next live arrival times for each stop within the specified line. lineId, for example, '3785742'."
- },
- {
- "value": "lineAndStop",
- "description": "Returns up to three next Live Arrival times for a given line at a given stop. Comma-separated list including lineId and stop identifier, for example, 1228526,14014071 (lineId,stopId)."
- },
- {
- "value": "position",
- "description": "Returns arrivals of a line to stops near the user’s location. The applicable location query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\"."
- }
- ]
- },
- "x-ms-parameter-location": "method"
- },
- {
- "name": "stopQueryType",
- "description": "The type of the unique query parameter of the stop. By default stopQueryType=stopId. This parameter can only be used in conjunction with queryType=stops or queryType=lineAndStop.",
- "in": "query",
- "required": false,
- "type": "string",
- "enum": [
- "stopId",
- "stopKey"
- ],
- "default": "stopId",
- "x-ms-enum": {
- "name": "StopQueryType",
- "modelAsString": true,
- "values": [
- {
- "value": "stopId",
- "description": "The unique Azure Maps identifier for the respective public transit stop. When referring to public transit stops over time, it is recommended to use `stopId` since it will not change, as long as the physical stop exists."
- },
- {
- "value": "stopKey",
- "description": "The GTFS stop Id. GTFS stop Ids are provided by the transit authority and are subject to change.
**Note**: When this value is used, the metroId parameter is required."
- }
- ]
- },
- "x-ms-parameter-location": "method"
- },
- {
- "name": "limit",
- "description": "The maximum arrivals to return. If not specified, the system default will be used. For stops max number of arrivals per stop. For lines max arrivals per stop on the line. For everything else max arrivals overall.",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "name": "maxMinutesInFuture",
- "description": "The maximum time (in minutes) in the future to return arrivals for. If not specified, the system default (30 minutes) will be used. The minimum value is 0 and maximum value is 60 minutes.",
- "required": false,
- "type": "integer",
- "format": "int32",
- "in": "query"
- },
- {
- "name": "transitType",
- "description": "Type of public transit user is requesting respective transit stop, as a comma separated list. For example, transitType=Bus,Subway. If not specified, all will be allowed. This parameter can only be used in conjunction with queryType=stops. Supported values are:\n * `bus` - Bus\n * `cableCar` - Cable car\n * `ferry` - Ferry\n * `funicular` - Funicular\n * `gondola` - Gondola\n * `rail` - Rail\n * `tram` - Tram\n * `subway` - Subway/Metro",
- "in": "query",
- "required": false,
- "type": "array",
- "items": {
- "type": "string",
- "enum": [
- "bus",
- "cableCar",
- "ferry",
- "funicular",
- "gondola",
- "rail",
- "tram",
- "subway"
- ],
- "x-ms-enum": {
- "name": "TransitTypeFilter",
- "modelAsString": true,
- "values": [
- {
- "value": "bus",
- "description": "bus"
- },
- {
- "value": "cableCar",
- "description": "cableCar"
- },
- {
- "value": "ferry",
- "description": "ferry"
- },
- {
- "value": "funicular",
- "description": "funicular"
- },
- {
- "value": "gondola",
- "description": "gondola"
- },
- {
- "value": "rail",
- "description": "rail"
- },
- {
- "value": "tram",
- "description": "tram"
- },
- {
- "value": "subway",
- "description": "subway"
- }
- ]
- }
- },
- "x-ms-parameter-location": "method"
- },
- {
- "name": "agency",
- "description": "In case you prefer routes from a specific set of agencies to be returned. Specified as a comma separated string.",
- "in": "query",
- "required": false,
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- {
- "name": "agencyType",
- "description": "Specifies the agency identifier to request routes from a specific set of agencies to be returned. By default the agencyType=agencyId.",
- "in": "query",
- "required": false,
- "type": "string",
- "default": "agencyId",
- "enum": [
- "agencyId",
- "agencyKey",
- "agencyName"
- ],
- "x-ms-enum": {
- "name": "AgencyType",
- "modelAsString": true,
- "values": [
- {
- "value": "agencyId",
- "description": "The Id of the transit agency, e.g. '5872'"
- },
- {
- "value": "agencyKey",
- "description": "The agency’s GTFS Id.
**Note**: When this value is used, the metroId parameter is required."
- },
- {
- "value": "agencyName",
- "description": "The name of the transit agency, e.g. Metro Transit."
- }
- ]
- },
- "x-ms-parameter-location": "method"
- },
- {
- "name": "timeoutInSeconds",
- "description": "Time in seconds within which if the provider doesn’t respond, end point will return static data.",
- "in": "query",
- "required": false,
- "type": "integer",
- "format": "int32"
- },
- {
- "$ref": "#/parameters/MobilityLanguage"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/RealTimeArrivalsResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- }
- },
- "definitions": {
- "ODataErrorResponse": {
- "type": "object",
- "description": "This response object is returned when an error occurs in the Azure Maps API.",
- "properties": {
- "error": {
- "$ref": "#/definitions/ODataError"
- }
- }
- },
- "ODataError": {
- "type": "object",
- "description": "This object is returned when an error occurs in the Azure Maps API.",
- "properties": {
- "code": {
- "type": "string",
- "readOnly": true,
- "description": "The ODataError code."
- },
- "message": {
- "type": "string",
- "readOnly": true,
- "description": "If available, a human-readable description of the error."
- },
- "details": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ODataError"
- }
- },
- "target": {
- "type": "string",
- "readOnly": true,
- "description": "If available, the target causing the error."
- }
- }
- },
- "Coordinate": {
- "description": "A location represented as a latitude and longitude.",
- "type": "object",
- "properties": {
- "latitude": {
- "description": "Latitude property",
- "type": "number",
- "format": "double",
- "readOnly": true
- },
- "longitude": {
- "description": "Longitude property",
- "type": "number",
- "format": "double",
- "readOnly": true
- }
- }
- },
- "GeoJSONGeometry": {
- "description": "A valid `GeoJSON` geometry object. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1) for details.",
- "type": "object",
- "discriminator": "type",
- "required": [
- "type"
- ],
- "properties": {
- "type": {
- "description": "Specifies the `GeoJSON` geometry type. Must be one of the seven valid GeoJSON geometry types - Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon and GeometryCollection.",
- "type": "string",
- "enum": [
- "Point",
- "MultiPoint",
- "LineString",
- "MultiLineString",
- "Polygon",
- "MultiPolygon",
- "GeometryCollection"
- ],
- "x-ms-enum": {
- "name": "GeoJSONGeometryType",
- "modelAsString": true,
- "values": [
- {
- "value": "Point",
- "description": "`GeoJSON Point` geometry."
- },
- {
- "value": "MultiPoint",
- "description": "`GeoJSON MultiPoint` geometry."
- },
- {
- "value": "LineString",
- "description": "`GeoJSON LineString` geometry."
- },
- {
- "value": "MultiLineString",
- "description": "`GeoJSON MultiLineString` geometry."
- },
- {
- "value": "Polygon",
- "description": "`GeoJSON Polygon` geometry."
- },
- {
- "value": "MultiPolygon",
- "description": "`GeoJSON MultiPolygon` geometry."
- },
- {
- "value": "GeometryCollection",
- "description": "`GeoJSON GeometryCollection` geometry."
- }
- ]
- }
- }
- }
- },
- "Polygon": {
- "description": "A valid `GeoJSON Polygon` geometry type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.6) for details.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/GeoJSONGeometry"
- },
- {
- "properties": {
- "type": {
- "description": "Specifies the `type` for the object. Value should always be equal to \"Polygon\".",
- "type": "string"
- },
- "coordinates": {
- "description": "Coordinates for the `Polygon` geometry type.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/GeoJSONLinearRing"
- }
- }
- },
- "required": [
- "coordinates"
- ]
- }
- ]
- },
- "LineString": {
- "description": "A valid `GeoJSON LineString` geometry type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.4) for details.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/GeoJSONGeometry"
- },
- {
- "properties": {
- "type": {
- "description": "Specifies the `type` for the geometry. Value should always be equal to \"LineString\".",
- "type": "string"
- },
- "coordinates": {
- "description": "Coordinates for the `LineString` geometry.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/GeoJSONPosition"
- }
- }
- },
- "required": [
- "coordinates"
- ]
- }
- ]
- },
- "GeoJSONLinearRing": {
- "description": "Though a linear ring is not explicitly represented as a GeoJSON geometry type, it helps in defining the polygon as an array of linear rings. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.6) for details.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/GeoJSONPosition"
- }
- },
- "GeoJSONPosition": {
- "description": "A valid `GeoJSON Position` geometry type. A `Position` is an array of numbers with two or more elements. The first two elements are _longitude_ and _latitude_, precisely in that order. _Altitude/Elevation_ is an optional third element. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.1) for details.",
- "type": "array",
- "items": {
- "type": "number",
- "format": "double"
- }
- },
- "MetroAreaResponse": {
- "description": "This object is returned from a successful Get Metro Area call",
- "type": "object",
- "properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/MetroAreaResult"
- }
- }
- }
- },
- "MetroAreaInfoResponse": {
- "description": "This object is returned from a successful Metro Area Info call.",
- "type": "object",
- "properties": {
- "metroName": {
- "type": "string",
- "description": "The name of the metro area."
- },
- "isFaresSupported": {
- "type": "string",
- "description": "Indicates if public transit fares information is available in the metro area. Fare information is available through [Get Transit Route API](https://aka.ms/AzureMapsMobilityTransitRoute) and [Get Transit Itinerary APIs](https://aka.ms/AzureMapsMobilityTransitItinerary)."
- },
- "transitTypes": {
- "description": "Supported transit types in the metro area. Returned if specified in the request.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/TransitTypeResult"
- }
- },
- "agencies": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Agency"
- }
- },
- "alerts": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Alert"
- }
- }
- }
- },
- "NearbyTransitResponse": {
- "description": "This object is returned from a successful Get Nearby Transit call",
- "type": "object",
- "properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/TransitObjectResult"
- }
- }
- }
- },
- "TransitStopInfoResponse": {
- "description": "This object is returned from a successful Get Transit Stop Info call",
- "type": "object",
- "properties": {
- "stop": {
- "$ref": "#/definitions/Stop"
- },
- "lines": {
- "$ref": "#/definitions/Lines"
- },
- "lineGroups": {
- "$ref": "#/definitions/LineGroups"
- },
- "alerts": {
- "$ref": "#/definitions/Alerts"
- }
- }
- },
- "TransitRouteResponse": {
- "description": "This object is returned from a successful Get Transit Stop Info call",
- "type": "object",
- "properties": {
- "results": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ItineraryResult"
- }
- }
- }
- },
- "TransitItineraryResponse": {
- "description": "This object is returned from a successful Get Transit Itinerary call",
- "type": "object",
- "properties": {
- "departureTime": {
- "description": "The date and time of departure from the origin point in ISO 8601 format, e.g. 1996-12-19T16:39:57-08:00.",
- "type": "string"
- },
- "arrivalTime": {
- "description": "The date and time of arrival at the destination point in ISO 8601 format, e.g. 1996-12-19T19:39:57-08:00.",
- "type": "string"
- },
- "legs": {
- "$ref": "#/definitions/ItinerarySummary"
- },
- "itineraryFare": {
- "description": "Itinerary level transit fare information. Returned only if fare information is available for the entire itinerary. [Get Metro Area Info API](https://aka.ms/AzureMapsMobilityMetroAreaInfo) can be requested to confirm if fare information is available in the metro area.",
- "$ref": "#/definitions/ItineraryFare"
- }
- }
- },
- "TransitLineInfoResponse": {
- "description": "This object is returned from a successful Transit Line Info call.",
- "type": "object",
- "properties": {
- "lineGroup": {
- "description": "Groups together all lines that are logically part of the same group. Typically contains 2 lines having the same agency and line, one going from A to B, and the other from B to A.",
- "$ref": "#/definitions/LineGroup"
- },
- "lines": {
- "description": "The line group’s basic info and list of the lines.",
- "$ref": "#/definitions/Lines"
- },
- "stops": {
- "description": "List of stops the line group goes through.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Stop"
- }
- },
- "patterns": {
- "description": "List of patterns this group is comprised of. A pattern consists of a stop sequence and shape per a line in GeoJSON format.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Pattern"
- }
- },
- "schedule": {
- "description": "Line schedule for the current 24h. May be null in case no schedule exists for the current time.",
- "$ref": "#/definitions/LineArrival"
- }
- }
- },
- "RealTimeArrivalsResponse": {
- "description": "This object is returned from a successful Get Real Time Arrival Info call.",
- "type": "object",
- "properties": {
- "results": {
- "description": "Results array. Contains results related details.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/RealTimeArrivalResult"
- }
- }
- }
- },
- "MetroAreaResult": {
- "description": "Details of the metro area.",
- "type": "object",
- "properties": {
- "metroId": {
- "description": "The metro area's Id for use with other API calls.",
- "type": "integer",
- "format": "int32"
- },
- "metroName": {
- "description": "The main display name of the metro.",
- "type": "string"
- },
- "geometry": {
- "$ref": "#/definitions/Polygon"
- },
- "viewport": {
- "$ref": "#/definitions/ResultViewport"
- }
- }
- },
- "ResultViewport": {
- "description": "The viewport that covers the result represented by the top-left and bottom-right coordinates of the viewport.",
- "type": "object",
- "properties": {
- "topLeftPoint": {
- "$ref": "#/definitions/Coordinate"
- },
- "btmRightPoint": {
- "$ref": "#/definitions/Coordinate"
- }
- }
- },
- "TransitObjectResult": {
- "type": "object",
- "properties": {
- "id": {
- "description": "The unique identifier (stopID) for the returned public transit stop. When referring to public transit stops over time, it is recommended to use `stopId` since it will not change, as long as the physical stop exists.",
- "type": "string"
- },
- "type": {
- "description": "The type of object found as a result of the query.",
- "type": "string"
- },
- "objectDetails": {
- "description": "The object specific details.",
- "type": "object"
- },
- "position": {
- "description": "The transit object's position.",
- "$ref": "#/definitions/Coordinate"
- },
- "viewport": {
- "$ref": "#/definitions/ResultViewport"
- }
- }
- },
- "Stop": {
- "description": "The stop's basic info",
- "type": "object",
- "properties": {
- "stopId": {
- "description": "The unique Azure Maps identifier for the respective public transit stop. When referring to public transit stops over time, it is recommended to use `stopId` since it will not change, as long as the physical stop exists.",
- "type": "string"
- },
- "stopKey": {
- "description": "The GTFS stop Id. GTFS stop Ids are provided by the transit authority and subject to change.",
- "type": "string"
- },
- "stopName": {
- "description": "The name of the stop.",
- "type": "string"
- },
- "stopCode": {
- "description": "The stop code displayed at the physical stop. Returned if available.",
- "type": "string"
- },
- "position": {
- "description": "The Stop's location, latitude and longitude.",
- "$ref": "#/definitions/Coordinate"
- },
- "mainTransitType": {
- "description": "The transit type of most lines stopping at this stop. One of Tram, Subway, Rail, Bus, Ferry, CableCar, Gondola, Funicular",
- "type": "string"
- },
- "mainAgencyId": {
- "description": "The Id of the transit agency of most lines stopping at this stop. For example '5872'.",
- "type": "string"
- },
- "mainAgencyName": {
- "description": "The name of the agency of most lines stopping at this stop, for example, 'Metro Transit'.",
- "type": "string"
- }
- }
- },
- "Lines": {
- "description": "A list of stop lines",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Line"
- }
- },
- "Line": {
- "description": "A stop line",
- "type": "object",
- "properties": {
- "lineId": {
- "description": "Line Id.",
- "type": "string"
- },
- "lineGroupId": {
- "description": "Line group Id. Typically contains 2 lines having the same agency and line, one going from A to B, and the other from B to A.",
- "type": "string"
- },
- "direction": {
- "description": "Line direction. Possible values 'forward' or 'backward'.",
- "type": "string"
- },
- "agencyId": {
- "description": "The Id of the transit agency, for example, '5872'.",
- "type": "string"
- },
- "agencyName": {
- "description": "The name of the transit agency, for example, 'NJ Transit'.",
- "type": "string"
- },
- "lineNumber": {
- "description": "The transit line number.",
- "type": "string"
- },
- "origin": {
- "description": "The line’s origin, will be present according to metro settings.",
- "type": "string"
- },
- "lineDestination": {
- "description": "The line’s user displayable destination.",
- "type": "string"
- },
- "mostFrequentPatternId": {
- "description": "Most common pattern for the line.",
- "type": "string"
- },
- "transitType": {
- "description": "The public transit type of the line.",
- "$ref": "#/definitions/TransitType"
- }
- }
- },
- "LineGroups": {
- "description": "A list of line groups",
- "type": "array",
- "items": {
- "$ref": "#/definitions/LineGroup"
- }
- },
- "LineGroup": {
- "description": "A line group",
- "type": "object",
- "properties": {
- "lineGroupId": {
- "description": "Line group Id. Typically contains 2 lines having the same agency and line, one going from A to B, and the other from B to A.",
- "type": "string"
- },
- "agencyId": {
- "description": "The Id of the transit agency, for example, '5872'.",
- "type": "string"
- },
- "agencyName": {
- "description": "The name of the transit agency, e.g. Metro Transit.",
- "type": "string"
- },
- "lineNumber": {
- "description": "The transit line number.",
- "type": "string"
- },
- "caption1": {
- "description": "A descriptive string. In case caption2 is null, should be used alone as a subtitle to the line number (i.e. Circular). In case caption2 has a value present, should be used in conjunction with it (i.e. Rome ↔ Napoli).",
- "type": "string"
- },
- "caption2": {
- "description": "A descriptive string.",
- "type": "string"
- },
- "color": {
- "description": "HEX color for the line.",
- "type": "string"
- },
- "transitType": {
- "description": "The public transit type of the line.",
- "$ref": "#/definitions/TransitType"
- }
- }
- },
- "Alerts": {
- "description": "A list of stop alerts",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Alert"
- }
- },
- "Alert": {
- "description": "Basic information associated with the active alert. Returned if specified in the request and there is an active alert in the metro area.",
- "type": "object",
- "properties": {
- "alertSummary": {
- "description": "Text summarizing the alert.",
- "type": "string"
- },
- "publicationDate": {
- "description": "The date and time in ISO 8601 format, e.g. 2019-04-05T14:24:18-04:00.",
- "type": "string",
- "format": "date-time"
- },
- "category": {
- "description": "The category of the alert. One of None, Regular, Info, Modified, Critical.",
- "type": "string"
- },
- "alertLevel": {
- "description": "The level at which the respective alert extents to. One of Metro, Agency, Line, Stop.",
- "type": "string"
- },
- "details": {
- "$ref": "#/definitions/AlertDetail"
- }
- }
- },
- "AlertDetail": {
- "description": "A list of alert details.",
- "type": "object",
- "properties": {
- "agencyId": {
- "description": "The Id of the relevant transit agency, for example, '5872'.",
- "type": "string"
- },
- "agencyName": {
- "description": "Name of the relevant transit agency, e.g. Metro Transit.",
- "type": "string"
- },
- "title": {
- "description": "The title of the alert.",
- "type": "string"
- },
- "description": {
- "description": "A short description of the alert.",
- "$ref": "#/definitions/AlertDescription"
- },
- "activeFrom": {
- "description": "The start time of the alert in the local time in ISO format (2019-04-05T14:24:18-04:00).",
- "type": "string",
- "format": "date-time"
- },
- "activeTo": {
- "description": "The estimated end time of the alert in the local time in ISO format (2019-04-05T14:24:18-04:00).",
- "type": "string",
- "format": "date-time"
- },
- "effect": {
- "description": "Service Alert effect - one of SA_NO_SERVICE, SA_REDUCED_SERVICE, SA_SIGNIFICANT_DELAYS, SA_DETOUR, SA_ADDITIONAL_SERVICE, SA_MODIFIED_SERVICE, SA_OTHER_EFFECT, SA_STOP_MOVED, SA_GOOD_SERVICE, SA_SLEEPING, SA_OTHER_EFFECT",
- "type": "string"
- }
- }
- },
- "ItineraryResult": {
- "type": "object",
- "properties": {
- "itineraryId": {
- "description": "A unique identifier of the returned itinerary.",
- "type": "string"
- },
- "departureTime": {
- "description": "The date and time of departure from the origin point in ISO 8601 format, e.g. 1996-12-19T16:39:57-08:00.",
- "type": "string",
- "format": "date-time"
- },
- "arrivalTime": {
- "description": "The date and time of arrival at the destination point in ISO 8601 format, e.g. 1996-12-19T19:39:57-08:00.",
- "type": "string",
- "format": "date-time"
- },
- "travelTimeInSeconds": {
- "description": "Estimated travel time in seconds.",
- "type": "integer",
- "format": "int32"
- },
- "numberOfLegs": {
- "description": "Number of legs.",
- "type": "integer",
- "format": "int32"
- },
- "legs": {
- "description": "An array summarizing the legs of this itinerary.",
- "$ref": "#/definitions/RouteItinerarySummary"
- },
- "itineraryFare": {
- "description": "Itinerary level transit fare information. Returned only if fare information is available for the entire itinerary. [Get Metro Area Info API](https://aka.ms/AzureMapsMobilityMetroAreaInfo) can be requested to confirm if fare information is available in the metro area.",
- "$ref": "#/definitions/ItineraryFare"
- }
- }
- },
- "RouteItinerarySummary": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/RouteItineraryLeg"
- }
- },
- "RouteItineraryLeg": {
- "type": "object",
- "properties": {
- "legType": {
- "description": "The travel mode of the leg.",
- "$ref": "#/definitions/LegType"
- },
- "legFare": {
- "description": "Leg level public transit fare information. Returned only if fare information is available for the entire itinerary.",
- "$ref": "#/definitions/LegFare"
- },
- "legStartTime": {
- "description": "Start time for the leg in ISO 8601 format, e.g. 1996-12-19T19:39:57-08:00.",
- "type": "string"
- },
- "legEndTime": {
- "description": "End time for the leg in ISO 8601 format, e.g. 1996-12-19T19:39:57-08:00.",
- "type": "string"
- },
- "caption": {
- "description": "For Public Transit legs the caption of the line serving the leg, for example, line number.",
- "type": "string"
- },
- "lengthInMeters": {
- "description": "The total distance of the leg in meters.",
- "type": "integer",
- "format": "int32"
- }
- }
- },
- "ItinerarySummary": {
- "description": "An array summarizing the legs of this itinerary.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Leg"
- }
- },
- "Leg": {
- "type": "object",
- "properties": {
- "legType": {
- "description": "The travel mode of the leg.",
- "$ref": "#/definitions/LegType"
- },
- "legStartTime": {
- "description": "Start time for the leg.",
- "type": "string"
- },
- "legEndTime": {
- "description": "End time for the leg.",
- "type": "string"
- },
- "steps": {
- "description": "In case of walk or bike leg, the directions.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Step"
- }
- },
- "origin": {
- "description": "The walk/bike leg’s origin.",
- "$ref": "#/definitions/LegPoint"
- },
- "destination": {
- "description": "The walk/bike leg’s destination.",
- "$ref": "#/definitions/LegPoint"
- },
- "geometry": {
- "$ref": "#/definitions/LineString"
- },
- "lineGroup": {
- "description": "In case of a public transit leg, the line group serving this leg.",
- "$ref": "#/definitions/LineGroup"
- },
- "line": {
- "description": "In case of a public transit leg, the line serving this leg.",
- "$ref": "#/definitions/Line"
- },
- "stops": {
- "description": "List of stops comprising the line’s route within the leg (e.g. the stops the leg passes through).",
- "$ref": "#/definitions/Stops"
- },
- "departures": {
- "description": "Relevant for Public Transit and Wait legs only",
- "$ref": "#/definitions/Departures"
- },
- "legFare": {
- "description": "Leg level public transit fare information. Returned only if fare information is available for the entire itinerary.",
- "$ref": "#/definitions/LegFare"
- },
- "waitOnVehicle": {
- "description": "Indicates whether it’s necessary to wait for the next leg on the same vehicle (i.e. the bus will only change its line number).",
- "type": "string"
- }
- }
- },
- "LegType": {
- "type": "string",
- "enum": [
- "Walk",
- "Bicycle",
- "Tram",
- "Subway",
- "Rail",
- "Bus",
- "Ferry",
- "Cable",
- "Gondola",
- "Funicular",
- "PathWayWalk",
- "Wait",
- "WaitOnVehicle"
- ],
- "x-ms-enum": {
- "name": "LegType",
- "modelAsString": true,
- "values": [
- {
- "value": "Walk",
- "description": "Pedestrian walk"
- },
- {
- "value": "Bicycle",
- "description": "Bicycle"
- },
- {
- "value": "Tram",
- "description": "Tram"
- },
- {
- "value": "Subway",
- "description": "Subway"
- },
- {
- "value": "Rail",
- "description": "Rail"
- },
- {
- "value": "Bus",
- "description": "Bus"
- },
- {
- "value": "Ferry",
- "description": "Ferry"
- },
- {
- "value": "Cable",
- "description": "Cable Car"
- },
- {
- "value": "Gondola",
- "description": "Gondola"
- },
- {
- "value": "Funicular",
- "description": "Funicular"
- },
- {
- "value": "PathWayWalk",
- "description": "A Leg describing a walk within a compound, e.g. Central Station"
- },
- {
- "value": "Wait",
- "description": "A Leg describing a wait for the next public transit leg"
- },
- {
- "value": "WaitOnVehicle",
- "description": "It’s necessary to wait for the next leg on the same vehicle (i.e. the bus will only change its line number)"
- }
- ]
- }
- },
- "ItineraryFare": {
- "description": "Itinerary level transit fare information.",
- "type": "object",
- "properties": {
- "price": {
- "description": "The total price for all tickets a user is expected to purchase in order to complete this itinerary.",
- "$ref": "#/definitions/Price"
- },
- "tickets": {
- "description": "An array describing the individual prices of each of the tickets that the user is expected to purchase throughout this itinerary. The list isn’t ordered.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/Tickets"
- }
- }
- }
- },
- "Tickets": {
- "description": "An array describing the individual prices of each of the tickets that the user is expected to purchase throughout this itinerary. The list isn’t ordered.",
- "type": "object",
- "properties": {
- "amount": {
- "description": "Price of the ticket in cents. For example, $5.00 is returned as ‘500’.",
- "type": "integer",
- "format": "int32"
- },
- "currencyCode": {
- "description": "Currency code, for example for US dollars “USD”.",
- "type": "string"
- }
- }
- },
- "LegFare": {
- "description": "Leg level public transit fare information. Returned only if fare information is available for the entire itinerary level and supported by the local transit agency.",
- "type": "object",
- "properties": {
- "fares": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Fares"
- }
- }
- }
- },
- "Fares": {
- "description": "Detailed fare information for the leg.",
- "type": "object",
- "properties": {
- "price": {
- "description": "The price of the ticket when purchased for the individual leg, not for the entire route at once.",
- "$ref": "#/definitions/Price"
- },
- "usage": {
- "description": "Supported values are:\n\n * pay – user is expected to pay for this ticket in order to consume the current leg\n * transfer – user can use a ticket purchased in a previous leg in order to consume the current leg. In general, when transfer is specified, the number of transfers is counted, and has a limit.\n * continue – user can use a ticket purchased in a previous leg in order to consume the current leg. In general, when continue is specified, the number of transfers isn’t incremented for this leg.\n * upgrade – user is expected to upgrade a ticket purchased in a previous leg in order to consume the current leg.",
- "type": "string"
- }
- }
- },
- "Price": {
- "type": "object",
- "properties": {
- "amount": {
- "description": "Price of the ticket in cents. For example, $5.00 is returned as ‘500’.",
- "type": "integer",
- "format": "int32"
- },
- "currencyCode": {
- "description": "Currency code, for example for US dollars “USD”.",
- "type": "string"
- }
- }
- },
- "LegPoint": {
- "type": "object",
- "properties": {
- "position": {
- "$ref": "#/definitions/Coordinate"
- }
- }
- },
- "Stops": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Stop"
- }
- },
- "Step": {
- "type": "object",
- "properties": {
- "direction": {
- "description": "The walking direction associated with this step.",
- "$ref": "#/definitions/Direction"
- },
- "streetName": {
- "description": "The name of the street in which this step takes place.",
- "type": "string"
- }
- }
- },
- "Direction": {
- "description": "The walking directions guidance.",
- "type": "object",
- "properties": {
- "relativeDirection": {
- "description": "The relative walking direction associated with applicable step.",
- "type": "string",
- "enum": [
- "depart",
- "hardLeft",
- "left",
- "slightlyLeft",
- "continue",
- "slightlyRight",
- "right",
- "hardRight",
- "circleClockwise",
- "circleCounterclockwise",
- "elevator",
- "uturnLeft",
- "uturnRight"
- ],
- "x-ms-enum": {
- "name": "RelativeDirection",
- "modelAsString": true,
- "values": [
- {
- "value": "depart",
- "description": "Leave"
- },
- {
- "value": "hardLeft",
- "description": "Turn sharp left."
- },
- {
- "value": "left",
- "description": "Turn left."
- },
- {
- "value": "slightlyLeft",
- "description": "Turn slightly left."
- },
- {
- "value": "continue",
- "description": "Keep going."
- },
- {
- "value": "slightlyRight",
- "description": "Turn slightly right."
- },
- {
- "value": "right",
- "description": "Turn right."
- },
- {
- "value": "hardRight",
- "description": "Turn sharp right."
- },
- {
- "value": "circleClockwise",
- "description": "Circle clockwise."
- },
- {
- "value": "circleCounterclockwise",
- "description": "Circle counter clockwise."
- },
- {
- "value": "elevator",
- "description": "Take the elevator."
- },
- {
- "value": "uturnLeft",
- "description": "Make a U-turn left."
- },
- {
- "value": "uturnRight",
- "description": "Make a U-turn right."
- }
- ]
- }
- },
- "absoluteDirection": {
- "description": "The absolute walking direction associated with this step.",
- "type": "string",
- "enum": [
- "north",
- "northeast",
- "east",
- "southeast",
- "south",
- "southwest",
- "west",
- "northwest"
- ],
- "x-ms-enum": {
- "name": "AbsoluteDirection",
- "modelAsString": true,
- "values": [
- {
- "value": "north",
- "description": "North"
- },
- {
- "value": "northeast",
- "description": "NorthEast"
- },
- {
- "value": "east",
- "description": "East"
- },
- {
- "value": "southeast",
- "description": "SouthEast"
- },
- {
- "value": "south",
- "description": "South"
- },
- {
- "value": "southwest",
- "description": "SouthWest"
- },
- {
- "value": "west",
- "description": "West"
- },
- {
- "value": "northwest",
- "description": "NorthWest"
- }
- ]
- }
- }
- }
- },
- "Departures": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/LineArrival"
- }
- },
- "LineArrival": {
- "type": "object",
- "properties": {
- "lineId": {
- "description": "Line Id.",
- "type": "string"
- },
- "stopId": {
- "description": "The unique Azure Maps identifier for the respective public transit stop. When referring to public transit stops over time, it is recommended to use `stopId` since it will not change, as long as the physical stop exists.",
- "type": "string"
- },
- "scheduleTime": {
- "description": "The date and time of departure from the stop in ISO 8601 format, e.g. 1996-12-19T19:39:57-08:00.",
- "type": "string",
- "format": "date-time"
- },
- "scheduleType": {
- "description": "Whether the result is based on real-time or static data.",
- "$ref": "#/definitions/ScheduleType"
- }
- }
- },
- "Pattern": {
- "type": "object",
- "description": "Stop-shape-segments of the trip pattern, which are an ordered list of the stops and the shapes connecting them.",
- "properties": {
- "patternId": {
- "description": "Pattern Id, for example, '3267995'.",
- "type": "string"
- },
- "lineId": {
- "description": "Line Id.",
- "type": "string"
- },
- "stopIds": {
- "description": "Stops the line goes through.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "geometry": {
- "description": "Stop sequence and shape per a line in GeoJSON format.",
- "$ref": "#/definitions/LineString"
- }
- }
- },
- "TransitTypeResult": {
- "type": "object",
- "properties": {
- "transitType": {
- "description": "Supported public transit type. Returned if specified in the request.",
- "$ref": "#/definitions/TransitType"
- },
- "captionOverride": {
- "description": "For metro areas in which local name is different than the GTFS supported transit type, original name is returned.",
- "type": "string"
- }
- }
- },
- "Agency": {
- "type": "object",
- "description": "Details of the agency. Returned if specified in the request.",
- "properties": {
- "agencyId": {
- "description": "The Id of the relevant transit agency, for example, '5872'",
- "type": "string"
- },
- "agencyKey": {
- "description": "The agency’s GTFS Id.",
- "type": "string"
- },
- "agencyName": {
- "description": "Name of the relevant transit agency, e.g. Metro Transit.",
- "type": "string"
- },
- "transitType": {
- "description": "Supported public transit type. One of Tram, Subway, Rail, Bus, Ferry, CableCar, Gondola, Funicular.",
- "$ref": "#/definitions/TransitTypeResult"
- }
- }
- },
- "TransitType": {
- "type": "string",
- "enum": [
- "Bus",
- "CableCar",
- "Ferry",
- "Funicular",
- "Gondola",
- "Rail",
- "Tram",
- "Subway"
- ],
- "x-ms-enum": {
- "name": "TransitType",
- "modelAsString": true,
- "values": [
- {
- "value": "Bus",
- "description": "bus"
- },
- {
- "value": "CableCar",
- "description": "cableCar"
- },
- {
- "value": "Ferry",
- "description": "ferry"
- },
- {
- "value": "Funicular",
- "description": "funicular"
- },
- {
- "value": "Gondola",
- "description": "gondola"
- },
- {
- "value": "Rail",
- "description": "rail"
- },
- {
- "value": "Tram",
- "description": "tram"
- },
- {
- "value": "Subway",
- "description": "subway"
- }
- ]
- }
- },
- "AlertDescription": {
- "type": "object",
- "properties": {
- "data": {
- "description": "Description of the alert.",
- "type": "string"
- },
- "format": {
- "description": "Format of the alert description.",
- "type": "string"
- },
- "sourceUrl": {
- "description": "Source URL.",
- "type": "string"
- }
- }
- },
- "RealTimeArrivalResult": {
- "description": "Contains real-time arrival related details.",
- "type": "object",
- "properties": {
- "arrivalMinutes": {
- "description": "The estimated time of arrival in minutes.",
- "type": "integer",
- "format": "int32"
- },
- "scheduleType": {
- "description": "Whether the result is based on real-time or static data.",
- "$ref": "#/definitions/ScheduleType"
- },
- "patternId": {
- "description": "The pattern Id.",
- "type": "string"
- },
- "line": {
- "description": "The public transit type of the line.",
- "$ref": "#/definitions/Line"
- },
- "stop": {
- "description": "Object for the given stop.",
- "$ref": "#/definitions/Stop"
- }
- }
- },
- "ScheduleType": {
- "description": "Whether the result is based on real-time or static data.",
- "type": "string",
- "enum": [
- "scheduledTime",
- "realTime"
- ],
- "x-ms-enum": {
- "name": "ScheduleType",
- "modelAsString": true,
- "values": [
- {
- "value": "scheduledTime",
- "description": "Returned when estimated time of arrival is based on real-time data."
- },
- {
- "value": "realTime",
- "description": "Returned when estimated time of arrival is based on static data."
- }
- ]
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json
index 640b24eb7549..b44d7667f576 100644
--- a/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json
+++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json
@@ -15,28 +15,39 @@
"application/xml"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
diff --git a/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/render.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/render.json
index 78c92b9c46e1..ea2c58d8d95b 100644
--- a/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/render.json
+++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/render.json
@@ -15,28 +15,39 @@
"application/xml"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
diff --git a/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.1/render.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.1/render.json
index 4117a291531c..a8cf03b4e745 100644
--- a/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.1/render.json
+++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.1/render.json
@@ -15,28 +15,39 @@
"application/xml"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure Role Based Access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure Role based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Note\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* The `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* The Azure role based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, Powershell, CLI, Azure SDKs, or REST APIs.\n* Usage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key which is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, Powershell, CLI, Azure SDKs, or REST APIs. With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for. For publicly exposed applications our recommendation is to use server to server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
diff --git a/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/route.json b/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/route.json
index 941c0bc0de55..843d379df60b 100644
--- a/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/route.json
+++ b/specification/maps/data-plane/Microsoft.Maps/Route/preview/1.0/route.json
@@ -15,28 +15,39 @@
"application/xml"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
diff --git a/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchAddressReverse.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchAddressReverse.json
index 097316bfd647..d5da78b025fa 100644
--- a/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchAddressReverse.json
+++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/GetSearchAddressReverse.json
@@ -15,10 +15,8 @@
"addresses": [
{
"address": {
- "buildingNumber": "31",
"streetNumber": "31",
"routeNumbers": [],
- "street": "N 2nd St",
"streetName": "N 2nd St",
"streetNameAndNumber": "31 N 2nd St",
"countryCode": "US",
diff --git a/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchAddressReverseBatch.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchAddressReverseBatch.json
index 91a8a6bcd46b..1259e7d0b646 100644
--- a/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchAddressReverseBatch.json
+++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/examples/PostSearchAddressReverseBatch.json
@@ -104,10 +104,8 @@
"addresses": [
{
"address": {
- "buildingNumber": "410",
"streetNumber": "410",
"routeNumbers": [],
- "street": "Thomas Street",
"streetName": "Thomas Street",
"streetNameAndNumber": "410 Thomas Street",
"countryCode": "US",
diff --git a/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/search.json b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/search.json
index b864387d1263..3546139bff3f 100644
--- a/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/search.json
+++ b/specification/maps/data-plane/Microsoft.Maps/Search/preview/1.0/search.json
@@ -15,28 +15,39 @@
"application/xml"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
diff --git a/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/spatial.json b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/spatial.json
index d72f6961b1ba..d8203e39545d 100644
--- a/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/spatial.json
+++ b/specification/maps/data-plane/Microsoft.Maps/Spatial/preview/1.0/spatial.json
@@ -15,28 +15,39 @@
"application/xml"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
diff --git a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/Create.json b/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/Create.json
deleted file mode 100644
index d95ef6727f62..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/Create.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]",
- "datasetId": "[dataset-Id]"
- },
- "responses": {
- "201": {
- "headers": {
- "Location": "https://us.atlas.microsoft.com/tileset/{tilesetId}?api-version=1.0",
- "Access-Control-Expose-Headers": "Location"
- },
- "body": {
- "operationId": "{operationId}",
- "status": "Succeeded",
- "created": "2020-01-02 1:02:03 AM +00:00",
- "resourceLocation": "https://us.atlas.microsoft.com/tileset/{tilesetId}?api-version=1.0"
- }
- },
- "202": {
- "headers": {
- "Location": "https://us.atlas.microsoft.com/tileset/operations/{operationId}?api-version=1.0",
- "Access-Control-Expose-Headers": "Location"
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/Delete.json b/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/Delete.json
deleted file mode 100644
index 645e0fcb102b..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/Delete.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]",
- "tilesetId": "25084fb7-307a-4720-8f91-7952a0b91012"
- },
- "responses": {
- "204": {
- "body": {}
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/List.json b/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/List.json
deleted file mode 100644
index ec95c2ccc02e..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/examples/List.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "subscription-key": "[subscription-key]"
- },
- "responses": {
- "200": {
- "body": {
- "tilesets": [
- {
- "tilesetId": "d8fa86de-bb0f-4a02-a6ff-62ae7545dd84",
- "datasetId": "63b18a6b-ac35-4b23-a1d9-ffa1003ad50b",
- "description": "My first tileset",
- "minZoom": 16,
- "maxZoom": 18,
- "bbox": [
- -122.13595,
- 47.636524,
- -122.1329,
- 47.637525
- ]
- },
- {
- "tilesetId": "b8dca8b3-8aad-4afe-abd6-0efe37b5a2e3",
- "datasetId": "c0a01139-662e-4d5a-bf5f-92ea4a292aad",
- "description": "My second tileset",
- "minZoom": 19,
- "maxZoom": 19,
- "bbox": [
- -122.13595,
- 47.636524,
- -122.1329,
- 47.637525
- ]
- }
- ]
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/tileset.json b/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/tileset.json
deleted file mode 100644
index f194ce77bb42..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/1.0/tileset.json
+++ /dev/null
@@ -1,513 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "Azure Maps Tileset Service",
- "version": "1.0",
- "description": "APIs for managing Tilesets."
- },
- "x-ms-parameterized-host": {
- "hostTemplate": "{geography}.atlas.microsoft.com",
- "parameters": [
- {
- "$ref": "#/parameters/GeographicResourceLocation"
- }
- ]
- },
- "schemes": [
- "https"
- ],
- "consumes": [],
- "produces": [
- "application/json"
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
- "scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
- }
- },
- "apiKeyQuery": {
- "type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
- "name": "subscription-key",
- "in": "query"
- }
- },
- "security": [
- {
- "azure_auth": []
- },
- {
- "apiKeyQuery": []
- }
- ],
- "responses": {
- "400": {
- "description": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "401": {
- "description": "Access denied due to invalid subscription key or invalid Azure Active Directory (Azure AD) bearer token. Make sure to provide a valid key for an active Azure subscription and Maps resource. Otherwise, verify the [WWW-Authenticate](https://tools.ietf.org/html/rfc6750#section-3.1) header for error code and description of the provided Azure AD bearer token.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- },
- "headers": {
- "WWW-Authenticate": {
- "type": "string",
- "description": "Bearer realm=\"https://atlas.microsoft.com/\", error=\"invalid_token\", error_description=\"The access token expired\""
- }
- }
- },
- "403": {
- "description": "Permission, capacity, or authentication issues.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "404": {
- "description": "Not Found: the requested resource could not be found, but it may be available again in the future.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "500": {
- "description": "An error occurred while processing the request. Please try again later.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "201Async": {
- "description": "The resource has been created successfully.",
- "schema": {
- "$ref": "#/definitions/LongRunningOperationResult"
- },
- "headers": {
- "Location": {
- "type": "string",
- "description": "A URI where details on the newly created resource can be found."
- }
- }
- },
- "202Async": {
- "description": "**Supported only for async request.**\nRequest Accepted: The request has been accepted for processing. Please use the URL in the Location Header to retry or access the results.",
- "headers": {
- "Location": {
- "type": "string",
- "description": "New URL to check for the results of the long running process."
- }
- }
- }
- },
- "parameters": {
- "GeographicResourceLocation": {
- "name": "geography",
- "description": "This parameter specifies where the Azure Maps Creator resource is located. Valid values are us and eu.",
- "in": "path",
- "required": true,
- "type": "string",
- "default": "us",
- "enum": [
- "us",
- "eu"
- ],
- "x-ms-enum": {
- "name": "GeographicResourceLocation",
- "modelAsString": true,
- "values": [
- {
- "value": "us",
- "description": "Used to access an Azure Maps Creator resource in the United States"
- },
- {
- "value": "eu",
- "description": "Used to access an Azure Maps Creator resource in Europe"
- }
- ]
- },
- "x-ms-parameter-location": "client"
- },
- "ClientId": {
- "name": "x-ms-client-id",
- "description": "Specifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.",
- "type": "string",
- "in": "header",
- "required": false,
- "x-ms-parameter-location": "client"
- },
- "SubscriptionKey": {
- "name": "subscription-key",
- "description": "One of the Azure Maps keys provided from an Azure Map Account. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/how-to-manage-authentication) for details on how to manage authentication.",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "client"
- },
- "ApiVersion": {
- "name": "api-version",
- "description": "Version number of Azure Maps API. Current version is 1.0",
- "type": "string",
- "in": "query",
- "required": true,
- "default": "1.0",
- "x-ms-parameter-location": "client"
- },
- "JsonFormat": {
- "name": "format",
- "description": "Desired format of the response. Only `json` format is supported.",
- "type": "string",
- "in": "path",
- "required": true,
- "enum": [
- "json"
- ],
- "x-ms-enum": {
- "name": "JsonFormat",
- "modelAsString": true,
- "values": [
- {
- "value": "json",
- "description": "[The JavaScript Object Notation Data Interchange Format](https://tools.ietf.org/html/rfc8259)"
- }
- ]
- },
- "x-ms-parameter-location": "method"
- },
- "DatasetIdQuery": {
- "name": "datasetId",
- "description": "The unique `datasetId` that the tileset create API uses to retrieve features to generate tiles. The `datasetId` must have been obtained from a successful [Dataset Create API](/en-us/rest/api/maps/dataset/createpreview) call.",
- "type": "string",
- "in": "query",
- "required": true,
- "x-ms-parameter-location": "client"
- },
- "TilesetId": {
- "name": "tilesetId",
- "description": "The Tileset Id",
- "type": "string",
- "in": "path",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "DescriptionTileset": {
- "name": "description",
- "description": "User provided description of the tileset.",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- }
- },
- "paths": {
- "/tileset/create/vector": {
- "post": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Tileset Create API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API \nand SDK. [This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\n\nThe Tileset Create API allows the caller to create a tileset from a dataset. A tileset contains a set of tiles that can be consumed \nfrom the [Get Map Tile](/rest/api/maps/render/getmaptile) to retrieve custom tiles. To make a dataset, use the \n[DataSet Create API](/rest/api/maps/dataset/createpreview).\n\n## Submit Create Request\n\nTo create your tileset you will make a `POST` request with an empty body. The `datasetId` query parameter will be \nused as the source of the tileset data.\n\nThe Create Tileset API is a \n[long-running request](https://aka.ms/am-creator-lrt).",
- "operationId": "Tileset_CreatePreview",
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "location"
- },
- "x-ms-examples": {
- "Create Tileset by providing a Dataset Id": {
- "$ref": "./examples/Create.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/DatasetIdQuery"
- },
- {
- "$ref": "#/parameters/DescriptionTileset"
- }
- ],
- "responses": {
- "201": {
- "$ref": "#/responses/201Async"
- },
- "202": {
- "$ref": "#/responses/202Async"
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/tileset": {
- "get": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Tileset List API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\nThis API allows the caller to fetch a list of all tilesets created. \n
",
- "operationId": "Tileset_ListPreview",
- "x-ms-examples": {
- "Get a list of all tilesets": {
- "$ref": "./examples/List.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- }
- ],
- "responses": {
- "200": {
- "description": "List tileset request completed successfully. The response body contains a list of all tilesets.",
- "schema": {
- "$ref": "#/definitions/TilesetListResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/tileset/{tilesetId}": {
- "delete": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\n**Tileset Delete API**\n\n**Applies to**: see pricing [tiers](https://azure.microsoft.com/en-us/pricing/details/azure-maps/).\n
\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/en-us/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.\nThis API allows the caller to delete a created tileset.
\nYou can use this API if a tileset is no longer needed. \n\n### Submit Delete Request\n\nTo delete your content you will issue a `DELETE` request where the path will contain the `tilesetId` of the tileset to delete.
\n\n#### Delete request \"Successful\"\n\nThe Tileset Delete API returns a HTTP `204 No Content` response with an empty body, if the tileset was deleted successfully.
\n\n#### Delete request \"Failed\"\n\nA HTTP `400 Bad Request` error response will be returned if the tileset with the passed-in `tilesetId` is not found. \n\nHere is a sample error response:\n\n
\n\n```json\n{\n \"error\": {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request - Tileset Id: d85b5b27-5fc4-4599-8b50-47160e90f8ce does not exist.\"\n }\n}\n```",
- "operationId": "Tileset_DeletePreview",
- "x-ms-examples": {
- "Delete a created tileset": {
- "$ref": "./examples/Delete.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/TilesetId"
- }
- ],
- "responses": {
- "204": {
- "description": "Tileset delete request completed successfully.",
- "schema": {
- "$ref": "#/definitions/TilesetDeleteResponse"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- }
- },
- "definitions": {
- "ODataErrorResponse": {
- "type": "object",
- "description": "This response object is returned when an error occurs in the Azure Maps API.",
- "properties": {
- "error": {
- "$ref": "#/definitions/ODataError"
- }
- }
- },
- "ODataError": {
- "type": "object",
- "description": "This object is returned when an error occurs in the Azure Maps API.",
- "properties": {
- "code": {
- "type": "string",
- "readOnly": true,
- "description": "The ODataError code."
- },
- "message": {
- "type": "string",
- "readOnly": true,
- "description": "If available, a human-readable description of the error."
- },
- "details": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ODataError"
- }
- },
- "target": {
- "type": "string",
- "readOnly": true,
- "description": "If available, the target causing the error."
- }
- }
- },
- "LongRunningOperationResult": {
- "description": "The response model for a Long-Running Operations API.",
- "type": "object",
- "properties": {
- "operationId": {
- "description": "The Id for this long-running operation.",
- "type": "string"
- },
- "status": {
- "description": "The status state of the request.",
- "type": "string",
- "enum": [
- "NotStarted",
- "Running",
- "Failed",
- "Succeeded"
- ],
- "x-ms-enum": {
- "name": "type",
- "modelAsString": true,
- "values": [
- {
- "value": "NotStarted",
- "description": "The request has not started processing yet."
- },
- {
- "value": "Running",
- "description": "The request has started processing."
- },
- {
- "value": "Failed",
- "description": "The request has one or more failures."
- },
- {
- "value": "Succeeded",
- "description": "The request has successfully completed."
- }
- ]
- },
- "readOnly": true
- },
- "created": {
- "description": "The created timestamp.",
- "type": "string",
- "readOnly": true
- },
- "resourceLocation": {
- "description": "The location URI for details about the created resource. This is only provided when the request was successfully completed.",
- "type": "string",
- "readOnly": true
- },
- "error": {
- "$ref": "#/definitions/ODataError"
- },
- "warning": {
- "$ref": "#/definitions/ODataError"
- }
- }
- },
- "TilesetListResponse": {
- "description": "The response model for the Tileset List API. Returns a list of all tilesets.",
- "type": "object",
- "properties": {
- "tilesets": {
- "description": "A list of all tilesets.",
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/TilesetDetailInfo"
- }
- }
- }
- },
- "TilesetDetailInfo": {
- "description": "Detail information for the data.",
- "type": "object",
- "properties": {
- "tilesetId": {
- "description": "The unique tileset id for the tileset.",
- "type": "string",
- "readOnly": true
- },
- "datasetId": {
- "description": "The unique dataset Id used to create the tileset.",
- "type": "string",
- "readOnly": true
- },
- "description": {
- "description": "The description the caller provided when creating the tileset. Maximum length 1024 characters.",
- "type": "string",
- "readOnly": true
- },
- "minZoom": {
- "description": "The lowest tile zoom level tile generated for the tileset.",
- "type": "integer",
- "readOnly": true
- },
- "maxZoom": {
- "description": "The highest tile zoom level tile generated for the tileset.",
- "type": "integer",
- "readOnly": true
- },
- "bbox": {
- "description": "Bounding box which all features of the tileset lay within. Projection used - EPSG:3857. Format : 'minLon, minLat, maxLon, maxLat'.",
- "type": "array",
- "readOnly": true,
- "items": {
- "type": "number"
- }
- }
- }
- },
- "TilesetDeleteResponse": {
- "description": "The response model for the Delete API. The response body will be empty signifying there's no content available for the `tilesetId` anymore.",
- "type": "object"
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/2.0/tileset.json b/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/2.0/tileset.json
index 526919d98048..7e7db745b0f0 100644
--- a/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/2.0/tileset.json
+++ b/specification/maps/data-plane/Microsoft.Maps/Tileset/preview/2.0/tileset.json
@@ -21,28 +21,39 @@
"application/json"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
diff --git a/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/timezone.json b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/timezone.json
index 278fe7eb72ca..87a0fc2b6354 100644
--- a/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/timezone.json
+++ b/specification/maps/data-plane/Microsoft.Maps/Timezone/preview/1.0/timezone.json
@@ -15,28 +15,39 @@
"application/xml"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
diff --git a/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json
index 380c7b6caeee..956773d94703 100644
--- a/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json
+++ b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json
@@ -15,28 +15,39 @@
"application/xml"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/DeleteItem.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/DeleteItem.json
deleted file mode 100644
index 72fdf9389540..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/DeleteItem.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "datasetid": "018fda98-e638-0edf-5ef7-28491ff3bed4",
- "subscription-key": "[subscription-key]",
- "collectionId": "facility",
- "featureId": "FCL39"
- },
- "responses": {
- "204": {},
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollection.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollection.json
deleted file mode 100644
index 289c2decdf0c..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollection.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "datasetid": "018fda98-e638-0edf-5ef7-28491ff3bed4",
- "subscription-key": "[subscription-key]",
- "collectionId": "unit"
- },
- "responses": {
- "200": {
- "body": {
- "name": "unit",
- "description": "A physical and non-overlapping area which might be occupied and traversed by a navigating agent. Can be a hallway, a room, a courtyard, etc. It is surrounded by physical obstruction (wall), unless the isOpenArea attribute is equal to true, and one must add openings where the obstruction shouldn't be there. If isOpenArea attribute is equal to true, all the sides are assumed open to the surroundings and walls are to be added where needed. Walls for open areas are represented as a lineElement or areaElement with isObstruction equal to true.",
- "links": [
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/definition?api-version=1.0",
- "rel": "describedBy",
- "title": "Metadata catalogue for unit"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/items?api-version=1.0",
- "rel": "data",
- "title": "unit"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit?api-version=1.0",
- "rel": "self",
- "title": "Metadata catalogue for unit"
- }
- ]
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollectionDefinition.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollectionDefinition.json
deleted file mode 100644
index 5abb684137ba..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollectionDefinition.json
+++ /dev/null
@@ -1,197 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "datasetid": "018fda98-e638-0edf-5ef7-28491ff3bed4",
- "subscription-key": "[subscription-key]",
- "collectionId": "unit"
- },
- "responses": {
- "200": {
- "body": {
- "idPrefix": "UNIT",
- "name": "unit",
- "description": "A physical and non-overlapping area which might be occupied and traversed by a navigating agent. Can be a hallway, a room, a courtyard, etc. It is surrounded by physical obstruction (wall), unless the isOpenArea attribute is equal to true, and one must add openings where the obstruction shouldn't be there. If isOpenArea attribute is equal to true, all the sides are assumed open to the surroundings and walls are to be added where needed. Walls for open areas are represented as a lineElement or areaElement with isObstruction equal to true.",
- "geometryType": "Polygon",
- "featureTypes": [],
- "properties": [
- {
- "name": "externalId",
- "required": false,
- "type": "text"
- },
- {
- "name": "originalId",
- "required": false,
- "type": "text"
- },
- {
- "name": "categoryId",
- "required": true,
- "type": {
- "featureId": "category"
- }
- },
- {
- "name": "isOpenArea",
- "required": false,
- "type": "boolean"
- },
- {
- "name": "navigableBy",
- "required": false,
- "type": {
- "array": {
- "enum": [
- "pedestrian",
- "wheelchair",
- "machine",
- "bicycle",
- "automobile",
- "hiredAuto",
- "bus",
- "railcar",
- "emergency",
- "ferry",
- "boat"
- ]
- }
- }
- },
- {
- "name": "isRoutable",
- "required": false,
- "type": "boolean"
- },
- {
- "name": "routeThroughBehavior",
- "required": false,
- "type": {
- "enum": [
- "disallowed",
- "allowed",
- "preferred"
- ]
- }
- },
- {
- "name": "nonPublic",
- "required": false,
- "type": "boolean"
- },
- {
- "name": "levelId",
- "required": true,
- "type": {
- "featureId": "level"
- }
- },
- {
- "name": "occupants",
- "required": false,
- "type": {
- "array": {
- "featureId": "directoryInfo"
- }
- }
- },
- {
- "name": "addressId",
- "required": false,
- "type": {
- "featureId": "directoryInfo"
- }
- },
- {
- "name": "addressRoomNumber",
- "required": false,
- "type": "text"
- },
- {
- "name": "name",
- "required": false,
- "type": "text"
- },
- {
- "name": "nameSubtitle",
- "required": false,
- "type": "text"
- },
- {
- "name": "nameAlt",
- "required": false,
- "type": "text"
- },
- {
- "name": "anchorPoint",
- "required": false,
- "type": {
- "geometry": [
- "Point"
- ],
- "isFragmented": false,
- "srid": 4326
- }
- }
- ],
- "links": [
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/definition?api-version=1.0",
- "rel": "self",
- "title": "Metadata catalogue for unit"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/items?api-version=1.0",
- "rel": "data",
- "title": "unit"
- }
- ]
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollections.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollections.json
deleted file mode 100644
index c66647770907..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetCollections.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "datasetid": "018fda98-e638-0edf-5ef7-28491ff3bed4",
- "subscription-key": "[subscription-key]"
- },
- "responses": {
- "200": {
- "body": {
- "collections": [
- {
- "name": "unit",
- "description": "A physical and non-overlapping area which might be occupied and traversed by a navigating agent. Can be a hallway, a room, a courtyard, etc. It is surrounded by physical obstruction (wall), unless the isOpenArea attribute is equal to true, and one must add openings where the obstruction shouldn't be there. If isOpenArea attribute is equal to true, all the sides are assumed open to the surroundings and walls are to be added where needed. Walls for open areas are represented as a lineElement or areaElement with isObstruction equal to true.",
- "links": [
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/definition?api-version=1.0",
- "rel": "describedBy",
- "title": "Metadata catalogue for unit"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/items?api-version=1.0",
- "rel": "data",
- "title": "unit"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit?api-version=1.0",
- "rel": "self",
- "title": "Metadata catalogue for unit"
- }
- ]
- },
- {
- "name": "zone",
- "description": "A virtual area. ex, wifi zone, emergency assembly area. Zones can be used as destinations but not meant for through traffic.",
- "links": [
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/zone/definition?api-version=1.0",
- "rel": "describedBy",
- "title": "Metadata catalogue for zone"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/zone/items?api-version=1.0",
- "rel": "data",
- "title": "zone"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/zone?api-version=1.0",
- "rel": "self",
- "title": "Metadata catalogue for zone"
- }
- ]
- },
- {
- "name": "level",
- "description": "An indication of the extent and vertical position of a set of features.",
- "links": [
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/level/definition?api-version=1.0",
- "rel": "describedBy",
- "title": "Metadata catalogue for level"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/level/items?api-version=1.0",
- "rel": "data",
- "title": "level"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/level?api-version=1.0",
- "rel": "self",
- "title": "Metadata catalogue for level"
- }
- ]
- },
- {
- "name": "facility",
- "description": "Area of the site, building footprint etc.",
- "links": [
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/facility/definition?api-version=1.0",
- "rel": "describedBy",
- "title": "Metadata catalogue for facility"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/facility/items?api-version=1.0",
- "rel": "data",
- "title": "facility"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/facility?api-version=1.0",
- "rel": "self",
- "title": "Metadata catalogue for facility"
- }
- ]
- },
- {
- "name": "verticalPenetration",
- "description": "An area that, when used in a set, represents a method of navigating vertically between levels. It can be used to model stairs, elevators etc. Geometry can overlap units and other vertical penetration features.",
- "links": [
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/verticalPenetration/definition?api-version=1.0",
- "rel": "describedBy",
- "title": "Metadata catalogue for verticalPenetration"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/verticalPenetration/items?api-version=1.0",
- "rel": "data",
- "title": "verticalPenetration"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/verticalPenetration?api-version=1.0",
- "rel": "self",
- "title": "Metadata catalogue for verticalPenetration"
- }
- ]
- },
- {
- "name": "opening",
- "description": "A usually-traversable boundary between two units, or a unit and verticalPenetration.",
- "links": [
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/opening/definition?api-version=1.0",
- "rel": "describedBy",
- "title": "Metadata catalogue for opening"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/opening/items?api-version=1.0",
- "rel": "data",
- "title": "opening"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/opening?api-version=1.0",
- "rel": "self",
- "title": "Metadata catalogue for opening"
- }
- ]
- },
- {
- "name": "directoryInfo",
- "description": "Name, address, phone number, website, and hours of operation for a unit, facility, or an occupant of a unit or facility.",
- "links": [
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/directoryInfo/definition?api-version=1.0",
- "rel": "describedBy",
- "title": "Metadata catalogue for directoryInfo"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/directoryInfo/items?api-version=1.0",
- "rel": "data",
- "title": "directoryInfo"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/directoryInfo?api-version=1.0",
- "rel": "self",
- "title": "Metadata catalogue for directoryInfo"
- }
- ]
- },
- {
- "name": "pointElement",
- "description": "A point feature in a unit, such as a first aid kit or a sprinkler head.",
- "links": [
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/pointElement/definition?api-version=1.0",
- "rel": "describedBy",
- "title": "Metadata catalogue for pointElement"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/pointElement/items?api-version=1.0",
- "rel": "data",
- "title": "pointElement"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/pointElement?api-version=1.0",
- "rel": "self",
- "title": "Metadata catalogue for pointElement"
- }
- ]
- },
- {
- "name": "lineElement",
- "description": "A line feature in a unit, such as a dividing wall, window.",
- "links": [
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/lineElement/definition?api-version=1.0",
- "rel": "describedBy",
- "title": "Metadata catalogue for lineElement"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/lineElement/items?api-version=1.0",
- "rel": "data",
- "title": "lineElement"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/lineElement?api-version=1.0",
- "rel": "self",
- "title": "Metadata catalogue for lineElement"
- }
- ]
- },
- {
- "name": "areaElement",
- "description": "A polygon feature in a unit, such as an area open to below, an obstruction like an island in a unit.",
- "links": [
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/areaElement/definition?api-version=1.0",
- "rel": "describedBy",
- "title": "Metadata catalogue for areaElement"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/areaElement/items?api-version=1.0",
- "rel": "data",
- "title": "areaElement"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/areaElement?api-version=1.0",
- "rel": "self",
- "title": "Metadata catalogue for areaElement"
- }
- ]
- },
- {
- "name": "category",
- "description": "Category names. e.g. \"room.conference\". The isRoutable attribute puts a feature with that category on the routing graph. The routeThroughBehavior attribute determines whether a feature can be used for through traffic or not.",
- "links": [
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/category/definition?api-version=1.0",
- "rel": "describedBy",
- "title": "Metadata catalogue for category"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/category/items?api-version=1.0",
- "rel": "data",
- "title": "category"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/category?api-version=1.0",
- "rel": "self",
- "title": "Metadata catalogue for category"
- }
- ]
- }
- ],
- "links": [
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections?api-version=1.0",
- "rel": "self"
- }
- ]
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetConformance.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetConformance.json
deleted file mode 100644
index 48086e702d21..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetConformance.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "datasetid": "018fda98-e638-0edf-5ef7-28491ff3bed4",
- "subscription-key": "[subscription-key]"
- },
- "responses": {
- "200": {
- "body": {
- "conformsTo": [
- "http://www.opengis.net/spec/wfs-1/3.0/req/core",
- "http://www.opengis.net/spec/wfs-1/3.0/req/oas30",
- "http://www.opengis.net/spec/wfs-1/3.0/req/geojson",
- "http://tempuri.org/wfs/3.0/edit"
- ]
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetItem.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetItem.json
deleted file mode 100644
index 20f6305c4e7e..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetItem.json
+++ /dev/null
@@ -1,129 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "datasetid": "018fda98-e638-0edf-5ef7-28491ff3bed4",
- "subscription-key": "[subscription-key]",
- "collectionId": "unit",
- "featureId": "UNIT39"
- },
- "responses": {
- "200": {
- "body": {
- "feature": {
- "type": "feature",
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 139.63304057829211,
- 35.457686686108559
- ],
- [
- 139.63296283234274,
- 35.457783904258683
- ],
- [
- 139.63308672404617,
- 35.457850229062018
- ],
- [
- 139.63314516916711,
- 35.457777145699858
- ],
- [
- 139.63312747036289,
- 35.457767670747167
- ],
- [
- 139.63314677109963,
- 35.457743535881377
- ],
- [
- 139.63304057829211,
- 35.457686686108559
- ]
- ]
- ]
- },
- "properties": {
- "originalId": "ddbbb583-4621-4e11-8859-299d1057e843",
- "categoryId": "CTG10",
- "isOpenArea": false,
- "navigableBy": [
- "pedestrian"
- ],
- "isRoutable": false,
- "routeThroughBehavior": "allowed",
- "nonPublic": false,
- "levelId": "LVL18",
- "occupants": [],
- "addressId": "DIR16",
- "addressRoomNumber": "",
- "name": "21N13",
- "nameSubtitle": "",
- "nameAlt": ""
- },
- "id": "UNIT39",
- "featureType": ""
- },
- "links": [
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/items/UNIT39?api-version=1.0",
- "rel": "self"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit?api-version=1.0",
- "rel": "data"
- }
- ]
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetItems.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetItems.json
deleted file mode 100644
index 1862a002e696..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetItems.json
+++ /dev/null
@@ -1,138 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "datasetid": "018fda98-e638-0edf-5ef7-28491ff3bed4",
- "subscription-key": "[subscription-key]",
- "collectionId": "unit",
- "limit": 1,
- "bbox": "-122, 47, -120, 46"
- },
- "responses": {
- "200": {
- "body": {
- "type": "FeatureCollection",
- "features": [
- {
- "type": "feature",
- "geometry": {
- "type": "Polygon",
- "coordinates": [
- [
- [
- 139.63304057829211,
- 35.457686686108559
- ],
- [
- 139.63296283234274,
- 35.457783904258683
- ],
- [
- 139.63308672404617,
- 35.457850229062018
- ],
- [
- 139.63314516916711,
- 35.457777145699858
- ],
- [
- 139.63312747036289,
- 35.457767670747167
- ],
- [
- 139.63314677109963,
- 35.457743535881377
- ],
- [
- 139.63304057829211,
- 35.457686686108559
- ]
- ]
- ]
- },
- "properties": {
- "originalId": "ddbbb583-4621-4e11-8859-299d1057e843",
- "categoryId": "CTG10",
- "isOpenArea": false,
- "navigableBy": [
- "pedestrian"
- ],
- "isRoutable": false,
- "routeThroughBehavior": "allowed",
- "nonPublic": false,
- "levelId": "LVL18",
- "occupants": [],
- "addressId": "DIR16",
- "addressRoomNumber": "",
- "name": "21N13",
- "nameSubtitle": "",
- "nameAlt": ""
- },
- "id": "UNIT39",
- "featureType": ""
- }
- ],
- "numberReturned": 1,
- "links": [
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/items?api-version=1.0&limit=1",
- "rel": "self"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit?api-version=1.0",
- "rel": "data"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/dataset/4a25a249-8bd4-3f78-8cd8-eff11751d35b/collections/unit/items?n=PMRG4ZLYOQRDUMJMEJYHEZLWEI5C2ML5&api-version=1.0&limit=1",
- "rel": "next"
- }
- ]
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetLandingPage.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetLandingPage.json
deleted file mode 100644
index 508aba14bca4..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/examples/GetLandingPage.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
- "parameters": {
- "geography": "us",
- "api-version": "1.0",
- "datasetid": "018fda98-e638-0edf-5ef7-28491ff3bed4",
- "subscription-key": "[subscription-key]"
- },
- "responses": {
- "200": {
- "body": {
- "links": [
- {
- "href": "https://us.atlas.microsoft.com/wfs/datasets/018fda98-e638-0edf-5ef7-28491ff3bed4",
- "rel": "self",
- "title": "Azure Maps WFS"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/datasets/018fda98-e638-0edf-5ef7-28491ff3bed4/api",
- "rel": "service",
- "title": "The API definition"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/datasets/018fda98-e638-0edf-5ef7-28491ff3bed4/conformance",
- "rel": "conformance",
- "title": "WFS 3.0 conformance classes implemented by this server"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/datasets/018fda98-e638-0edf-5ef7-28491ff3bed4/version",
- "rel": "data",
- "title": "The version information"
- },
- {
- "href": "https://us.atlas.microsoft.com/wfs/datasets/018fda98-e638-0edf-5ef7-28491ff3bed4/collections",
- "rel": "data",
- "title": "Metadata about the feature collections"
- }
- ]
- }
- },
- "400": {
- "headers": {},
- "body": {
- "error": {
- "code": "400 BadRequest",
- "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
- }
- }
- },
- "401": {
- "headers": {},
- "body": {
- "error": {
- "code": "401 Unauthorized",
- "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
- }
- }
- },
- "403": {
- "headers": {},
- "body": {
- "error": {
- "code": "403 Forbidden",
- "message": "Permission, capacity, or authentication issues."
- }
- }
- },
- "404": {
- "headers": {},
- "body": {
- "error": {
- "code": "404 NotFound",
- "message": "Not Found: the requested resource could not be found, but it may be available again in the future."
- }
- }
- },
- "500": {
- "headers": {},
- "body": {
- "error": {
- "code": "500 InternalServerError",
- "message": "An error occurred while processing the request. Please try again later."
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/wfs.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/wfs.json
deleted file mode 100644
index dfb4d2b6d180..000000000000
--- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/1.0/wfs.json
+++ /dev/null
@@ -1,1020 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "title": "Azure Maps Web Feature Service",
- "version": "1.0",
- "description": "Azure Maps Web Feature REST APIs"
- },
- "x-ms-parameterized-host": {
- "hostTemplate": "{geography}.atlas.microsoft.com",
- "parameters": [
- {
- "$ref": "#/parameters/GeographicResourceLocation"
- }
- ]
- },
- "schemes": [
- "https"
- ],
- "consumes": [],
- "produces": [
- "application/json",
- "application/xml"
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
- "scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
- }
- },
- "apiKeyQuery": {
- "type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
- "name": "subscription-key",
- "in": "query"
- }
- },
- "security": [
- {
- "azure_auth": []
- },
- {
- "apiKeyQuery": []
- }
- ],
- "responses": {
- "202": {
- "description": "Request Accepted: The request has been accepted for processing. Please use the URL in the Location Header to retry or access the results.",
- "headers": {
- "Location": {
- "type": "string",
- "description": "New URL to check for the results of the long running process."
- }
- }
- },
- "400": {
- "description": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "401": {
- "description": "Access denied due to invalid subscription key or invalid Azure Active Directory (Azure AD) bearer token. Make sure to provide a valid key for an active Azure subscription and Maps resource. Otherwise, verify the [WWW-Authenticate](https://tools.ietf.org/html/rfc6750#section-3.1) header for error code and description of the provided Azure AD bearer token.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- },
- "headers": {
- "WWW-Authenticate": {
- "type": "string",
- "description": "Bearer realm=\"https://atlas.microsoft.com/\", error=\"invalid_token\", error_description=\"The access token expired\""
- }
- }
- },
- "403": {
- "description": "Permission, capacity, or authentication issues.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "404": {
- "description": "Not Found: the requested resource could not be found, but it may be available again in the future.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- },
- "500": {
- "description": "An error occurred while processing the request. Please try again later.",
- "schema": {
- "$ref": "#/definitions/ODataErrorResponse"
- }
- }
- },
- "parameters": {
- "GeographicResourceLocation": {
- "name": "geography",
- "description": "This parameter specifies where the Azure Maps Creator resource is located. Valid values are us and eu.",
- "in": "path",
- "required": true,
- "type": "string",
- "default": "us",
- "enum": [
- "us",
- "eu"
- ],
- "x-ms-enum": {
- "name": "GeographicResourceLocation",
- "modelAsString": true,
- "values": [
- {
- "value": "us",
- "description": "Used to access an Azure Maps Creator resource in the United States"
- },
- {
- "value": "eu",
- "description": "Used to access an Azure Maps Creator resource in Europe"
- }
- ]
- },
- "x-ms-parameter-location": "client"
- },
- "ClientId": {
- "name": "x-ms-client-id",
- "description": "Specifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.",
- "type": "string",
- "in": "header",
- "required": false,
- "x-ms-parameter-location": "client"
- },
- "SubscriptionKey": {
- "name": "subscription-key",
- "description": "One of the Azure Maps keys provided from an Azure Map Account. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/how-to-manage-authentication) for details on how to manage authentication.",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "client"
- },
- "ApiVersion": {
- "name": "api-version",
- "description": "Version number of Azure Maps API. Current version is 1.0",
- "type": "string",
- "in": "query",
- "required": true,
- "default": "1.0",
- "x-ms-parameter-location": "client"
- },
- "Datasetid": {
- "name": "datasetid",
- "type": "string",
- "in": "path",
- "description": "The identifier for the dataset to query from.",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "LimitWfs": {
- "name": "limit",
- "in": "query",
- "type": "number",
- "minimum": 1,
- "maximum": 50,
- "default": 10,
- "description": "The optional limit parameter limits the number of features that are presented in the response document.\nOnly features that are on the first level of the collection in the response document are counted. Nested objects contained within the explicitly requested features shall not be counted.\n* Minimum = 1 * Maximum = 50 * Default = 10",
- "x-ms-parameter-location": "method"
- },
- "Filter": {
- "name": "filter",
- "in": "query",
- "type": "string",
- "description": "Filter expression to search for features with specific property values in a given collection. Only feature properties of scalar type and equals operator are supported.\nThis is a special parameter where the parameter name is a case sensitive property name. The scheme for this parameter is {property name}={property value}. Unless \"filter\" is one of the property names in the collection, \"filter\" should not be used as a parameter name. To search for features with \"name\" property value \"21N13\", use \"name=21N13\".\nMultiple filters are supported and should be represented as multiple query parameters. E.g., =&= String values are case sensitive.",
- "x-ms-parameter-location": "method"
- },
- "Bbox": {
- "name": "bbox",
- "in": "query",
- "type": "string",
- "description": "Only features that have a geometry that intersects the supplied bounding box are selected.\n* Lower left corner, coordinate axis 1 * Lower left corner, coordinate axis 2 * Upper right corner, coordinate axis 1 * Upper right corner, coordinate axis 2\nThe coordinate reference system of the values is WGS84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless a different coordinate reference system is specified in the parameter `bbox-crs`.\nFor WGS84 longitude/latitude the values are in most cases the sequence of minimum longitude, minimum latitude, maximum longitude and maximum latitude. However, in cases where the box spans the antimeridian the first value (west-most box edge) is larger than the third value (east-most box edge).",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "CollectionId": {
- "name": "collectionId",
- "in": "path",
- "type": "string",
- "required": true,
- "description": "Identifier (name) of a specific collection",
- "x-ms-parameter-location": "method"
- },
- "FeatureId": {
- "name": "featureId",
- "in": "path",
- "type": "string",
- "description": "Local identifier of a specific feature",
- "required": true,
- "x-ms-parameter-location": "method"
- }
- },
- "paths": {
- "/wfs/datasets/{datasetid}/": {
- "get": {
- "x-publish": true,
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/dataset/createpreview). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Get Landing Page API provides links to the API definition, the Conformance statements and the metadata about the feature data in this dataset.",
- "operationId": "WFS_GetLandingPagePreview",
- "x-ms-examples": {
- "GetLandingPage": {
- "$ref": "./examples/GetLandingPage.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/Datasetid"
- }
- ],
- "responses": {
- "200": {
- "description": "Ok",
- "schema": {
- "$ref": "#/definitions/Root"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/wfs/datasets/{datasetid}/conformance": {
- "get": {
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/dataset/createpreview). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Get Requirements Classes lists all requirements classes specified in the standard that the server conforms to.",
- "x-publish": true,
- "operationId": "WFS_GetRequirementsClassesPreview",
- "x-ms-examples": {
- "GetConformance": {
- "$ref": "./examples/GetConformance.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/Datasetid"
- }
- ],
- "responses": {
- "200": {
- "description": "Ok",
- "schema": {
- "$ref": "#/definitions/ReqClasses"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/wfs/datasets/{datasetid}/collections": {
- "get": {
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/dataset/createpreview). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Collections Description API provides descriptions of all the collections in a given dataset.",
- "operationId": "WFS_CollectionsDescriptionPreview",
- "x-publish": true,
- "x-ms-examples": {
- "GetCollections": {
- "$ref": "./examples/GetCollections.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/Datasetid"
- }
- ],
- "responses": {
- "200": {
- "description": "Ok",
- "schema": {
- "$ref": "#/definitions/Content"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/wfs/datasets/{datasetid}/collections/{collectionId}": {
- "get": {
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/dataset/createpreview). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\n \nThe Collection Description API provides the description of a given collection. It includes the links to the operations that can be performed on the collection.",
- "operationId": "WFS_CollectionDescriptionPreview",
- "x-publish": true,
- "x-ms-examples": {
- "GetCollection": {
- "$ref": "./examples/GetCollection.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/Datasetid"
- },
- {
- "$ref": "#/parameters/CollectionId"
- }
- ],
- "responses": {
- "200": {
- "description": "Ok",
- "schema": {
- "$ref": "#/definitions/CollectionInfo"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/wfs/datasets/{datasetid}/collections/{collectionId}/definition": {
- "get": {
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/dataset/createpreview). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\n \nThe Collection Definition API provides the detailed data model of a given collection.",
- "operationId": "WFS_CollectionDefinitionPreview",
- "x-publish": true,
- "x-ms-examples": {
- "GetCollectionDefinition": {
- "$ref": "./examples/GetCollectionDefinition.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/Datasetid"
- },
- {
- "$ref": "#/parameters/CollectionId"
- }
- ],
- "responses": {
- "200": {
- "description": "Ok",
- "schema": {
- "$ref": "#/definitions/CollectionDefinition"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/wfs/datasets/{datasetid}/collections/{collectionId}/items": {
- "get": {
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/dataset/createpreview). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Get Features API returns the list of features in the given collection.",
- "operationId": "WFS_GetFeaturesPreview",
- "x-publish": true,
- "x-ms-examples": {
- "Getitems": {
- "$ref": "./examples/GetItems.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/ClientId"
- },
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/Datasetid"
- },
- {
- "$ref": "#/parameters/CollectionId"
- },
- {
- "$ref": "#/parameters/LimitWfs"
- },
- {
- "$ref": "#/parameters/Bbox"
- },
- {
- "$ref": "#/parameters/Filter"
- }
- ],
- "responses": {
- "200": {
- "description": "Ok",
- "schema": {
- "$ref": "#/definitions/FeatureCollectionGeoJSON"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- },
- "/wfs/datasets/{datasetid}/collections/{collectionId}/items/{featureId}": {
- "get": {
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/dataset/createpreview). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Get Feature API returns the feature identified by the provided id in the given collection.",
- "x-publish": true,
- "operationId": "WFS_GetFeaturePreview",
- "x-ms-examples": {
- "GetFeature": {
- "$ref": "./examples/GetItem.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/Datasetid"
- },
- {
- "$ref": "#/parameters/CollectionId"
- },
- {
- "$ref": "#/parameters/FeatureId"
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "schema": {
- "$ref": "#/definitions/Feature"
- }
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- },
- "delete": {
- "description": ">[!Important]\n>The Azure Maps Creator services (Preview) version 1.0 will retire on 6 September 2021. Please transition to using version 2.0 by that date.\n>For details, see [Azure Maps Creator V1 Retirement](https://azure.microsoft.com/en-us/updates/azure-maps-creator-v1-will-be-retired-on-6-september-2021/).\n\n\nCreator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Web Feature Service (WFS) API is part of Creator. WFS API follows the [Open Geospatial Consortium API standard for Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) to query [Datasets](https://docs.microsoft.com/en-us/rest/api/maps/dataset/createpreview). \nA dataset consists of multiple feature collections. A feature collection is a collection of features of a similar type, based on a common schema.\nThe Delete Feature API deletes the feature identified by the provided id in the given collection. At this point this API supports only facility features. Deleting a facility feature deletes all the child features of that facility recursively.",
- "x-publish": true,
- "operationId": "WFS_DeleteFeaturePreview",
- "x-ms-examples": {
- "GetFeature": {
- "$ref": "./examples/DeleteItem.json"
- }
- },
- "parameters": [
- {
- "$ref": "#/parameters/SubscriptionKey"
- },
- {
- "$ref": "#/parameters/ApiVersion"
- },
- {
- "$ref": "#/parameters/Datasetid"
- },
- {
- "$ref": "#/parameters/CollectionId"
- },
- {
- "$ref": "#/parameters/FeatureId"
- }
- ],
- "responses": {
- "204": {
- "description": "Feature Deleted."
- },
- "400": {
- "$ref": "#/responses/400"
- },
- "401": {
- "$ref": "#/responses/401"
- },
- "403": {
- "$ref": "#/responses/403"
- },
- "404": {
- "$ref": "#/responses/404"
- },
- "500": {
- "$ref": "#/responses/500"
- }
- }
- }
- }
- },
- "definitions": {
- "ODataErrorResponse": {
- "type": "object",
- "description": "This response object is returned when an error occurs in the Azure Maps API.",
- "properties": {
- "error": {
- "$ref": "#/definitions/ODataError"
- }
- }
- },
- "ODataError": {
- "type": "object",
- "description": "This object is returned when an error occurs in the Azure Maps API.",
- "properties": {
- "code": {
- "type": "string",
- "readOnly": true,
- "description": "The ODataError code."
- },
- "message": {
- "type": "string",
- "readOnly": true,
- "description": "If available, a human-readable description of the error."
- },
- "details": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ODataError"
- }
- },
- "target": {
- "type": "string",
- "readOnly": true,
- "description": "If available, the target causing the error."
- }
- }
- },
- "Exception": {
- "type": "object",
- "required": [
- "code"
- ],
- "properties": {
- "code": {
- "type": "string"
- },
- "description": {
- "type": "string"
- }
- }
- },
- "Root": {
- "type": "object",
- "required": [
- "links"
- ],
- "properties": {
- "links": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Link"
- }
- }
- }
- },
- "ReqClasses": {
- "type": "object",
- "required": [
- "conformsTo"
- ],
- "properties": {
- "conformsTo": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "example": [
- "http://www.opengis.net/spec/wfs-1/3.0/req/core",
- "http://www.opengis.net/spec/wfs-1/3.0/req/oas30",
- "http://www.opengis.net/spec/wfs-1/3.0/req/html",
- "http://www.opengis.net/spec/wfs-1/3.0/req/geojson"
- ]
- }
- }
- },
- "Link": {
- "description": "Links to other WFS endpoints",
- "type": "object",
- "required": [
- "href"
- ],
- "properties": {
- "href": {
- "type": "string"
- },
- "rel": {
- "type": "string",
- "example": "prev"
- },
- "type": {
- "type": "string",
- "example": "application/geo+json"
- },
- "hreflang": {
- "type": "string",
- "example": "en"
- },
- "title": {
- "type": "string"
- }
- }
- },
- "Content": {
- "type": "object",
- "required": [
- "links",
- "collections"
- ],
- "properties": {
- "links": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Link"
- },
- "example": [
- {
- "href": "http://data.example.org/collections.json",
- "rel": "self",
- "type": "application/json",
- "title": "this document"
- },
- {
- "href": "http://data.example.org/collections.html",
- "rel": "alternate",
- "type": "text/html",
- "title": "this document as HTML"
- },
- {
- "href": "http://schemas.example.org/1.0/foobar.xsd",
- "rel": "describedBy",
- "type": "application/xml",
- "title": "XML schema for Acme Corporation data"
- }
- ]
- },
- "collections": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/CollectionInfo"
- }
- }
- }
- },
- "Version": {
- "type": "object",
- "required": [
- "version",
- "revisionTimestamp",
- "links"
- ],
- "properties": {
- "version": {
- "description": "version number of the dataset",
- "type": "string",
- "example": "1.0.0"
- },
- "revisionTimestamp": {
- "description": "timestamp of the revision",
- "type": "string",
- "example": "2020-01-02T03:04:05"
- },
- "links": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Link"
- },
- "example": [
- {
- "href": "http://data.example.org/collections.json",
- "rel": "self",
- "type": "application/json",
- "title": "this document"
- },
- {
- "href": "http://data.example.org/collections.html",
- "rel": "alternate",
- "type": "text/html",
- "title": "this document as HTML"
- },
- {
- "href": "http://schemas.example.org/1.0/foobar.xsd",
- "rel": "describedBy",
- "type": "application/xml",
- "title": "XML schema for Acme Corporation data"
- }
- ]
- }
- }
- },
- "CollectionInfo": {
- "type": "object",
- "required": [
- "name",
- "links"
- ],
- "properties": {
- "name": {
- "description": "identifier of the collection used, for example, in URIs",
- "type": "string",
- "example": "buildings"
- },
- "title": {
- "description": "human readable title of the collection",
- "type": "string",
- "example": "Buildings"
- },
- "description": {
- "description": "a description of the features in the collection",
- "type": "string",
- "example": "Buildings in the city of Bonn."
- },
- "links": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Link"
- },
- "example": [
- {
- "href": "http://data.example.org/collections/buildings/items",
- "rel": "item",
- "type": "application/geo+json",
- "title": "Buildings"
- },
- {
- "href": "http://example.org/concepts/building.html",
- "rel": "describedBy",
- "type": "text/html",
- "title": "Feature catalogue for buildings"
- }
- ]
- }
- }
- },
- "CollectionDefinition": {
- "description": "collection of GeoJSON features",
- "type": "object",
- "required": [
- "idPrefix",
- "name",
- "geometryType",
- "featureTypes"
- ],
- "properties": {
- "description": {
- "description": "describes the collection",
- "type": "string"
- },
- "idPrefix": {
- "description": "prefix of the collection used",
- "type": "string",
- "example": "BLD"
- },
- "name": {
- "description": "identifier of the collection used, for example, in URIs",
- "type": "string",
- "example": "buildings"
- },
- "title": {
- "description": "title of collection",
- "type": "string",
- "example": "Feature Class buildings"
- },
- "geometryType": {
- "description": "type of geometry returned",
- "type": "string",
- "enum": [
- "Point",
- "MultiPoint",
- "LineString",
- "MultiLineString",
- "Polygon",
- "MultiPolygon",
- "GeometryCollection"
- ]
- },
- "featureTypes": {
- "description": "type of features returned",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "properties": {
- "x-ms-client-flatten": true,
- "description": "attributes of the collection used",
- "type": "array",
- "items": {
- "$ref": "#/definitions/DefinitionProperties"
- }
- },
- "links": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Link"
- }
- }
- }
- },
- "DefinitionProperties": {
- "type": "object",
- "required": [
- "name",
- "required",
- "type"
- ],
- "properties": {
- "name": {
- "description": "name of attribute",
- "type": "string",
- "example": "external_id"
- },
- "required": {
- "description": "is attribute required",
- "type": "boolean"
- },
- "type": {
- "description": "type of attribute",
- "type": "object"
- }
- }
- },
- "FeatureCollectionGeoJSON": {
- "type": "object",
- "required": [
- "type",
- "features"
- ],
- "properties": {
- "type": {
- "type": "string"
- },
- "numberReturned": {
- "type": "integer"
- },
- "features": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/FeatureGeoJSON"
- }
- },
- "links": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Link"
- }
- }
- }
- },
- "Feature": {
- "type": "object",
- "required": [
- "feature"
- ],
- "properties": {
- "feature": {
- "$ref": "#/definitions/FeatureGeoJSON"
- },
- "links": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/Link"
- }
- }
- }
- },
- "FeatureGeoJSON": {
- "description": "GeoJSON Feature",
- "type": "object",
- "required": [
- "type",
- "geometry",
- "properties"
- ],
- "properties": {
- "type": {
- "description": "feature",
- "type": "string"
- },
- "geometry": {
- "description": "This represents the geometry for one or more geographical features (parks, state boundary etc.) and should be a `GeoJSON` compliant type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946) for details.",
- "type": "object"
- },
- "properties": {
- "x-ms-client-flatten": true,
- "description": "Additional properties of the feature.",
- "type": "object"
- },
- "id": {
- "description": "Identifier for the feature.",
- "type": "string"
- },
- "featureType": {
- "description": "The type of the feature. The value depends on the data model the current feature is part of. Some data models may have an empty value.",
- "type": "string"
- }
- }
- }
- }
-}
diff --git a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/2.0/wfs.json b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/2.0/wfs.json
index ee95b8709fa3..ede8be4acf8e 100644
--- a/specification/maps/data-plane/Microsoft.Maps/WFS/preview/2.0/wfs.json
+++ b/specification/maps/data-plane/Microsoft.Maps/WFS/preview/2.0/wfs.json
@@ -22,28 +22,39 @@
"application/xml"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
diff --git a/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/weather.json b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/weather.json
index 6d2bff219c5d..b5b8577959f8 100644
--- a/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/weather.json
+++ b/specification/maps/data-plane/Microsoft.Maps/Weather/preview/1.0/weather.json
@@ -13,28 +13,39 @@
"application/json"
],
"securityDefinitions": {
- "azure_auth": {
+ "AADToken": {
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
- "user_impersonation": "Impersonates a user's Azure Active Directory account."
+ "https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "apiKeyQuery": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
"in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
+ "in": "header"
}
},
"security": [
{
- "azure_auth": []
+ "AADToken": [
+ "https://atlas.microsoft.com/.default"
+ ]
+ },
+ {
+ "SharedKey": []
},
{
- "apiKeyQuery": []
+ "SasToken": []
}
],
"responses": {
diff --git a/specification/maps/data-plane/Render/preview/1.0/examples/GetCopyrightFromBoundingBox.json b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulBoundingBoxCopyrightRequest.json
similarity index 100%
rename from specification/maps/data-plane/Render/preview/1.0/examples/GetCopyrightFromBoundingBox.json
rename to specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulBoundingBoxCopyrightRequest.json
diff --git a/specification/maps/data-plane/Render/preview/1.0/examples/GetCopyrightCaption.json b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulCopyrightCaptionRequest.json
similarity index 100%
rename from specification/maps/data-plane/Render/preview/1.0/examples/GetCopyrightCaption.json
rename to specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulCopyrightCaptionRequest.json
diff --git a/specification/maps/data-plane/Render/preview/1.0/examples/GetMapImageryTile.json b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulImageryTileRequest.json
similarity index 100%
rename from specification/maps/data-plane/Render/preview/1.0/examples/GetMapImageryTile.json
rename to specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulImageryTileRequest.json
diff --git a/specification/maps/data-plane/Render/preview/1.0/examples/GetMapStateTile.json b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulStateTileRequest.json
similarity index 100%
rename from specification/maps/data-plane/Render/preview/1.0/examples/GetMapStateTile.json
rename to specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulStateTileRequest.json
diff --git a/specification/maps/data-plane/Render/preview/1.0/examples/GetMapStaticImage.json b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulStaticImageRequest.json
similarity index 100%
rename from specification/maps/data-plane/Render/preview/1.0/examples/GetMapStaticImage.json
rename to specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulStaticImageRequest.json
diff --git a/specification/maps/data-plane/Render/preview/1.0/examples/GetCopyrightForTile.json b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulTileCopyrightRequest.json
similarity index 100%
rename from specification/maps/data-plane/Render/preview/1.0/examples/GetCopyrightForTile.json
rename to specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulTileCopyrightRequest.json
diff --git a/specification/maps/data-plane/Render/preview/1.0/examples/GetMapTile.json b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulTileRequest.json
similarity index 100%
rename from specification/maps/data-plane/Render/preview/1.0/examples/GetMapTile.json
rename to specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulTileRequest.json
diff --git a/specification/maps/data-plane/Render/preview/1.0/examples/GetCopyrightForWorld.json b/specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulWorldCopyrightRequest.json
similarity index 100%
rename from specification/maps/data-plane/Render/preview/1.0/examples/GetCopyrightForWorld.json
rename to specification/maps/data-plane/Render/preview/1.0/examples/SuccessfulWorldCopyrightRequest.json
diff --git a/specification/maps/data-plane/Render/preview/1.0/render.json b/specification/maps/data-plane/Render/preview/1.0/render.json
index 22f2fcf88e30..845cec0302df 100644
--- a/specification/maps/data-plane/Render/preview/1.0/render.json
+++ b/specification/maps/data-plane/Render/preview/1.0/render.json
@@ -18,15 +18,21 @@
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
"https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "AzureKey": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
+ "in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
"in": "header"
}
},
@@ -37,7 +43,10 @@
]
},
{
- "AzureKey": []
+ "SharedKey": []
+ },
+ {
+ "SasToken": []
}
],
"responses": {},
@@ -57,6 +66,7 @@
"type": "string",
"in": "path",
"required": true,
+ "x-ms-client-default": "png",
"enum": [
"png"
],
@@ -72,6 +82,33 @@
},
"x-ms-parameter-location": "method"
},
+ "MapTileSize": {
+ "name": "tileSize",
+ "in": "query",
+ "description": "The size of the returned map tile in pixels.",
+ "type": "string",
+ "enum": [
+ "256",
+ "512"
+ ],
+ "x-ms-enum": {
+ "name": "MapTileSize",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "256",
+ "name": "size256",
+ "description": "Return a 256 by 256 pixel tile."
+ },
+ {
+ "value": "512",
+ "name": "size512",
+ "description": "Return a 512 by 512 pixel tile."
+ }
+ ]
+ },
+ "x-ms-parameter-location": "method"
+ },
"TileFormat": {
"name": "format",
"description": "Desired format of the response. Possible values are png & pbf.",
@@ -98,76 +135,50 @@
},
"x-ms-parameter-location": "method"
},
- "RasterZoom18": {
- "name": "zoom",
+ "BoundingBoxSouthWest": {
+ "name": "mincoordinates",
+ "x-ms-client-name": "southWest",
"in": "query",
- "description": "Zoom level for the desired tile. Zoom value must be in the range: 0-18 (inclusive).\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.",
+ "description": "Minimum coordinates (south-west point) of bounding box in latitude longitude coordinate system. E.g. 52.41064,4.84228",
"required": true,
- "type": "integer",
- "format": "int32",
- "x-ms-parameter-location": "method"
- },
- "VectorZoom": {
- "name": "zoom",
- "in": "query",
- "description": "Zoom level for the desired tile. Zoom value must be in the range: 0-20 (inclusive).\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.",
- "required": true,
- "type": "integer",
- "format": "int32",
- "x-ms-parameter-location": "method"
- },
- "ImageryRasterZoom": {
- "name": "zoom",
- "in": "query",
- "description": "Zoom level for the desired tile. Zoom value must be in the range: 1-19 (inclusive).\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.",
- "required": true,
- "type": "integer",
- "format": "int32",
- "x-ms-parameter-location": "method"
+ "type": "array",
+ "items": {
+ "type": "number",
+ "format": "double"
+ },
+ "collectionFormat": "csv",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "BoundingBox"
+ }
},
- "RasterVectorNaturalEarthZoom": {
- "name": "zoom",
+ "BoundingBoxNorthEast": {
+ "name": "maxcoordinates",
+ "x-ms-client-name": "northEast",
"in": "query",
- "description": "Zoom level for the desired tile. For _raster_ tiles, value must be in the range: 0-18 (inclusive). Terra raster tiles, values must be in the range 0-6 (inclusive). For _vector_ tiles, value must be in the range: 0-22 (inclusive).\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.",
+ "description": "Maximum coordinates (north-east point) of bounding box in latitude longitude coordinate system. E.g. 52.41064,4.84228",
"required": true,
- "type": "integer",
- "format": "int32",
- "x-ms-parameter-location": "method"
- },
- "IncludeText": {
- "name": "text",
- "in": "query",
- "description": "Yes/no value to exclude textual data from response. Only images and country names will be in response.",
- "type": "string",
- "enum": [
- "yes",
- "no"
- ],
- "x-ms-enum": {
- "name": "IncludeText",
- "modelAsString": true,
- "values": [
- {
- "value": "yes",
- "description": "Include all textual data in response."
- },
- {
- "value": "no",
- "description": "Exclude textual data from response. Only images and country names will be in response."
- }
- ]
+ "type": "array",
+ "items": {
+ "type": "number",
+ "format": "double"
},
- "x-ms-parameter-location": "method"
+ "collectionFormat": "csv",
+ "x-ms-parameter-location": "method",
+ "x-ms-parameter-grouping": {
+ "name": "BoundingBox"
+ }
}
},
"paths": {
"/map/static/{format}": {
"get": {
"description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nThe static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The supported resolution range for the map image is from 1x1 to 8192x8192. If you are deciding when to use the static image service over the map tile service, you may want to consider how you would like to interact with the rendered map. If the map contents will be relatively unchanging, a static map is a good choice. If you want to support a lot of zooming, panning and changing of the map content, the map tile service would be a better choice. \n\nService also provides Image Composition functionality to get a static image back with additional data like; pushpins and geometry overlays with following S0 and S1 capabilities. \n\nIn S0 you can:\n- Render up to 5 pushpins specified in the request\n- Provide one custom image for the pins referenced in the request\n- Add labels to the pushpins\n\nIn S1 you can:\n- Render pushpins through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n- Specify multiple pushpin styles\n- Render circle, polyline and polygon geometry types.\n- Render of supported GeoJSON geometry types uploaded through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n\nPlease see [How-to-Guide](https://aka.ms/AzureMapsHowToGuideImageCompositor) for detailed examples.\n\n_Note_ : Either **center** or **bbox** parameter must be supplied to the\nAPI.\n
\nThe supported Lat and Lon ranges when using the **bbox** parameter, are as follows:\n
\n\n |Zoom Level | Max Lon Range | Max Lat Range|\n |:----------|:----------------|:-------------|\n |0 | 360.0 | 170.0 | \n |1 | 360.0 | 170.0 |\n |2 | 360.0 | 170.0 |\n |3 | 360.0 | 170.0 |\n |4 | 360.0 | 170.0 |\n |5 | 180.0 | 85.0 |\n |6 | 90.0 | 42.5 |\n |7 | 45.0 | 21.25 |\n |8 | 22.5 | 10.625 |\n |9 | 11.25 | 5.3125 |\n |10 | 5.625 | 2.62625 |\n |11 | 2.8125 | 1.328125 |\n |12 | 1.40625 | 0.6640625 |\n |13 | 0.703125 | 0.33203125 |\n |14 | 0.3515625 | 0.166015625 |\n |15 | 0.17578125 | 0.0830078125 | \n |16 | 0.087890625 | 0.0415039063 | \n |17 | 0.0439453125 | 0.0207519531 |\n |18 | 0.0219726563 | 0.0103759766 |\n |19 | 0.0109863281 | 0.0051879883 |\n |20 | 0.0054931641 | 0.0025939941 |",
- "operationId": "GetMapStaticImage",
+ "operationId": "Render_GetMapImage",
+ "x-ms-client_name": "GetMapStaticImage",
"x-ms-examples": {
- "GetMapStaticImage": {
- "$ref": "./examples/GetMapStaticImage.json"
+ "Successful Static Image Request": {
+ "$ref": "./examples/SuccessfulStaticImageRequest.json"
}
},
"parameters": [
@@ -246,13 +257,24 @@
"name": "center",
"in": "query",
"description": "Coordinates of the center point. Format: 'lon,lat'. Projection used\n- EPSG:3857. Longitude range: -180 to 180. Latitude range: -85 to 85. \n\nNote: Either center or bbox are required parameters. They are\nmutually exclusive.",
- "type": "string"
+ "type": "array",
+ "collectionFormat": "csv",
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
},
{
"name": "bbox",
+ "x-ms-client-name": "boundingBox",
"in": "query",
"description": "Bounding box. Projection used - EPSG:3857. Format : 'minLon, minLat,\nmaxLon, maxLat'. \n\nNote: Either bbox or center are required\nparameters. They are mutually exclusive. It shouldn’t be used with\nheight or width.\n\nThe maximum allowed ranges for Lat and Lon are defined for each zoom level\nin the table at the top of this page.",
- "type": "string"
+ "type": "array",
+ "collectionFormat": "csv",
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
},
{
"name": "height",
@@ -330,10 +352,10 @@
"/map/tile/{format}": {
"get": {
"description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nFetches map tiles in vector or raster format typically to be integrated into a new map control or SDK. By default, Azure uses vector map tiles for its web map control (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid))\n\n**Note**: Weather tiles are only available via [Get Map Tile V2 API](https://aka.ms/AzureMapsWeatherTiles). We recommend to start to use the new [Get Map Tile V2 API](https://aka.ms/GetMapTileV2).",
- "operationId": "GetMapTile",
+ "operationId": "Render_GetMapTile",
"x-ms-examples": {
- "GetMapTile": {
- "$ref": "./examples/GetMapTile.json"
+ "Successful Tile Request": {
+ "$ref": "./examples/SuccessfulTileRequest.json"
}
},
"parameters": [
@@ -412,7 +434,7 @@
}
},
{
- "$ref": "#/parameters/RasterVectorNaturalEarthZoom"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/zTileIndex"
},
{
"$ref": "../../../Common/preview/1.0/common.json#/parameters/xTileIndex"
@@ -421,28 +443,7 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/yTileIndex"
},
{
- "name": "tileSize",
- "in": "query",
- "description": "The size of the returned map tile in pixels.",
- "type": "string",
- "enum": [
- "256",
- "512"
- ],
- "x-ms-enum": {
- "name": "MapTileSize",
- "modelAsString": true,
- "values": [
- {
- "value": "256",
- "description": "Return a 256 by 256 pixel tile."
- },
- {
- "value": "512",
- "description": "Return a 512 by 512 pixel tile."
- }
- ]
- }
+ "$ref": "#/parameters/MapTileSize"
},
{
"$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
@@ -482,10 +483,10 @@
"/map/statetile": {
"get": {
"description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nFetches state tiles in vector format typically to be integrated into indoor maps module of map control or SDK. The map control will call this API after user turns on dynamic styling (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid))",
- "operationId": "GetMapStateTile",
+ "operationId": "Render_GetMapStateTile",
"x-ms-examples": {
- "GetMapStateTile": {
- "$ref": "./examples/GetMapStateTile.json"
+ "Successful State Tile Request": {
+ "$ref": "./examples/SuccessfulStateTileRequest.json"
}
},
"parameters": [
@@ -496,7 +497,7 @@
"$ref": "#/parameters/ApiVersion"
},
{
- "$ref": "#/parameters/VectorZoom"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/zTileIndex"
},
{
"$ref": "../../../Common/preview/1.0/common.json#/parameters/xTileIndex"
@@ -540,10 +541,10 @@
"/map/copyright/caption/{format}": {
"get": {
"description": "**Applies to**: S0 and S1 pricing tiers.\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile \nservice. In addition to basic copyright for the whole map, API is serving \nspecific groups of copyrights for some countries.\n\nAs an alternative to copyrights for map request, one can receive captions\nfor displaying the map provider information on the map.",
- "operationId": "GetCopyrightCaption",
+ "operationId": "Render_GetCopyrightCaption",
"x-ms-examples": {
- "GetCopyrightCaption": {
- "$ref": "./examples/GetCopyrightCaption.json"
+ "Successful Copyright Caption Request": {
+ "$ref": "./examples/SuccessfulCopyrightCaptionRequest.json"
}
},
"parameters": [
@@ -561,7 +562,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/GetCopyrightCaptionResult"
+ "$ref": "#/definitions/CopyrightCaption"
}
},
"default": {
@@ -573,10 +574,10 @@
"/map/imagery/{format}": {
"get": {
"description": "**Applies to:** S1 pricing tier.\n\n\nThis service returns a map image tile with size 256x256, given the x and y coordinates and zoom\nlevel. Zoom level ranges from 1 to 19. The current available style value is 'satellite' which provides satellite\nimagery alone.\n\n\n**Note**: We recommend to start to use the new [Get Map Tile V2 API](https://aka.ms/GetMapTileV2).",
- "operationId": "GetMapImageryTile",
+ "operationId": "Render_GetMapImageryTile",
"x-ms-examples": {
- "GetMapImageryTile": {
- "$ref": "./examples/GetMapImageryTile.json"
+ "Successful Imagery Tile Request": {
+ "$ref": "./examples/SuccessfulImageryTileRequest.json"
}
},
"parameters": [
@@ -595,6 +596,7 @@
"description": "Map style to be returned. __Possible values:__ satellite.",
"required": true,
"type": "string",
+ "x-ms-client-default": "satellite",
"enum": [
"satellite"
],
@@ -610,7 +612,7 @@
}
},
{
- "$ref": "#/parameters/ImageryRasterZoom"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/zTileIndex"
},
{
"$ref": "../../../Common/preview/1.0/common.json#/parameters/xTileIndex"
@@ -648,10 +650,10 @@
"/map/copyright/bounding/{format}": {
"get": {
"description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nReturns copyright information for a given bounding box. Bounding-box requests should specify the minimum and maximum longitude and latitude (EPSG-3857) coordinates",
- "operationId": "GetCopyrightFromBoundingBox",
+ "operationId": "Render_GetCopyrightFromBoundingBox",
"x-ms-examples": {
- "GetCopyrightFromBoundingBox": {
- "$ref": "./examples/GetCopyrightFromBoundingBox.json"
+ "Successful Bounding Box Copyright Request": {
+ "$ref": "./examples/SuccessfulBoundingBoxCopyrightRequest.json"
}
},
"parameters": [
@@ -662,31 +664,23 @@
"$ref": "#/parameters/ApiVersion"
},
{
- "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat"
+ "$ref": "#/parameters/BoundingBoxSouthWest"
},
{
- "name": "mincoordinates",
- "in": "query",
- "description": "Minimum coordinates of bounding box in latitude longitude coordinate system. E.g. 52.41064,4.84228",
- "required": true,
- "type": "string"
+ "$ref": "#/parameters/BoundingBoxNorthEast"
},
{
- "name": "maxcoordinates",
- "in": "query",
- "description": "Maximum coordinates of bounding box in latitude longitude coordinate system. E.g. 52.41064,4.84228",
- "required": true,
- "type": "string"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat"
},
{
- "$ref": "#/parameters/IncludeText"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/IncludeText"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/GetCopyrightFromBoundingBoxResult"
+ "$ref": "#/definitions/Copyright"
}
},
"default": {
@@ -698,10 +692,10 @@
"/map/copyright/tile/{format}": {
"get": {
"description": "**Applies to**: S0 and S1 pricing tiers.\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for a given tile. To obtain the copyright information for a particular tile, the request should specify the tile's zoom level and x and y coordinates (see: Zoom Levels and Tile Grid).",
- "operationId": "GetCopyrightForTile",
+ "operationId": "Render_GetCopyrightForTile",
"x-ms-examples": {
- "GetCopyrightForTile": {
- "$ref": "./examples/GetCopyrightForTile.json"
+ "Successful Tile Copyright Request": {
+ "$ref": "./examples/SuccessfulTileCopyrightRequest.json"
}
},
"parameters": [
@@ -712,10 +706,7 @@
"$ref": "#/parameters/ApiVersion"
},
{
- "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat"
- },
- {
- "$ref": "#/parameters/RasterZoom18"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/zTileIndex"
},
{
"$ref": "../../../Common/preview/1.0/common.json#/parameters/xTileIndex"
@@ -724,14 +715,17 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/yTileIndex"
},
{
- "$ref": "#/parameters/IncludeText"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/IncludeText"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/GetCopyrightForTileResult"
+ "$ref": "#/definitions/Copyright"
}
},
"default": {
@@ -743,10 +737,10 @@
"/map/copyright/world/{format}": {
"get": {
"description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for the world. To obtain the default copyright information for the whole world, do not specify a tile or bounding box.",
- "operationId": "GetCopyrightForWorld",
+ "operationId": "Render_GetCopyrightForWorld",
"x-ms-examples": {
- "GetCopyrightForWorld": {
- "$ref": "./examples/GetCopyrightForWorld.json"
+ "Successful World Copyright Request": {
+ "$ref": "./examples/SuccessfulWorldCopyrightRequest.json"
}
},
"parameters": [
@@ -760,14 +754,14 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat"
},
{
- "$ref": "#/parameters/IncludeText"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/IncludeText"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/GetCopyrightForWorldResult"
+ "$ref": "#/definitions/Copyright"
}
},
"default": {
@@ -778,34 +772,6 @@
}
},
"definitions": {
- "GetCopyrightFromBoundingBoxResult": {
- "description": "This object is returned from a successful Get Copyright From Bounding Box call",
- "type": "object",
- "properties": {
- "formatVersion": {
- "description": "Format Version property",
- "type": "string",
- "readOnly": true
- },
- "generalCopyrights": {
- "description": "General Copyrights array",
- "type": "array",
- "readOnly": true,
- "items": {
- "type": "string",
- "readOnly": true
- }
- },
- "regions": {
- "description": "Regions array",
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/RegionCopyrights"
- }
- }
- }
- },
"RegionCopyrights": {
"type": "object",
"properties": {
@@ -837,8 +803,8 @@
}
}
},
- "GetCopyrightCaptionResult": {
- "description": "This object is returned from a successful Get Copyright Caption call",
+ "CopyrightCaption": {
+ "description": "This object is returned from a successful copyright call",
"type": "object",
"properties": {
"formatVersion": {
@@ -853,36 +819,8 @@
}
}
},
- "GetCopyrightForWorldResult": {
- "description": "This object is returned from a successful Get Copyright For World call",
- "type": "object",
- "properties": {
- "formatVersion": {
- "description": "Format Version property",
- "type": "string",
- "readOnly": true
- },
- "generalCopyrights": {
- "description": "General Copyrights array",
- "type": "array",
- "readOnly": true,
- "items": {
- "type": "string",
- "readOnly": true
- }
- },
- "regions": {
- "description": "Regions array",
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/RegionCopyrights"
- }
- }
- }
- },
- "GetCopyrightForTileResult": {
- "description": "This object is returned from a successful Get Copyright For Tile call",
+ "Copyright": {
+ "description": "This object is returned from a successful copyright request",
"type": "object",
"properties": {
"formatVersion": {
diff --git a/specification/maps/data-plane/Render/preview/2.0/examples/GetMapTileV2.json b/specification/maps/data-plane/Render/preview/2.0/examples/SuccessfulTileRequest.json
similarity index 100%
rename from specification/maps/data-plane/Render/preview/2.0/examples/GetMapTileV2.json
rename to specification/maps/data-plane/Render/preview/2.0/examples/SuccessfulTileRequest.json
diff --git a/specification/maps/data-plane/Render/preview/2.0/render.json b/specification/maps/data-plane/Render/preview/2.0/render.json
index 0435165eea1b..fc01889bd867 100644
--- a/specification/maps/data-plane/Render/preview/2.0/render.json
+++ b/specification/maps/data-plane/Render/preview/2.0/render.json
@@ -18,15 +18,21 @@
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
"https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "AzureKey": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
+ "in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
"in": "header"
}
},
@@ -37,7 +43,10 @@
]
},
{
- "AzureKey": []
+ "SharedKey": []
+ },
+ {
+ "SasToken": []
}
],
"responses": {},
@@ -65,12 +74,23 @@
"microsoft.base.road",
"microsoft.base.darkgrey",
"microsoft.base.labels.road",
+ "microsoft.base.labels.darkgrey",
"microsoft.base.hybrid.road",
+ "microsoft.base.hybrid.darkgrey",
"microsoft.imagery",
"microsoft.weather.radar.main",
"microsoft.weather.infrared.main",
"microsoft.dem",
- "microsoft.dem.contours"
+ "microsoft.dem.contours",
+ "microsoft.traffic.absolute",
+ "microsoft.traffic.absolute.main",
+ "microsoft.traffic.relative",
+ "microsoft.traffic.relative.main",
+ "microsoft.traffic.relative.dark",
+ "microsoft.traffic.delay",
+ "microsoft.traffic.delay.main",
+ "microsoft.traffic.reduced.main",
+ "microsoft.traffic.incident"
],
"x-ms-enum": {
"name": "TilesetID",
@@ -104,10 +124,18 @@
"value": "microsoft.base.labels.road",
"description": "Label data in our main style.
\n\nSupports zoom levels 0 through 22. Format: raster (png)."
},
+ {
+ "value": "microsoft.base.labels.darkgrey",
+ "description": "Label data in our dark grey style.
\n\nSupports zoom levels 0 through 22. Format: raster (png)."
+ },
{
"value": "microsoft.base.hybrid.road",
"description": "Road, boundary and label data in our main style.
\n\nSupports zoom levels 0 through 22. Format: raster (png)."
},
+ {
+ "value": "microsoft.base.hybrid.darkgrey",
+ "description": "Road, boundary and label data in our dark grey style.
\n\nSupports zoom levels 0 through 22. Format: raster (png)."
+ },
{
"value": "microsoft.imagery",
"description": "A combination of satellite and aerial imagery. Only available in S1 pricing SKU.
\n\nSupports zoom levels 1 through 19. Format: raster (jpeg)."
@@ -127,29 +155,56 @@
{
"value": "microsoft.dem.contours",
"description": "Digital elevation contour line tiles. Compared to the microsoft.dem option, these tiles are in vector format and intended for visualization purpose. The tiles cover the whole landmass of Earth. Some small islands (e.g., atolls) might not be represented accurately.
\n* The vertical unit for measurement of elevation height is meters.
\n* The horizontal reference datum is the World Geodetic System 1984 (WGS84-G1150) and the vertical reference datum is the Earth Gravitational Model 2008 (EGM2008).
\n* Tile data comes from the [Airbus WorldDEM4Ortho product](https://www.intelligence-airbusds.com/worlddem-streaming/). Urban areas are approximately leveled down to ground level. All other areas are represented by the object surface level (e.g., trees).
\n\nSupports zoom levels 9 through 14. Format: vector (pbf)."
+ },
+ {
+ "value": "microsoft.traffic.absolute",
+ "description": "absolute traffic tiles in vector"
+ },
+ {
+ "value": "microsoft.traffic.absolute.main",
+ "description": "absolute traffic tiles in raster in our main style."
+ },
+ {
+ "value": "microsoft.traffic.relative",
+ "description": "relative traffic tiles in vector"
+ },
+ {
+ "value": "microsoft.traffic.relative.main",
+ "description": "relative traffic tiles in raster in our main style."
+ },
+ {
+ "value": "microsoft.traffic.relative.dark",
+ "description": "relative traffic tiles in raster in our dark style."
+ },
+ {
+ "value": "microsoft.traffic.delay",
+ "description": "traffic tiles in vector"
+ },
+ {
+ "value": "microsoft.traffic.delay.main",
+ "description": "traffic tiles in raster in our main style"
+ },
+ {
+ "value": "microsoft.traffic.reduced.main",
+ "description": "reduced traffic tiles in raster in our main style"
+ },
+ {
+ "value": "microsoft.traffic.incident",
+ "description": "incident tiles in vector"
}
]
},
"x-ms-parameter-location": "method"
- },
- "MapTileV2Zoom": {
- "name": "zoom",
- "in": "query",
- "description": "Zoom level for the desired tile. Please find TilesetID list below for more details on supported zoom level for each tilesetId.
\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.",
- "required": true,
- "type": "integer",
- "format": "int32",
- "x-ms-parameter-location": "method"
}
},
"paths": {
"/map/tile": {
"get": {
"description": "**Applies to**: S0 and S1 pricing tiers.\n\nThe Get Map Tiles API allows users to request map tiles in vector or raster formats typically to be integrated into a map control or SDK. Some example tiles that can be requested are Azure Maps road tiles, real-time Weather Radar tiles or the map tiles created using [Azure Maps Creator](https://aka.ms/amcreator). By default, Azure Maps uses vector tiles for its web map control (Web SDK) and Android SDK.",
- "operationId": "GetMapTileV2",
+ "operationId": "RenderV2_GetMapTile",
"x-ms-examples": {
- "GetMapTile": {
- "$ref": "./examples/GetMapTileV2.json"
+ "Successful Tile Request": {
+ "$ref": "./examples/SuccessfulTileRequest.json"
}
},
"parameters": [
@@ -163,7 +218,7 @@
"$ref": "#/parameters/TilesetId_rv2"
},
{
- "$ref": "#/parameters/MapTileV2Zoom"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/zTileIndex"
},
{
"$ref": "../../../Common/preview/1.0/common.json#/parameters/xTileIndex"
@@ -179,28 +234,7 @@
"format": "date-time"
},
{
- "name": "tileSize",
- "in": "query",
- "description": "The size of the returned map tile in pixels.",
- "type": "string",
- "enum": [
- "256",
- "512"
- ],
- "x-ms-enum": {
- "name": "TileSize",
- "modelAsString": true,
- "values": [
- {
- "value": "256",
- "description": "Return a 256 by 256 pixel tile. Available for all tilesetIds except for\n* microsoft.terra.main"
- },
- {
- "value": "512",
- "description": "Return a 512 by 512 pixel tile. Available for all tilesetIds except for \n* microsoft.weather.radar.main\n* microsoft.weather.infrared.main\n* microsoft.base.hybrid\n* microsoft.dem\n* microsoft.imagery"
- }
- ]
- }
+ "$ref": "../1.0/render.json#/parameters/MapTileSize"
},
{
"$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
@@ -220,9 +254,7 @@
"200": {
"description": "The tile returned from a successful API call.",
"schema": {
- "type": "object",
- "format": "file",
- "readOnly": true
+ "$ref": "#/definitions/MapTile"
},
"headers": {
"Content-Type": {
@@ -237,5 +269,13 @@
}
}
}
+ },
+ "definitions": {
+ "MapTile": {
+ "description": "The tile returned from a successful API call.",
+ "type": "object",
+ "format": "file",
+ "readOnly": true
+ }
}
}
diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/GetMapAttributionV2.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulAttributionRequest.json
similarity index 100%
rename from specification/maps/data-plane/Render/preview/2.1/examples/GetMapAttributionV2.json
rename to specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulAttributionRequest.json
diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulBoundingBoxCopyrightRequest.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulBoundingBoxCopyrightRequest.json
new file mode 100644
index 000000000000..8bd58db3b8e3
--- /dev/null
+++ b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulBoundingBoxCopyrightRequest.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "1.0",
+ "format": "json",
+ "mincoordinates": "52.41064,4.84228",
+ "maxcoordinates": "52.41072,4.84239",
+ "text": "yes"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "formatVersion": "0.0.1",
+ "generalCopyrights": [
+ "© 1992 – 2016 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection, database right protection and other intellectual property rights owned by TomTom or its suppliers. The use of this material is subject to the terms of a license agreement. Any unauthorized copying or disclosure of this material will lead to criminal and civil liabilities.",
+ "Data Source © 2016 TomTom",
+ "based on"
+ ],
+ "regions": [
+ {
+ "copyrights": [
+ "Topografische onderground Copyright © dienst voor het kadaster en de openbare registers, Apeldoorn 2016."
+ ],
+ "country": {
+ "ISO3": "NLD",
+ "label": "Netherlands"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulCopyrightCaptionRequest.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulCopyrightCaptionRequest.json
new file mode 100644
index 000000000000..fa4e4cb47cd9
--- /dev/null
+++ b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulCopyrightCaptionRequest.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "1.0",
+ "format": "json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "formatVersion": "0.0.1",
+ "copyrightsCaption": "© 1992 - 2017 TomTom."
+ }
+ }
+ }
+}
diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulStateTileRequest.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulStateTileRequest.json
new file mode 100644
index 000000000000..d3119378b2e4
--- /dev/null
+++ b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulStateTileRequest.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "1.0",
+ "statesetId": "[statesetId]",
+ "zoom": 6,
+ "x": 10,
+ "y": 22
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "application/vnd.mapbox-vector-tile"
+ },
+ "body": "{file}"
+ }
+ }
+}
diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulStaticImageRequest.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulStaticImageRequest.json
new file mode 100644
index 000000000000..c747d41a9d99
--- /dev/null
+++ b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulStaticImageRequest.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "1.0",
+ "format": "png",
+ "zoom": 2,
+ "bbox": "1.355233,42.982261,24.980233,56.526017",
+ "layer": "basic",
+ "style": "main"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Content-Type": "image/png"
+ },
+ "body": "{file}"
+ }
+ }
+}
diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulTileCopyrightRequest.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulTileCopyrightRequest.json
new file mode 100644
index 000000000000..6f1a8fb24822
--- /dev/null
+++ b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulTileCopyrightRequest.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "api-version": "1.0",
+ "format": "json",
+ "zoom": 6,
+ "x": 9,
+ "y": 22
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "formatVersion": "0.0.1",
+ "generalCopyrights": [
+ "© 1992 - 2018 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection, database right protection and other intellectual property rights owned by TomTom or its suppliers. The use of this material is subject to the terms of a license agreement. Any unauthorized copying or disclosure of this material will lead to criminal and civil liabilities.",
+ "Data Source © 2018 TomTom",
+ "based on"
+ ],
+ "regions": [
+ {
+ "copyrights": [
+ "© 2006 – 2018 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection and other intellectual property rights owned or licensed to TomTom. The product includes information copied with permission from Canadian authorities, including © Canada Post Corporation and Department of Natural Resources Canada, All rights reserved. The use of this material is subject to the terms of a License Agreement. You will be held liable for any unauthorized copying or disclosure of this material. Adapted from Statistics Canada: Boundary Files, 2016 Census; Road Network File, 2016; and Census Population and Dwelling Count Highlight Tables, 2016 Census. This does not constitute an endorsement by Statistics Canada of this product",
+ "The following copyright notice applies to the use of Administrative Area: © 2006 – 2018 TomTom. All rights reserved. Adapted from Statistics Canada: Boundary Files, 2016 Census: Census Population and Dwelling Count Highlight Tables, 2016. This does not constitute an endorsement by Statistics Canada of this product.",
+ "The following copyright notice applies to the use of Post- FSA layer and 6-digit layer: © 2006 – 2018 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection and other intellectual property rights owned or licensed to TomTom. The product includes information copied with permission from Canadian authorities, including © Canada Post Corporation, All rights reserved. The use of this material is subject to the terms of a License Agreement. You will be held liable for any unauthorized copying or disclosure of this material",
+ "The following copyright notice applies to the use of Points of Interest: © 2006 – 2018 TomTom. All rights reserved. Portions of the POI database contained in Points of Interest North America have been provided by Neustar Localeze",
+ "The following copyright notice applies to the use of Telecommunications: © 2017 Pitney Bowes. All rights reserved. In addition, for the following product layers Wire Center Boundaries, ILEC Boundaries, and Rate Center Boundaries, the following also applies: This product contains information and/or data of Telcordia Technologies, Inc. (Telcordia) licensed to be included herein.",
+ "The following copyright notice applies to the use of TomTom Traffic: Portions of the data have been provided by Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. © 2017. Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. All rights reserved.",
+ "This product contains address point data made available under the city of Vancouver’s Open Data framework as documented on August 6, 2012 in: vancouver.ca/open-government-licence Contains public sector Datasets made available under the City of Toronto's Open Data Licence v2.0. This is specified in their terms available here: http://www1.toronto.ca/wps/portal/contentonly?vgnextoid=4a37e03bb8d1e310VgnVCM10000071d60f89RCRD",
+ "Contains information licensed under the Open Government Licence – Strathcona County. For specifics, please reference: https://data.strathcona.ca/licence",
+ "Contains information licensed under the Open Government Licence – County of Grande Prairie. For specifics, please reference: http://www.countygp.ab.ca/EN/main/community/maps-gis/open-data/open-data-licence.html",
+ "Contains information licensed under the Open Government Licence – Canada. For specifics, please reference: http://open.canada.ca/en/open-government-licence-canada",
+ "Contains information licensed under the Calgary Regional Partnership Open Data Licence. For specifics, please reference: http://calgaryregion.ca/dam/Website/reports/General/GIS/Public-documents/Calgary-Regional-Partnership-Open-Data-Licence/Calgary%20Regional%20Partnership%20Open%20Data%20Licence.pdf Contains information licensed under the Open Government Licence – Banff. For specifics, please reference: http://www.banffopendata.ca/Home/About",
+ "Contains information licensed under the Open Data License – City of Grande Prairie. For specifics, please reference: http://www.cityofgp.com/index.aspx?page=2332",
+ "Contains information licensed under the Open Government Licence – City of Victoria. For specifics, please reference: http://www.victoria.ca/EN/main/city/open-data-catalogue/open-data-licence.html",
+ "Contains information licenced under the Open Government Licence - Halifax. For specifics, please reference: http://www.halifax.ca/opendata/OD_TermsOfUse.php",
+ "Contains information provided by the City of Guelph under an open government license. For specifics, please reference: http://data.open.guelph.ca/pages/open-government-licence",
+ "Contains information licensed under the Open Government Licence – Haldimand County. For specifics, please reference: http://opendata.haldimandcounty.on.ca/",
+ "Contains information provided by the City of Hamilton under an open government license. For specifics, please reference: http://www2.hamilton.ca/NR/rdonlyres/C58984A4-FE11-40B9-A231-8572EB922AAA/0/OpenDataTermsAndConditions_Final.html Contains information licensed under the Open Government Licence - Niagara Region. For specifics, please reference: http://www.niagararegion.ca/government/opendata/terms-of-use.aspx",
+ "Contains information licensed under the Open Government Licence — Town of Oakville. For specifics, please reference: http://www.oakville.ca/data/open_data_licence.html",
+ "Contains information licensed under the Open Government Licence - The Corporation of the City of Windsor. For specifics, please reference: http://www.citywindsor.ca/opendata/Documents/OpenDataTermsofUse.pdf",
+ "Contains information licensed under the Open Government Licence – City of Regina. For specifics, please reference: https://www.regina.ca/residents/open-government/open-government-licence/",
+ "Contains information licensed under the Open Government License - British Columbia. Contains information licensed under the Open Government License - City of Surrey. Contains public sector datasets made available under the City of Brandon's Open Data License. For specifics, please reference: http://opengov.brandon.ca/terms.aspx",
+ "Contains information licensed under the Open Government License - Winnipeg. For specifics, please reference: https://data.winnipeg.ca/open-data-licence",
+ "Contains information licensed under the GeoNB Open Data Licence. For specifics, please reference: http://geonb.snb.ca/documents/license/geonb-odl_en.pdf",
+ "Contains information licensed under the Open Government Licence - The Corporation of the Municipality of Chatham-Kent. Contains information licensed under the Open Government Licence - Niagara Region. For specifics, please referec: https://niagaraopendata.ca/pages/open-government-license-2-0-niagara-region",
+ "Contains information licensed under the Open Government Licence - City of Welland. Contains information licensed under the Open Government Licence - Prince Edward Island. For specifics, please reference: https://www.princeedwardisland.ca/en/information/finance/open-government-licence-prince-edward-island",
+ "Contains information licensed under the Open Government License - Kamloops. For specifics, please reference: http://www.kamloops.ca/maps/disclaimer.html",
+ "Contains information licensed under the Open Government License - Nanaimo. For specifics, please reference: http://www.nanaimo.ca/EN/main/departments/information-technology/DataCatalogue/Licence.html Contains information licensed under the Open Government License – City of New Westminster. For specifics, please reference: http://opendata.newwestcity.ca/licence",
+ "Contains information licensed under the Open Government License – City of Prince George. For specifics, please reference: http://pgmap.princegeorge.ca/opendata/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf",
+ "Contains Information licensed under the Open Government Licence – Brantford. For specifics, please reference: http://www.brantford.ca/govt/projects/opendata/Pages/OpenDataLicence.aspx",
+ "Contains data for Gatineau, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode",
+ "Contains data for Laval, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode",
+ "Contains data for Longueuil, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode",
+ "Contains data for Montreal, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode",
+ "Contains data for Rimouski, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode"
+ ],
+ "country": {
+ "ISO3": "CAN",
+ "label": "Canada"
+ }
+ },
+ {
+ "copyrights": [
+ "The following copyright notice applies to the use of Points of Interest: © 2006 – 2018 TomTom. All rights reserved. Portions of the POI database contained in Points of Interest North America have been provided by Neustar Localeze",
+ "The following copyright notice applies to the use of Telecommunications: © 2017 Pitney Bowes. All rights reserved. In addition, for the following product layers Wire Center Boundaries, ILEC Boundaries, and Rate Center Boundaries, the following also applies: This product contains information and/or data of Telcordia Technologies, Inc. (Telcordia) licensed to be included herein.",
+ "The following copyright notice applies to the use of TomTom Traffic: Portions of the data have been provided by Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. © 2017. Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. All rights reserved.",
+ "© United States Postal Service 2017",
+ "Contains data made available by the Rhode Island Geographic Information System (RIGIS) consortium, the State of Rhode Island, and the University of Rhode Island. For specifics, please reference: http://www.rigis.org/information",
+ "Contains Address Points data made available by State of Maryland and MD iMAP. For specifics, please reference: http://imap.maryland.gov."
+ ],
+ "country": {
+ "ISO3": "USA",
+ "label": "United States"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/GetMapTileV2.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulTileRequest.json
similarity index 100%
rename from specification/maps/data-plane/Render/preview/2.1/examples/GetMapTileV2.json
rename to specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulTileRequest.json
diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/GetMapTilesetV2.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulTilesetRequest.json
similarity index 100%
rename from specification/maps/data-plane/Render/preview/2.1/examples/GetMapTilesetV2.json
rename to specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulTilesetRequest.json
diff --git a/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulWorldCopyrightRequest.json b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulWorldCopyrightRequest.json
new file mode 100644
index 000000000000..fee7389f1757
--- /dev/null
+++ b/specification/maps/data-plane/Render/preview/2.1/examples/SuccessfulWorldCopyrightRequest.json
@@ -0,0 +1,338 @@
+{
+ "parameters": {
+ "api-version": "1.0",
+ "format": "json"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "formatVersion": "0.0.1",
+ "generalCopyrights": [
+ "© 1992 - 2018 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection, database right protection and other intellectual property rights owned by TomTom or its suppliers. The use of this material is subject to the terms of a license agreement. Any unauthorized copying or disclosure of this material will lead to criminal and civil liabilities.",
+ "Data Source © 2018 TomTom",
+ "based on"
+ ],
+ "regions": [
+ {
+ "copyrights": [
+ "This product contains cartographic information (geometry, street names, traffic flow, address points) made available by Govern d’Andorra under legal terms available here; https://www.govern.ad/avis-legal"
+ ],
+ "country": {
+ "ISO3": "AND",
+ "label": "Andorra"
+ }
+ },
+ {
+ "copyrights": [
+ "In New South Wales this product contains road centerline geometry from NSW Land Property Information licensed under CC-BY 3.0 AU. © Land and Property Information [2015]. Further information available here: http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services",
+ "In Queensland this product contains road centerline geometry from QLD Transport and Main Roads authority made available by the Queensland open data portal and licensed under CC-BY 3.0 AU. Further information available here: https://data.qld.gov.au/dataset/state-controlled-roads-queensland",
+ "In South Australia this product contains road centerline geometry from SA Department of Planning Transport and Infrastructure made available by the South Australian government and licensed under CC-BY 4.0. Further information available here: http://data.sa.gov.au/data/organization/department-of-planning-transport-and-infrastructure https://data.sa.gov.au/copyright",
+ "In Tasmania this product contains road centerline attribution from the Tasmanian Government Transport agency. http://www.transport.tas.gov.au/roadsafety/speed",
+ "In Victoria this product contains cartographic information (roads, speed restriction, vehicle restrictions) made available by the Victorian Government open data portal licensed under CC-BY 4.0. Further information here: http://vicroadsopendata.vicroadsmaps.opendata.arcgis.com/ https://www.data.vic.gov.au/data/dataset",
+ "In Western Australia this product contains medium scale road centerline geometry from Landgate made available by the Western Australian Government via their open that portal licensed under CC-BY 4.0 http://catalogue.beta.data.wa.gov.au/dataset/roads-lgate-012 http://opendefinition.org/od/2.0/en/",
+ "This product contains address point data made available in the PSMA Geocoded National Address File (G- NAF) offered via the Australian Federal Government open data portal under EULA terms based on Creative Commons license CC BY 4.0 with the following special restriction. For Specifics please reference: https://data.gov.au/dataset/geocoded-national-address-file-g-naf/resource/09f74802-08b1-4214-a6ea-3591b2753d30"
+ ],
+ "country": {
+ "ISO3": "AUS",
+ "label": "Australia"
+ }
+ },
+ {
+ "copyrights": [
+ "© BEV, GZ 1368/2017"
+ ],
+ "country": {
+ "ISO3": "AUT",
+ "label": "Austria"
+ }
+ },
+ {
+ "copyrights": [
+ "© Source data. State committee on property of the Republic of Belarus, 2015 © Republic unitary organization <>, 2016"
+ ],
+ "country": {
+ "ISO3": "BLR",
+ "label": "Belarus"
+ }
+ },
+ {
+ "copyrights": [
+ "© 2006 – 2018 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection and other intellectual property rights owned or licensed to TomTom. The product includes information copied with permission from Canadian authorities, including © Canada Post Corporation and Department of Natural Resources Canada, All rights reserved. The use of this material is subject to the terms of a License Agreement. You will be held liable for any unauthorized copying or disclosure of this material. Adapted from Statistics Canada: Boundary Files, 2016 Census; Road Network File, 2016; and Census Population and Dwelling Count Highlight Tables, 2016 Census. This does not constitute an endorsement by Statistics Canada of this product",
+ "The following copyright notice applies to the use of Administrative Area: © 2006 – 2018 TomTom. All rights reserved. Adapted from Statistics Canada: Boundary Files, 2016 Census: Census Population and Dwelling Count Highlight Tables, 2016. This does not constitute an endorsement by Statistics Canada of this product.",
+ "The following copyright notice applies to the use of Post- FSA layer and 6-digit layer: © 2006 – 2018 TomTom. All rights reserved. This material is proprietary and the subject of copyright protection and other intellectual property rights owned or licensed to TomTom. The product includes information copied with permission from Canadian authorities, including © Canada Post Corporation, All rights reserved. The use of this material is subject to the terms of a License Agreement. You will be held liable for any unauthorized copying or disclosure of this material",
+ "The following copyright notice applies to the use of Points of Interest: © 2006 – 2018 TomTom. All rights reserved. Portions of the POI database contained in Points of Interest North America have been provided by Neustar Localeze",
+ "The following copyright notice applies to the use of Telecommunications: © 2017 Pitney Bowes. All rights reserved. In addition, for the following product layers Wire Center Boundaries, ILEC Boundaries, and Rate Center Boundaries, the following also applies: This product contains information and/or data of Telcordia Technologies, Inc. (Telcordia) licensed to be included herein.",
+ "The following copyright notice applies to the use of TomTom Traffic: Portions of the data have been provided by Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. © 2017. Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. All rights reserved.",
+ "This product contains address point data made available under the city of Vancouver’s Open Data framework as documented on August 6, 2012 in: vancouver.ca/open-government-licence Contains public sector Datasets made available under the City of Toronto's Open Data Licence v2.0. This is specified in their terms available here: http://www1.toronto.ca/wps/portal/contentonly?vgnextoid=4a37e03bb8d1e310VgnVCM10000071d60f89RCRD",
+ "Contains information licensed under the Open Government Licence – Strathcona County. For specifics, please reference: https://data.strathcona.ca/licence",
+ "Contains information licensed under the Open Government Licence – County of Grande Prairie. For specifics, please reference: http://www.countygp.ab.ca/EN/main/community/maps-gis/open-data/open-data-licence.html",
+ "Contains information licensed under the Open Government Licence – Canada. For specifics, please reference: http://open.canada.ca/en/open-government-licence-canada",
+ "Contains information licensed under the Calgary Regional Partnership Open Data Licence. For specifics, please reference: http://calgaryregion.ca/dam/Website/reports/General/GIS/Public-documents/Calgary-Regional-Partnership-Open-Data-Licence/Calgary%20Regional%20Partnership%20Open%20Data%20Licence.pdf Contains information licensed under the Open Government Licence – Banff. For specifics, please reference: http://www.banffopendata.ca/Home/About",
+ "Contains information licensed under the Open Data License – City of Grande Prairie. For specifics, please reference: http://www.cityofgp.com/index.aspx?page=2332",
+ "Contains information licensed under the Open Government Licence – City of Victoria. For specifics, please reference: http://www.victoria.ca/EN/main/city/open-data-catalogue/open-data-licence.html",
+ "Contains information licenced under the Open Government Licence - Halifax. For specifics, please reference: http://www.halifax.ca/opendata/OD_TermsOfUse.php",
+ "Contains information provided by the City of Guelph under an open government license. For specifics, please reference: http://data.open.guelph.ca/pages/open-government-licence",
+ "Contains information licensed under the Open Government Licence – Haldimand County. For specifics, please reference: http://opendata.haldimandcounty.on.ca/",
+ "Contains information provided by the City of Hamilton under an open government license. For specifics, please reference: http://www2.hamilton.ca/NR/rdonlyres/C58984A4-FE11-40B9-A231-8572EB922AAA/0/OpenDataTermsAndConditions_Final.html Contains information licensed under the Open Government Licence - Niagara Region. For specifics, please reference: http://www.niagararegion.ca/government/opendata/terms-of-use.aspx",
+ "Contains information licensed under the Open Government Licence — Town of Oakville. For specifics, please reference: http://www.oakville.ca/data/open_data_licence.html",
+ "Contains information licensed under the Open Government Licence - The Corporation of the City of Windsor. For specifics, please reference: http://www.citywindsor.ca/opendata/Documents/OpenDataTermsofUse.pdf",
+ "Contains information licensed under the Open Government Licence – City of Regina. For specifics, please reference: https://www.regina.ca/residents/open-government/open-government-licence/",
+ "Contains information licensed under the Open Government License - British Columbia. Contains information licensed under the Open Government License - City of Surrey. Contains public sector datasets made available under the City of Brandon's Open Data License. For specifics, please reference: http://opengov.brandon.ca/terms.aspx",
+ "Contains information licensed under the Open Government License - Winnipeg. For specifics, please reference: https://data.winnipeg.ca/open-data-licence",
+ "Contains information licensed under the GeoNB Open Data Licence. For specifics, please reference: http://geonb.snb.ca/documents/license/geonb-odl_en.pdf",
+ "Contains information licensed under the Open Government Licence - The Corporation of the Municipality of Chatham-Kent. Contains information licensed under the Open Government Licence - Niagara Region. For specifics, please referec: https://niagaraopendata.ca/pages/open-government-license-2-0-niagara-region",
+ "Contains information licensed under the Open Government Licence - City of Welland. Contains information licensed under the Open Government Licence - Prince Edward Island. For specifics, please reference: https://www.princeedwardisland.ca/en/information/finance/open-government-licence-prince-edward-island",
+ "Contains information licensed under the Open Government License - Kamloops. For specifics, please reference: http://www.kamloops.ca/maps/disclaimer.html",
+ "Contains information licensed under the Open Government License - Nanaimo. For specifics, please reference: http://www.nanaimo.ca/EN/main/departments/information-technology/DataCatalogue/Licence.html Contains information licensed under the Open Government License – City of New Westminster. For specifics, please reference: http://opendata.newwestcity.ca/licence",
+ "Contains information licensed under the Open Government License – City of Prince George. For specifics, please reference: http://pgmap.princegeorge.ca/opendata/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf",
+ "Contains Information licensed under the Open Government Licence – Brantford. For specifics, please reference: http://www.brantford.ca/govt/projects/opendata/Pages/OpenDataLicence.aspx",
+ "Contains data for Gatineau, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode",
+ "Contains data for Laval, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode",
+ "Contains data for Longueuil, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode",
+ "Contains data for Montreal, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode",
+ "Contains data for Rimouski, QC made available through Creative Commons Attribution 4.0 International. For specifics, please reference: https://creativecommons.org/licenses/by/4.0/legalcode"
+ ],
+ "country": {
+ "ISO3": "CAN",
+ "label": "Canada"
+ }
+ },
+ {
+ "copyrights": [
+ "© Swisstopo"
+ ],
+ "country": {
+ "ISO3": "CHE",
+ "label": "Switzerland"
+ }
+ },
+ {
+ "copyrights": [
+ "GeoBasis-DE/Geobasis NRW 2017"
+ ],
+ "country": {
+ "ISO3": "DEU",
+ "label": "Germany"
+ }
+ },
+ {
+ "copyrights": [
+ "© DAV, violation of these copyrights shall cause legal proceedings"
+ ],
+ "country": {
+ "ISO3": "DNK",
+ "label": "Denmark"
+ }
+ },
+ {
+ "copyrights": [
+ "© 2013-2018 TomTom-Nomago"
+ ],
+ "country": {
+ "ISO3": "DZA",
+ "label": "Algeria"
+ }
+ },
+ {
+ "copyrights": [
+ "This product contains cartographic information (geometry, street names, traffic flow) made available by Ajuntament de Lleida under legal terms available here: http://www.paeria.es/cas/avisLegal.asp",
+ "This product contains cartographic information (geometry, street names, traffic flow) made available by Ayuntamiento de Logroño under legal terms available here: http://web.logro-o.org/giswebpgm/ayuda/condicionesuso.html",
+ "This product contains address point data made available under the Gobierno de Navarra and offered under Creative Commons- Attribution (CC-by 3.0) license in: http://idena.navarra.es/busquedas/catalog/descargas/descargas.page",
+ "This product contains address point data made available by la Comunidad de Madrid with the product NomeCalles offered by El Instituto de Estadística de la Comunidad de Madrid in: http://www.madrid.org/nomecalles/DescargaBDTCorte.icm",
+ "This product contains address point data made available by la Dirección General del Catastro del Ministerio de Economía y Hacienda in: https://www.sedecatastro.gob.es/OVCFrames.aspx?TIPO=TIT&a=masiv",
+ "This product contains cartographic information (geometry, street names, traffic flow, address points) made available by Ajuntament de El Prat de Llobregat under legal terms available here: http://www.elprat.cat/plantilles/pr_re_mactfill_1c_imfl/_uGU6aDOKh21PMmm2WqoT4ZOhxsiMHAS0S7PZC2PCFqo",
+ "This product contains cartographic information (geometry, street names, traffic flow, address points) made available by Ayuntamiento de Valencia under legal terms available here: http://www.valencia.es/ayuntamiento/DatosAbiertos.nsf/vDocumentosTituloAux/Condiciones%20de%20uso?opendocument&lang=1&nivel=5&seccion=1",
+ "This product contains cartographic information (geometry, street names, traffic flow, address points) made available by Ajuntament de Sant Feu de Llobregat under legal terms available here: https://www.santfeliu.cat/common/misc/widget_container.faces?xmid=11796",
+ "This product contains cartographic information (geometry, street names, traffic flow) made available by Ayuntamiento de Vitoria-Gasteiz under Creative Commons Reconocimiento 3.0 España available here: TT#0041606-16 http://creativecommons.org/licenses/by/3.0/es/legalcode.es"
+ ],
+ "country": {
+ "ISO3": "ESP",
+ "label": "Spain"
+ }
+ },
+ {
+ "copyrights": [
+ "(navigation devices only) Michelin data © Michelin 2017 The following copyright applies to the Advanced Navigable MAP, Address Points, 2D City Map and Buildings: Source: Direction générale des Finances Publiques – Cadastre; Updated 2017"
+ ],
+ "country": {
+ "ISO3": "FRA",
+ "label": "France"
+ }
+ },
+ {
+ "copyrights": [
+ "Ordnance Survey of Northern Ireland",
+ "Contains Ordnance Survey data © Crown copyright and database right 2017",
+ "Code-Point® Open data; Contains Royal Mail data © Royal Mail copyright and database right 2017 Contains National Statistics data © Crown copyright and database right 2017"
+ ],
+ "country": {
+ "ISO3": "GBR",
+ "label": "United Kingdom"
+ }
+ },
+ {
+ "copyrights": [
+ "© Base data Bakosurtanal"
+ ],
+ "country": {
+ "ISO3": "IDN",
+ "label": "Indonesia"
+ }
+ },
+ {
+ "copyrights": [
+ "This product contains cartographic information (street names, address points) made available by the Regione Lombardia and offered under Italian Open Data License (IODL 2.0) http://www.dati.gov.it/iodl/2.0/) available at the following address: http://www.geoportale.regione.lombardia.it/en/i.i.t.-della-lombardia",
+ "This product contains cartographic information from Comune di Milano 1)– Servizio Sit e Statistica made available at https://geoportale.comune.milano.it/sit/open-data/ under license Creative Commons Attribution (CC BY 2,5) 2) Web portal available at https://www.comune.milano.it/wps/portal/ist/it/vivicitta/verde/parchi Under license Creative Commons Attribution (CC BY 3.0) (http://www.comune.milano.it/wps/portal/ist/it/extra/others/footer/legal)",
+ "This product contains cartographic information (street names, address points) made available by Regione Emilia Romagna and offered under Creative Commons Attribution (CC BY 2.5) available at following address http://geoportale.regione.emilia-romagna.it/it/catalogo/dati-cartografici/cartografia-di-base/database-topografico-regionale/gestione-viabilita-indirizzi/toponimi-e-numeri-civici This product contains cartographic information (street names, address points) made available by Comune di Torino and offered under Italian Open Data License (IODL 2.0) available at following address http://aperto.comune.torino.it/?q=node/504",
+ "This product contains cartographic information (street names, address points) made available by Regione Veneto and offered offered under Italian Open Data License (IODL 2.0) available at following address http://dati.veneto.it/dataset",
+ "This product contains cartographic information (street names, address points) made available by Regione Toscana and offered offered under under Creative Commons Attribution (CC BY 2.5), according to the legislation available at http://www.regione.toscana.it/documents/10180/492172/Decreto-2014_02_25n663.pdf/162db905-95fd-4b5e-bc41-88a629b5a3e5 and Regolamento http://raccoltanormativa.consiglio.regione.toscana.it/articolo?urndoc=urn:nir:regione.toscana:regolamento.giunta:2007-02-09;6/R&pr=idx,0;artic,1;articparziale,0, data available at following address http://dati.toscana.it/dataset/grafo-civici",
+ "This product contains cartographic information (area info) made available by Comune di Roma at http://dati.comune.roma.it/cms/it/dettaglio_ambiente.page?contentId=DTS5931 under license Creative Commons Attribution (CC BY 4.0)",
+ "This product contains data (house numbers, geographical and statistical info on administrative areas) made available under the Istituto Nazionale di Statistica and offered under Creative Commons- Attribution (CC-by 3.0) license in: http://www.istat.it/it/archivio/678 and http://datiopen.istat.it/",
+ "This product contains address point data made available under the Comune di Verona in: http://www.comune.verona.it/nqcontent.cfm?a_id=37426",
+ "This product contains address point data made available under the Comune di Vicenza in: http://www.comune.vicenza.it/servizi/opendata.php/76184",
+ "This product contains address point data from Comune di Milano – Servizio Sit e Statistica This product contains address point data made available under the Provincia di Biella in: http://cartografia.provincia.biella.it/on-line/Home/Repertorio/Consultazione/articolo3000217.html",
+ "This product contains address point data made available by Comune di Torino and offered under Italian Open Data License (IODL 2.0) available at following address http://aperto.comune.torino.it/?q=node/504",
+ "This product contains address point data made available under the Comune di Firenze and offered under Creative Commons- Attribution (CC-by 3.0) license in: http://opendata.comune.fi.it/statistica_territorio/dataset_0040.html",
+ "This product contains address point data made available by Regione Emilia Romagna and offered under Creative Commons Attribution (CC BY 2.5) available at following address http://geoportale.regione.emilia-romagna.it/it/catalogo/dati-cartografici/cartografia-di-base/database-topografico-regionale/gestione-viabilita-indirizzi/toponimi-e-numeri-civici",
+ "This product contains address point data made available by Regione Toscana and offered under Creative Commons Attribution (CC BY 2.5), according to the legislation available at http://www.regione.toscana.it/documents/10180/492172/Decreto-2014_02_25n663.pdf/162db905-95fd-4b5e-bc41-88a629b5a3e5 and Regolamento http://raccoltanormativa.consiglio.regione.toscana.it/articolo?urndoc=urn:nir:regione.toscana:regolamento.giunta:2007-02-09;6/R&pr=idx,0;artic,1;articparziale,0, data available at following address http://dati.toscana.it/dataset/grafo-civici",
+ "This product contains address point data made available by Regione Veneto and offered offered under Italian Open Data License (IODL 2.0) available at following address http://dati.veneto.it/dataset",
+ "This product contains address point data made available by Regione Autonoma Friuli Venezia Giulia and offered under ITALIA OPEN DATA LICENSE V2.0 (IODL 2.0). Data are available at following address : http://www.regione.fvg.it/rafvg/cms/RAFVG/ambiente-territorio/conoscere-ambiente-territorio/",
+ "This product contains address point data made available by Regione Umbria and offered under CCBY License. Data are available at following address : http://www.umbriageo.regione.umbria.it/pagine/servizi-wms-attivi?permalink=servizi-wms-attivi&permalink=servizi-wms-attivi This product contains address point data made available by Regione Lombardia and offered under Italian Open Data License (IODL 2.0 http://www.dati.gov.it/iodl/2.0/) available at the following address: http://www.geoportale.regione.lombardia.it/en/i.i.t.-della-lombardia"
+ ],
+ "country": {
+ "ISO3": "ITA",
+ "label": "Italy"
+ }
+ },
+ {
+ "copyrights": [
+ "© Royal Jordanian Geographic center"
+ ],
+ "country": {
+ "ISO3": "JOR",
+ "label": "Jordan"
+ }
+ },
+ {
+ "copyrights": [
+ "© Shobunsha Publications, Inc. © Shobunsha"
+ ],
+ "country": {
+ "ISO3": "JPN",
+ "label": "Japan"
+ }
+ },
+ {
+ "copyrights": [
+ "Based upon electronic data © Mappers Co., Ltd. All rights reserved"
+ ],
+ "country": {
+ "ISO3": "KOR",
+ "label": "Republic of Korea"
+ }
+ },
+ {
+ "copyrights": [
+ "© FICHIER DE BASE DES ADRESSES GEOCODEES : ADM. DU CADASTRE ET DE LA TOPOGRAPHIE (2017) [© File taken from the database of geocoded addresses: Land Registry and Topography Administration (2017)]"
+ ],
+ "country": {
+ "ISO3": "LUX",
+ "label": "Luxembourg"
+ }
+ },
+ {
+ "copyrights": [
+ "Macao Special Administrative Region Government – Cartography and Cadastre Bureau",
+ "This product contains Road Geometry data made available by Macao Special Administrative Region Government – Cartography and Cadastre Bureau: http://www.dscc.gov.mo/ENG/copyright.html"
+ ],
+ "country": {
+ "ISO3": "MAC",
+ "label": "Macao"
+ }
+ },
+ {
+ "copyrights": [
+ "The following copyright notice applies to the use of TomTom Traffic: Portions of the data have been provided by Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. © 2017. Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. All rights reserved."
+ ],
+ "country": {
+ "ISO3": "MEX",
+ "label": "Mexico"
+ }
+ },
+ {
+ "copyrights": [
+ "This product includes data from Mapping Unit, Malta Environment and Planning Authority and licensed on behalf of them or © Mapping Unit, Malta Environment and Planning Authority"
+ ],
+ "country": {
+ "ISO3": "MLT",
+ "label": "Malta"
+ }
+ },
+ {
+ "copyrights": [
+ "Topografische onderground Copyright © dienst voor het kadaster en de openbare registers, Apeldoorn 2017"
+ ],
+ "country": {
+ "ISO3": "NLD",
+ "label": "Netherlands"
+ }
+ },
+ {
+ "copyrights": [
+ "Contains data under the Norwegian licence for Open Government data (NLOD) distributed by Statens Vegvesen"
+ ],
+ "country": {
+ "ISO3": "NOR",
+ "label": "Norway"
+ }
+ },
+ {
+ "copyrights": [
+ "This product contains cartographic information (geometry, street names) made available by LINZ and sourced from the LINZ Data Service and licensed under the Creative Commons Attribution 3.0 New Zealand license",
+ "This product contains cartographic information (geometry) made with the help of Aerial Imagery made available by LINZ and sourced from the LINZ Data Service and licensed by various government agencies for re-use under the Creative Commons Attribution 3.0 New Zealand license",
+ "This product contains cartographic information (crash data) made available by New Zealand Transport Agency licensed under CC-BY 3.0 NZL. Further information here: http://www.nzta.govt.nz/resources/grouped-crash-sites",
+ "This product contains cartographic information (geometry, lane information, street names) made available by New Zealand Transport Agency on agreement on a case by case basis. Further information here: https://www.nzta.govt.nz/about-us/about-this-site#privacy https://www.nzta.govt.nz/projects/",
+ "This product contains address point data made available in the New Zealand Address Dataset which is sourced from New Zealand Post and Land Information New Zealand (LINZ). New Zealand Post copyright reserved. Data sourced from LINZ Data Service is subject to Creative Commons Attribution 3.0 New Zealand license"
+ ],
+ "country": {
+ "ISO3": "NZL",
+ "label": "New Zealand"
+ }
+ },
+ {
+ "copyrights": [
+ "This product contains postal code data of Poşta Română made available under Open Government License: http://data.gov.ro/base/images/logoinst/OGL-ROU-1.0.pdf http://data.gov.ro/dataset/coduri-postale-romania"
+ ],
+ "country": {
+ "ISO3": "ROU",
+ "label": "Romania"
+ }
+ },
+ {
+ "copyrights": [
+ "© ROSREESTR"
+ ],
+ "country": {
+ "ISO3": "RUS",
+ "label": "Russian Federation"
+ }
+ },
+ {
+ "copyrights": [
+ "The following copyright notice applies to the use of Points of Interest: © 2006 – 2018 TomTom. All rights reserved. Portions of the POI database contained in Points of Interest North America have been provided by Neustar Localeze",
+ "The following copyright notice applies to the use of Telecommunications: © 2017 Pitney Bowes. All rights reserved. In addition, for the following product layers Wire Center Boundaries, ILEC Boundaries, and Rate Center Boundaries, the following also applies: This product contains information and/or data of Telcordia Technologies, Inc. (Telcordia) licensed to be included herein.",
+ "The following copyright notice applies to the use of TomTom Traffic: Portions of the data have been provided by Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. © 2017. Total Traffic & Weather Network, a division of iHeartMedia + Entertainment, Inc. All rights reserved.",
+ "© United States Postal Service 2017",
+ "Contains data made available by the Rhode Island Geographic Information System (RIGIS) consortium, the State of Rhode Island, and the University of Rhode Island. For specifics, please reference: http://www.rigis.org/information",
+ "Contains Address Points data made available by State of Maryland and MD iMAP. For specifics, please reference: http://imap.maryland.gov."
+ ],
+ "country": {
+ "ISO3": "USA",
+ "label": "United States"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/maps/data-plane/Render/preview/2.1/render.json b/specification/maps/data-plane/Render/preview/2.1/render.json
index 4ba3549001c9..78f775c0d62b 100644
--- a/specification/maps/data-plane/Render/preview/2.1/render.json
+++ b/specification/maps/data-plane/Render/preview/2.1/render.json
@@ -18,15 +18,21 @@
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
"https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "AzureKey": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
+ "in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
"in": "header"
}
},
@@ -37,7 +43,10 @@
]
},
{
- "AzureKey": []
+ "SharedKey": []
+ },
+ {
+ "SasToken": []
}
],
"responses": {},
@@ -56,10 +65,11 @@
"/map/tile": {
"get": {
"description": "**Applies to**: S0 and S1 pricing tiers.\n\nThe Get Map Tiles API allows users to request map tiles in vector or raster formats typically to be integrated into a map control or SDK. Some example tiles that can be requested are Azure Maps road tiles, real-time Weather Radar tiles or the map tiles created using [Azure Maps Creator](https://aka.ms/amcreator). By default, Azure Maps uses vector tiles for its web map control (Web SDK) and Android SDK.",
- "operationId": "GetMapTileV2",
+ "operationId": "RenderV2_GetMapTile",
+ "x-ms-client-name": "GetMapTile",
"x-ms-examples": {
- "GetMapTile": {
- "$ref": "./examples/GetMapTileV2.json"
+ "Successful Tile Request": {
+ "$ref": "./examples/SuccessfulTileRequest.json"
}
},
"parameters": [
@@ -73,7 +83,7 @@
"$ref": "../2.0/render.json#/parameters/TilesetId_rv2"
},
{
- "$ref": "../2.0/render.json#/parameters/MapTileV2Zoom"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/zTileIndex"
},
{
"$ref": "../../../Common/preview/1.0/common.json#/parameters/xTileIndex"
@@ -89,28 +99,7 @@
"type": "string"
},
{
- "name": "tileSize",
- "in": "query",
- "description": "The size of the returned map tile in pixels.",
- "type": "string",
- "enum": [
- "256",
- "512"
- ],
- "x-ms-enum": {
- "name": "TileSize",
- "modelAsString": true,
- "values": [
- {
- "value": "256",
- "description": "Return a 256 by 256 pixel tile. Available for all tilesetIds except for\n* microsoft.terra.main"
- },
- {
- "value": "512",
- "description": "Return a 512 by 512 pixel tile. Available for all tilesetIds except for \n* microsoft.weather.radar.main\n* microsoft.weather.infrared.main\n* microsoft.base.hybrid\n* microsoft.dem\n* microsoft.imagery"
- }
- ]
- }
+ "$ref": "../1.0/render.json#/parameters/MapTileSize"
},
{
"$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
@@ -130,9 +119,7 @@
"200": {
"description": "The tile returned from a successful API call.",
"schema": {
- "type": "object",
- "format": "file",
- "readOnly": true
+ "$ref": "../2.0/render.json#/definitions/MapTile"
},
"headers": {
"Content-Type": {
@@ -150,10 +137,10 @@
"/map/tileset": {
"get": {
"description": "**Applies to**: S0 and S1 pricing tiers.\n\nThe Get Map Tileset API allows users to request metadata for a tileset.",
- "operationId": "GetMapTileset",
+ "operationId": "RenderV2_GetMapTileset",
"x-ms-examples": {
- "GetMapTileset": {
- "$ref": "./examples/GetMapTilesetV2.json"
+ "Successful Tileset Request": {
+ "$ref": "./examples/SuccessfulTilesetRequest.json"
}
},
"parameters": [
@@ -174,7 +161,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/MapTilesetResultV2"
+ "$ref": "#/definitions/MapTileset"
}
},
"default": {
@@ -186,10 +173,10 @@
"/map/attribution": {
"get": {
"description": "**Applies to**: S0 and S1 pricing tiers.\n\nThe Get Map Attribution API allows users to request map copyright attribution information for a section of a tileset.",
- "operationId": "GetMapAttribution",
+ "operationId": "RenderV2_GetMapAttribution",
"x-ms-examples": {
- "GetMapAttribution": {
- "$ref": "./examples/GetMapAttributionV2.json"
+ "Successful Attribution Request": {
+ "$ref": "./examples/SuccessfulAttributionRequest.json"
}
},
"parameters": [
@@ -203,7 +190,13 @@
"$ref": "../2.0/render.json#/parameters/TilesetId_rv2"
},
{
- "$ref": "../2.0/render.json#/parameters/MapTileV2Zoom"
+ "name": "zoom",
+ "in": "query",
+ "description": "Zoom level for the desired map attribution.",
+ "required": true,
+ "type": "integer",
+ "format": "int32",
+ "x-ms-parameter-location": "method"
},
{
"name": "bounds",
@@ -213,7 +206,8 @@
"type": "array",
"collectionFormat": "csv",
"items": {
- "type": "string"
+ "type": "number",
+ "format": "double"
}
}
],
@@ -224,7 +218,396 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/MapAttributionResultV2"
+ "$ref": "#/definitions/MapAttribution"
+ }
+ },
+ "default": {
+ "$ref": "../../../Common/preview/1.0/common.json#/responses/default"
+ }
+ }
+ }
+ },
+ "/map/statetile": {
+ "get": {
+ "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nFetches state tiles in vector format typically to be integrated into indoor maps module of map control or SDK. The map control will call this API after user turns on dynamic styling (see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid))",
+ "operationId": "RenderV2_GetMapStateTile",
+ "x-ms-examples": {
+ "Successful State Tile Request": {
+ "$ref": "./examples/SuccessfulStateTileRequest.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/zTileIndex"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/xTileIndex"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/yTileIndex"
+ },
+ {
+ "name": "statesetId",
+ "in": "query",
+ "description": "The stateset id.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "produces": [
+ "application/vnd.mapbox-vector-tile",
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "This tile is returned from a successful Get Map State Tile call",
+ "schema": {
+ "$ref": "../2.0/render.json#/definitions/MapTile"
+ },
+ "headers": {
+ "Content-Type": {
+ "type": "string",
+ "description": "The content-type for the response."
+ }
+ }
+ },
+ "default": {
+ "$ref": "../../../Common/preview/1.0/common.json#/responses/default"
+ }
+ }
+ }
+ },
+ "/map/copyright/caption/{format}": {
+ "get": {
+ "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile \nservice. In addition to basic copyright for the whole map, API is serving \nspecific groups of copyrights for some countries.\n\nAs an alternative to copyrights for map request, one can receive captions\nfor displaying the map provider information on the map.",
+ "operationId": "RenderV2_GetCopyrightCaption",
+ "x-ms-examples": {
+ "Successful Copyright Caption Request": {
+ "$ref": "./examples/SuccessfulCopyrightCaptionRequest.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "../1.0/render.json#/definitions/CopyrightCaption"
+ }
+ },
+ "default": {
+ "$ref": "../../../Common/preview/1.0/common.json#/responses/default"
+ }
+ }
+ }
+ },
+ "/map/static/{format}": {
+ "get": {
+ "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nThe static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The static image service renders a user-defined, rectangular image containing a map section using a zoom level from 0 to 20. The supported resolution range for the map image is from 1x1 to 8192x8192. If you are deciding when to use the static image service over the map tile service, you may want to consider how you would like to interact with the rendered map. If the map contents will be relatively unchanging, a static map is a good choice. If you want to support a lot of zooming, panning and changing of the map content, the map tile service would be a better choice. \n\nService also provides Image Composition functionality to get a static image back with additional data like; pushpins and geometry overlays with following S0 and S1 capabilities. \n\nIn S0 you can:\n- Render up to 5 pushpins specified in the request\n- Provide one custom image for the pins referenced in the request\n- Add labels to the pushpins\n\nIn S1 you can:\n- Render pushpins through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n- Specify multiple pushpin styles\n- Render circle, polyline and polygon geometry types.\n- Render of supported GeoJSON geometry types uploaded through [Azure Maps Data Service](https://aka.ms/AzureMapsMapDataService)\n\nPlease see [How-to-Guide](https://aka.ms/AzureMapsHowToGuideImageCompositor) for detailed examples.\n\n_Note_ : Either **center** or **bbox** parameter must be supplied to the\nAPI.\n
\nThe supported Lat and Lon ranges when using the **bbox** parameter, are as follows:\n
\n\n |Zoom Level | Max Lon Range | Max Lat Range|\n |:----------|:----------------|:-------------|\n |0 | 360.0 | 170.0 | \n |1 | 360.0 | 170.0 |\n |2 | 360.0 | 170.0 |\n |3 | 360.0 | 170.0 |\n |4 | 360.0 | 170.0 |\n |5 | 180.0 | 85.0 |\n |6 | 90.0 | 42.5 |\n |7 | 45.0 | 21.25 |\n |8 | 22.5 | 10.625 |\n |9 | 11.25 | 5.3125 |\n |10 | 5.625 | 2.62625 |\n |11 | 2.8125 | 1.328125 |\n |12 | 1.40625 | 0.6640625 |\n |13 | 0.703125 | 0.33203125 |\n |14 | 0.3515625 | 0.166015625 |\n |15 | 0.17578125 | 0.0830078125 | \n |16 | 0.087890625 | 0.0415039063 | \n |17 | 0.0439453125 | 0.0207519531 |\n |18 | 0.0219726563 | 0.0103759766 |\n |19 | 0.0109863281 | 0.0051879883 |\n |20 | 0.0054931641 | 0.0025939941 |",
+ "operationId": "RenderV2_GetMapStaticImage",
+ "x-ms-examples": {
+ "Successful Static Image Request": {
+ "$ref": "./examples/SuccessfulStaticImageRequest.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../1.0/render.json#/parameters/RasterTileFormat"
+ },
+ {
+ "name": "layer",
+ "in": "query",
+ "description": "Map layer requested. If layer is set to labels or hybrid, the format should be png.",
+ "type": "string",
+ "enum": [
+ "basic",
+ "hybrid",
+ "labels"
+ ],
+ "x-ms-enum": {
+ "name": "StaticMapLayer",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "basic",
+ "description": "Returns an image containing all map features including polygons, borders, roads and labels."
+ },
+ {
+ "value": "hybrid",
+ "description": "Returns an image containing borders, roads, and labels, and can be overlaid on other tiles (such as satellite imagery) to produce hybrid tiles."
+ },
+ {
+ "value": "labels",
+ "description": "Returns an image of just the map's label information."
+ }
+ ]
+ }
+ },
+ {
+ "name": "style",
+ "in": "query",
+ "description": "Map style to be returned. Possible values are main and dark.",
+ "type": "string",
+ "enum": [
+ "main",
+ "dark"
+ ],
+ "x-ms-enum": {
+ "name": "MapImageStyle",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "main",
+ "description": "Azure Maps main style"
+ },
+ {
+ "value": "dark",
+ "description": "Dark grey version of the Azure Maps main style"
+ }
+ ]
+ }
+ },
+ {
+ "name": "zoom",
+ "in": "query",
+ "description": "Desired zoom level of the map. Zoom value must be in the range: 0-20 (inclusive). Default value is 12.
Please see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 20
+ },
+ {
+ "name": "center",
+ "in": "query",
+ "description": "Coordinates of the center point. Format: 'lon,lat'. Projection used\n- EPSG:3857. Longitude range: -180 to 180. Latitude range: -85 to 85. \n\nNote: Either center or bbox are required parameters. They are\nmutually exclusive.",
+ "type": "array",
+ "collectionFormat": "csv",
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ {
+ "name": "bbox",
+ "x-ms-client-name": "boundingBox",
+ "in": "query",
+ "description": "Bounding box. Projection used - EPSG:3857. Format : 'minLon, minLat,\nmaxLon, maxLat'. \n\nNote: Either bbox or center are required\nparameters. They are mutually exclusive. It shouldn’t be used with\nheight or width.\n\nThe maximum allowed ranges for Lat and Lon are defined for each zoom level\nin the table at the top of this page.",
+ "type": "array",
+ "collectionFormat": "csv",
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ {
+ "name": "height",
+ "in": "query",
+ "description": "Height of the resulting image in pixels. Range is 1 to 8192. Default\nis 512. It shouldn’t be used with bbox.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 8192
+ },
+ {
+ "name": "width",
+ "in": "query",
+ "description": "Width of the resulting image in pixels. Range is 1 to 8192. Default is 512. It shouldn’t be used with bbox.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 8192
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/View"
+ },
+ {
+ "name": "pins",
+ "description": "Pushpin style and instances. Use this parameter to optionally add pushpins to the image.\nThe pushpin style describes the appearance of the pushpins, and the instances specify\nthe coordinates of the pushpins and optional labels for each pin. (Be sure to properly URL-encode values of this\nparameter since it will contain reserved characters such as pipes and punctuation.)\n\nThe Azure Maps account S0 SKU only supports a single instance of the pins parameter. Other SKUs\nallow multiple instances of the pins parameter to specify multiple pin styles.\n\nTo render a pushpin at latitude 45°N and longitude 122°W using the default built-in pushpin style, add the\nquerystring parameter \n\n`pins=default||-122 45` \n\nNote that the longitude comes before the latitude.\nAfter URL encoding this will look like\n\n`pins=default%7C%7C-122+45`\n\nAll of the examples here show the pins\nparameter without URL encoding, for clarity.\n\nTo render a pin at multiple locations, separate each location with a pipe character. For example, use\n\n`pins=default||-122 45|-119.5 43.2|-121.67 47.12`\n\nThe S0 Azure Maps account SKU only allows five pushpins. Other account SKUs do not have this limitation.\n\n### Style Modifiers\n\nYou can modify the appearance of the pins by adding style modifiers. These are added after the style but before\nthe locations and labels. Style modifiers each have a two-letter name. These abbreviated names are used to help\nreduce the length of the URL.\n\nTo change the color of the pushpin, use the 'co' style modifier and specify the color using the HTML/CSS RGB color\nformat which is a six-digit hexadecimal number (the three-digit form is not supported). For example, to use\na deep pink color which you would specify as #FF1493 in CSS, use\n\n`pins=default|coFF1493||-122 45`\n\n### Pushpin Labels\n\nTo add a label to the pins, put the label in single quotes just before the coordinates. For example, to label\nthree pins with the values '1', '2', and '3', use\n\n`pins=default||'1'-122 45|'2'-119.5 43.2|'3'-121.67 47.12`\n\nThere is a built in pushpin style called 'none' that does not display a pushpin image. You can use this if\nyou want to display labels without any pin image. For example,\n\n`pins=none||'A'-122 45|'B'-119.5 43.2`\n\nTo change the color of the pushpin labels, use the 'lc' label color style modifier. For example, to use pink\npushpins with black labels, use\n\n`pins=default|coFF1493|lc000000||-122 45`\n\nTo change the size of the labels, use the 'ls' label size style modifier. The label size represents the approximate\nheight of the label text in pixels. For example, to increase the label size to 12, use\n\n`pins=default|ls12||'A'-122 45|'B'-119 43`\n\nThe labels are centered at the pushpin 'label anchor.' The anchor location is predefined for built-in pushpins and\nis at the top center of custom pushpins (see below). To override the label anchor, using the 'la' style modifier\nand provide X and Y pixel coordinates for the anchor. These coordinates are relative to the top left corner of the\npushpin image. Positive X values move the anchor to the right, and positive Y values move the anchor down. For example,\nto position the label anchor 10 pixels right and 4 pixels above the top left corner of the pushpin image,\nuse\n\n`pins=default|la10 -4||'A'-122 45|'B'-119 43`\n\n### Custom Pushpins\n\nTo use a custom pushpin image, use the word 'custom' as the pin style name, and then specify a URL after the\nlocation and label information. Use two pipe characters to indicate that you're done specifying locations and are\nstarting the URL. For example,\n\n`pins=custom||-122 45||http://contoso.com/pushpins/red.png`\n\nAfter URL encoding, this would look like\n\n`pins=custom%7C%7C-122+45%7C%7Chttp%3A%2F%2Fcontoso.com%2Fpushpins%2Fred.png`\n\nBy default, custom pushpin images are drawn centered at the pin coordinates. This usually isn't ideal as it obscures\nthe location that you're trying to highlight. To override the anchor location of the pin image, use the 'an'\nstyle modifier. This uses the same format as the 'la' label anchor style modifier. For example, if your custom\npin image has the tip of the pin at the top left corner of the image, you can set the anchor to that spot by\nusing\n\n`pins=custom|an0 0||-122 45||http://contoso.com/pushpins/red.png`\n\nNote: If you use the 'co' color modifier with a custom pushpin image, the specified color will replace the RGB \nchannels of the pixels in the image but will leave the alpha (opacity) channel unchanged. This would usually\nonly be done with a solid-color custom image.\n\n### Getting Pushpins from Azure Maps Data Storage\n\nFor all Azure Maps account SKUs other than S0,\nthe pushpin location information can be obtained from Azure Maps Data Storage. After uploading a GeoJSON document containing pin locations, the Data Storage service returns a Unique Data ID (UDID) that you can use\nto reference the data in the pins parameter.\n\nTo use the point geometry from an uploaded GeoJSON document as the pin locations, specify the UDID in the locations\nsection of the pins parameter. For example,\n\n`pins=default||udid-29dc105a-dee7-409f-a3f9-22b066ae4713`\n\nNote that\nonly point and multipoint geometry, points and multipoints from geometry collections, and point geometry from features\nwill be used. Linestring and polygon geometry will be ignored. If the point comes from a feature and the feature\nhas a string property called \"label\", the value of that property will be used as the label for the pin.\n\nYou can mix pin locations from Data Storage and pin locations specified in the pins parameter. Any of the pipe-delimited\npin locations can be a longitude and latitude or a UDID. For example,\n\n`pins=default||-122 45|udid-29dc105a-dee7-409f-a3f9-22b066ae4713|-119 43`\n\n### Scale, Rotation, and Opacity\n\nYou can make pushpins and their labels larger or smaller by using the 'sc' scale style modifier. This is a\nvalue greater than zero. A value of 1 is the standard scale. Values larger than 1 will make the pins larger, and\nvalues smaller than 1 will make them smaller. For example, to draw the pushpins 50% larger than normal, use\n\n`pins=default|sc1.5||-122 45`\n\nYou can rotate pushpins and their labels by using the 'ro' rotation style modifier. This is a number of degrees\nof clockwise rotation. Use a negative number to rotate counter-clockwise. For example, to rotate the pushpins\n90 degrees clockwise and double their size, use\n\n`pins=default|ro90|sc2||-122 45`\n\nYou can make pushpins and their labels partially transparent by specifying the 'al' alpha style modifier.\nThis is a number between 0 and 1 indicating the opacity of the pushpins. Zero makes them completely transparent\n(and not visible) and 1 makes them completely opaque (which is the default). For example, to make pushpins\nand their labels only 67% opaque, use\n\n`pins=default|al.67||-122 45`\n\n### Style Modifier Summary\n\nModifier | Description | Range \n:--------:|-----------------|------------------\nal | Alpha (opacity) | 0 to 1 \nan | Pin anchor | * \nco | Pin color | 000000 to FFFFFF \nla | Label anchor | * \nlc | Label color | 000000 to FFFFFF \nls | Label size | Greater than 0 \nro | Rotation | -360 to 360 \nsc | Scale | Greater than 0 \n\n* X and Y coordinates can be anywhere within pin image or a margin around it.\nThe margin size is the minimum of the pin width and height.",
+ "in": "query",
+ "type": "array",
+ "collectionFormat": "multi",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "path",
+ "description": "Path style and locations. Use this parameter to optionally add lines, polygons or circles to the image.\nThe path style describes the appearance of the line and fill. (Be sure to properly URL-encode values of this\nparameter since it will contain reserved characters such as pipes and punctuation.)\n\nPath parameter is supported in Azure Maps account SKU starting with S1. Multiple instances of the path parameter \nallow to specify multiple geometries with their styles. Number of parameters per request is limited to 10 and\nnumber of locations is limited to 100 per path.\n\nTo render a circle with radius 100 meters and center point at latitude 45°N and longitude 122°W using the default style, add the\nquerystring parameter \n\n`path=ra100||-122 45` \n\nNote that the longitude comes before the latitude.\nAfter URL encoding this will look like\n\n`path=ra100%7C%7C-122+45`\n\nAll of the examples here show the path parameter without URL encoding, for clarity.\n\nTo render a line, separate each location with a pipe character. For example, use\n\n`path=||-122 45|-119.5 43.2|-121.67 47.12`\n\nTo render a polygon, last location must be equal to the start location. For example, use\n\n`path=||-122 45|-119.5 43.2|-121.67 47.12|-122 45`\n\nLongitude and latitude values for locations of lines and polygons can be in the range from -360 to 360 to allow for rendering of geometries crossing the anti-meridian.\n\n### Style Modifiers\n\nYou can modify the appearance of the path by adding style modifiers. These are added before the locations. \nStyle modifiers each have a two-letter name. These abbreviated names are used to help reduce the length\nof the URL.\n\nTo change the color of the outline, use the 'lc' style modifier and specify the color using the HTML/CSS RGB color\nformat which is a six-digit hexadecimal number (the three-digit form is not supported). For example, to use\na deep pink color which you would specify as #FF1493 in CSS, use\n\n`path=lcFF1493||-122 45|-119.5 43.2`\n\nMultiple style modifiers may be combined together to create a more complex visual style.\n\n`lc0000FF|lw3|la0.60|fa0.50||-122.2 47.6|-122.2 47.7|-122.3 47.7|-122.3 47.6|-122.2 47.6`\n\n### Getting Path locations from Azure Maps Data Storage\n\nFor all Azure Maps account SKUs other than S0, the path location information can be obtained from Azure Maps Data Storage. \nAfter uploading a GeoJSON document containing path locations, the Data Storage service returns a Unique Data ID (UDID) that you can use\nto reference the data in the path parameter.\n\nTo use the point geometry from an uploaded GeoJSON document as the path locations, specify the UDID in the locations\nsection of the path parameter. For example,\n\n`path=||udid-29dc105a-dee7-409f-a3f9-22b066ae4713`\n\nNote the it is not allowed to mix path locations from Data Storage with locations specified in the path parameter. \n\n### Style Modifier Summary\n\nModifier | Description | Range \n:--------:|------------------------|------------------\nlc | Line color | 000000 to FFFFFF\nfc | Fill color | 000000 to FFFFFF\nla | Line alpha (opacity) | 0 to 1 \nfa | Fill alpha (opacity) | 0 to 1 \nlw | Line width | Greater than 0 \nra | Circle radius (meters) | Greater than 0",
+ "in": "query",
+ "type": "array",
+ "collectionFormat": "multi",
+ "items": {
+ "type": "string"
+ }
+ }
+ ],
+ "produces": [
+ "application/json",
+ "image/jpeg",
+ "image/png",
+ "image/pbf",
+ "application/vnd.mapbox-vector-tile"
+ ],
+ "responses": {
+ "200": {
+ "description": "This image is returned from a successful Get Map Static Image call",
+ "schema": {
+ "type": "object",
+ "format": "file",
+ "readOnly": true
+ },
+ "headers": {
+ "Content-Type": {
+ "type": "string",
+ "description": "The content-type for the response."
+ }
+ }
+ },
+ "default": {
+ "$ref": "../../../Common/preview/1.0/common.json#/responses/default"
+ }
+ }
+ }
+ },
+ "/map/copyright/bounding/{format}": {
+ "get": {
+ "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nReturns copyright information for a given bounding box. Bounding-box requests should specify the minimum and maximum longitude and latitude (EPSG-3857) coordinates",
+ "operationId": "RenderV2_GetCopyrightFromBoundingBox",
+ "x-ms-examples": {
+ "SuccessfulBoundingBoxCopyrightRequest": {
+ "$ref": "./examples/SuccessfulBoundingBoxCopyrightRequest.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../1.0/render.json#/parameters/BoundingBoxSouthWest"
+ },
+ {
+ "$ref": "../1.0/render.json#/parameters/BoundingBoxNorthEast"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/IncludeText"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "../1.0/render.json#/definitions/Copyright"
+ }
+ },
+ "default": {
+ "$ref": "../../../Common/preview/1.0/common.json#/responses/default"
+ }
+ }
+ }
+ },
+ "/map/copyright/tile/{format}": {
+ "get": {
+ "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for a given tile. To obtain the copyright information for a particular tile, the request should specify the tile's zoom level and x and y coordinates (see: Zoom Levels and Tile Grid).",
+ "operationId": "RenderV2_GetCopyrightForTile",
+ "x-ms-examples": {
+ "Successful Tile Copyright Request": {
+ "$ref": "./examples/SuccessfulTileCopyrightRequest.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/zTileIndex"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/xTileIndex"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/yTileIndex"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/IncludeText"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "../1.0/render.json#/definitions/Copyright"
+ }
+ },
+ "default": {
+ "$ref": "../../../Common/preview/1.0/common.json#/responses/default"
+ }
+ }
+ }
+ },
+ "/map/copyright/world/{format}": {
+ "get": {
+ "description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nCopyrights API is designed to serve copyright information for Render Tile service. In addition to basic copyright for the whole map, API is serving specific groups of copyrights for some countries.\nReturns the copyright information for the world. To obtain the default copyright information for the whole world, do not specify a tile or bounding box.",
+ "operationId": "RenderV2_GetCopyrightForWorld",
+ "x-ms-examples": {
+ "Successful World Copyright Request": {
+ "$ref": "./examples/SuccessfulWorldCopyrightRequest.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
+ },
+ {
+ "$ref": "#/parameters/ApiVersion"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/IncludeText"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "../1.0/render.json#/definitions/Copyright"
}
},
"default": {
@@ -235,13 +618,7 @@
}
},
"definitions": {
- "MapTileResultv2": {
- "description": "The tile returned from a successful API call.",
- "type": "object",
- "format": "file",
- "readOnly": true
- },
- "MapTilesetResultV2": {
+ "MapTileset": {
"description": "Metadata for a tileset in the TileJSON format.",
"type": "object",
"readOnly": true,
@@ -249,24 +626,24 @@
"tilejson": {
"type": "string",
"pattern": "\\d+\\.\\d+\\.\\d+\\w?[\\w\\d]*",
- "description": "Version of the TileJSON spec."
+ "description": "Describes the version of the TileJSON spec that is implemented by this JSON object."
},
"name": {
"type": "string",
- "description": "Name of the tileset."
+ "description": "A name describing the tileset. The name can contain any legal character. Implementations SHOULD NOT interpret the name as HTML."
},
"description": {
"type": "string",
- "description": "Text description of the tileset."
+ "description": "Text description of the tileset. The description can contain any legal character. Implementations SHOULD NOT interpret the description as HTML."
},
"version": {
"type": "string",
"pattern": "\\d+\\.\\d+\\.\\d+\\w?[\\w\\d]*",
- "description": "A semver.org style version number for the tiles contained within the tileset."
+ "description": "A semver.org style version number for the tiles contained within the tileset. When changes across tiles are introduced, the minor version MUST change."
},
"attribution": {
"type": "string",
- "description": "Copyright attribution to be displayed on the map."
+ "description": "Copyright attribution to be displayed on the map. Implementations MAY decide to treat this as HTML or literal text. For security reasons, make absolutely sure that this field can't be abused as a vector for XSS or beacon tracking."
},
"template": {
"type": "string",
@@ -274,18 +651,18 @@
},
"legend": {
"type": "string",
- "description": "A legend to be displayed with the map."
+ "description": "A legend to be displayed with the map. Implementations MAY decide to treat this as HTML or literal text. For security reasons, make absolutely sure that this field can't be abused as a vector for XSS or beacon tracking."
},
"scheme": {
"type": "string",
- "description": "Default: \"xyz\". Either \"xyz\" or \"tms\". Influences the y direction of the tile coordinates."
+ "description": "Default: \"xyz\". Either \"xyz\" or \"tms\". Influences the y direction of the tile coordinates. The global-mercator (aka Spherical Mercator) profile is assumed."
},
"tiles": {
"type": "array",
"items": {
"type": "string"
},
- "description": "An array of tile endpoints."
+ "description": "An array of tile endpoints. If multiple endpoints are specified, clients may use any combination of endpoints. All endpoints MUST return the same content for the same URL. The array MUST contain at least one endpoint."
},
"grids": {
"type": "array",
@@ -302,12 +679,14 @@
"description": "An array of data files in GeoJSON format."
},
"minzoom": {
+ "x-ms-client-name": "minZoom",
"minimum": 0,
"maximum": 30,
"type": "integer",
"description": "The minimum zoom level."
},
"maxzoom": {
+ "x-ms-client-name": "maxZoom",
"minimum": 0,
"maximum": 30,
"type": "integer",
@@ -318,18 +697,18 @@
"items": {
"type": "number"
},
- "description": "The WGS84 bounds of the tileset."
+ "description": "The maximum extent of available map tiles. Bounds MUST define an area covered by all zoom levels. The bounds are represented in WGS:84 latitude and longitude values, in the order left, bottom, right, top. Values may be integers or floating point numbers."
},
"center": {
"type": "array",
"items": {
"type": "number"
},
- "description": "The default location of the tileset in the form [longitude, latitude, zoom]."
+ "description": "The default location of the tileset in the form [longitude, latitude, zoom]. The zoom level MUST be between minzoom and maxzoom. Implementations can use this value to set the default location."
}
}
},
- "MapAttributionResultV2": {
+ "MapAttribution": {
"description": "Copyright attribution for the requested section of a tileset.",
"type": "object",
"readOnly": true,
diff --git a/specification/maps/data-plane/Render/readme.go.md b/specification/maps/data-plane/Render/readme.go.md
index 309634d3db6f..e5665e8bf508 100644
--- a/specification/maps/data-plane/Render/readme.go.md
+++ b/specification/maps/data-plane/Render/readme.go.md
@@ -13,7 +13,6 @@ export-clients: true
``` yaml $(go) && $(multiapi)
batch:
- - tag: 2.0-preview
- tag: 2.1-preview
```
diff --git a/specification/maps/data-plane/Render/readme.md b/specification/maps/data-plane/Render/readme.md
index 742c370a1a2b..252789e625af 100644
--- a/specification/maps/data-plane/Render/readme.md
+++ b/specification/maps/data-plane/Render/readme.md
@@ -40,7 +40,6 @@ These settings apply only when `--tag=2.1-preview` is specified on the command l
``` yaml $(tag) == '2.1-preview'
input-file:
- - preview/1.0/render.json
- preview/2.1/render.json
```
@@ -50,10 +49,18 @@ These settings apply only when `--tag=2.0-preview` is specified on the command l
``` yaml $(tag) == '2.0-preview'
input-file:
- - preview/1.0/render.json
- preview/2.0/render.json
```
+### Tag: 1.0-preview
+
+These settings apply only when `--tag=1.0-preview` is specified on the command line.
+
+``` yaml $(tag) == '1.0-preview'
+input-file:
+ - preview/1.0/render.json
+```
+
# Code Generation
## Swagger to SDK
diff --git a/specification/maps/data-plane/Render/readme.python.md b/specification/maps/data-plane/Render/readme.python.md
index 5ac67a238fe9..7d521a0cde7c 100644
--- a/specification/maps/data-plane/Render/readme.python.md
+++ b/specification/maps/data-plane/Render/readme.python.md
@@ -14,9 +14,9 @@ clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
no-namespace-folders: true
-output-folder: $(python-sdks-folder)/maps/azure-maps-render/azure/maps/render
+output-folder: $(python-sdks-folder)/maps/azure-maps-render/azure/maps/render/_generated
```
``` yaml $(python) && $(python-mode) == 'create'
basic-setup-py: true
-output-folder: $(python-sdks-folder)/maps/azure-maps-render
+output-folder: $(python-sdks-folder)/maps/azure-maps-render/
```
diff --git a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirections.json b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirections.json
index 7ab075df4b74..c0ffa20e17f6 100644
--- a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirections.json
+++ b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirections.json
@@ -3,7 +3,7 @@
"format": "json",
"api-version": "1.0",
"query": "52.50931,13.42936:52.50274,13.43872",
- "postRouteDirectionsRequestBody": {
+ "routeDirectionParameters": {
"supportingPoints": {
"type": "GeometryCollection",
"geometries": [
diff --git a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirectionsBatch.json b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirectionsBatch.json
index 71913667a5ca..1b13aed12776 100644
--- a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirectionsBatch.json
+++ b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirectionsBatch.json
@@ -2,7 +2,7 @@
"parameters": {
"format": "json",
"api-version": "1.0",
- "postRouteDirectionsBatchRequestBody": {
+ "routeDirectionsBatchQueries": {
"batchItems": [
{
"query": "?query=47.639987,-122.128384:47.621252,-122.184408:47.596437,-122.332000&routeType=fastest&travelMode=car&maxAlternatives=99"
diff --git a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirectionsBatchSync.json b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirectionsBatchSync.json
index a636f6fc44d7..233adc0d3333 100644
--- a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirectionsBatchSync.json
+++ b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteDirectionsBatchSync.json
@@ -2,7 +2,7 @@
"parameters": {
"format": "json",
"api-version": "1.0",
- "postRouteDirectionsBatchRequestBody": {
+ "routeDirectionsBatchQueries": {
"batchItems": [
{
"query": "?query=47.639987,-122.128384:47.621252,-122.184408:47.596437,-122.332000&routeType=fastest&travelMode=car&maxAlternatives=99"
diff --git a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteMatrix.json b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteMatrix.json
index d59b3f77816f..d4b118284d7e 100644
--- a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteMatrix.json
+++ b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteMatrix.json
@@ -3,7 +3,7 @@
"format": "json",
"api-version": "1.0",
"routeType": "shortest",
- "postRouteMatrixRequestBody": {
+ "routeMatrixQuery": {
"origins": {
"type": "MultiPoint",
"coordinates": [
diff --git a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteMatrixSync.json b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteMatrixSync.json
index 0eb24efc72e0..31c84a58c599 100644
--- a/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteMatrixSync.json
+++ b/specification/maps/data-plane/Route/preview/1.0/examples/PostRouteMatrixSync.json
@@ -3,7 +3,7 @@
"format": "json",
"api-version": "1.0",
"routeType": "shortest",
- "postRouteMatrixRequestBody": {
+ "routeMatrixQuery": {
"origins": {
"type": "MultiPoint",
"coordinates": [
diff --git a/specification/maps/data-plane/Route/preview/1.0/route.json b/specification/maps/data-plane/Route/preview/1.0/route.json
index a5771c613d6b..4e82d2427eb9 100644
--- a/specification/maps/data-plane/Route/preview/1.0/route.json
+++ b/specification/maps/data-plane/Route/preview/1.0/route.json
@@ -18,15 +18,21 @@
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
"https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "AzureKey": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
+ "in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
"in": "header"
}
},
@@ -37,7 +43,10 @@
]
},
{
- "AzureKey": []
+ "SharedKey": []
+ },
+ {
+ "SasToken": []
}
],
"responses": {},
@@ -143,18 +152,22 @@
"values": [
{
"value": "fastest",
+ "name": "Fastest",
"description": "The fastest route."
},
{
"value": "shortest",
+ "name": "Shortest",
"description": "The shortest route by distance."
},
{
"value": "eco",
+ "name": "Economy",
"description": "A route balanced by economy and speed."
},
{
"value": "thrilling",
+ "name": "Thrilling",
"description": "Includes interesting or challenging roads and uses as few motorways as possible. You can choose the level of turns included and also the degree of hilliness. See the hilliness and windingness parameters for how to set this. There is a limit of 900 km on routes planned with `routeType`=thrilling"
}
]
@@ -191,8 +204,9 @@
},
"x-ms-parameter-location": "method"
},
- "HillinessDegree": {
+ "InclineLevel": {
"name": "hilliness",
+ "x-ms-client-name": "inclineLevel",
"in": "query",
"description": "Degree of hilliness for thrilling route. This parameter can only be used in conjunction with `routeType`=thrilling.",
"type": "string",
@@ -202,7 +216,7 @@
"high"
],
"x-ms-enum": {
- "name": "HillinessDegree",
+ "name": "InclineLevel",
"modelAsString": true,
"values": [
{
@@ -356,11 +370,11 @@
"x-ms-parameter-location": "method"
},
"ConstantSpeedConsumptionInLitersPerHundredkm": {
+ "x-ms-client-name": "ConstantSpeedConsumptionInLitersPerHundredKm",
"name": "constantSpeedConsumptionInLitersPerHundredkm",
"in": "query",
"description": "\n\nSpecifies the speed-dependent component of consumption.\n\nProvided as an unordered list of colon-delimited speed & consumption-rate pairs. The list defines points on a consumption curve. Consumption rates for speeds not in the list are found as follows:\n\n * by linear interpolation, if the given speed lies in between two speeds in the list\n\n * by linear extrapolation otherwise, assuming a constant (ΔConsumption/ΔSpeed) determined by the nearest two points in the list\n\nThe list must contain between 1 and 25 points (inclusive), and may not contain duplicate points for the same speed. If it only contains a single point, then the consumption rate of that point is used without further processing.\n\nConsumption specified for the largest speed must be greater than or equal to that of the penultimate largest speed. This ensures that extrapolation does not lead to negative consumption rates.\n\nSimilarly, consumption values specified for the two smallest speeds in the list cannot lead to a negative consumption rate for any smaller speed.\n\nThe valid range for the consumption values(expressed in l/100km) is between 0.01 and 100000.0.\n\nSensible Values : 50,6.3:130,11.5\n\n**Note** : This parameter is required for **The Combustion Consumption Model**.",
- "type": "number",
- "format": "float",
+ "type": "string",
"x-ms-parameter-location": "method"
},
"CurrentFuelInLiters": {
@@ -368,7 +382,7 @@
"in": "query",
"description": "Specifies the current supply of fuel in liters.\n\nSensible Values : 55",
"type": "number",
- "format": "float",
+ "format": "double",
"x-ms-parameter-location": "method"
},
"AuxiliaryPowerInLitersPerHour": {
@@ -376,15 +390,16 @@
"in": "query",
"description": "Specifies the amount of fuel consumed for sustaining auxiliary systems of the vehicle, in liters per hour.\n\nIt can be used to specify consumption due to devices and systems such as AC systems, radio, heating, etc.\n\nSensible Values : 0.2",
"type": "number",
- "format": "float",
+ "format": "double",
"x-ms-parameter-location": "method"
},
"FuelEnergyDensityInMJoulesPerLiter": {
+ "x-ms-client-name": "FuelEnergyDensityInMegajoulesPerLiter",
"name": "fuelEnergyDensityInMJoulesPerLiter",
"in": "query",
"description": "Specifies the amount of chemical energy stored in one liter of fuel in megajoules (MJ). It is used in conjunction with the ***Efficiency** parameters for conversions between saved or consumed energy and fuel. For example, energy density is 34.2 MJ/l for gasoline, and 35.8 MJ/l for Diesel fuel.\n\nThis parameter is required if any ***Efficiency** parameter is set.\n\nSensible Values : 34.2",
"type": "number",
- "format": "float",
+ "format": "double",
"x-ms-parameter-location": "method"
},
"AccelerationEfficiency": {
@@ -392,7 +407,9 @@
"in": "query",
"description": "Specifies the efficiency of converting chemical energy stored in fuel to kinetic energy when the vehicle accelerates _(i.e. KineticEnergyGained/ChemicalEnergyConsumed). ChemicalEnergyConsumed_ is obtained by converting consumed fuel to chemical energy using **fuelEnergyDensityInMJoulesPerLiter**.\n\nMust be paired with **decelerationEfficiency**.\n\nThe range of values allowed are 0.0 to 1/**decelerationEfficiency**.\n\nSensible Values : for **Combustion Model** : 0.33, for **Electric Model** : 0.66",
"type": "number",
- "format": "float",
+ "format": "double",
+ "minimum": 0,
+ "maximum": 1,
"x-ms-parameter-location": "method"
},
"DecelerationEfficiency": {
@@ -400,7 +417,9 @@
"in": "query",
"description": "Specifies the efficiency of converting kinetic energy to saved (not consumed) fuel when the vehicle decelerates _(i.e. ChemicalEnergySaved/KineticEnergyLost). ChemicalEnergySaved_ is obtained by converting saved (not consumed) fuel to energy using **fuelEnergyDensityInMJoulesPerLiter**.\n\nMust be paired with **accelerationEfficiency**.\n\nThe range of values allowed are 0.0 to 1/**accelerationEfficiency**.\n\nSensible Values : for **Combustion Model** : 0.83, for **Electric Model** : 0.91",
"type": "number",
- "format": "float",
+ "format": "double",
+ "minimum": 0,
+ "maximum": 1,
"x-ms-parameter-location": "method"
},
"UphillEfficiency": {
@@ -408,7 +427,9 @@
"in": "query",
"description": "Specifies the efficiency of converting chemical energy stored in fuel to potential energy when the vehicle gains elevation _(i.e. PotentialEnergyGained/ChemicalEnergyConsumed). ChemicalEnergyConsumed_ is obtained by converting consumed fuel to chemical energy using **fuelEnergyDensityInMJoulesPerLiter**.\n\nMust be paired with **downhillEfficiency**.\n\nThe range of values allowed are 0.0 to 1/**downhillEfficiency**.\n\nSensible Values : for **Combustion Model** : 0.27, for **Electric Model** : 0.74",
"type": "number",
- "format": "float",
+ "format": "double",
+ "minimum": 0,
+ "maximum": 1,
"x-ms-parameter-location": "method"
},
"DownhillEfficiency": {
@@ -416,11 +437,14 @@
"in": "query",
"description": "Specifies the efficiency of converting potential energy to saved (not consumed) fuel when the vehicle loses elevation _(i.e. ChemicalEnergySaved/PotentialEnergyLost). ChemicalEnergySaved_ is obtained by converting saved (not consumed) fuel to energy using **fuelEnergyDensityInMJoulesPerLiter**.\n\nMust be paired with **uphillEfficiency**.\n\nThe range of values allowed are 0.0 to 1/**uphillEfficiency**.\n\nSensible Values : for **Combustion Model** : 0.51, for **Electric Model** : 0.73",
"type": "number",
- "format": "float",
+ "format": "double",
+ "minimum": 0,
+ "maximum": 1,
"x-ms-parameter-location": "method"
},
"ConstantSpeedConsumptionInkWhPerHundredkm": {
"name": "constantSpeedConsumptionInkWhPerHundredkm",
+ "x-ms-client-name": "ConstantSpeedConsumptionInKwHPerHundredKm",
"in": "query",
"description": "Specifies the speed-dependent component of consumption.\n\nProvided as an unordered list of speed/consumption-rate pairs. The list defines points on a consumption curve. Consumption rates for speeds not in the list are found as follows:\n\n* by linear interpolation, if the given speed lies in between two speeds in the list\n\n* by linear extrapolation otherwise, assuming a constant (ΔConsumption/ΔSpeed) determined by the nearest two points in the list\n\nThe list must contain between 1 and 25 points (inclusive), and may not contain duplicate points for the same speed. If it only contains a single point, then the consumption rate of that point is used without further processing.\n\nConsumption specified for the largest speed must be greater than or equal to that of the penultimate largest speed. This ensures that extrapolation does not lead to negative consumption rates.\n\nSimilarly, consumption values specified for the two smallest speeds in the list cannot lead to a negative consumption rate for any smaller speed.\n\nThe valid range for the consumption values(expressed in kWh/100km) is between 0.01 and 100000.0.\n\nSensible Values : 50,8.2:130,21.3\n\nThis parameter is required for **Electric consumption model**.",
"type": "string",
@@ -428,23 +452,29 @@
},
"CurrentChargeInkWh": {
"name": "currentChargeInkWh",
+ "x-ms-client-name": "CurrentChargeInKwH",
"in": "query",
"description": "Specifies the current electric energy supply in kilowatt hours (kWh).\n\nThis parameter co-exists with **maxChargeInkWh** parameter.\n\nThe range of values allowed are 0.0 to **maxChargeInkWh**.\n\nSensible Values : 43",
- "type": "string",
+ "type": "number",
+ "format": "double",
"x-ms-parameter-location": "method"
},
"MaxChargeInkWh": {
"name": "maxChargeInkWh",
+ "x-ms-client-name": "MaxChargeInKwH",
"in": "query",
"description": "Specifies the maximum electric energy supply in kilowatt hours (kWh) that may be stored in the vehicle's battery.\n\nThis parameter co-exists with **currentChargeInkWh** parameter.\n\nMinimum value has to be greater than or equal to **currentChargeInkWh**.\n\nSensible Values : 85",
- "type": "string",
+ "type": "number",
+ "format": "double",
"x-ms-parameter-location": "method"
},
"AuxiliaryPowerInkW": {
"name": "auxiliaryPowerInkW",
+ "x-ms-client-name": "AuxiliaryPowerInKw",
"in": "query",
"description": "Specifies the amount of power consumed for sustaining auxiliary systems, in kilowatts (kW).\n\nIt can be used to specify consumption due to devices and systems such as AC systems, radio, heating, etc.\n\nSensible Values : 1.7",
- "type": "string",
+ "type": "number",
+ "format": "double",
"x-ms-parameter-location": "method"
},
"VehicleWeightMatrix": {
@@ -452,6 +482,7 @@
"in": "query",
"description": "Weight of the vehicle in kilograms.",
"type": "integer",
+ "default": 0,
"x-ms-parameter-location": "method"
},
"VehicleWeight": {
@@ -459,6 +490,7 @@
"in": "query",
"description": "Weight of the vehicle in kilograms.\n\n* It is mandatory if any of the *Efficiency parameters are set.\n\n* It must be strictly positive when used in the context of the Consumption Model. Weight restrictions are considered.\n\n* If no detailed **Consumption Model** is specified and the value of **vehicleWeight** is non-zero, then weight restrictions are considered.\n\n* In all other cases, this parameter is ignored.\n\nSensible Values : for **Combustion Model** : 1600, for **Electric Model** : 1900",
"type": "integer",
+ "default": 0,
"x-ms-parameter-location": "method"
},
"VehicleMaxSpeed": {
@@ -466,6 +498,7 @@
"in": "query",
"description": "Maximum speed of the vehicle in km/hour. The max speed in the vehicle profile is used to check whether a vehicle is allowed on motorways. \n\n* A value of 0 means that an appropriate value for the vehicle will be determined and applied during route planning.\n\n* A non-zero value may be overridden during route planning. For example, the current traffic flow is 60 km/hour. If the vehicle maximum speed is set to 50 km/hour, the routing engine will consider 60 km/hour as this is the current situation. If the maximum speed of the vehicle is provided as 80 km/hour but the current traffic flow is 60 km/hour, then routing engine will again use 60 km/hour.",
"type": "integer",
+ "default": 0,
"x-ms-parameter-location": "method"
},
"VehicleLength": {
@@ -473,7 +506,8 @@
"in": "query",
"description": "Length of the vehicle in meters. A value of 0 means that length restrictions are not considered.",
"type": "number",
- "format": "float",
+ "format": "double",
+ "default": 0,
"x-ms-parameter-location": "method"
},
"VehicleHeight": {
@@ -481,7 +515,8 @@
"in": "query",
"description": "Height of the vehicle in meters. A value of 0 means that height restrictions are not considered.",
"type": "number",
- "format": "float",
+ "format": "double",
+ "default": 0,
"x-ms-parameter-location": "method"
},
"VehicleWidth": {
@@ -489,7 +524,8 @@
"in": "query",
"description": "Width of the vehicle in meters. A value of 0 means that width restrictions are not considered.",
"type": "number",
- "format": "float",
+ "format": "double",
+ "default": 0,
"x-ms-parameter-location": "method"
},
"VehicleAxleWeight": {
@@ -497,13 +533,16 @@
"in": "query",
"description": "Weight per axle of the vehicle in kg. A value of 0 means that weight restrictions per axle are not considered.",
"type": "integer",
+ "default": 0,
"x-ms-parameter-location": "method"
},
"VehicleCommercial": {
"name": "vehicleCommercial",
+ "x-ms-client-name": "isCommercialVehicle",
"in": "query",
- "description": "Vehicle is used for commercial purposes and thus may not be allowed to drive on some roads.",
+ "description": "Whether the vehicle is used for commercial purposes. Commercial vehicles may not be allowed to drive on some roads.",
"type": "boolean",
+ "default": false,
"x-ms-parameter-location": "method"
},
"DepartAt": {
@@ -524,6 +563,7 @@
},
"SectionType": {
"name": "sectionType",
+ "x-ms-client-name": "FilterSectionType",
"in": "query",
"description": "Specifies which of the section types is reported in the route response.
For example if sectionType = pedestrian the sections which are suited for pedestrians only are returned. Multiple types can be used. The default sectionType refers to the travelMode input. By default travelMode is set to car",
"type": "string",
@@ -537,7 +577,9 @@
"tollVignette",
"traffic",
"travelMode",
- "tunnel"
+ "tunnel",
+ "carpool",
+ "urban"
],
"x-ms-enum": {
"name": "SectionType",
@@ -545,43 +587,63 @@
"values": [
{
"value": "carTrain",
- "description": "Get sections if the route includes car trains."
+ "name": "CarOrTrain",
+ "description": "Sections of the route that are cars or trains."
},
{
"value": "country",
- "description": "Countries the route has parts in."
+ "name": "Country",
+ "description": "Sections indicating which countries the route is in."
},
{
"value": "ferry",
- "description": "Get sections if the route includes ferries."
+ "name": "Ferry",
+ "description": "Sections of the route that are ferries."
},
{
"value": "motorway",
- "description": "Get sections if the route includes motorways."
+ "name": "Motorway",
+ "description": "Sections of the route that are motorways."
},
{
"value": "pedestrian",
- "description": "Get sections which are suited for pedestrians."
+ "name": "Pedestrian",
+ "description": "Sections of the route that are only suited for pedestrians."
},
{
"value": "tollRoad",
- "description": "Get sections which require a toll to be payed."
+ "name": "TollRoad",
+ "description": "Sections of the route that require a toll to be payed."
},
{
"value": "tollVignette",
- "description": "Get sections which require a toll vignette to be present."
+ "name": "TollVignette",
+ "description": "Sections of the route that require a toll vignette to be present."
},
{
"value": "traffic",
- "description": "Get sections which contain traffic information."
+ "name": "Traffic",
+ "description": "Sections of the route that contain traffic information."
},
{
"value": "travelMode",
- "description": "Get sections in relation to the request parameter `travelMode`."
+ "name": "TravelMode",
+ "description": "Sections in relation to the request parameter `travelMode`."
},
{
"value": "tunnel",
- "description": "Get sections if the route includes tunnels."
+ "name": "Tunnel",
+ "description": "Sections of the route that are tunnels."
+ },
+ {
+ "value": "carpool",
+ "name": "Carpool",
+ "description": "Sections of the route that require use of carpool (HOV/High Occupancy Vehicle) lanes."
+ },
+ {
+ "value": "urban",
+ "name": "Urban",
+ "description": "Sections of the route that are located within urban areas."
}
]
},
@@ -589,13 +651,15 @@
},
"ComputeBestOrder": {
"name": "computeBestOrder",
+ "x-ms-client-name": "computeBestWaypointOrder",
"in": "query",
"description": "Re-order the route waypoints using a fast heuristic algorithm to reduce the route length. Yields best results when used in conjunction with routeType _shortest_. Notice that origin and destination are excluded from the optimized waypoint indices. To include origin and destination in the response, please increase all the indices by 1 to account for the origin, and then add the destination as the final index. Possible values are true or false. True computes a better order if possible, but is not allowed to be used in conjunction with maxAlternatives value greater than 0 or in conjunction with circle waypoints. False will use the locations in the given order and not allowed to be used in conjunction with routeRepresentation _none_.",
"type": "boolean",
"x-ms-parameter-location": "method"
},
- "RouteRepresentation": {
+ "RouteRepresentationForBestOrder": {
"name": "routeRepresentation",
+ "x-ms-client-name": "routeRepresentationForBestOrder",
"in": "query",
"description": "Specifies the representation of the set of routes provided as response. This parameter value can only be used in conjunction with computeBestOrder=true.",
"type": "string",
@@ -605,7 +669,7 @@
"none"
],
"x-ms-enum": {
- "name": "RouteRepresentation",
+ "name": "RouteRepresentationForBestOrder",
"modelAsString": true,
"values": [
{
@@ -624,8 +688,9 @@
},
"x-ms-parameter-location": "method"
},
- "ComputeTravelTimeFor": {
+ "ComputeTravelTime": {
"name": "computeTravelTimeFor",
+ "x-ms-client-name": "computeTravelTime",
"in": "query",
"description": "Specifies whether to return additional travel times using different types of traffic information (none, historic, live) as well as the default best-estimate travel time.",
"type": "string",
@@ -634,7 +699,7 @@
"all"
],
"x-ms-enum": {
- "name": "ComputeTravelTimeFor",
+ "name": "ComputeTravelTime",
"modelAsString": true,
"values": [
{
@@ -663,10 +728,24 @@
"in": "query",
"description": "Specifies which data should be reported for diagnosis purposes. The only possible value is _effectiveSettings_. Reports the effective parameters or data used when calling the API. In the case of defaulted parameters the default will be reflected where the parameter was not specified by the caller.",
"type": "string",
- "x-ms-parameter-location": "method"
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "effectiveSettings"
+ ],
+ "x-ms-enum": {
+ "name": "Report",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "effectiveSettings",
+ "description": "Reports the effective parameters or data used when calling the API."
+ }
+ ]
+ }
},
"Traffic": {
"name": "traffic",
+ "x-ms-client-name": "useTrafficData",
"in": "query",
"description": "Possible values: \n * true - Do consider all available traffic information during routing\n * false - Ignore current traffic data during routing. Note that although the current traffic data is ignored \n during routing, the effect of historic traffic on effective road speeds is still incorporated.",
"type": "boolean",
@@ -729,6 +808,7 @@
},
"MatrixId": {
"name": "format",
+ "x-ms-client-name": "matrixId",
"description": "Matrix id received after the Matrix Route request was accepted successfully.",
"type": "string",
"in": "path",
@@ -737,24 +817,35 @@
},
"BatchId": {
"name": "format",
+ "x-ms-client-name": "batchId",
"description": "Batch id for querying the operation.",
"type": "string",
"in": "path",
"required": true,
"x-ms-parameter-location": "method"
+ },
+ "Query": {
+ "name": "query",
+ "x-ms-client-name": "routePoints",
+ "in": "query",
+ "description": "The Coordinates through which the route is calculated, delimited by a colon. A minimum of two coordinates is required. The first one is the origin and the last is the destination of the route. Optional coordinates in-between act as WayPoints in the route. You can pass up to 150 WayPoints.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
}
},
"paths": {
"/route/matrix/{format}": {
"post": {
"description": "\n\n**Applies to**: S1 pricing tier.\n\nThe Matrix Routing service allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using an asynchronous (async) or synchronous (sync) POST request. For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.\n\n\nFor each route, the travel times and distances are returned. You can use the computed costs to determine which detailed routes to calculate using the Route Directions API.\n\n\nThe maximum size of a matrix for async request is **700** and for sync request it's **100** (the number of origins multiplied by the number of destinations).\n\n\n\n### Submit Synchronous Route Matrix Request\nIf your scenario requires synchronous requests and the maximum size of the matrix is less than or equal to 100, you might want to make synchronous request. The maximum size of a matrix for this API is **100** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 10x10, 6x8, 9x8 (it does not need to be square).\n\n```\nPOST https://atlas.microsoft.com/route/matrix/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n\n### Submit Asynchronous Route Matrix Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex routing requests. When you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available. If `waitForResults` parameter in the request is set to true, user will get a 200 response if the request is finished under 120 seconds.\n\n\nThe maximum size of a matrix for this API is **700** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 50x10, 10x10, 28x25. 10x70 (it does not need to be square).\n\n\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\n\n\n\n```\nPOST https://atlas.microsoft.com/route/matrix/json?api-version=1.0&subscription-key={subscription-key}\n```\n\nHere's a typical sequence of asynchronous operations:\n1. Client sends a Route Matrix POST request to Azure Maps\n\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Route Matrix request has been accepted.\n\n > HTTP `Error` - There was an error processing your Route Matrix request. This could either be a 400 Bad Request or any other Error status code.\n\n\n3. If the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:\n\n ```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n ```\n\n\n4. Client issues a GET request on the download URL obtained in Step 3 to download the results\n\n### Download Sync Results\nWhen you make a POST request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.\n\n### Download Async Results\nWhen a request issues a `202 Accepted` response, the request is being processed using our async pipeline. You will be given a URL to check the progress of your async request in the location header of the response. This status URI looks like the following:\n```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n```\n\nThe URL provided by the location header will return the following responses when a `GET` request is issued.\n\n > HTTP `202 Accepted` - Matrix request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Matrix request successfully processed. The response body contains all of the results.",
- "operationId": "PostRouteMatrix",
+ "operationId": "Route_PostRouteMatrix",
+ "x-ms-client-name": "RequestRouteMatrix",
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
"final-state-via": "location"
},
"x-ms-examples": {
- "PostRouteMatrix": {
+ "Successfully submit a route matrix request": {
"$ref": "./examples/PostRouteMatrix.json"
}
},
@@ -775,7 +866,7 @@
"type": "boolean"
},
{
- "$ref": "#/parameters/ComputeTravelTimeFor"
+ "$ref": "#/parameters/ComputeTravelTime"
},
{
"$ref": "#/parameters/SectionType"
@@ -808,7 +899,7 @@
"$ref": "#/parameters/WindingnessLevel"
},
{
- "$ref": "#/parameters/HillinessDegree"
+ "$ref": "#/parameters/InclineLevel"
},
{
"$ref": "#/parameters/TravelMode"
@@ -826,12 +917,12 @@
"$ref": "#/parameters/VehicleLoadType"
},
{
- "name": "postRouteMatrixRequestBody",
+ "name": "routeMatrixQuery",
"description": "The matrix of origin and destination coordinates to compute the route distance, travel time and other summary for each cell of the matrix based on the input parameters. The minimum and the maximum cell count supported are 1 and **700** for async and **100** for sync respectively. For example, it can be 35 origins and 20 destinations or 25 origins and 25 destinations for async API.",
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/PostRouteMatrixRequestBody"
+ "$ref": "#/definitions/RouteMatrixQuery"
}
}
],
@@ -839,7 +930,7 @@
"200": {
"description": "Matrix request successfully processed. The response body contains all of the results.",
"schema": {
- "$ref": "#/definitions/RouteMatrixResponse"
+ "$ref": "#/definitions/RouteMatrixResult"
}
},
"202": {
@@ -852,13 +943,13 @@
},
"get": {
"description": "If the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:\n\n ```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n ```\n\n\n4. Client issues a GET request on the download URL obtained in Step 3 to download the results\n\n### Download Sync Results\nWhen you make a POST request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.\n\n### Download Async Results\nWhen a request issues a `202 Accepted` response, the request is being processed using our async pipeline. You will be given a URL to check the progress of your async request in the location header of the response. This status URI looks like the following:\n```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n```\n\nThe URL provided by the location header will return the following responses when a `GET` request is issued.\n\n > HTTP `202 Accepted` - Matrix request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Matrix request successfully processed. The response body contains all of the results.",
- "operationId": "GetRouteMatrix",
+ "operationId": "Route_GetRouteMatrix",
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
"final-state-via": "original-uri"
},
"x-ms-examples": {
- "GetRouteMatrix": {
+ "Successfully retrieve the status for a route matrix request": {
"$ref": "./examples/GetRouteMatrix.json"
}
},
@@ -877,7 +968,7 @@
"200": {
"description": "Matrix request successfully processed. The response body contains all of the results.",
"schema": {
- "$ref": "#/definitions/RouteMatrixResponse"
+ "$ref": "#/definitions/RouteMatrixResult"
}
},
"202": {
@@ -892,9 +983,10 @@
"/route/matrix/sync/{format}": {
"post": {
"description": "\n\n**Applies to**: S1 pricing tier.\n\nThe Matrix Routing service allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using an asynchronous (async) or synchronous (sync) POST request. For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.\n\n\nFor each route, the travel times and distances are returned. You can use the computed costs to determine which detailed routes to calculate using the Route Directions API.\n\n\nThe maximum size of a matrix for async request is **700** and for sync request it's **100** (the number of origins multiplied by the number of destinations).\n\n\n\n### Submit Synchronous Route Matrix Request\nIf your scenario requires synchronous requests and the maximum size of the matrix is less than or equal to 100, you might want to make synchronous request. The maximum size of a matrix for this API is **100** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 10x10, 6x8, 9x8 (it does not need to be square).\n\n```\nPOST https://atlas.microsoft.com/route/matrix/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n\n### Submit Asynchronous Route Matrix Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex routing requests. When you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available. If `waitForResults` parameter in the request is set to true, user will get a 200 response if the request is finished under 120 seconds.\n\n\nThe maximum size of a matrix for this API is **700** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 50x10, 10x10, 28x25. 10x70 (it does not need to be square).\n\n\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\n\n\n\n```\nPOST https://atlas.microsoft.com/route/matrix/json?api-version=1.0&subscription-key={subscription-key}\n```\n\nHere's a typical sequence of asynchronous operations:\n1. Client sends a Route Matrix POST request to Azure Maps\n\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Route Matrix request has been accepted.\n\n > HTTP `Error` - There was an error processing your Route Matrix request. This could either be a 400 Bad Request or any other Error status code.\n\n\n3. If the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:\n\n ```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n ```\n\n\n4. Client issues a GET request on the download URL obtained in Step 3 to download the results\n\n### Download Sync Results\nWhen you make a POST request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.\n\n### Download Async Results\nWhen a request issues a `202 Accepted` response, the request is being processed using our async pipeline. You will be given a URL to check the progress of your async request in the location header of the response. This status URI looks like the following:\n```\n GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}\n```\n\nThe URL provided by the location header will return the following responses when a `GET` request is issued.\n\n > HTTP `202 Accepted` - Matrix request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Matrix request successfully processed. The response body contains all of the results.",
- "operationId": "PostRouteMatrixSync",
+ "operationId": "Route_PostRouteMatrixSync",
+ "x-ms-client-name": "RequestRouteMatrixSync",
"x-ms-examples": {
- "PostRouteMatrixSync": {
+ "Successfully retrieve a route matrix request result synchronously": {
"$ref": "./examples/PostRouteMatrixSync.json"
}
},
@@ -915,7 +1007,7 @@
"type": "boolean"
},
{
- "$ref": "#/parameters/ComputeTravelTimeFor"
+ "$ref": "#/parameters/ComputeTravelTime"
},
{
"$ref": "#/parameters/SectionType"
@@ -948,7 +1040,7 @@
"$ref": "#/parameters/WindingnessLevel"
},
{
- "$ref": "#/parameters/HillinessDegree"
+ "$ref": "#/parameters/InclineLevel"
},
{
"$ref": "#/parameters/TravelMode"
@@ -966,12 +1058,12 @@
"$ref": "#/parameters/VehicleLoadType"
},
{
- "name": "postRouteMatrixRequestBody",
+ "name": "routeMatrixQuery",
"description": "The matrix of origin and destination coordinates to compute the route distance, travel time and other summary for each cell of the matrix based on the input parameters. The minimum and the maximum cell count supported are 1 and **700** for async and **100** for sync respectively. For example, it can be 35 origins and 20 destinations or 25 origins and 25 destinations for async API.",
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/PostRouteMatrixRequestBody"
+ "$ref": "#/definitions/RouteMatrixQuery"
}
}
],
@@ -979,7 +1071,7 @@
"200": {
"description": "Matrix request successfully processed. The response body contains all of the results.",
"schema": {
- "$ref": "#/definitions/RouteMatrixResponse"
+ "$ref": "#/definitions/RouteMatrixResult"
}
},
"408": {
@@ -994,9 +1086,9 @@
"/route/directions/{format}": {
"get": {
"description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nReturns a route between an origin and a destination, passing through waypoints if they are specified. The route will take into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.\n\nInformation returned includes the distance, estimated travel time, and a representation of the route geometry. Additional routing information such as optimized waypoint order or turn by turn instructions is also available, depending on the options selected.\n\nRouting service provides a set of parameters for a detailed description of vehicle-specific Consumption Model. Please check [Consumption Model](https://docs.microsoft.com/azure/azure-maps/consumption-model) for detailed explanation of the concepts and parameters involved.",
- "operationId": "GetRouteDirections",
+ "operationId": "Route_GetRouteDirections",
"x-ms-examples": {
- "GetRouteDirections": {
+ "Successfully retrieve a route between an origin and a destination": {
"$ref": "./examples/GetRouteDirections.json"
}
},
@@ -1011,11 +1103,7 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat"
},
{
- "name": "query",
- "in": "query",
- "description": "The Coordinates through which the route is calculated, delimited by a colon. A minimum of two coordinates is required. The first one is the origin and the last is the destination of the route. Optional coordinates in-between act as WayPoints in the route. You can pass up to 150 WayPoints.",
- "required": true,
- "type": "string"
+ "$ref": "#/parameters/Query"
},
{
"name": "maxAlternatives",
@@ -1059,10 +1147,10 @@
"$ref": "#/parameters/ComputeBestOrder"
},
{
- "$ref": "#/parameters/RouteRepresentation"
+ "$ref": "#/parameters/RouteRepresentationForBestOrder"
},
{
- "$ref": "#/parameters/ComputeTravelTimeFor"
+ "$ref": "#/parameters/ComputeTravelTime"
},
{
"$ref": "#/parameters/VehicleHeading"
@@ -1098,7 +1186,7 @@
"$ref": "#/parameters/WindingnessLevel"
},
{
- "$ref": "#/parameters/HillinessDegree"
+ "$ref": "#/parameters/InclineLevel"
},
{
"$ref": "#/parameters/TravelMode"
@@ -1159,7 +1247,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/RouteDirectionsResponse"
+ "$ref": "#/definitions/RouteDirections"
}
},
"default": {
@@ -1169,9 +1257,10 @@
},
"post": {
"description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nReturns a route between an origin and a destination, passing through waypoints if they are specified. The route will take into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.\n\nInformation returned includes the distance, estimated travel time, and a representation of the route geometry. Additional routing information such as optimized waypoint order or turn by turn instructions is also available, depending on the options selected.\n\nRouting service provides a set of parameters for a detailed description of a vehicle-specific Consumption Model. Please check [Consumption Model](https://docs.microsoft.com/azure/azure-maps/consumption-model) for detailed explanation of the concepts and parameters involved.",
- "operationId": "PostRouteDirections",
+ "operationId": "Route_PostRouteDirections",
+ "x-ms-client-name": "GetRouteDirectionsWithAdditionalParameters",
"x-ms-examples": {
- "PostRouteDirections": {
+ "Successfully retrieve a route between an origin and a destination with additional parameters in the body": {
"$ref": "./examples/PostRouteDirections.json"
}
},
@@ -1186,11 +1275,7 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat"
},
{
- "name": "query",
- "in": "query",
- "description": "The Coordinates through which the route is calculated. Needs two coordinates at least. Delimited by colon. First one is the origin and the last is the destination of the route. The coordinates are in a lat,long format. Optional coordinates in between act as WayPoints in the route.",
- "required": true,
- "type": "string"
+ "$ref": "#/parameters/Query"
},
{
"name": "maxAlternatives",
@@ -1228,10 +1313,10 @@
"$ref": "#/parameters/ComputeBestOrder"
},
{
- "$ref": "#/parameters/RouteRepresentation"
+ "$ref": "#/parameters/RouteRepresentationForBestOrder"
},
{
- "$ref": "#/parameters/ComputeTravelTimeFor"
+ "$ref": "#/parameters/ComputeTravelTime"
},
{
"$ref": "#/parameters/VehicleHeading"
@@ -1273,7 +1358,7 @@
"$ref": "#/parameters/WindingnessLevel"
},
{
- "$ref": "#/parameters/HillinessDegree"
+ "$ref": "#/parameters/InclineLevel"
},
{
"$ref": "#/parameters/TravelMode"
@@ -1330,12 +1415,12 @@
"$ref": "#/parameters/AuxiliaryPowerInkW"
},
{
- "name": "postRouteDirectionsRequestBody",
+ "name": "routeDirectionParameters",
"description": "Used for reconstructing a route and for calculating zero or more alternative routes to this reference route. The provided sequence of coordinates is used as input for route reconstruction. The alternative routes are calculated between the origin and destination points specified in the base path parameter locations. If both minDeviationDistance and minDeviationTime are set to zero, then these origin and destination points are expected to be at (or very near) the beginning and end of the reference route, respectively. Intermediate locations (waypoints) are not supported when using supportingPoints.\n\nSetting at least one of minDeviationDistance or minDeviationTime to a value greater than zero has the following consequences:\n\n* The origin point of the calculateRoute request must be on (or very near) the input reference route. If this is not the case, an error is returned. However, the origin point does not need to be at the beginning of the input reference route (it can be thought of as the current vehicle position on the reference route).\n* The reference route, returned as the first route in the calculateRoute response, will start at the origin point specified in the calculateRoute request. The initial part of the input reference route up until the origin point will be excluded from the response.\n* The values of minDeviationDistance and minDeviationTime determine how far alternative routes will be guaranteed to follow the reference route from the origin point onwards.\n* The route must use departAt.\n* The vehicleHeading is ignored.",
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/PostRouteDirectionsRequestBody"
+ "$ref": "#/definitions/RouteDirectionParameters"
}
}
],
@@ -1343,7 +1428,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/RouteDirectionsResponse"
+ "$ref": "#/definitions/RouteDirections"
}
},
"default": {
@@ -1355,9 +1440,9 @@
"/route/range/{format}": {
"get": {
"description": "__Route Range (Isochrone) API__\n\n\n**Applies to**: S1 pricing tier.\n\nThis service will calculate a set of locations that can be reached from the origin point based on fuel, energy, time or distance budget that is specified. A polygon boundary (or Isochrone) is returned in a counterclockwise orientation as well as the precise polygon center which was the result of the origin point.\n\nThe returned polygon can be used for further processing such as [Search Inside Geometry](https://docs.microsoft.com/rest/api/maps/search/postsearchinsidegeometry) to search for POIs within the provided Isochrone.",
- "operationId": "GetRouteRange",
+ "operationId": "Route_GetRouteRange",
"x-ms-examples": {
- "GetRouteRange": {
+ "Successfully retrieve a set of locations that can be reached from the origin point based on various conditions": {
"$ref": "./examples/GetRouteRange.json"
}
},
@@ -1376,35 +1461,43 @@
"in": "query",
"description": "The Coordinate from which the range calculation should start.",
"required": true,
- "type": "string"
+ "type": "array",
+ "collectionFormat": "csv",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
},
{
"name": "fuelBudgetInLiters",
"in": "query",
"description": "Fuel budget in liters that determines maximal range which can be travelled using the specified Combustion Consumption Model.
When fuelBudgetInLiters is used, it is mandatory to specify a detailed Combustion Consumption Model.
Exactly one budget (fuelBudgetInLiters, energyBudgetInkWh, timeBudgetInSec, or distanceBudgetInMeters) must be used.",
"type": "number",
- "format": "float"
+ "format": "double"
},
{
"name": "energyBudgetInkWh",
+ "x-ms-client-name": "energyBudgetInKwH",
"in": "query",
"description": "Electric energy budget in kilowatt hours (kWh) that determines maximal range which can be travelled using the specified Electric Consumption Model.
When energyBudgetInkWh is used, it is mandatory to specify a detailed Electric Consumption Model.
Exactly one budget (fuelBudgetInLiters, energyBudgetInkWh, timeBudgetInSec, or distanceBudgetInMeters) must be used.",
"type": "number",
- "format": "float"
+ "format": "double"
},
{
"name": "timeBudgetInSec",
"in": "query",
"description": "Time budget in seconds that determines maximal range which can be travelled using driving time. The Consumption Model will only affect the range when routeType is eco.
Exactly one budget (fuelBudgetInLiters, energyBudgetInkWh, timeBudgetInSec, or distanceBudgetInMeters) must be used.",
"type": "number",
- "format": "float"
+ "format": "double"
},
{
"name": "distanceBudgetInMeters",
"in": "query",
"description": "Distance budget in meters that determines maximal range which can be travelled using driving distance. The Consumption Model will only affect the range when routeType is eco.
Exactly one budget (fuelBudgetInLiters, energyBudgetInkWh, timeBudgetInSec, or distanceBudgetInMeters) must be used.",
"type": "number",
- "format": "float"
+ "format": "double"
},
{
"$ref": "#/parameters/DepartAt"
@@ -1422,7 +1515,7 @@
"$ref": "#/parameters/TravelMode"
},
{
- "$ref": "#/parameters/HillinessDegree"
+ "$ref": "#/parameters/InclineLevel"
},
{
"$ref": "#/parameters/WindingnessLevel"
@@ -1495,7 +1588,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/GetRouteRangeResponse"
+ "$ref": "#/definitions/RouteRangeResult"
}
},
"default": {
@@ -1506,14 +1599,15 @@
},
"/route/directions/batch/{format}": {
"post": {
- "description": "**Route Directions Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Route Directions Batch API sends batches of queries to [Route Directions API](https://docs.microsoft.com/en-us/rest/api/maps/route/getroutedirections) using just a single API call. You can call Route Directions Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/route/directions/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex route requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **700** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Route Directions Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n``` GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0 ```\nNote:- Please remember to add AUTH information (subscription-key/azure_auth - See [Security](#security)) to the _status URI_ before running it.
\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _route directions_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 3 _route directions_ queries:\n\n\n```json\n{\n \"batchItems\": [\n { \"query\": \"?query=47.620659,-122.348934:47.610101,-122.342015&travelMode=bicycle&routeType=eco&traffic=false\" },\n { \"query\": \"?query=40.759856,-73.985108:40.771136,-73.973506&travelMode=pedestrian&routeType=shortest\" },\n { \"query\": \"?query=48.923159,-122.557362:32.621279,-116.840362\" }\n ]\n}\n```\n\nA _route directions_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _route directions_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/route/getroutedirections#uri-parameters). The string values in the _route directions_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **700** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n \n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`RouteDirectionsResponse`](https://docs.microsoft.com/en-us/rest/api/maps/route/getroutedirections#routedirectionsresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 1 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 1,\n \"totalRequests\": 2\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\": {\n \"routes\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"legs\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"points\": [\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.34892\n },\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.3485\n },\n {\n \"latitude\": 47.62095,\n \"longitude\": -122.3476\n }\n ]\n }\n ],\n \"sections\": [\n {\n \"startPointIndex\": 0,\n \"endPointIndex\": 40,\n \"sectionType\": \"TRAVEL_MODE\",\n \"travelMode\": \"bicycle\"\n }\n ]\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
- "operationId": "PostRouteDirectionsBatch",
+ "description": "**Route Directions Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Route Directions Batch API sends batches of queries to [Route Directions API](https://docs.microsoft.com/rest/api/maps/route/getroutedirections) using just a single API call. You can call Route Directions Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex route requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **700** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Route Directions Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n``` GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0 ```\nNote:- Please remember to add AUTH information (subscription-key/azure_auth - See [Security](#security)) to the _status URI_ before running it.
\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _route directions_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 3 _route directions_ queries:\n\n\n```json\n{\n \"batchItems\": [\n { \"query\": \"?query=47.620659,-122.348934:47.610101,-122.342015&travelMode=bicycle&routeType=eco&traffic=false\" },\n { \"query\": \"?query=40.759856,-73.985108:40.771136,-73.973506&travelMode=pedestrian&routeType=shortest\" },\n { \"query\": \"?query=48.923159,-122.557362:32.621279,-116.840362\" }\n ]\n}\n```\n\nA _route directions_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _route directions_ [URI parameters](https://docs.microsoft.com/rest/api/maps/route/getroutedirections#uri-parameters). The string values in the _route directions_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **700** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n \n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`RouteDirections`](https://docs.microsoft.com/rest/api/maps/route/getroutedirections#routedirections) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 1 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 1,\n \"totalRequests\": 2\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\": {\n \"routes\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"legs\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"points\": [\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.34892\n },\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.3485\n },\n {\n \"latitude\": 47.62095,\n \"longitude\": -122.3476\n }\n ]\n }\n ],\n \"sections\": [\n {\n \"startPointIndex\": 0,\n \"endPointIndex\": 40,\n \"sectionType\": \"TRAVEL_MODE\",\n \"travelMode\": \"bicycle\"\n }\n ]\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "operationId": "Route_PostRouteDirectionsBatch",
+ "x-ms-client-name": "RequestRouteDirectionsBatch",
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
"final-state-via": "location"
},
"x-ms-examples": {
- "PostRouteDirectionsBatch": {
+ "Successfully submit a route direction batch request": {
"$ref": "./examples/PostRouteDirectionsBatch.json"
}
},
@@ -1528,12 +1622,12 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat"
},
{
- "name": "postRouteDirectionsBatchRequestBody",
+ "name": "routeDirectionsBatchQueries",
"in": "body",
- "description": "The list of route directions queries/requests to process. The list can contain a max of 700 queries for async and 100 queries for sync version and must contain at least 1 query.",
+ "description": "The list of route directions queries/requests to process. The list can contain a max of 700 queries for async and 100 queries for sync version and must contain at least 1 query.",
"required": true,
"schema": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequestBody"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequest"
}
}
],
@@ -1541,7 +1635,7 @@
"200": {
"description": "Batch request successfully processed. The response body contains all the batch results.",
"schema": {
- "$ref": "#/definitions/RouteDirectionsBatchResponse"
+ "$ref": "#/definitions/RouteDirectionsBatchResult"
}
},
"202": {
@@ -1553,14 +1647,14 @@
}
},
"get": {
- "description": "### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n \n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`RouteDirectionsResponse`](https://docs.microsoft.com/en-us/rest/api/maps/route/getroutedirections#routedirectionsresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 1 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 1,\n \"totalRequests\": 2\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\": {\n \"routes\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"legs\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"points\": [\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.34892\n },\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.3485\n },\n {\n \"latitude\": 47.62095,\n \"longitude\": -122.3476\n }\n ]\n }\n ],\n \"sections\": [\n {\n \"startPointIndex\": 0,\n \"endPointIndex\": 40,\n \"sectionType\": \"TRAVEL_MODE\",\n \"travelMode\": \"bicycle\"\n }\n ]\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
- "operationId": "GetRouteDirectionsBatch",
+ "description": "### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n \n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`RouteDirections`](https://docs.microsoft.com/rest/api/maps/route/getroutedirections#routedirections) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 1 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 1,\n \"totalRequests\": 2\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\": {\n \"routes\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"legs\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"points\": [\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.34892\n },\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.3485\n },\n {\n \"latitude\": 47.62095,\n \"longitude\": -122.3476\n }\n ]\n }\n ],\n \"sections\": [\n {\n \"startPointIndex\": 0,\n \"endPointIndex\": 40,\n \"sectionType\": \"TRAVEL_MODE\",\n \"travelMode\": \"bicycle\"\n }\n ]\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "operationId": "Route_GetRouteDirectionsBatch",
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
"final-state-via": "original-uri"
},
"x-ms-examples": {
- "GetRouteDirectionsBatch": {
+ "Successfully retrieve the status for the route direction batch request": {
"$ref": "./examples/GetRouteDirectionsBatch.json"
}
},
@@ -1579,7 +1673,7 @@
"200": {
"description": "Batch request successfully processed. The response body contains all the batch results.",
"schema": {
- "$ref": "#/definitions/RouteDirectionsBatchResponse"
+ "$ref": "#/definitions/RouteDirectionsBatchResult"
}
},
"202": {
@@ -1593,10 +1687,11 @@
},
"/route/directions/batch/sync/{format}": {
"post": {
- "description": "**Route Directions Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Route Directions Batch API sends batches of queries to [Route Directions API](https://docs.microsoft.com/en-us/rest/api/maps/route/getroutedirections) using just a single API call. You can call Route Directions Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/route/directions/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex route requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **700** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Route Directions Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n``` GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0 ```\nNote:- Please remember to add AUTH information (subscription-key/azure_auth - See [Security](#security)) to the _status URI_ before running it.
\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _route directions_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 3 _route directions_ queries:\n\n\n```json\n{\n \"batchItems\": [\n { \"query\": \"?query=47.620659,-122.348934:47.610101,-122.342015&travelMode=bicycle&routeType=eco&traffic=false\" },\n { \"query\": \"?query=40.759856,-73.985108:40.771136,-73.973506&travelMode=pedestrian&routeType=shortest\" },\n { \"query\": \"?query=48.923159,-122.557362:32.621279,-116.840362\" }\n ]\n}\n```\n\nA _route directions_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _route directions_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/route/getroutedirections#uri-parameters). The string values in the _route directions_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **700** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n \n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`RouteDirectionsResponse`](https://docs.microsoft.com/en-us/rest/api/maps/route/getroutedirections#routedirectionsresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 1 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 1,\n \"totalRequests\": 2\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\": {\n \"routes\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"legs\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"points\": [\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.34892\n },\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.3485\n },\n {\n \"latitude\": 47.62095,\n \"longitude\": -122.3476\n }\n ]\n }\n ],\n \"sections\": [\n {\n \"startPointIndex\": 0,\n \"endPointIndex\": 40,\n \"sectionType\": \"TRAVEL_MODE\",\n \"travelMode\": \"bicycle\"\n }\n ]\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
- "operationId": "PostRouteDirectionsBatchSync",
+ "description": "**Route Directions Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Route Directions Batch API sends batches of queries to [Route Directions API](https://docs.microsoft.com/rest/api/maps/route/getroutedirections) using just a single API call. You can call Route Directions Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/route/directions/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`RouteDirections`](https://docs.microsoft.com/rest/api/maps/route/getroutedirections#routedirections) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 1 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 1,\n \"totalRequests\": 2\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\": {\n \"routes\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"legs\": [\n {\n \"summary\": {\n \"lengthInMeters\": 1758,\n \"travelTimeInSeconds\": 387,\n \"trafficDelayInSeconds\": 0,\n \"departureTime\": \"2018-07-17T00:49:56+00:00\",\n \"arrivalTime\": \"2018-07-17T00:56:22+00:00\"\n },\n \"points\": [\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.34892\n },\n {\n \"latitude\": 47.62094,\n \"longitude\": -122.3485\n },\n {\n \"latitude\": 47.62095,\n \"longitude\": -122.3476\n }\n ]\n }\n ],\n \"sections\": [\n {\n \"startPointIndex\": 0,\n \"endPointIndex\": 40,\n \"sectionType\": \"TRAVEL_MODE\",\n \"travelMode\": \"bicycle\"\n }\n ]\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "operationId": "Route_PostRouteDirectionsBatchSync",
+ "x-ms-client-name": "RequestRouteDirectionsBatchSync",
"x-ms-examples": {
- "PostRouteDirectionsBatchSync": {
+ "Successfully retrieve the route direction batch result synchronously": {
"$ref": "./examples/PostRouteDirectionsBatchSync.json"
}
},
@@ -1611,12 +1706,12 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat"
},
{
- "name": "postRouteDirectionsBatchRequestBody",
+ "name": "routeDirectionsBatchQueries",
"in": "body",
"description": "The list of route directions queries/requests to process. The list can contain a max of 700 queries for async and 100 queries for sync version and must contain at least 1 query.",
"required": true,
"schema": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequestBody"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequest"
}
}
],
@@ -1624,7 +1719,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/RouteDirectionsBatchResponse"
+ "$ref": "#/definitions/RouteDirectionsBatchResult"
}
},
"408": {
@@ -1638,12 +1733,12 @@
}
},
"definitions": {
- "PostRouteDirectionsRequestBody": {
+ "RouteDirectionParameters": {
"type": "object",
"description": "Post body parameters for Route directions.",
"properties": {
"supportingPoints": {
- "description": "A GeoJSON Geometry collection representing sequence of coordinates used as input for route reconstruction and for calculating zero or more alternative routes to this reference route.\n - The provided sequence of supporting points is used as input for route reconstruction.\n - The alternative routes are calculated between the origin and destination points specified in the base path parameter locations.\n - If both _minDeviationDistance_ and _minDeviationTime_ are set to zero, then these origin and destination points are\n expected to be at (or very near) the beginning and end of the reference route, respectively.\n - Intermediate locations (_waypoints_) are not supported when using <_supportingPoints_>.\n - The reference route may contain traffic incidents of type _ROAD_CLOSURE_, which are\n ignored for the calculation of the reference route's travel time and traffic delay.",
+ "description": "A GeoJSON Geometry collection representing sequence of coordinates used as input for route reconstruction and for calculating zero or more alternative routes to this reference route.\n - The provided sequence of supporting points is used as input for route reconstruction.\n - The alternative routes are calculated between the origin and destination points specified in the base path parameter locations.\n - If both _minDeviationDistance_ and _minDeviationTime_ are set to zero, then these origin and destination points are\n expected to be at (or very near) the beginning and end of the reference route, respectively.\n - Intermediate locations (_waypoints_) are not supported when using <_supportingPoints_>.\n - The reference route may contain traffic incidents of type _ROAD_CLOSURE_, which are\n ignored for the calculation of the reference route's travel time and traffic delay.\n Please refer to [Supporting Points](https://docs.microsoft.com/azure/azure-maps/how-to-use-best-practices-for-routing#calculate-and-bias-alternative-routes-using-supporting-points) for details.",
"$ref": "../../../Common/preview/1.0/common.json#/definitions/GeoJsonGeometryCollection"
},
"avoidVignette": {
@@ -1666,7 +1761,7 @@
}
}
},
- "RouteDirectionsResponse": {
+ "RouteDirections": {
"description": "This object is returned from a successful Route Directions call",
"type": "object",
"properties": {
@@ -1680,7 +1775,7 @@
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/RouteDirectionsResult"
+ "$ref": "#/definitions/Route"
}
},
"optimizedWaypoints": {
@@ -1692,22 +1787,22 @@
}
},
"report": {
- "$ref": "#/definitions/RouteResponseReport"
+ "$ref": "#/definitions/RouteReport"
}
}
},
- "RouteDirectionsResult": {
+ "Route": {
"type": "object",
"properties": {
"summary": {
- "$ref": "#/definitions/RouteDirectionsSummary"
+ "$ref": "#/definitions/RouteSummary"
},
"legs": {
"description": "Legs array",
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/RouteResultLeg"
+ "$ref": "#/definitions/RouteLeg"
}
},
"sections": {
@@ -1715,15 +1810,15 @@
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/RouteResultSection"
+ "$ref": "#/definitions/RouteSection"
}
},
"guidance": {
- "$ref": "#/definitions/RouteResultGuidance"
+ "$ref": "#/definitions/RouteGuidance"
}
}
},
- "RouteDirectionsSummary": {
+ "RouteSummary": {
"description": "Summary object",
"type": "object",
"readOnly": true,
@@ -1744,14 +1839,10 @@
"readOnly": true
},
"departureTime": {
- "description": "Departure Time property",
- "type": "string",
- "readOnly": true
+ "$ref": "#/definitions/DepartureTime"
},
"arrivalTime": {
- "description": "Arrival Time property",
- "type": "string",
- "readOnly": true
+ "$ref": "#/definitions/ArrivalTime"
}
}
},
@@ -1771,23 +1862,24 @@
}
}
},
- "RouteResultLeg": {
+ "RouteLeg": {
+ "description": "A description of a part of a route, comprised of a list of points. Each additional waypoint provided in the request will result in an additional leg in the returned route.",
"type": "object",
"properties": {
"summary": {
- "$ref": "#/definitions/RouteResultLegSummary"
+ "$ref": "#/definitions/RouteLegSummary"
},
"points": {
"description": "Points array",
"type": "array",
"readOnly": true,
"items": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPair"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPair"
}
}
}
},
- "RouteResultLegSummary": {
+ "RouteLegSummary": {
"description": "Summary object for route section.",
"type": "object",
"readOnly": true,
@@ -1808,14 +1900,10 @@
"readOnly": true
},
"departureTime": {
- "description": "Departure Time property",
- "type": "string",
- "readOnly": true
+ "$ref": "#/definitions/DepartureTime"
},
"arrivalTime": {
- "description": "Arrival Time property",
- "type": "string",
- "readOnly": true
+ "$ref": "#/definitions/ArrivalTime"
},
"noTrafficTravelTimeInSeconds": {
"description": "Estimated travel time calculated as if there are no delays on the route due to traffic conditions (e.g. congestion). Included only if computeTravelTimeFor = all is used in the query.",
@@ -1835,44 +1923,40 @@
"fuelConsumptionInLiters": {
"description": "Estimated fuel consumption in liters using the Combustion Consumption Model. Included if vehicleEngineType is set to _combustion_ and constantSpeedConsumptionInLitersPerHundredkm is specified. The value will be non-negative.",
"type": "number",
- "format": "float",
+ "format": "double",
"readOnly": true
},
"batteryConsumptionInkWh": {
+ "x-ms-client-name": "batteryConsumptionInKwH",
"description": "Estimated electric energy consumption in kilowatt hours (kWh) using the Electric Consumption Model. Included if vehicleEngineType is set to electric and constantSpeedConsumptionInkWhPerHundredkm is specified. The value of batteryConsumptionInkWh includes the recuperated electric energy and can therefore be negative (which indicates gaining energy). If both maxChargeInkWh and currentChargeInkWh are specified, recuperation will be capped to ensure that the battery charge level never exceeds maxChargeInkWh. If neither maxChargeInkWh nor currentChargeInkWh are specified, unconstrained recuperation is assumed in the consumption calculation.",
"type": "number",
- "format": "float",
+ "format": "double",
"readOnly": true
}
}
},
- "RouteResultSection": {
+ "RouteSection": {
+ "description": "Route sections contain additional information about parts of a route. Each section contains at least the elements `startPointIndex`, `endPointIndex`, and `sectionType`.",
"type": "object",
"properties": {
"startPointIndex": {
- "description": "Start Point Index property",
+ "description": "Index of the first point (offset 0) in the route this section applies to.",
"type": "integer",
"readOnly": true
},
"endPointIndex": {
- "description": "End Point Index property",
+ "description": "Index of the last point (offset 0) in the route this section applies to.",
"type": "integer",
"readOnly": true
},
"sectionType": {
- "description": "Section Type property",
- "type": "string",
- "readOnly": true
+ "$ref": "#/definitions/ResponseSectionType"
},
"travelMode": {
- "description": "Travel Mode property",
- "type": "string",
- "readOnly": true
+ "$ref": "#/definitions/ResponseTravelMode"
},
"simpleCategory": {
- "description": "Type of the incident. Can currently be JAM, ROAD_WORK, ROAD_CLOSURE, or OTHER. See \"tec\" for detailed information.",
- "type": "string",
- "readOnly": true
+ "$ref": "#/definitions/SimpleCategory"
},
"effectiveSpeedInKmh": {
"description": "Effective speed of the incident in km/h, averaged over its entire length.",
@@ -1885,49 +1969,15 @@
"readOnly": true
},
"magnitudeOfDelay": {
- "description": "The magnitude of delay caused by the incident. These values correspond to the values of the response field ty of the [Get Traffic Incident Detail API](https://docs.microsoft.com/rest/api/maps/traffic/gettrafficincidentdetail). ",
- "readOnly": true,
- "type": "string",
- "enum": [
- "0",
- "1",
- "2",
- "3",
- "4"
- ],
- "x-ms-enum": {
- "name": "MagnitudeOfDelay",
- "modelAsString": true,
- "values": [
- {
- "value": "0",
- "description": "Unknown."
- },
- {
- "value": "1",
- "description": "Minor."
- },
- {
- "value": "2",
- "description": "Moderate."
- },
- {
- "value": "3",
- "description": "Major."
- },
- {
- "value": "4",
- "description": "Undefined, used for road closures and other indefinite delays."
- }
- ]
- }
+ "x-ms-client-name": "delayMagnitude",
+ "$ref": "#/definitions/DelayMagnitude"
},
"tec": {
- "$ref": "#/definitions/RouteResultSectionTec"
+ "$ref": "#/definitions/RouteSectionTec"
}
}
},
- "RouteResultSectionTec": {
+ "RouteSectionTec": {
"description": "Details of the traffic event, using definitions in the [TPEG2-TEC](https://www.iso.org/standard/63116.html) standard. Can contain effectCode and causes elements.",
"type": "object",
"properties": {
@@ -1940,12 +1990,12 @@
"description": "Causes array",
"type": "array",
"items": {
- "$ref": "#/definitions/RouteResultSectionTecCause"
+ "$ref": "#/definitions/RouteSectionTecCause"
}
}
}
},
- "RouteResultSectionTecCause": {
+ "RouteSectionTecCause": {
"description": "The cause of the traffic event. Can contain mainCauseCode and subCauseCode elements. Can be used to define iconography and descriptions.",
"type": "object",
"properties": {
@@ -1961,7 +2011,7 @@
}
}
},
- "RouteResultInstruction": {
+ "RouteInstruction": {
"description": "A set of attributes describing a maneuver, e.g. 'Turn right', 'Keep left', 'Take the ferry', 'Take the motorway', 'Arrive'.",
"type": "object",
"properties": {
@@ -1976,7 +2026,7 @@
"readOnly": true
},
"point": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPair"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPair"
},
"pointIndex": {
"description": "The index of the point in the list of polyline \"points\" corresponding to the point of the instruction.",
@@ -2000,26 +2050,32 @@
"values": [
{
"value": "TURN",
+ "name": "Turn",
"description": "Turn."
},
{
"value": "ROAD_CHANGE",
+ "name": "RoadChange",
"description": "Road Change."
},
{
"value": "LOCATION_DEPARTURE",
+ "name": "LocationDeparture",
"description": "Departure location."
},
{
"value": "LOCATION_ARRIVAL",
+ "name": "LocationArrival",
"description": "Arrival location."
},
{
"value": "DIRECTION_INFO",
+ "name": "DirectionInfo",
"description": "Direction information."
},
{
"value": "LOCATION_WAYPOINT",
+ "name": "LocationWaypoint",
"description": "Way point location."
}
]
@@ -2088,6 +2144,7 @@
}
},
"turnAngleInDecimalDegrees": {
+ "x-ms-client-name": "turnAngleInDegrees",
"description": "Indicates the direction of an instruction. If junctionType indicates a turn instruction:\n\n * 180 = U-turn\n * [-179, -1] = Left turn\n * 0 = Straight on (a '0 degree' turn)\n * [1, 179] = Right turn\n\nIf junctionType indicates a bifurcation instruction:\n\n * <0 - keep left\n * \\>0 - keep right",
"type": "integer",
"readOnly": true
@@ -2170,134 +2227,167 @@
"values": [
{
"value": "ARRIVE",
+ "name": "Arrive",
"description": "You have arrived."
},
{
"value": "ARRIVE_LEFT",
+ "name": "ArriveLeft",
"description": "You have arrived. Your destination is on the left."
},
{
"value": "ARRIVE_RIGHT",
+ "name": "ArriveRight",
"description": "You have arrived. Your destination is on the right."
},
{
"value": "DEPART",
+ "name": "Depart",
"description": "Leave."
},
{
"value": "STRAIGHT",
+ "name": "Straight",
"description": "Keep straight on."
},
{
"value": "KEEP_RIGHT",
+ "name": "KeepRight",
"description": "Keep right."
},
{
"value": "BEAR_RIGHT",
+ "name": "BearRight",
"description": "Bear right."
},
{
"value": "TURN_RIGHT",
+ "name": "TurnRight",
"description": "Turn right."
},
{
"value": "SHARP_RIGHT",
+ "name": "SharpRight",
"description": "Turn sharp right."
},
{
"value": "KEEP_LEFT",
+ "name": "KeepLeft",
"description": "Keep left."
},
{
"value": "BEAR_LEFT",
+ "name": "BearLeft",
"description": "Bear left."
},
{
"value": "TURN_LEFT",
+ "name": "TurnLeft",
"description": "Turn left."
},
{
"value": "SHARP_LEFT",
+ "name": "SharpLeft",
"description": "Turn sharp left."
},
{
"value": "MAKE_UTURN",
+ "name": "MakeUTurn",
"description": "Make a U-turn."
},
{
"value": "ENTER_MOTORWAY",
+ "name": "EnterMotorway",
"description": "Take the motorway."
},
{
"value": "ENTER_FREEWAY",
+ "name": "EnterFreeway",
"description": "Take the freeway."
},
{
"value": "ENTER_HIGHWAY",
+ "name": "EnterHighway",
"description": "Take the highway."
},
{
"value": "TAKE_EXIT",
+ "name": "TakeExit",
"description": "Take the exit."
},
{
"value": "MOTORWAY_EXIT_LEFT",
+ "name": "MotorwayExitLeft",
"description": "Take the left exit."
},
{
"value": "MOTORWAY_EXIT_RIGHT",
+ "name": "MotorwayExitRight",
"description": "Take the right exit."
},
{
"value": "TAKE_FERRY",
+ "name": "TakeFerry",
"description": "Take the ferry."
},
{
"value": "ROUNDABOUT_CROSS",
+ "name": "RoundaboutCross",
"description": "Cross the roundabout."
},
{
"value": "ROUNDABOUT_RIGHT",
+ "name": "RoundaboutRight",
"description": "At the roundabout take the exit on the right."
},
{
"value": "ROUNDABOUT_LEFT",
+ "name": "RoundaboutLeft",
"description": "At the roundabout take the exit on the left."
},
{
"value": "ROUNDABOUT_BACK",
+ "name": "RoundaboutBack",
"description": "Go around the roundabout."
},
{
"value": "TRY_MAKE_UTURN",
+ "name": "TryMakeUTurn",
"description": "Try to make a U-turn."
},
{
"value": "FOLLOW",
+ "name": "Follow",
"description": "Follow."
},
{
"value": "SWITCH_PARALLEL_ROAD",
+ "name": "SwitchParallelRoad",
"description": "Switch to the parallel road."
},
{
"value": "SWITCH_MAIN_ROAD",
+ "name": "SwitchMainRoad",
"description": "Switch to the main road."
},
{
"value": "ENTRANCE_RAMP",
+ "name": "EntranceRamp",
"description": "Take the ramp."
},
{
"value": "WAYPOINT_LEFT",
+ "name": "WaypointLeft",
"description": "You have reached the waypoint. It is on the left."
},
{
"value": "WAYPOINT_RIGHT",
+ "name": "WaypointRight",
"description": "You have reached the waypoint. It is on the right."
},
{
"value": "WAYPOINT_REACHED",
+ "name": "WaypointReached",
"description": "You have reached the waypoint."
}
]
@@ -2315,17 +2405,17 @@
}
}
},
- "RouteResultInstructionGroup": {
+ "RouteInstructionGroup": {
"description": "Groups a sequence of instruction elements which are related to each other. The sequence range is constrained with firstInstructionIndex and lastInstructionIndex. When human-readable text messages are requested for guidance (instructionType=text or tagged), then the instructionGroup has a summary message returned when available.",
"type": "object",
"properties": {
"firstInstructionIndex": {
- "description": "Index of the first instruction.",
+ "description": "Index of the first instruction in the instructions and belonging to this group.",
"type": "integer",
"readOnly": true
},
"lastInstructionIndex": {
- "description": "Index of the last instruction.",
+ "description": "Index of the last instruction in the instructions and belonging to this group.",
"type": "integer",
"readOnly": true
},
@@ -2341,7 +2431,7 @@
}
}
},
- "RouteResultGuidance": {
+ "RouteGuidance": {
"description": "Contains guidance related elements. This field is present only when guidance was requested and is available.",
"type": "object",
"readOnly": true,
@@ -2351,7 +2441,7 @@
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/RouteResultInstruction"
+ "$ref": "#/definitions/RouteInstruction"
}
},
"instructionGroups": {
@@ -2359,12 +2449,12 @@
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/RouteResultInstructionGroup"
+ "$ref": "#/definitions/RouteInstructionGroup"
}
}
}
},
- "GetRouteRangeResponse": {
+ "RouteRangeResult": {
"description": "This object is returned from a successful Route Reachable Range call",
"type": "object",
"properties": {
@@ -2377,7 +2467,7 @@
"$ref": "#/definitions/RouteRange"
},
"report": {
- "$ref": "#/definitions/RouteResponseReport"
+ "$ref": "#/definitions/RouteReport"
}
}
},
@@ -2387,19 +2477,19 @@
"properties": {
"center": {
"description": "Center point of the reachable range",
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPair"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPair"
},
"boundary": {
"description": "Polygon boundary of the reachable range represented as a list of points.",
"type": "array",
"readOnly": true,
"items": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPair"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPair"
}
}
}
},
- "RouteResponseReport": {
+ "RouteReport": {
"description": "Reports the effective settings used in the current call.",
"type": "object",
"properties": {
@@ -2408,12 +2498,12 @@
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/RouteResponseReportEffectiveSetting"
+ "$ref": "#/definitions/EffectiveSetting"
}
}
}
},
- "RouteResponseReportEffectiveSetting": {
+ "EffectiveSetting": {
"description": "Effective parameter or data used when calling this Route API.",
"type": "object",
"properties": {
@@ -2429,7 +2519,7 @@
}
}
},
- "RouteMatrixResponse": {
+ "RouteMatrixResult": {
"description": "This object is returned from a successful Route Matrix call. For ex, if 2 origins and 3 destinations are provided, there are going to 2 arrays with 3 elements in each. Each element's content depends on the options provided in the query.",
"type": "object",
"properties": {
@@ -2446,7 +2536,7 @@
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/RouteMatrixResult"
+ "$ref": "#/definitions/RouteMatrix"
}
}
},
@@ -2472,7 +2562,7 @@
}
}
},
- "RouteMatrixResult": {
+ "RouteMatrix": {
"description": "Matrix result object",
"type": "object",
"readOnly": true,
@@ -2493,11 +2583,12 @@
"readOnly": true,
"properties": {
"routeSummary": {
- "$ref": "#/definitions/RouteResultLegSummary"
+ "x-ms-client-name": "summary",
+ "$ref": "#/definitions/RouteLegSummary"
}
}
},
- "PostRouteMatrixRequestBody": {
+ "RouteMatrixQuery": {
"description": "An object with a matrix of coordinates.",
"type": "object",
"properties": {
@@ -2509,12 +2600,12 @@
}
}
},
- "RouteDirectionsBatchResponse": {
+ "RouteDirectionsBatchResult": {
"description": "This object is returned from a successful Route Directions Batch service call.",
"type": "object",
"allOf": [
{
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResponse"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResult"
}
],
"properties": {
@@ -2533,17 +2624,17 @@
"type": "object",
"allOf": [
{
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchItem"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResultItem"
}
],
"properties": {
"response": {
- "description": "The result of the query. RouteDirectionsResponse if the query completed successfully, ErrorResponse otherwise.",
+ "description": "The result of the query. RouteDirections if the query completed successfully, ErrorResponse otherwise.",
"type": "object",
"readOnly": true,
"allOf": [
{
- "$ref": "#/definitions/RouteDirectionsResponse"
+ "$ref": "#/definitions/RouteDirections"
},
{
"$ref": "../../../../../common-types/data-plane/v1/types.json#/definitions/ErrorResponse"
@@ -2551,6 +2642,241 @@
]
}
}
+ },
+ "DepartureTime": {
+ "description": "The estimated departure time for the route or leg.",
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time"
+ },
+ "ArrivalTime": {
+ "description": "The estimated arrival time for the route or leg.",
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time"
+ },
+ "ResponseSectionType": {
+ "description": "Section types of the reported route response",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "CAR_TRAIN",
+ "COUNTRY",
+ "FERRY",
+ "MOTORWAY",
+ "PEDESTRIAN",
+ "TOLL_ROAD",
+ "TOLL_VIGNETTE",
+ "TRAFFIC",
+ "TRAVEL_MODE",
+ "TUNNEL",
+ "CARPOOL",
+ "URBAN"
+ ],
+ "x-ms-enum": {
+ "name": "ResponseSectionType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "CAR_TRAIN",
+ "name": "CarOrTrain",
+ "description": "Sections of the route that are cars or trains."
+ },
+ {
+ "value": "COUNTRY",
+ "name": "Country",
+ "description": "Sections indicating which countries the route is in."
+ },
+ {
+ "value": "FERRY",
+ "name": "Ferry",
+ "description": "Sections of the route that are ferries."
+ },
+ {
+ "value": "MOTORWAY",
+ "name": "Motorway",
+ "description": "Sections of the route that are motorways."
+ },
+ {
+ "value": "PEDESTRIAN",
+ "name": "Pedestrian",
+ "description": "Sections of the route that are only suited for pedestrians."
+ },
+ {
+ "value": "TOLL_ROAD",
+ "name": "TollRoad",
+ "description": "Sections of the route that require a toll to be payed."
+ },
+ {
+ "value": "TOLL_VIGNETTE",
+ "name": "TollVignette",
+ "description": "Sections of the route that require a toll vignette to be present."
+ },
+ {
+ "value": "TRAFFIC",
+ "name": "Traffic",
+ "description": "Sections of the route that contain traffic information."
+ },
+ {
+ "value": "TRAVEL_MODE",
+ "name": "TravelMode",
+ "description": "Sections in relation to the request parameter `travelMode`."
+ },
+ {
+ "value": "TUNNEL",
+ "name": "Tunnel",
+ "description": "Sections of the route that are tunnels."
+ },
+ {
+ "value": "CARPOOL",
+ "name": "Carpool",
+ "description": "Sections of the route that require use of carpool (HOV/High Occupancy Vehicle) lanes."
+ },
+ {
+ "value": "URBAN",
+ "name": "Urban",
+ "description": "Sections of the route that are located within urban areas."
+ }
+ ]
+ }
+ },
+ "ResponseTravelMode": {
+ "description": "Travel mode for the calculated route. The value will be set to `other` if the requested mode of transport is not possible in this section",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "car",
+ "truck",
+ "taxi",
+ "bus",
+ "van",
+ "motorcycle",
+ "bicycle",
+ "pedestrian",
+ "other"
+ ],
+ "x-ms-enum": {
+ "name": "ResponseTravelMode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "car",
+ "description": "The returned routes are optimized for cars."
+ },
+ {
+ "value": "truck",
+ "description": "The returned routes are optimized for commercial vehicles, like for trucks."
+ },
+ {
+ "value": "taxi",
+ "description": "The returned routes are optimized for taxis. BETA functionality."
+ },
+ {
+ "value": "bus",
+ "description": "The returned routes are optimized for buses, including the use of bus only lanes. BETA functionality."
+ },
+ {
+ "value": "van",
+ "description": "The returned routes are optimized for vans. BETA functionality."
+ },
+ {
+ "value": "motorcycle",
+ "description": "The returned routes are optimized for motorcycles. BETA functionality."
+ },
+ {
+ "value": "bicycle",
+ "description": "The returned routes are optimized for bicycles, including use of bicycle lanes."
+ },
+ {
+ "value": "pedestrian",
+ "description": "The returned routes are optimized for pedestrians, including the use of sidewalks."
+ },
+ {
+ "value": "other",
+ "description": "The given mode of transport is not possible in this section"
+ }
+ ]
+ }
+ },
+ "SimpleCategory": {
+ "description": "Type of the incident. Can currently be JAM, ROAD_WORK, ROAD_CLOSURE, or OTHER. See \"tec\" for detailed information.",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "JAM",
+ "ROAD_WORK",
+ "ROAD_CLOSURE",
+ "OTHER"
+ ],
+ "x-ms-enum": {
+ "name": "SimpleCategory",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "JAM",
+ "name": "Jam",
+ "description": "Traffic jam."
+ },
+ {
+ "value": "ROAD_WORK",
+ "name": "RoadWork",
+ "description": "Road work."
+ },
+ {
+ "value": "ROAD_CLOSURE",
+ "name": "RoadClosure",
+ "description": "Road closure."
+ },
+ {
+ "value": "OTHER",
+ "name": "Other",
+ "description": "Other."
+ }
+ ]
+ }
+ },
+ "DelayMagnitude": {
+ "description": "The magnitude of delay caused by the incident. These values correspond to the values of the response field ty of the [Get Traffic Incident Detail API](https://docs.microsoft.com/rest/api/maps/traffic/gettrafficincidentdetail). ",
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "0",
+ "1",
+ "2",
+ "3",
+ "4"
+ ],
+ "x-ms-enum": {
+ "name": "DelayMagnitude",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "0",
+ "name": "Unknown",
+ "description": "Unknown."
+ },
+ {
+ "value": "1",
+ "name": "Minor",
+ "description": "Minor."
+ },
+ {
+ "value": "2",
+ "name": "Moderate",
+ "description": "Moderate."
+ },
+ {
+ "value": "3",
+ "name": "Major",
+ "description": "Major."
+ },
+ {
+ "value": "4",
+ "name": "Undefined",
+ "description": "Undefined, used for road closures and other indefinite delays."
+ }
+ ]
+ }
}
}
}
diff --git a/specification/maps/data-plane/Route/readme.python.md b/specification/maps/data-plane/Route/readme.python.md
index e49ab788707b..377a659afd1e 100644
--- a/specification/maps/data-plane/Route/readme.python.md
+++ b/specification/maps/data-plane/Route/readme.python.md
@@ -14,9 +14,9 @@ clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
no-namespace-folders: true
-output-folder: $(python-sdks-folder)/maps/azure-maps-route/azure/maps/route
+output-folder: $(python-sdks-folder)/maps/azure-maps-route/azure/maps/route/_generated
```
``` yaml $(python) && $(python-mode) == 'create'
basic-setup-py: true
-output-folder: $(python-sdks-folder)/maps/azure-maps-route
+output-folder: $(python-sdks-folder)/maps/azure-maps-route/
```
diff --git a/specification/maps/data-plane/Route/readme.typescript.md b/specification/maps/data-plane/Route/readme.typescript.md
index 3239505647af..416e5df64989 100644
--- a/specification/maps/data-plane/Route/readme.typescript.md
+++ b/specification/maps/data-plane/Route/readme.typescript.md
@@ -13,15 +13,11 @@ clear-output-folder: false
generate-metadata: false
directive:
- from: route.json
- where: $.definitions.PostRouteDirectionsRequestBody.properties.supportingPoints
+ where: $.definitions.RouteDirectionParameters.properties.supportingPoints
transform: >
$ = {
"description": "A GeoJSON Geometry collection representing sequence of coordinates used as input for route reconstruction and for calculating zero or more alternative routes to this reference route.\n - The provided sequence of supporting points is used as input for route reconstruction.\n - The alternative routes are calculated between the origin and destination points specified in the base path parameter locations.\n - If both _minDeviationDistance_ and _minDeviationTime_ are set to zero, then these origin and destination points are\n expected to be at (or very near) the beginning and end of the reference route, respectively.\n - Intermediate locations (_waypoints_) are not supported when using <_supportingPoints_>.\n - The reference route may contain traffic incidents of type _ROAD_CLOSURE_, which are\n ignored for the calculation of the reference route's travel time and traffic delay.",
"type": "object"
};
reason: Autorest TS codegen does not deserialize array of base class objects as an operation parameter properly -> https://github.com/Azure/autorest.typescript/issues/1040
- - remove-operation: Route_GetRouteMatrix
- reason: This operation is created for Java SDK that has no LRO poller implementation
- - remove-operation: Route_GetRouteDirectionsBatch
- reason: This operation is created for Java SDK that has no LRO poller implementation
```
diff --git a/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverse.json b/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverse.json
index 8494a75faa80..8082282fffe8 100644
--- a/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverse.json
+++ b/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverse.json
@@ -14,10 +14,8 @@
"addresses": [
{
"address": {
- "buildingNumber": "31",
"streetNumber": "31",
"routeNumbers": [],
- "street": "N 2nd St",
"streetName": "N 2nd St",
"streetNameAndNumber": "31 N 2nd St",
"countryCode": "US",
diff --git a/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseBatch.json b/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseBatch.json
index c2c616b0b08f..3f75e6ecd4a9 100644
--- a/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseBatch.json
+++ b/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseBatch.json
@@ -22,10 +22,8 @@
"addresses": [
{
"address": {
- "buildingNumber": "7",
"streetNumber": "7",
"routeNumbers": [],
- "street": "Avenue Anatole France",
"streetName": "Avenue Anatole France",
"streetNameAndNumber": "7 Avenue Anatole France",
"countryCode": "FR",
@@ -90,10 +88,8 @@
"addresses": [
{
"address": {
- "buildingNumber": "410",
"streetNumber": "410",
"routeNumbers": [],
- "street": "Thomas Street",
"streetName": "Thomas Street",
"streetNameAndNumber": "410 Thomas Street",
"countryCode": "US",
diff --git a/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseCrossStreet.json b/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseCrossStreet.json
index 320943fae70f..52d4730c8085 100644
--- a/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseCrossStreet.json
+++ b/specification/maps/data-plane/Search/preview/1.0/examples/GetSearchAddressReverseCrossStreet.json
@@ -26,8 +26,7 @@
"country": "United States",
"countryCodeISO3": "USA",
"freeformAddress": "East Santa Clara Street & North 2nd Street, San Jose, CA 95113",
- "countrySubdivisionName": "California",
- "street": "North 2nd Street"
+ "countrySubdivisionName": "California"
},
"position": "37.33666,-121.88951"
}
diff --git a/specification/maps/data-plane/Search/preview/1.0/examples/PostSearchAddressReverseBatch.json b/specification/maps/data-plane/Search/preview/1.0/examples/PostSearchAddressReverseBatch.json
index dc4a934ab7b0..93227926b63b 100644
--- a/specification/maps/data-plane/Search/preview/1.0/examples/PostSearchAddressReverseBatch.json
+++ b/specification/maps/data-plane/Search/preview/1.0/examples/PostSearchAddressReverseBatch.json
@@ -35,10 +35,8 @@
"addresses": [
{
"address": {
- "buildingNumber": "7",
"streetNumber": "7",
"routeNumbers": [],
- "street": "Avenue Anatole France",
"streetName": "Avenue Anatole France",
"streetNameAndNumber": "7 Avenue Anatole France",
"countryCode": "FR",
@@ -103,10 +101,8 @@
"addresses": [
{
"address": {
- "buildingNumber": "410",
"streetNumber": "410",
"routeNumbers": [],
- "street": "Thomas Street",
"streetName": "Thomas Street",
"streetNameAndNumber": "410 Thomas Street",
"countryCode": "US",
diff --git a/specification/maps/data-plane/Search/preview/1.0/examples/PostSearchAddressReverseBatchSync.json b/specification/maps/data-plane/Search/preview/1.0/examples/PostSearchAddressReverseBatchSync.json
index 3efb30e013fc..07069a170bc0 100644
--- a/specification/maps/data-plane/Search/preview/1.0/examples/PostSearchAddressReverseBatchSync.json
+++ b/specification/maps/data-plane/Search/preview/1.0/examples/PostSearchAddressReverseBatchSync.json
@@ -35,10 +35,8 @@
"addresses": [
{
"address": {
- "buildingNumber": "7",
"streetNumber": "7",
"routeNumbers": [],
- "street": "Avenue Anatole France",
"streetName": "Avenue Anatole France",
"streetNameAndNumber": "7 Avenue Anatole France",
"countryCode": "FR",
@@ -103,10 +101,8 @@
"addresses": [
{
"address": {
- "buildingNumber": "410",
"streetNumber": "410",
"routeNumbers": [],
- "street": "Thomas Street",
"streetName": "Thomas Street",
"streetNameAndNumber": "410 Thomas Street",
"countryCode": "US",
diff --git a/specification/maps/data-plane/Search/preview/1.0/search.json b/specification/maps/data-plane/Search/preview/1.0/search.json
index b14b25e8937d..4908a011ed0d 100644
--- a/specification/maps/data-plane/Search/preview/1.0/search.json
+++ b/specification/maps/data-plane/Search/preview/1.0/search.json
@@ -18,15 +18,21 @@
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
"https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "AzureKey": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
+ "in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
"in": "header"
}
},
@@ -37,7 +43,10 @@
]
},
{
- "AzureKey": []
+ "SharedKey": []
+ },
+ {
+ "SasToken": []
}
],
"responses": {},
@@ -53,6 +62,7 @@
},
"BatchId": {
"name": "format",
+ "x-ms-client-name": "batchId",
"description": "Batch id for querying the operation.",
"type": "string",
"in": "path",
@@ -62,6 +72,7 @@
"LimitSearch": {
"name": "limit",
"in": "query",
+ "x-ms-client-name": "top",
"description": "Maximum number of responses that will be returned. Default: 10, minimum: 1 and maximum: 100",
"type": "integer",
"minimum": 1,
@@ -71,6 +82,7 @@
"Offset": {
"name": "ofs",
"in": "query",
+ "x-ms-client-name": "skip",
"description": "Starting offset of the returned results within the full result set. Default: 0, minimum: 0 and maximum: 1900",
"type": "integer",
"minimum": 0,
@@ -82,6 +94,7 @@
"in": "query",
"description": "Latitude where results should be biased. E.g. 37.337",
"type": "number",
+ "format": "double",
"x-ms-parameter-location": "method"
},
"OptionalBiasLon": {
@@ -89,6 +102,7 @@
"in": "query",
"description": "Longitude where results should be biased. E.g. -121.89",
"type": "number",
+ "format": "double",
"x-ms-parameter-location": "method"
},
"BoundingBoxTopLeft": {
@@ -113,6 +127,7 @@
"description": "Latitude where results should be biased. E.g. 37.337.",
"required": true,
"type": "number",
+ "format": "double",
"x-ms-parameter-location": "method"
},
"RequiredBiasLon": {
@@ -121,13 +136,7 @@
"description": "Longitude where results should be biased. E.g. -121.89.",
"required": true,
"type": "number",
- "x-ms-parameter-location": "method"
- },
- "Language": {
- "name": "language",
- "in": "query",
- "description": "Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.\n\nPlease refer to [Supported Languages](https://docs.microsoft.com/en-us/azure/azure-maps/supported-languages) for details.",
- "type": "string",
+ "format": "double",
"x-ms-parameter-location": "method"
},
"Query": {
@@ -143,18 +152,19 @@
"in": "query",
"description": "The applicable query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".",
"required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
- },
- "View": {
- "name": "view",
- "in": "query",
- "description": "The View parameter specifies which set of geopolitically disputed content is returned via Azure Maps services, including borders and labels displayed on the map. The View parameter (also referred to as “user region parameter”) will show the correct maps for that country/region. By default, the View parameter is set to “Unified” even if you haven’t defined it in the request. It is your responsibility to determine the location of your users, and then set the View parameter correctly for that location. Alternatively, you have the option to set ‘View=Auto’, which will return the map data based on the IP address of the request. The View parameter in Azure Maps must be used in compliance with applicable laws, including those regarding mapping, of the country where maps, images and other data and third party content that you are authorized to access via Azure Maps is made available. Example: view=IN.\n\nPlease refer to [Supported Views](https://aka.ms/AzureMapsLocalizationViews) for details and to see the available Views.",
- "type": "string",
- "x-ms-parameter-location": "method"
+ "x-ms-parameter-location": "method",
+ "type": "array",
+ "collectionFormat": "csv",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
},
"SearchIndexSet": {
"name": "idxSet",
+ "x-ms-client-name": "indexFilter",
"in": "query",
"description": "A comma separated list of indexes which should be utilized for the search. Item order does not matter. Available indexes are: Addr = Address range interpolation, Geo = Geographies, PAD = Point Addresses, POI = Points of interest, Str = Streets, Xstr = Cross Streets (intersections)",
"type": "array",
@@ -169,32 +179,38 @@
"Xstr"
],
"x-ms-enum": {
- "name": "SearchIndexSet",
+ "name": "SearchIndexes",
"modelAsString": true,
"values": [
{
"value": "Addr",
- "description": "Address range interpolation"
+ "description": "Address range interpolation",
+ "name": "Address"
},
{
"value": "Geo",
- "description": "Geographies"
+ "description": "Geographies",
+ "name": "Geographies"
},
{
"value": "PAD",
- "description": "Point Addresses"
+ "description": "Point Addresses",
+ "name": "PointAddresses"
},
{
"value": "POI",
- "description": "Points of interest"
+ "description": "Points of interest",
+ "name": "PointsOfInterest"
},
{
"value": "Str",
- "description": "Streets"
+ "description": "Streets",
+ "name": "Streets"
},
{
"value": "Xstr",
- "description": "Cross Streets (Intersections)"
+ "description": "Cross Streets (Intersections)",
+ "name": "CrossStreets"
}
]
}
@@ -202,22 +218,74 @@
"collectionFormat": "csv",
"x-ms-parameter-location": "method"
},
+ "EntityType": {
+ "name": "entityType",
+ "in": "query",
+ "description": "Specifies the level of filtering performed on geographies. Narrows the search for specified geography entity types, e.g. return only municipality. The resulting response will contain the geography ID as well as the entity type matched. If you provide more than one entity as a comma separated list, endpoint will return the 'smallest entity available'. Returned Geometry ID can be used to get the geometry of that geography via [Get Search Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon) API. The following parameters are ignored when entityType is set:\n\n* heading\n* number\n* returnRoadUse\n* returnSpeedLimit\n* roadUse\n* returnMatchType",
+ "type": "string",
+ "enum": [
+ "Country",
+ "CountrySubdivision",
+ "CountrySecondarySubdivision",
+ "CountryTertiarySubdivision",
+ "Municipality",
+ "MunicipalitySubdivision",
+ "Neighbourhood",
+ "PostalCodeArea"
+ ],
+ "x-ms-enum": {
+ "name": "GeographicEntityType",
+ "modelAsString": true
+ },
+ "x-ms-parameter-location": "method"
+ },
"ExtendedPostalCodesFor": {
"name": "extendedPostalCodesFor",
"in": "query",
"description": "Indexes for which extended postal codes should be included in the results.\n\nAvailable indexes are: \n\n **Addr** = Address ranges \n\n **Geo** = Geographies \n\n **PAD** = Point Addresses \n\n **POI** = Points of Interest \n\n **Str** = Streets \n\n **XStr** = Cross Streets (intersections)\n\nValue should be a comma separated list of index types (in any order) or **None** for no indexes.\n\nBy default extended postal codes are included for all indexes except Geo. Extended postal code lists for geographies can be quite long so they have to be explicitly requested when needed.\n\nUsage examples:\n\n extendedPostalCodesFor=POI \n\n extendedPostalCodesFor=PAD,Addr,POI \n\n extendedPostalCodesFor=None\n\nExtended postal code is returned as an **extendedPostalCode** property of an address. Availability is region-dependent.",
- "type": "string",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Addr",
+ "Geo",
+ "PAD",
+ "POI",
+ "Str",
+ "Xstr"
+ ],
+ "x-ms-enum": {
+ "name": "SearchIndexes",
+ "modelAsString": true
+ }
+ },
+ "collectionFormat": "csv",
"x-ms-parameter-location": "method"
},
"ExtendedPostalCodesForPoi": {
"name": "extendedPostalCodesFor",
"in": "query",
"description": "Indexes for which extended postal codes should be included in the results.\n\nAvailable indexes are: \n\n **POI** = Points of Interest \n\nValue should be **POI** or **None** to disable extended postal codes.\n\nBy default extended postal codes are included.\n\nUsage examples:\n\n extendedPostalCodesFor=POI \n\n extendedPostalCodesFor=None\n\nExtended postal code is returned as an **extendedPostalCode** property of an address. Availability is region-dependent.",
- "type": "string",
+ "type": "array",
+ "minItems": 0,
+ "maxItems": 1,
+ "required": false,
+ "items": {
+ "type": "string",
+ "enum": [
+ "POI",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "PointOfInterestExtendedPostalCodes",
+ "modelAsString": true
+ }
+ },
"x-ms-parameter-location": "method"
},
"Typeahead": {
"name": "typeahead",
+ "x-ms-client-name": "isTypeAhead",
"in": "query",
"description": "Boolean. If the typeahead flag is set, the query will be interpreted as a partial input and the search will enter predictive mode",
"type": "boolean",
@@ -226,6 +294,7 @@
"CategorySet": {
"name": "categorySet",
"in": "query",
+ "x-ms-client-name": "categoryFilter",
"description": "A comma-separated list of category set IDs which could be used to restrict the result to specific Points of Interest categories. ID order does not matter. When multiple category identifiers are provided, only POIs that belong to (at least) one of the categories from the provided list will be returned. The list of supported categories can be discovered using [POI Categories API](https://aka.ms/AzureMapsPOICategoryTree). Usage examples: \n\n* **categorySet=7315** (Search Points of Interest from category Restaurant)\n\n* **categorySet=7315025,7315017** (Search Points of Interest of category either Italian or French Restaurant) ",
"type": "array",
"items": {
@@ -236,6 +305,7 @@
},
"CountrySet": {
"name": "countrySet",
+ "x-ms-client-name": "countryFilter",
"in": "query",
"description": "Comma separated string of country codes, e.g. FR,ES. This will limit the search to the specified countries",
"type": "array",
@@ -247,9 +317,10 @@
},
"Radius": {
"name": "radius",
+ "x-ms-client-name": "radiusInMeters",
"in": "query",
"description": "The radius in meters to for the results to be constrained to the defined area",
- "type": "number",
+ "type": "integer",
"x-ms-parameter-location": "method"
},
"PoiQuery": {
@@ -263,6 +334,7 @@
"BrandSet": {
"name": "brandSet",
"in": "query",
+ "x-ms-client-name": "brandFilter",
"description": "A comma-separated list of brand names which could be used to restrict the result to specific brands. Item order does not matter. When multiple brands are provided, only results that belong to (at least) one of the provided list will be returned. Brands that contain a \",\" in their name should be put into quotes.\n\nUsage examples:\n\n brandSet=Foo\n\n brandSet=Foo,Bar\n\n brandSet=\"A,B,C Comma\",Bar",
"type": "array",
"items": {
@@ -274,6 +346,7 @@
"ConnectorSet": {
"name": "connectorSet",
"in": "query",
+ "x-ms-client-name": "electricVehicleConnectorFilter",
"description": "A comma-separated list of connector types which could be used to restrict the result to Electric Vehicle Station supporting specific connector types. Item order does not matter. When multiple connector types are provided, only results that belong to (at least) one of the provided list will be returned.\n\nAvailable connector types are:\n * `StandardHouseholdCountrySpecific` - These are the standard household connectors for a certain region. They are all AC single phase and the standard Voltage and standard Amperage. See also: [Plug & socket types - World Standards](https://www.worldstandards.eu/electricity/plugs-and-sockets).\n * `IEC62196Type1` - Type 1 connector as defined in the IEC 62196-2 standard. Also called Yazaki after the original manufacturer or SAE J1772 after the standard that first published it. Mostly used in combination with 120V single phase or up to 240V single phase infrastructure.\n * `IEC62196Type1CCS` - Type 1 based combo connector as defined in the IEC 62196-3 standard. The connector is based on the Type 1 connector – as defined in the IEC 62196-2 standard – with two additional direct current (DC) contacts to allow DC fast charging.\n * `IEC62196Type2CableAttached` - Type 2 connector as defined in the IEC 62196-2 standard. Provided as a cable and plug attached to the charging point.\n * `IEC62196Type2Outlet` - Type 2 connector as defined in the IEC 62196-2 standard. Provided as a socket set into the charging point.\n * `IEC62196Type2CCS` - Type 2 based combo connector as defined in the IEC 62196-3 standard. The connector is based on the Type 2 connector – as defined in the IEC 62196-2 standard – with two additional direct current (DC) contacts to allow DC fast charging.\n * `IEC62196Type3` - Type 3 connector as defined in the IEC 62196-2 standard. Also called Scame after the original manufacturer. Mostly used in combination with up to 240V single phase or up to 420V three phase infrastructure.\n * `Chademo` - CHAdeMO connector named after an association formed by the Tokyo Electric Power Company and industrial partners. Because of this is is also known as the TEPCO's connector. It supports fast DC charging.\n * `IEC60309AC1PhaseBlue` - Industrial Blue connector is a connector defined in the IEC 60309 standard. It is sometime referred to as by some combination of the standard, the color and the fact that is a single phase connector. The connector usually has the \"P+N+E, 6h\" configuration.\n * `IEC60309DCWhite` - Industrial White connector is a DC connector defined in the IEC 60309 standard.\n * `Tesla` - The Tesla connector is the regionally specific Tesla Supercharger connector. I.e. it refers to either Tesla's proprietary connector, sometimes referred to as Tesla Port mostly limited to North America or the modified Type 2 (DC over Type 2) in Europe.\n\nUsage examples:\n\n connectorSet=IEC62196Type2CableAttached\n connectorSet=IEC62196Type2Outlet,IEC62196Type2CableAttached",
"type": "array",
"items": {
@@ -292,7 +365,7 @@
"Tesla"
],
"x-ms-enum": {
- "name": "ConnectorSet",
+ "name": "ElectricVehicleConnector",
"modelAsString": true,
"values": [
{
@@ -345,16 +418,17 @@
"collectionFormat": "csv",
"x-ms-parameter-location": "method"
},
- "OpeningHours": {
+ "OperatingHours": {
"name": "openingHours",
- "description": "Hours of operation for a POI (Points of Interest). The availability of hours of operation will vary based on the data available.\nSupported value: nextSevenDays",
+ "x-ms-client-name": "operatingHours",
+ "description": "Hours of operation for a POI (Points of Interest). The availability of hours of operation will vary based on the data available. If not passed, then no opening hours information will be returned. \nSupported value: nextSevenDays",
"type": "string",
"in": "query",
"enum": [
"nextSevenDays"
],
"x-ms-enum": {
- "name": "OpeningHours",
+ "name": "OperatingHoursRange",
"modelAsString": true,
"values": [
{
@@ -369,8 +443,9 @@
"paths": {
"/search/polygon/{format}": {
"get": {
- "description": "**Get Polygon**\n\n\n**Applies to**: S1 pricing tier.\n\n\nThe Get Polygon service allows you to request the geometry data such as a city or country outline for a set of entities, previously retrieved from an Online Search request in GeoJSON format. The geometry ID is returned in the dataSources object under \"geometry\" and \"id\" in either a Search Address or Search Fuzzy call.\n\nPlease note that any geometry ID retrieved from an Online Search endpoint has a limited lifetime. The client should not store geometry IDs in persistent storage for later referral, as the stability of these identifiers is not guaranteed for a long period of time. It is expected that a request to the Polygon method is made within a few minutes of the request to the Online Search method that provided the ID. The service allows for batch requests up to 20 identifiers.",
- "operationId": "GetSearchPolygon",
+ "description": "**Get Polygon**\n\n\n**Applies to**: S1 pricing tier.\n\n\nThe Get Polygon service allows you to request the geometry data such as a city or country outline for a set of entities, previously retrieved from an Online Search request in GeoJSON format. The geometry ID is returned in the sourceGeometry object under \"geometry\" and \"id\" in either a Search Address or Search Fuzzy call.\n\nPlease note that any geometry ID retrieved from an Online Search endpoint has a limited lifetime. The client should not store geometry IDs in persistent storage for later referral, as the stability of these identifiers is not guaranteed for a long period of time. It is expected that a request to the Polygon method is made within a few minutes of the request to the Online Search method that provided the ID. The service allows for batch requests up to 20 identifiers.",
+ "operationId": "Search_GetSearchPolygon",
+ "x-ms-client-name": "ListPolygons",
"x-ms-examples": {
"Get the Geometry using the geometry id returned by the previous Search": {
"$ref": "./examples/GetSearchPolygon.json"
@@ -389,6 +464,7 @@
{
"name": "geometries",
"in": "query",
+ "x-ms-client-name": "geometryIds",
"description": "Comma separated list of geometry UUIDs, previously retrieved from an Online Search request.",
"required": true,
"type": "array",
@@ -401,7 +477,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchPolygonResponse"
+ "$ref": "#/definitions/PolygonResult"
}
},
"default": {
@@ -413,7 +489,8 @@
"/search/fuzzy/{format}": {
"get": {
"description": "\n**Free Form Search**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThe basic default API is Free Form Search which handles the most fuzzy of inputs handling any combination of address or POI tokens. This search API is the canonical 'single line search'. The Free Form Search API is a seamless combination of POI search and geocoding. The API can also be weighted with a contextual position (lat./lon. pair), or fully constrained by a coordinate and radius, or it can be executed more generally without any geo biasing anchor point.
We strongly advise you to use the 'countrySet' parameter to specify only the countries for which your application needs coverage, as the default behavior will be to search the entire world, potentially returning unnecessary results.
E.g.: `countrySet`=US,FR
Please see [Search Coverage](https://docs.microsoft.com/azure/location-based-services/geocoding-coverage) for a complete list of all the supported countries.
Most Search queries default to `maxFuzzyLevel`=2 to gain performance and also reduce unusual results. This new default can be overridden as needed per request by passing in the query param `maxFuzzyLevel`=3 or 4.",
- "operationId": "GetSearchFuzzy",
+ "operationId": "Search_GetSearchFuzzy",
+ "x-ms-client-name": "FuzzySearch",
"x-ms-examples": {
"Search City Seattle": {
"$ref": "./examples/GetSearchFuzzy.json"
@@ -467,7 +544,7 @@
"$ref": "#/parameters/BoundingBoxBottomRight"
},
{
- "$ref": "#/parameters/Language"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
},
{
"$ref": "#/parameters/ExtendedPostalCodesFor"
@@ -498,17 +575,20 @@
"$ref": "#/parameters/ConnectorSet"
},
{
- "$ref": "#/parameters/View"
+ "$ref": "#/parameters/EntityType"
},
{
- "$ref": "#/parameters/OpeningHours"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/View"
+ },
+ {
+ "$ref": "#/parameters/OperatingHours"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchCommonResponse"
+ "$ref": "#/definitions/SearchAddressResult"
}
},
"default": {
@@ -520,7 +600,8 @@
"/search/poi/{format}": {
"get": {
"description": "**Get POI by Name**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nPoints of Interest (POI) Search allows you to request POI results by name. Search supports additional query parameters such as language and filtering results by area of interest driven by country or bounding box. Endpoint will return only POI results matching the query string. Response includes POI details such as address, coordinate location and category.",
- "operationId": "GetSearchPOI",
+ "operationId": "Search_GetSearchPOI",
+ "x-ms-client-name": "SearchPointOfInterest",
"x-ms-examples": {
"Search for juice bars within 5 miles of Seattle Downtown and limit the response to 5 results": {
"$ref": "./examples/GetSearchPOI.json"
@@ -574,7 +655,7 @@
"$ref": "#/parameters/BoundingBoxBottomRight"
},
{
- "$ref": "#/parameters/Language"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
},
{
"$ref": "#/parameters/ExtendedPostalCodesForPoi"
@@ -586,17 +667,17 @@
"$ref": "#/parameters/ConnectorSet"
},
{
- "$ref": "#/parameters/View"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/View"
},
{
- "$ref": "#/parameters/OpeningHours"
+ "$ref": "#/parameters/OperatingHours"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchCommonResponse"
+ "$ref": "#/definitions/SearchAddressResult"
}
},
"default": {
@@ -608,7 +689,8 @@
"/search/nearby/{format}": {
"get": {
"description": "**Nearby Search**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nIf you have a use case for only retrieving POI results around a specific location, the nearby search method may be the right choice. This endpoint will only return POI results, and does not take in a search query parameter.",
- "operationId": "GetSearchNearby",
+ "operationId": "Search_GetSearchNearby",
+ "x-ms-client-name": "SearchNearbyPointOfInterest",
"x-ms-examples": {
"Search for any points of interest (POI) within 5 miles of Manhattan NY and return the top 10 results": {
"$ref": "./examples/GetSearchNearby.json"
@@ -645,11 +727,12 @@
{
"name": "radius",
"in": "query",
+ "x-ms-client-name": "radiusInMeters",
"description": "The radius in meters to for the results to be constrained to the defined area, Min value is 1, Max Value is 50000.",
- "type": "number"
+ "type": "integer"
},
{
- "$ref": "#/parameters/Language"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
},
{
"$ref": "#/parameters/ExtendedPostalCodesFor"
@@ -661,14 +744,14 @@
"$ref": "#/parameters/ConnectorSet"
},
{
- "$ref": "#/parameters/View"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/View"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchCommonResponse"
+ "$ref": "#/definitions/SearchAddressResult"
}
},
"default": {
@@ -680,7 +763,8 @@
"/search/poi/category/{format}": {
"get": {
"description": "**Get POI by Category**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nPoints of Interest (POI) Category Search allows you to request POI results from given category. Search allows to query POIs from one category at a time. Endpoint will only return POI results which are categorized as specified. Response includes POI details such as address, coordinate location and classification.",
- "operationId": "GetSearchPOICategory",
+ "operationId": "Search_GetSearchPOICategory",
+ "x-ms-client-name": "SearchPointOfInterestCategory",
"x-ms-examples": {
"Search for atm's within 2 miles of Times Square NY and return the top 3 results": {
"$ref": "./examples/GetSearchPOICategory.json"
@@ -734,7 +818,7 @@
"$ref": "#/parameters/BoundingBoxBottomRight"
},
{
- "$ref": "#/parameters/Language"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
},
{
"$ref": "#/parameters/ExtendedPostalCodesFor"
@@ -746,17 +830,17 @@
"$ref": "#/parameters/ConnectorSet"
},
{
- "$ref": "#/parameters/View"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/View"
},
{
- "$ref": "#/parameters/OpeningHours"
+ "$ref": "#/parameters/OperatingHours"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchCommonResponse"
+ "$ref": "#/definitions/SearchAddressResult"
}
},
"default": {
@@ -768,7 +852,8 @@
"/search/poi/category/tree/{format}": {
"get": {
"description": "**Get POI Category Tree**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nPOI Category API provides a full list of supported Points of Interest (POI) categories and subcategories together with their translations and synonyms. The returned content can be used to provide more meaningful results through other Search Service APIs, like [Get Search POI](https://docs.microsoft.com/rest/api/maps/search/getsearchpoi).",
- "operationId": "GetSearchPOICategoryTree",
+ "operationId": "Search_GetSearchPOICategoryTree",
+ "x-ms-client-name": "GetPointOfInterestCategoryTree",
"x-ms-examples": {
"Get the POI Category Tree (only partial response shown below)": {
"$ref": "./examples/GetSearchPOICategoryTree.json"
@@ -795,7 +880,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchPoiCategoryTreeResponse"
+ "$ref": "#/definitions/PointOfInterestCategoryTreeResult"
}
},
"default": {
@@ -807,7 +892,8 @@
"/search/address/{format}": {
"get": {
"description": "**Address Geocoding**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nIn many cases, the complete search service might be too much, for instance if you are only interested in traditional geocoding. Search can also be accessed for address look up exclusively. The geocoding is performed by hitting the geocode endpoint with just the address or partial address in question. The geocoding search index will be queried for everything above the street level data. No POIs will be returned. Note that the geocoder is very tolerant of typos and incomplete addresses. It will also handle everything from exact street addresses or street or intersections as well as higher level geographies such as city centers, counties, states etc.",
- "operationId": "GetSearchAddress",
+ "operationId": "Search_GetSearchAddress",
+ "x-ms-client-name": "SearchAddress",
"x-ms-examples": {
"Search detail address 15127 NE 24th Street, Redmond, WA 98052": {
"$ref": "./examples/GetSearchAddress.json"
@@ -858,20 +944,23 @@
"$ref": "#/parameters/BoundingBoxBottomRight"
},
{
- "$ref": "#/parameters/Language"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
},
{
"$ref": "#/parameters/ExtendedPostalCodesFor"
},
{
- "$ref": "#/parameters/View"
+ "$ref": "#/parameters/EntityType"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/View"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchCommonResponse"
+ "$ref": "#/definitions/SearchAddressResult"
}
},
"default": {
@@ -883,9 +972,10 @@
"/search/address/reverse/{format}": {
"get": {
"description": "**Reverse Geocode to an Address**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThere may be times when you need to translate a coordinate (example: 37.786505, -122.3862) into a human understandable street address. Most often this is needed in tracking applications where you receive a GPS feed from the device or asset and wish to know what address where the coordinate is located. This endpoint will return address information for a given coordinate.",
- "operationId": "GetSearchAddressReverse",
+ "operationId": "Search_GetSearchAddressReverse",
+ "x-ms-client-name": "ReverseSearchAddress",
"x-ms-examples": {
- "GetSearchAddressReverse": {
+ "Searches addresses for coordinates 37.337,-121.89": {
"$ref": "./examples/GetSearchAddressReverse.json"
}
},
@@ -903,10 +993,11 @@
"$ref": "#/parameters/Position"
},
{
- "$ref": "#/parameters/Language"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
},
{
"name": "returnSpeedLimit",
+ "x-ms-client-name": "includeSpeedLimit",
"in": "query",
"description": "Boolean. To enable return of the posted speed limit",
"type": "boolean"
@@ -915,7 +1006,7 @@
"name": "heading",
"in": "query",
"description": "The directional heading of the vehicle in degrees, for travel along a segment of roadway. 0 is North, 90 is East and so on, values range from -360 to 360. The precision can include upto one decimal place",
- "type": "number",
+ "type": "integer",
"minimum": -360,
"maximum": 360
},
@@ -930,6 +1021,7 @@
},
{
"name": "returnRoadUse",
+ "x-ms-client-name": "includeRoadUse",
"in": "query",
"description": "Boolean. To enable return of the road use array for reverse geocodes at street level",
"type": "boolean"
@@ -938,7 +1030,21 @@
"name": "roadUse",
"in": "query",
"description": "To restrict reverse geocodes to a certain type of road use. The road use array for reverse geocodes can be one or more of LimitedAccess, Arterial, Terminal, Ramp, Rotary, LocalStreet",
- "type": "string"
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "LimitedAccess",
+ "Arterial",
+ "Terminal",
+ "Ramp",
+ "Rotary",
+ "LocalStreet"
+ ],
+ "x-ms-enum": {
+ "name": "RoadUseType"
+ }
+ }
},
{
"name": "allowFreeformNewline",
@@ -948,73 +1054,23 @@
},
{
"name": "returnMatchType",
+ "x-ms-client-name": "includeMatchType",
"in": "query",
"description": "Include information on the type of match the geocoder achieved in the response.",
"type": "boolean"
},
{
- "name": "entityType",
- "in": "query",
- "description": "Specifies the level of filtering performed on geographies. Narrows the search for specified geography entity types, e.g. return only municipality. The resulting response will contain the geography ID as well as the entity type matched. If you provide more than one entity as a comma separated list, endpoint will return the 'smallest entity available'. Returned Geometry ID can be used to get the geometry of that geography via [Get Search Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon) API. The following parameters are ignored when entityType is set:\n\n* heading\n* number\n* returnRoadUse\n* returnSpeedLimit\n* roadUse\n* returnMatchType",
- "type": "string",
- "enum": [
- "Country",
- "CountrySubdivision",
- "CountrySecondarySubdivision",
- "CountryTertiarySubdivision",
- "Municipality",
- "MunicipalitySubdivision",
- "Neighbourhood",
- "PostalCodeArea"
- ],
- "x-ms-enum": {
- "name": "EntityType",
- "modelAsString": true,
- "values": [
- {
- "value": "Country",
- "description": "Country name"
- },
- {
- "value": "CountrySubdivision",
- "description": "State or Province"
- },
- {
- "value": "CountrySecondarySubdivision",
- "description": "County"
- },
- {
- "value": "CountryTertiarySubdivision",
- "description": "Named Area"
- },
- {
- "value": "Municipality",
- "description": "City / Town"
- },
- {
- "value": "MunicipalitySubdivision",
- "description": "Sub / Super City"
- },
- {
- "value": "Neighbourhood",
- "description": "Neighbourhood"
- },
- {
- "value": "PostalCodeArea",
- "description": "Postal Code / Zip Code"
- }
- ]
- }
+ "$ref": "#/parameters/EntityType"
},
{
- "$ref": "#/parameters/View"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/View"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchAddressReverseResponse"
+ "$ref": "#/definitions/ReverseSearchAddressResult"
}
},
"default": {
@@ -1026,9 +1082,10 @@
"/search/address/reverse/crossStreet/{format}": {
"get": {
"description": "**Reverse Geocode to a Cross Street**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThere may be times when you need to translate a coordinate (example: 37.786505, -122.3862) into a human understandable cross street. Most often this is needed in tracking applications where you receive a GPS feed from the device or asset and wish to know what address where the coordinate is located.\nThis endpoint will return cross street information for a given coordinate.",
- "operationId": "GetSearchAddressReverseCrossStreet",
+ "operationId": "Search_GetSearchAddressReverseCrossStreet",
+ "x-ms-client-name": "ReverseSearchCrossStreetAddress",
"x-ms-examples": {
- "GetSearchAddressReverseCrossStreet": {
+ "Search address of the nearest intersection/crossroad": {
"$ref": "./examples/GetSearchAddressReverseCrossStreet.json"
}
},
@@ -1052,7 +1109,7 @@
"name": "heading",
"in": "query",
"description": "The directional heading of the vehicle in degrees, for travel along a segment of roadway. 0 is North, 90 is East and so on, values range from -360 to 360. The precision can include upto one decimal place",
- "type": "number",
+ "type": "integer",
"minimum": -360,
"maximum": 360
},
@@ -1060,17 +1117,17 @@
"$ref": "#/parameters/Radius"
},
{
- "$ref": "#/parameters/Language"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
},
{
- "$ref": "#/parameters/View"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/View"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchAddressReverseCrossStreetResponse"
+ "$ref": "#/definitions/ReverseSearchCrossStreetAddressResult"
}
},
"default": {
@@ -1082,9 +1139,10 @@
"/search/address/structured/{format}": {
"get": {
"description": "**Structured Address Geocoding**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nAzure Address Geocoding can also be accessed for structured address look up exclusively. The geocoding search index will be queried for everything above the street level data. No POIs will be returned. Note that the geocoder is very tolerant of typos and incomplete addresses. It will also handle everything from exact street addresses or street or intersections as well as higher level geographies such as city centers, counties, states etc.",
- "operationId": "GetSearchAddressStructured",
+ "operationId": "Search_GetSearchAddressStructured",
+ "x-ms-client-name": "SearchStructuredAddress",
"x-ms-examples": {
- "GetSearchAddressStructured": {
+ "Search address in Redmond, WA in structured form": {
"$ref": "./examples/GetSearchAddressStructured.json"
}
},
@@ -1099,12 +1157,13 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/ResponseFormat"
},
{
- "$ref": "#/parameters/Language"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
},
{
"name": "countryCode",
"in": "query",
"description": "The 2 or 3 letter [ISO3166-1](https://www.iso.org/iso-3166-country-codes.html) country code portion of an address. E.g. US.",
+ "required": true,
"default": "US",
"type": "string"
},
@@ -1172,14 +1231,17 @@
"$ref": "#/parameters/ExtendedPostalCodesFor"
},
{
- "$ref": "#/parameters/View"
+ "$ref": "#/parameters/EntityType"
+ },
+ {
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/View"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchCommonResponse"
+ "$ref": "#/definitions/SearchAddressResult"
}
},
"default": {
@@ -1191,7 +1253,8 @@
"/search/geometry/{format}": {
"post": {
"description": "**Applies to**: S0 and S1 pricing tiers.\n\nThe Search Geometry endpoint allows you to perform a free form search inside a single geometry or many of them. The search results that fall inside the geometry/geometries will be returned.
To send the geometry you will use a `POST` request where the request body will contain the `geometry` object represented as a `GeoJSON` type and the `Content-Type` header will be set to `application/json`. The geographical features to be searched can be modeled as Polygon and/or Circle geometries represented using any one of the following `GeoJSON` types:- **GeoJSON FeatureCollection**
The `geometry` can be represented as a `GeoJSON FeatureCollection` object. This is the recommended option if the geometry contains both Polygons and Circles. The `FeatureCollection` can contain a max of 50 `GeoJSON Feature` objects. Each `Feature` object should represent either a Polygon or a Circle with the following conditions:- A `Feature` object for the Polygon geometry can have a max of 50 coordinates and it's properties must be empty.
- A `Feature` object for the Circle geometry is composed of a _center_ represented using a `GeoJSON Point` type and a _radius_ value (in meters) which must be specified in the object's properties along with the _subType_ property whose value should be 'Circle'.
Please see the Examples section below for a sample `FeatureCollection` representation.
- **GeoJSON GeometryCollection**
The `geometry` can be represented as a `GeoJSON GeometryCollection` object. This is the recommended option if the geometry contains a list of Polygons only. The `GeometryCollection` can contain a max of 50 `GeoJSON Polygon` objects. Each `Polygon` object can have a max of 50 coordinates. Please see the Examples section below for a sample `GeometryCollection` representation.
- **GeoJSON Polygon**
The `geometry` can be represented as a `GeoJSON Polygon` object. This is the recommended option if the geometry contains a single Polygon. The `Polygon` object can have a max of 50 coordinates. Please see the Examples section below for a sample `Polygon` representation.
.
",
- "operationId": "PostSearchInsideGeometry",
+ "operationId": "Search_PostSearchInsideGeometry",
+ "x-ms-client-name": "SearchInsideGeometry",
"x-ms-examples": {
"Search for pizza places inside a geometry represented as a GeoJSON FeatureCollection type": {
"$ref": "./examples/PostSearchInsideFeatureCollection.json"
@@ -1220,7 +1283,7 @@
"$ref": "#/parameters/LimitSearch"
},
{
- "$ref": "#/parameters/Language"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
},
{
"$ref": "#/parameters/CategorySet"
@@ -1233,25 +1296,26 @@
},
{
"name": "searchInsideGeometryRequestBody",
+ "x-ms-client-name": "geometry",
"in": "body",
"description": "This represents the geometry for one or more geographical features (parks, state boundary etc.) to search in and should be a GeoJSON compliant type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946) for details.",
"required": true,
"schema": {
- "$ref": "#/definitions/SearchInsideGeometryRequestBody"
+ "$ref": "#/definitions/SearchInsideGeometryRequest"
}
},
{
- "$ref": "#/parameters/View"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/View"
},
{
- "$ref": "#/parameters/OpeningHours"
+ "$ref": "#/parameters/OperatingHours"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchCommonResponse"
+ "$ref": "#/definitions/SearchAddressResult"
}
},
"default": {
@@ -1263,7 +1327,8 @@
"/search/alongRoute/{format}": {
"post": {
"description": "**Applies to**: S0 and S1 pricing tiers.\n\n\nThe Search Along Route endpoint allows you to perform a fuzzy search for POIs along a specified route. This search is constrained by specifying the `maxDetourTime` limiting measure.
To send the route-points you will use a `POST` request where the request body will contain the `route` object represented as a `GeoJSON LineString` type and the `Content-Type` header will be set to `application/json`. Each route-point in `route` is represented as a `GeoJSON Position` type i.e. an array where the _longitude_ value is followed by the _latitude_ value and the _altitude_ value is ignored. The `route` should contain at least 2 route-points.
It is possible that original route will be altered, some of it's points may be skipped. If the route that passes through the found point is faster than the original one, the `detourTime` value in the response is negative.",
- "operationId": "PostSearchAlongRoute",
+ "operationId": "Search_PostSearchAlongRoute",
+ "x-ms-client-name": "SearchAlongRoute",
"x-ms-examples": {
"Search for burger joints along a route": {
"$ref": "./examples/PostSearchAlongRoute.json"
@@ -1282,9 +1347,6 @@
{
"$ref": "#/parameters/PoiQuery"
},
- {
- "$ref": "#/parameters/CategorySet"
- },
{
"name": "maxDetourTime",
"description": "Maximum detour time of the point of interest in seconds. Max value is 3600 seconds",
@@ -1293,8 +1355,19 @@
"in": "query",
"maximum": 3600
},
+ {
+ "name": "searchAlongRouteRequestBody",
+ "x-ms-client-name": "route",
+ "in": "body",
+ "description": "This represents the route to search along and should be a valid `GeoJSON LineString` type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.4) for details.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SearchAlongRouteRequest"
+ }
+ },
{
"name": "limit",
+ "x-ms-client-name": "top",
"description": "Maximum number of responses that will be returned. Default value is 10. Max value is 20",
"type": "integer",
"in": "query",
@@ -1304,29 +1377,23 @@
"$ref": "#/parameters/BrandSet"
},
{
- "$ref": "#/parameters/ConnectorSet"
+ "$ref": "#/parameters/CategorySet"
},
{
- "$ref": "#/parameters/View"
+ "$ref": "#/parameters/ConnectorSet"
},
{
- "$ref": "#/parameters/OpeningHours"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/View"
},
{
- "name": "searchAlongRouteRequestBody",
- "in": "body",
- "description": "This represents the route to search along and should be a valid `GeoJSON LineString` type. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946#section-3.1.4) for details.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/SearchAlongRouteRequestBody"
- }
+ "$ref": "#/parameters/OperatingHours"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchCommonResponse"
+ "$ref": "#/definitions/SearchAddressResult"
}
},
"default": {
@@ -1337,8 +1404,9 @@
},
"/search/fuzzy/batch/sync/{format}": {
"post": {
- "description": "**Search Fuzzy Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchCommonResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy#searchcommonresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
- "operationId": "PostSearchFuzzyBatchSync",
+ "description": "**Search Fuzzy Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "operationId": "Search_PostSearchFuzzyBatchSync",
+ "x-ms-client-name": "FuzzySearchBatchSync",
"x-ms-examples": {
"A Sync Search Fuzzy Batch API call containing 5 Search Fuzzy API queries": {
"$ref": "./examples/PostSearchFuzzyBatchSync.json"
@@ -1356,11 +1424,12 @@
},
{
"name": "searchFuzzyBatchRequestBody",
+ "x-ms-client-name": "batchRequest",
"in": "body",
"description": "The list of search fuzzy queries/requests to process. The list can contain a max of 10,000 queries and must contain at least 1 query.",
"required": true,
"schema": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequestBody"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequest"
}
}
],
@@ -1368,7 +1437,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchFuzzyBatchResponse"
+ "$ref": "#/definitions/SearchAddressBatchProcessResult"
}
},
"408": {
@@ -1382,8 +1451,9 @@
},
"/search/fuzzy/batch/{format}": {
"post": {
- "description": "**Search Fuzzy Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchCommonResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy#searchcommonresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
- "operationId": "PostSearchFuzzyBatch",
+ "description": "**Search Fuzzy Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "operationId": "Search_PostSearchFuzzyBatch",
+ "x-ms-client-name": "FuzzySearchBatch",
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
"final-state-via": "location"
@@ -1405,11 +1475,12 @@
},
{
"name": "searchFuzzyBatchRequestBody",
+ "x-ms-client-name": "batchRequest",
"in": "body",
- "description": "The list of search fuzzy queries/requests to process. The list can contain a max of 10,000 queries and must contain at least 1 query.",
+ "description": "The list of search fuzzy queries/requests to process. The list can contain a max of 10,000 queries and must contain at least 1 query.",
"required": true,
"schema": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequestBody"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequest"
}
}
],
@@ -1417,7 +1488,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchFuzzyBatchResponse"
+ "$ref": "#/definitions/SearchAddressBatchProcessResult"
}
},
"202": {
@@ -1429,8 +1500,9 @@
}
},
"get": {
- "description": "**Search Fuzzy Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchCommonResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchfuzzy#searchcommonresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
- "operationId": "GetSearchFuzzyBatch",
+ "description": "**Search Fuzzy Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Fuzzy API](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy) using just a single API call. You can call Search Address Fuzzy Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/fuzzy/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search fuzzy_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search fuzzy_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=atm&lat=47.639769&lon=-122.128362&radius=5000&limit=5\"},\n {\"query\": \"?query=Statue Of Liberty&limit=2\"},\n {\"query\": \"?query=Starbucks&lat=47.639769&lon=-122.128362&radius=5000\"},\n {\"query\": \"?query=Space Needle\"},\n {\"query\": \"?query=pizza&limit=10\"}\n ]\n}\n```\n\nA _search fuzzy_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search fuzzy_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#uri-parameters). The string values in the _search fuzzy_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/fuzzy/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchfuzzy#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"atm\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"ATM at Wells Fargo\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"3240 157th Ave NE, Redmond, WA 98052\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"statue of liberty\"\n },\n \"results\": [\n {\n \"type\": \"POI\",\n \"poi\": {\n \"name\": \"Statue of Liberty\"\n },\n \"address\": {\n \"country\": \"United States Of America\",\n \"freeformAddress\": \"New York, NY 10004\"\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "operationId": "Search_GetSearchFuzzyBatch",
+ "x-ms-client-name": "GetFuzzySearchBatch",
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
"final-state-via": "original-uri"
@@ -1455,7 +1527,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchFuzzyBatchResponse"
+ "$ref": "#/definitions/SearchAddressBatchProcessResult"
}
},
"202": {
@@ -1469,8 +1541,9 @@
},
"/search/address/batch/sync/{format}": {
"post": {
- "description": "**Search Address Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchCommonResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress#SearchCommonResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
- "operationId": "PostSearchAddressBatchSync",
+ "description": "**Search Address Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "operationId": "Search_PostSearchAddressBatchSync",
+ "x-ms-client-name": "SearchAddressBatchSync",
"x-ms-examples": {
"A Sync Address Geocoding Batch API call containing 5 Address Geocoding API queries": {
"$ref": "./examples/PostSearchAddressBatchSync.json"
@@ -1488,11 +1561,12 @@
},
{
"name": "searchAddressBatchRequestBody",
+ "x-ms-client-name": "batchRequest",
"in": "body",
"description": "The list of address geocoding queries/requests to process. The list can contain a max of 10,000 queries and must contain at least 1 query.",
"required": true,
"schema": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequestBody"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequest"
}
}
],
@@ -1500,7 +1574,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchAddressBatchResponse"
+ "$ref": "#/definitions/SearchAddressBatchProcessResult"
}
},
"408": {
@@ -1514,8 +1588,9 @@
},
"/search/address/batch/{format}": {
"post": {
- "description": "**Search Address Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchCommonResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress#SearchCommonResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
- "operationId": "PostSearchAddressBatch",
+ "description": "**Search Address Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "operationId": "Search_PostSearchAddressBatch",
+ "x-ms-client-name": "SearchAddressBatch",
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
"final-state-via": "location"
@@ -1537,11 +1612,12 @@
},
{
"name": "searchAddressBatchRequestBody",
+ "x-ms-client-name": "batchRequest",
"in": "body",
"description": "The list of address geocoding queries/requests to process. The list can contain a max of 10,000 queries and must contain at least 1 query.",
"required": true,
"schema": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequestBody"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequest"
}
}
],
@@ -1549,7 +1625,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchAddressBatchResponse"
+ "$ref": "#/definitions/SearchAddressBatchProcessResult"
}
},
"202": {
@@ -1561,8 +1637,8 @@
}
},
"get": {
- "description": "**Search Address Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchCommonResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddress#SearchCommonResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
- "operationId": "GetSearchAddressBatch",
+ "description": "**Search Address Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress) using just a single API call. You can call Search Address Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=400 Broad St, Seattle, WA 98109&limit=3\"},\n {\"query\": \"?query=One, Microsoft Way, Redmond, WA 98052&limit=3\"},\n {\"query\": \"?query=350 5th Ave, New York, NY 10118&limit=1\"},\n {\"query\": \"?query=Pike Pl, Seattle, WA 98101&lat=47.610970&lon=-122.342469&radius=1000\"},\n {\"query\": \"?query=Champ de Mars, 5 Avenue Anatole France, 75007 Paris, France&limit=1\"}\n ]\n}\n```\n\nA _search address_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#uri-parameters). The string values in the _search address_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddress#SearchAddressResponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"one microsoft way redmond wa 98052\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.63989,\n \"lon\": -122.12509\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"query\": \"pike pl seattle wa 98101\"\n },\n \"results\": [\n {\n \"position\": {\n \"lat\": 47.60963,\n \"lon\": -122.34215\n }\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "operationId": "Search_GetSearchAddressBatch",
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
"final-state-via": "original-uri"
@@ -1587,7 +1663,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchAddressBatchResponse"
+ "$ref": "#/definitions/SearchAddressBatchProcessResult"
}
},
"202": {
@@ -1601,8 +1677,9 @@
},
"/search/address/reverse/batch/sync/{format}": {
"post": {
- "description": "**Search Address Reverse Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
- "operationId": "PostSearchAddressReverseBatchSync",
+ "description": "**Search Address Reverse Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "operationId": "Search_PostSearchAddressReverseBatchSync",
+ "x-ms-client-name": "ReverseSearchAddressBatchSync",
"x-ms-examples": {
"A Reverse Geocoding Batch API Sync call containing 5 Reverse Geocoding API queries": {
"$ref": "./examples/PostSearchAddressReverseBatchSync.json"
@@ -1620,11 +1697,12 @@
},
{
"name": "searchAddressReverseBatchRequestBody",
+ "x-ms-client-name": "batchRequest",
"in": "body",
"description": "The list of reverse geocoding queries/requests to process. The list can contain a max of 10,000 queries and must contain at least 1 query.",
"required": true,
"schema": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequestBody"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequest"
}
}
],
@@ -1632,7 +1710,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchAddressReverseBatchResponse"
+ "$ref": "#/definitions/ReverseSearchAddressBatchProcessResult"
}
},
"408": {
@@ -1646,8 +1724,9 @@
},
"/search/address/reverse/batch/{format}": {
"post": {
- "description": "**Search Address Reverse Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
- "operationId": "PostSearchAddressReverseBatch",
+ "description": "**Search Address Reverse Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "operationId": "Search_PostSearchAddressReverseBatch",
+ "x-ms-client-name": "ReverseSearchAddressBatch",
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
"final-state-via": "location"
@@ -1669,11 +1748,12 @@
},
{
"name": "searchAddressReverseBatchRequestBody",
+ "x-ms-client-name": "batchRequest",
"in": "body",
"description": "The list of reverse geocoding queries/requests to process. The list can contain a max of 10,000 queries and must contain at least 1 query.",
"required": true,
"schema": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequestBody"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchRequest"
}
}
],
@@ -1681,7 +1761,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchAddressReverseBatchResponse"
+ "$ref": "#/definitions/ReverseSearchAddressBatchProcessResult"
}
},
"202": {
@@ -1693,8 +1773,9 @@
}
},
"get": {
- "description": "**Search Address Reverse Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/en-us/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
- "operationId": "GetSearchAddressReverseBatch",
+ "description": "**Search Address Reverse Batch API**\n\n\n**Applies to**: S1 pricing tier.\n\n\n\nThe Search Address Batch API sends batches of queries to [Search Address Reverse API](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse) using just a single API call. You can call Search Address Reverse Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **10,000** queries and sync API up to **100** queries.\n### Submit Synchronous Batch Request\nThe Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.\n```\nPOST https://atlas.microsoft.com/search/address/reverse/batch/sync/json?api-version=1.0&subscription-key={subscription-key}\n```\n### Submit Asynchronous Batch Request\nThe Asynchronous API is appropriate for processing big volumes of relatively complex search requests\n- It allows the retrieval of results in a separate call (multiple downloads are possible).\n- The asynchronous API is optimized for reliability and is not expected to run into a timeout.\n- The number of batch items is limited to **10,000** for this API.\n\nWhen you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.\nThe asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.\n\nPlease note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:\n1. Client sends a Search Address Batch `POST` request to Azure Maps\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request has been accepted.\n\n > HTTP `Error` - There was an error processing your Batch request. This could either be a `400 Bad Request` or any other `Error` status code.\n\n3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.\n This status URI looks like following:\n\n```\n GET https://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\n4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.\n\n### POST Body for Batch Request\nTo send the _search address reverse_ queries you will use a `POST` request where the request body will contain the `batchItems` array in `json` format and the `Content-Type` header will be set to `application/json`. Here's a sample request body containing 5 _search address reverse_ queries:\n\n\n```json\n{\n \"batchItems\": [\n {\"query\": \"?query=48.858561,2.294911\"},\n {\"query\": \"?query=47.639765,-122.127896&radius=5000&limit=2\"},\n {\"query\": \"?query=47.621028,-122.348170\"},\n {\"query\": \"?query=43.722990,10.396695\"},\n {\"query\": \"?query=40.750958,-73.982336\"}\n ]\n}\n```\n\nA _search address reverse_ query in a batch is just a partial URL _without_ the protocol, base URL, path, api-version and subscription-key. It can accept any of the supported _search address reverse_ [URI parameters](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#uri-parameters). The string values in the _search address reverse_ query must be properly escaped (e.g. \" character should be escaped with \\\\ ) and it should also be properly URL-encoded.\n\n\nThe async API allows caller to batch up to **10,000** queries and sync API up to **100** queries, and the batch should contain at least **1** query.\n\n\n### Download Asynchronous Batch Results\nTo download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:\n\n```\nhttps://atlas.microsoft.com/search/address/reverse/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}\n```\nHere's the typical sequence of operations for downloading the batch results:\n1. Client sends a `GET` request using the _download URL_.\n2. The server will respond with one of the following:\n\n > HTTP `202 Accepted` - Batch request was accepted but is still being processed. Please try again in some time.\n\n > HTTP `200 OK` - Batch request successfully processed. The response body contains all the batch results.\n\n\n\n### Batch Response Model\nThe returned data content is similar for async and sync requests. When downloading the results of an async batch request, if the batch has finished processing, the response body contains the batch response. This batch response contains a `summary` component that indicates the `totalRequests` that were part of the original batch request and `successfulRequests`i.e. queries which were executed successfully. The batch response also includes a `batchItems` array which contains a response for each and every query in the batch request. The `batchItems` will contain the results in the exact same order the original queries were sent in the batch request. Each item in `batchItems` contains `statusCode` and `response` fields. Each `response` in `batchItems` is of one of the following types:\n\n - [`SearchAddressReverseResponse`](https://docs.microsoft.com/rest/api/maps/search/getsearchaddressreverse#searchaddressreverseresponse) - If the query completed successfully.\n\n - `Error` - If the query failed. The response will contain a `code` and a `message` in this case.\n\n\nHere's a sample Batch Response with 2 _successful_ and 1 _failed_ result:\n\n\n```json\n{\n \"summary\": {\n \"successfulRequests\": 2,\n \"totalRequests\": 3\n },\n \"batchItems\": [\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 11\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"France\",\n \"freeformAddress\": \"Avenue Anatole France, 75007 Paris\"\n },\n \"position\": \"48.858490,2.294820\"\n }\n ]\n }\n },\n {\n \"statusCode\": 200,\n \"response\":\n {\n \"summary\": {\n \"queryTime\": 1\n },\n \"addresses\": [\n {\n \"address\": {\n \"country\": \"United States of America\",\n \"freeformAddress\": \"157th Pl NE, Redmond WA 98052\"\n },\n \"position\": \"47.640470,-122.129430\"\n }\n ]\n }\n },\n {\n \"statusCode\": 400,\n \"response\":\n {\n \"error\":\n {\n \"code\": \"400 BadRequest\",\n \"message\": \"Bad request: one or more parameters were incorrectly specified or are mutually exclusive.\"\n }\n }\n }\n ]\n}\n```",
+ "operationId": "Search_GetSearchAddressReverseBatch",
+ "x-ms-client-name": "GetReverseSearchAddressBatch",
"x-ms-long-running-operation": true,
"x-ms-long-running-operation-options": {
"final-state-via": "original-uri"
@@ -1719,7 +1800,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SearchAddressReverseBatchResponse"
+ "$ref": "#/definitions/ReverseSearchAddressBatchProcessResult"
}
},
"202": {
@@ -1733,21 +1814,22 @@
}
},
"definitions": {
- "SearchPolygonResponse": {
+ "PolygonResult": {
"description": "This object is returned from a successful Search Polygon call",
"type": "object",
"properties": {
"additionalData": {
"description": "Results array",
- "type": "array",
+ "x-ms-client-name": "polygons",
"readOnly": true,
+ "type": "array",
"items": {
- "$ref": "#/definitions/SearchPolygonResult"
+ "$ref": "#/definitions/Polygon"
}
}
}
},
- "SearchPolygonResult": {
+ "Polygon": {
"type": "object",
"properties": {
"providerID": {
@@ -1755,25 +1837,20 @@
"type": "string",
"readOnly": true
},
- "error": {
- "description": "Reason for the failure to obtain data for this provider.",
- "type": "string",
- "readOnly": true
- },
"geometryData": {
"description": "Geometry data in GeoJSON format. Please refer to [RFC 7946](https://tools.ietf.org/html/rfc7946) for details. Present only if \"error\" is not present.",
"$ref": "../../../Common/preview/1.0/common.json#/definitions/GeoJsonObject"
}
}
},
- "SearchCommonResponse": {
+ "SearchAddressResult": {
"description": "This object is returned from a successful Search calls.",
"type": "object",
"properties": {
"summary": {
"description": "Summary object for a Search API response",
"readOnly": true,
- "$ref": "#/definitions/SearchCommonSummary"
+ "$ref": "#/definitions/SearchSummary"
},
"results": {
"description": "A list of Search API results.",
@@ -1782,53 +1859,75 @@
"items": {
"description": "This type represents the Search API result object.",
"readOnly": true,
- "$ref": "#/definitions/SearchCommonResult"
+ "$ref": "#/definitions/SearchAddressResultItem"
}
}
}
},
- "SearchCommonSummary": {
+ "SearchSummary": {
"description": "Summary object for a Search API response.",
"type": "object",
"readOnly": true,
"properties": {
"query": {
- "description": "Query property",
+ "description": "The query parameter that was used to produce these search results.",
"type": "string",
"readOnly": true
},
"queryType": {
- "description": "QueryType property",
+ "description": "The type of query being returned: NEARBY or NON_NEAR.",
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "enum": [
+ "NEARBY",
+ "NON_NEAR"
+ ],
+ "x-ms-enum": {
+ "name": "QueryType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "NEARBY",
+ "name": "NEARBY",
+ "description": "Search was performed around a certain latitude and longitude with a defined radius"
+ },
+ {
+ "value": "NON_NEAR",
+ "name": "GLOBAL",
+ "description": "Search was performed globally, without biasing to a certain latitude and longitude, and no defined radius"
+ }
+ ]
+ }
},
"queryTime": {
- "description": "QueryTime property",
+ "description": "Time spent resolving the query, in milliseconds.",
"type": "integer",
"readOnly": true
},
"numResults": {
- "description": "NumResults property",
+ "description": "Number of results in the response.",
"type": "integer",
"readOnly": true
},
"limit": {
+ "x-ms-client-name": "top",
"description": "Maximum number of responses that will be returned",
"readOnly": true,
"type": "integer"
},
"offset": {
- "description": "Offset property",
+ "x-ms-client-name": "skip",
+ "description": "The starting offset of the returned Results within the full Result set.",
"type": "integer",
"readOnly": true
},
"totalResults": {
- "description": "TotalResults property",
+ "description": "The total number of Results found.",
"type": "integer",
"readOnly": true
},
"fuzzyLevel": {
- "description": "FuzzyLevel property",
+ "description": "The maximum fuzzy level required to provide Results.",
"type": "integer",
"readOnly": true
},
@@ -1836,15 +1935,11 @@
"description": "Indication when the internal search engine has applied a geospatial bias to improve the ranking of results. In some methods, this can be affected by setting the lat and lon parameters where available. In other cases it is purely internal.",
"type": "object",
"readOnly": true,
- "allOf": [
- {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPairAbbreviated"
- }
- ]
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated"
}
}
},
- "SearchCommonResult": {
+ "SearchAddressResultItem": {
"description": "Result object for a Search API response.",
"type": "object",
"readOnly": true,
@@ -1852,7 +1947,19 @@
"type": {
"description": "One of:\n* POI\n* Street\n* Geography\n* Point Address\n* Address Range\n* Cross Street",
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "enum": [
+ "POI",
+ "Street",
+ "Geography",
+ "Point Address",
+ "Address Range",
+ "Cross Street"
+ ],
+ "x-ms-enum": {
+ "name": "SearchAddressResultType",
+ "modelAsString": true
+ }
},
"id": {
"description": "Id property",
@@ -1860,13 +1967,14 @@
"readOnly": true
},
"score": {
- "$ref": "#/definitions/SearchResultScore"
+ "$ref": "#/definitions/Score"
},
"dist": {
- "$ref": "#/definitions/SearchResultDistance"
+ "x-ms-client-name": "distanceInMeters",
+ "$ref": "#/definitions/Distance"
},
"info": {
- "description": "Info property",
+ "description": "Information about the original data source of the Result. Used for support requests.",
"type": "string",
"readOnly": true
},
@@ -1874,58 +1982,62 @@
"$ref": "#/definitions/EntityType"
},
"poi": {
- "$ref": "#/definitions/SearchResultPoi"
+ "x-ms-client-name": "pointOfInterest",
+ "$ref": "#/definitions/PointOfInterest"
},
"address": {
- "$ref": "#/definitions/SearchResultAddress"
+ "$ref": "#/definitions/Address"
},
"position": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPairAbbreviated"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated"
},
"viewport": {
- "$ref": "#/definitions/SearchResultViewport"
+ "$ref": "#/definitions/BoundingBox"
},
"entryPoints": {
- "description": "Entry Points array",
+ "description": "Array of EntryPoints. Those describe the types of entrances available at the location. The type can be \"main\" for main entrances such as a front door, or a lobby, and \"minor\", for side and back doors.",
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/SearchResultEntryPoint"
+ "$ref": "#/definitions/EntryPoint"
}
},
"addressRanges": {
- "$ref": "#/definitions/SearchResultAddressRanges"
+ "$ref": "#/definitions/AddressRanges"
},
"dataSources": {
+ "description": "Optional section. Reference geometry id for use with the [Get Search Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon) API.",
+ "type": "object",
+ "readOnly": true,
"$ref": "#/definitions/DataSources"
},
"matchType": {
- "type": "string",
- "readOnly": true,
+ "$ref": "#/definitions/MatchType",
"description": "Information on the type of match.\n\nOne of:\n * AddressPoint\n * HouseNumberRange\n * Street"
},
"detourTime": {
- "description": "Detour time in seconds",
- "type": "number",
+ "description": "Detour time in seconds. Only returned for calls to the Search Along Route API.",
+ "type": "integer",
"readOnly": true
}
}
},
- "SearchPoiCategoryTreeResponse": {
+ "PointOfInterestCategoryTreeResult": {
"description": "This object is returned from a successful POI Category Tree call",
"type": "object",
"properties": {
"poiCategories": {
+ "x-ms-client-name": "categories",
"description": "Categories array",
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/PoiCategoryResult"
+ "$ref": "#/definitions/PointOfInterestCategory"
}
}
}
},
- "PoiCategoryResult": {
+ "PointOfInterestCategory": {
"description": "POI category result",
"type": "object",
"properties": {
@@ -1940,6 +2052,7 @@
"readOnly": true
},
"childCategoryIds": {
+ "x-ms-client-name": "childIds",
"description": "Array of child category ids",
"type": "array",
"items": {
@@ -1959,69 +2072,75 @@
}
}
},
- "SearchAddressReverseResponse": {
+ "ReverseSearchAddressResult": {
"description": "This object is returned from a successful Search Address Reverse call",
"type": "object",
"properties": {
"summary": {
"description": "Summary object for a Search Address Reverse response",
"readOnly": true,
- "$ref": "#/definitions/SearchCommonSummary"
+ "$ref": "#/definitions/SearchSummary"
},
"addresses": {
"description": "Addresses array",
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/SearchAddressReverseResult"
+ "$ref": "#/definitions/ReverseSearchAddressResultItem"
}
}
}
},
- "SearchAddressReverseResult": {
+ "ReverseSearchAddressResultItem": {
"description": "Result object for a Search Address Reverse response",
"type": "object",
"properties": {
"address": {
- "$ref": "#/definitions/SearchResultAddress"
+ "$ref": "#/definitions/Address"
},
"position": {
"type": "string",
"readOnly": true,
"description": "Position property in the form of \"{latitude},{longitude}\""
},
- "matchType": {
- "type": "string",
+ "roadUse": {
+ "type": "array",
"readOnly": true,
+ "items": {
+ "$ref": "#/definitions/RoadUseType"
+ }
+ },
+ "matchType": {
+ "$ref": "#/definitions/MatchType",
"description": "Information on the type of match.\n\nOne of:\n * AddressPoint\n * HouseNumberRange\n * Street"
}
}
},
- "SearchAddressReverseCrossStreetResponse": {
+ "ReverseSearchCrossStreetAddressResult": {
"description": "This object is returned from a successful Search Address Reverse CrossStreet call",
"type": "object",
"properties": {
"summary": {
"description": "Summary object for a Search Address Reverse Cross Street response",
"readOnly": true,
- "$ref": "#/definitions/SearchCommonSummary"
+ "$ref": "#/definitions/SearchSummary"
},
"addresses": {
"description": "Addresses array",
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/SearchAddressReverseCrossStreetResult"
+ "$ref": "#/definitions/ReverseSearchCrossStreetAddressResultItem"
}
}
}
},
- "SearchAddressReverseCrossStreetResult": {
+ "ReverseSearchCrossStreetAddressResultItem": {
"description": "Result object for a Search Address Reverse Cross Street response",
"type": "object",
"properties": {
"address": {
- "$ref": "#/definitions/SearchResultAddress"
+ "$ref": "#/definitions/Address"
},
"position": {
"type": "string",
@@ -2030,7 +2149,7 @@
}
}
},
- "SearchInsideGeometryRequestBody": {
+ "SearchInsideGeometryRequest": {
"description": "This type represents the request body for the Search Inside Geometry service.",
"type": "object",
"properties": {
@@ -2039,7 +2158,7 @@
}
}
},
- "SearchAlongRouteRequestBody": {
+ "SearchAlongRouteRequest": {
"description": "This type represents the request body for the Search Along Route service.",
"type": "object",
"properties": {
@@ -2048,7 +2167,7 @@
}
}
},
- "SearchResultPoi": {
+ "PointOfInterest": {
"description": "Details of the returned POI including information such as the name, phone, url address, and classifications.",
"type": "object",
"readOnly": true,
@@ -2073,16 +2192,7 @@
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/SearchResultPoiCategorySet"
- }
- },
- "categories": {
- "description": "__[Deprecated]__ Use classifications instead. Categories array",
- "type": "array",
- "readOnly": true,
- "items": {
- "type": "string",
- "readOnly": true
+ "$ref": "#/definitions/PointOfInterestCategorySet"
}
},
"classifications": {
@@ -2090,7 +2200,7 @@
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/SearchResultPoiClassification"
+ "$ref": "#/definitions/Classification"
}
},
"brands": {
@@ -2098,15 +2208,16 @@
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/SearchResultPoiBrand"
+ "$ref": "#/definitions/BrandName"
}
},
"openingHours": {
- "$ref": "#/definitions/SearchResultPoiOpeningHours"
+ "x-ms-client-name": "operatingHours",
+ "$ref": "#/definitions/OperatingHours"
}
}
},
- "SearchResultPoiCategorySet": {
+ "PointOfInterestCategorySet": {
"description": "POI category",
"type": "object",
"properties": {
@@ -2117,7 +2228,7 @@
}
}
},
- "SearchResultPoiClassification": {
+ "Classification": {
"description": "The classification for the POI being returned",
"type": "object",
"properties": {
@@ -2131,12 +2242,12 @@
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/SearchResultPoiClassificationName"
+ "$ref": "#/definitions/ClassificationName"
}
}
}
},
- "SearchResultPoiClassificationName": {
+ "ClassificationName": {
"description": "Name for the classification",
"type": "object",
"properties": {
@@ -2152,12 +2263,12 @@
}
}
},
- "SearchResultPoiOpeningHours": {
+ "OperatingHours": {
"description": "Opening hours for a POI (Points of Interest).",
"type": "object",
"properties": {
"mode": {
- "description": "Value used in the Request",
+ "description": "Value used in the request: none or \"nextSevenDays\"",
"type": "string",
"readOnly": true
},
@@ -2166,31 +2277,31 @@
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/SearchResultPoiOpeningHoursTimeRange"
+ "$ref": "#/definitions/OperatingHoursTimeRange"
}
}
}
},
- "SearchResultPoiOpeningHoursTimeRange": {
+ "OperatingHoursTimeRange": {
"description": "Open time range for a day",
"type": "object",
"properties": {
"startTime": {
"description": "The point in the next 7 days range when a given POI is being opened, or the beginning of the range if it was opened before the range.",
- "$ref": "#/definitions/SearchResultPoiOpeningHoursTimeRangeTime"
+ "$ref": "#/definitions/OperatingHoursTime"
},
"endTime": {
"description": "The point in the next 7 days range when a given POI is being closed, or the beginning of the range if it was closed before the range.",
- "$ref": "#/definitions/SearchResultPoiOpeningHoursTimeRangeTime"
+ "$ref": "#/definitions/OperatingHoursTime"
}
}
},
- "SearchResultPoiOpeningHoursTimeRangeTime": {
+ "OperatingHoursTime": {
"description": "Represents a date and time",
"type": "object",
"properties": {
"date": {
- "description": "Represents current day in calendar year in POI time zone.",
+ "description": "Represents current calendar date in POI time zone, e.g. \"2019-02-07\".",
"type": "string",
"readOnly": true
},
@@ -2206,7 +2317,7 @@
}
}
},
- "SearchResultPoiBrand": {
+ "BrandName": {
"description": "The name of the brand for the POI being returned",
"type": "object",
"properties": {
@@ -2217,33 +2328,33 @@
}
}
},
- "SearchResultAddress": {
+ "Address": {
"description": "The address of the result",
"type": "object",
"readOnly": true,
"properties": {
"buildingNumber": {
- "description": "Building Number property",
+ "description": "The building number on the street. DEPRECATED, use streetNumber instead.",
"type": "string",
"readOnly": true
},
"street": {
- "description": "Street property",
+ "description": "The street name. DEPRECATED, use streetName instead.",
"type": "string",
"readOnly": true
},
"crossStreet": {
- "description": "Cross Street property",
+ "description": "The name of the street being crossed.",
"type": "string",
"readOnly": true
},
"streetNumber": {
- "description": "Street Number property",
+ "description": "The building number on the street.",
"type": "string",
"readOnly": true
},
"routeNumbers": {
- "description": "number of routes",
+ "description": "The codes used to unambiguously identify the street",
"type": "array",
"items": {
"type": "integer",
@@ -2252,72 +2363,72 @@
"readOnly": true
},
"streetName": {
- "description": "Street Name property",
+ "description": "The street name.",
"type": "string",
"readOnly": true
},
"streetNameAndNumber": {
- "description": "Street Name and Number property",
+ "description": "The street name and number.",
"type": "string",
"readOnly": true
},
"municipality": {
- "description": "Municipality property",
+ "description": "City / Town",
"type": "string",
"readOnly": true
},
"municipalitySubdivision": {
- "description": "Municipality Subdivision property",
+ "description": "Sub / Super City",
"type": "string",
"readOnly": true
},
"countryTertiarySubdivision": {
- "description": "Country Tertiary Subdivision property",
+ "description": "Named Area",
"type": "string",
"readOnly": true
},
"countrySecondarySubdivision": {
- "description": "Country Secondary Subdivision property",
+ "description": "County",
"type": "string",
"readOnly": true
},
"countrySubdivision": {
- "description": "Country Subdivision property",
+ "description": "State or Province",
"type": "string",
"readOnly": true
},
"postalCode": {
- "description": "Postal Code property",
+ "description": "Postal Code / Zip Code",
"type": "string",
"readOnly": true
},
"extendedPostalCode": {
- "description": "Extended Postal Code property",
+ "description": "Extended postal code (availability is dependent on the region).",
"type": "string",
"readOnly": true
},
"countryCode": {
- "description": "Country Code property",
+ "description": "Country (Note: This is a two-letter code, not a country name.)",
"type": "string",
"readOnly": true
},
"country": {
- "description": "Country property",
+ "description": "Country name",
"type": "string",
"readOnly": true
},
"countryCodeISO3": {
- "description": "Country Code ISO3 property",
+ "description": "ISO alpha-3 country code",
"type": "string",
"readOnly": true
},
"freeformAddress": {
- "description": "Free form Address property",
+ "description": "An address line formatted according to the formatting rules of a Result's country of origin, or in the case of a country, its full country name.",
"type": "string",
"readOnly": true
},
"countrySubdivisionName": {
- "description": "Country Subdivision Name property",
+ "description": "The full name of a first level of country administrative hierarchy. This field appears only in case countrySubdivision is presented in an abbreviated form. Only supported for USA, Canada, and Great Britain.",
"type": "string",
"readOnly": true
},
@@ -2333,20 +2444,35 @@
}
}
},
- "SearchResultViewport": {
- "description": "The viewport that covers the result represented by the top-left and bottom-right coordinates of the viewport.",
+ "Viewport": {
+ "description": "The viewport that covers the result represented by the top-left and bottom-right coordinates of the viewport.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "topLeftPoint": {
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated"
+ },
+ "btmRightPoint": {
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated"
+ }
+ }
+ },
+ "BoundingBox": {
+ "description": "The viewport that covers the result represented by the top-left and bottom-right coordinates of the viewport.",
"type": "object",
"readOnly": true,
"properties": {
"topLeftPoint": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPairAbbreviated"
+ "x-ms-client-name": "topLeft",
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated"
},
"btmRightPoint": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPairAbbreviated"
+ "x-ms-client-name": "bottomRight",
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated"
}
}
},
- "SearchResultEntryPoint": {
+ "EntryPoint": {
"description": "The entry point for the POI being returned.",
"type": "object",
"readOnly": true,
@@ -2365,11 +2491,11 @@
}
},
"position": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPairAbbreviated"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated"
}
}
},
- "SearchResultAddressRanges": {
+ "AddressRanges": {
"description": "Describes the address range on both sides of the street for a search result. Coordinates for the start and end locations of the address range are included.",
"type": "object",
"readOnly": true,
@@ -2383,60 +2509,25 @@
"type": "string"
},
"from": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPairAbbreviated"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated"
},
"to": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPairAbbreviated"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPairAbbreviated"
}
}
},
- "SearchResultScore": {
+ "Score": {
"description": "The value within a result set to indicate the relative matching score between results. You can use this to determine that result x is twice as likely to be as relevant as result y if the value of x is 2x the value of y. The values vary between queries and is only meant as a relative value for one result set.",
"type": "number",
+ "format": "double",
"readOnly": true
},
- "SearchResultDistance": {
+ "Distance": {
"description": "Straight line distance between the result and geobias location in meters.",
"type": "number",
- "readOnly": true
- },
- "SearchSummaryGeoBias": {
- "description": "Indication when the internal search engine has applied a geospatial bias to improve the ranking of results. In some methods, this can be affected by setting the lat and lon parameters where available. In other cases it is purely internal.",
- "type": "object",
+ "format": "double",
"readOnly": true,
- "properties": {
- "lat": {
- "description": "Latitude property",
- "type": "number",
- "readOnly": true
- },
- "lon": {
- "description": "Longitude property",
- "type": "number",
- "readOnly": true
- }
- }
- },
- "DataSources": {
- "description": "Optional section. Reference ids for use with the [Get Search Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon) API.",
- "type": "object",
- "readOnly": true,
- "properties": {
- "geometry": {
- "$ref": "#/definitions/DataSourcesGeometry"
- }
- }
- },
- "DataSourcesGeometry": {
- "description": "Information about the geometric shape of the result. Only present if type == Geography.",
- "type": "object",
- "properties": {
- "id": {
- "description": "Pass this as geometryId to the [Get Search Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon) API to fetch geometry information for this result.",
- "type": "string",
- "readOnly": true
- }
- }
+ "x-ms-client-name": "distanceInMeters"
},
"EntityType": {
"description": "Geography entity type. Present only when entityType was requested and is available.",
@@ -2453,7 +2544,7 @@
"PostalCodeArea"
],
"x-ms-enum": {
- "name": "EntityType",
+ "name": "GeographicEntityType",
"modelAsString": true,
"values": [
{
@@ -2491,55 +2582,59 @@
]
}
},
- "SearchFuzzyBatchResponse": {
- "description": "This object is returned from a successful Search Fuzzy Batch service call.",
+ "RoadUseType": {
+ "description": "Describes the possible uses of a road.",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "LimitedAccess",
+ "Arterial",
+ "Terminal",
+ "Ramp",
+ "Rotary",
+ "LocalStreet"
+ ]
+ },
+ "MatchType": {
+ "description": "Types of match for a reverse address search operation.",
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "AddressPoint",
+ "HouseNumberRange",
+ "Street"
+ ]
+ },
+ "DataSources": {
+ "x-ms-client-name": "DataSource",
+ "description": "Optional section. Reference ids for use with the [Get Search Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon) API.",
"type": "object",
- "allOf": [
- {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResponse"
- }
- ],
+ "readOnly": true,
"properties": {
- "batchItems": {
- "description": "Array containing the batch results.",
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/SearchFuzzyBatchItem"
- }
+ "geometry": {
+ "$ref": "#/definitions/Geometry"
}
}
},
- "SearchFuzzyBatchItem": {
- "description": "An item returned from Search Fuzzy Batch service call.",
+ "Geometry": {
+ "x-ms-client-name": "GeometryIdentifier",
+ "description": "Information about the geometric shape of the result. Only present if type == Geography.",
"type": "object",
- "allOf": [
- {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchItem"
- }
- ],
"properties": {
- "response": {
- "description": "The result of the query. SearchCommonResponse if the query completed successfully, ErrorResponse otherwise.",
- "type": "object",
- "readOnly": true,
- "allOf": [
- {
- "$ref": "#/definitions/SearchCommonResponse"
- },
- {
- "$ref": "../../../../../common-types/data-plane/v1/types.json#/definitions/ErrorResponse"
- }
- ]
+ "id": {
+ "description": "Pass this as geometryId to the [Get Search Polygon](https://docs.microsoft.com/rest/api/maps/search/getsearchpolygon) API to fetch geometry information for this result.",
+ "type": "string",
+ "readOnly": true
}
}
},
- "SearchAddressBatchResponse": {
+ "SearchAddressBatchProcessResult": {
+ "x-ms-client-name": "SearchAddressBatchResult",
"description": "This object is returned from a successful Search Address Batch service call.",
"type": "object",
"allOf": [
{
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResponse"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResult"
}
],
"properties": {
@@ -2558,17 +2653,17 @@
"type": "object",
"allOf": [
{
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchItem"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResultItem"
}
],
"properties": {
"response": {
- "description": "The result of the query. SearchCommonResponse if the query completed successfully, ErrorResponse otherwise.",
+ "description": "The result of the query. SearchAddressResponse if the query completed successfully, ErrorResponse otherwise.",
"type": "object",
"readOnly": true,
"allOf": [
{
- "$ref": "#/definitions/SearchCommonResponse"
+ "$ref": "#/definitions/SearchAddressResult"
},
{
"$ref": "../../../../../common-types/data-plane/v1/types.json#/definitions/ErrorResponse"
@@ -2577,12 +2672,12 @@
}
}
},
- "SearchAddressReverseBatchResponse": {
+ "ReverseSearchAddressBatchProcessResult": {
"description": "This object is returned from a successful Search Address Reverse Batch service call.",
"type": "object",
"allOf": [
{
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResponse"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResult"
}
],
"properties": {
@@ -2591,17 +2686,17 @@
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/SearchAddressReverseBatchItem"
+ "$ref": "#/definitions/ReverseSearchAddressBatchItem"
}
}
}
},
- "SearchAddressReverseBatchItem": {
+ "ReverseSearchAddressBatchItem": {
"description": "An item returned from Search Address Reverse Batch service call.",
"type": "object",
"allOf": [
{
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchItem"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/BatchResultItem"
}
],
"properties": {
@@ -2611,7 +2706,7 @@
"readOnly": true,
"allOf": [
{
- "$ref": "#/definitions/SearchAddressReverseResponse"
+ "$ref": "#/definitions/ReverseSearchAddressResult"
},
{
"$ref": "../../../../../common-types/data-plane/v1/types.json#/definitions/ErrorResponse"
diff --git a/specification/maps/data-plane/Search/readme.md b/specification/maps/data-plane/Search/readme.md
index a2cfe6b0f075..7c5040aa60f9 100644
--- a/specification/maps/data-plane/Search/readme.md
+++ b/specification/maps/data-plane/Search/readme.md
@@ -66,7 +66,7 @@ swagger-to-sdk:
#should be azure-sdk-for-net-track2, but SDK has not yet onboarded
#manually generate for now with track2
- - repo: azure-sdk-for-net
+ #- repo: azure-sdk-for-net
```
## Python
diff --git a/specification/maps/data-plane/Search/readme.python.md b/specification/maps/data-plane/Search/readme.python.md
index eff0dc04110c..a578a5829fc8 100644
--- a/specification/maps/data-plane/Search/readme.python.md
+++ b/specification/maps/data-plane/Search/readme.python.md
@@ -14,9 +14,9 @@ clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
no-namespace-folders: true
-output-folder: $(python-sdks-folder)/maps/azure-maps-search/azure/maps/search
+output-folder: $(python-sdks-folder)/maps/azure-maps-search/azure/maps/search/_generated
```
``` yaml $(python) && $(python-mode) == 'create'
basic-setup-py: true
-output-folder: $(python-sdks-folder)/maps/azure-maps-search
+output-folder: $(python-sdks-folder)/maps/azure-maps-search/
```
diff --git a/specification/maps/data-plane/Search/readme.typescript.md b/specification/maps/data-plane/Search/readme.typescript.md
index e4651762495b..f17cf008e411 100644
--- a/specification/maps/data-plane/Search/readme.typescript.md
+++ b/specification/maps/data-plane/Search/readme.typescript.md
@@ -20,10 +20,4 @@ directive:
"type": "object"
};
reason: Autorest TS codegen does not deserialize array of base class objects as an operation parameter properly -> https://github.com/Azure/autorest.typescript/issues/1040
- - remove-operation: Search_GetSearchFuzzyBatch
- reason: This operation is created for Java SDK that has no LRO poller implementation
- - remove-operation: Search_GetSearchAddressBatch
- reason: This operation is created for Java SDK that has no LRO poller implementation
- - remove-operation: Search_GetSearchAddressReverseBatch
- reason: This operation is created for Java SDK that has no LRO poller implementation
```
diff --git a/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneEnumIANA.json b/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneEnumIANA.json
index ea0b2f096580..2db943d752e7 100644
--- a/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneEnumIANA.json
+++ b/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneEnumIANA.json
@@ -7,3177 +7,3177 @@
"200": {
"body": [
{
- "id": "Africa/Bamako",
- "isAlias": true,
- "aliasOf": "Africa/Abidjan",
- "hasZone1970Location": true
+ "Id": "Africa/Bamako",
+ "IsAlias": true,
+ "AliasOf": "Africa/Abidjan",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Banjul",
- "isAlias": true,
- "aliasOf": "Africa/Abidjan",
- "hasZone1970Location": true
+ "Id": "Africa/Banjul",
+ "IsAlias": true,
+ "AliasOf": "Africa/Abidjan",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Conakry",
- "isAlias": true,
- "aliasOf": "Africa/Abidjan",
- "hasZone1970Location": true
+ "Id": "Africa/Conakry",
+ "IsAlias": true,
+ "AliasOf": "Africa/Abidjan",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Dakar",
- "isAlias": true,
- "aliasOf": "Africa/Abidjan",
- "hasZone1970Location": true
+ "Id": "Africa/Dakar",
+ "IsAlias": true,
+ "AliasOf": "Africa/Abidjan",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Freetown",
- "isAlias": true,
- "aliasOf": "Africa/Abidjan",
- "hasZone1970Location": true
+ "Id": "Africa/Freetown",
+ "IsAlias": true,
+ "AliasOf": "Africa/Abidjan",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Lome",
- "isAlias": true,
- "aliasOf": "Africa/Abidjan",
- "hasZone1970Location": true
+ "Id": "Africa/Lome",
+ "IsAlias": true,
+ "AliasOf": "Africa/Abidjan",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Nouakchott",
- "isAlias": true,
- "aliasOf": "Africa/Abidjan",
- "hasZone1970Location": true
+ "Id": "Africa/Nouakchott",
+ "IsAlias": true,
+ "AliasOf": "Africa/Abidjan",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Ouagadougou",
- "isAlias": true,
- "aliasOf": "Africa/Abidjan",
- "hasZone1970Location": true
+ "Id": "Africa/Ouagadougou",
+ "IsAlias": true,
+ "AliasOf": "Africa/Abidjan",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Sao_Tome",
- "isAlias": true,
- "aliasOf": "Africa/Abidjan",
- "hasZone1970Location": true
+ "Id": "Africa/Sao_Tome",
+ "IsAlias": true,
+ "AliasOf": "Africa/Abidjan",
+ "HasZone1970Location": true
},
{
- "id": "Atlantic/St_Helena",
- "isAlias": true,
- "aliasOf": "Africa/Abidjan",
- "hasZone1970Location": true
+ "Id": "Atlantic/St_Helena",
+ "IsAlias": true,
+ "AliasOf": "Africa/Abidjan",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Addis_Ababa",
- "isAlias": true,
- "aliasOf": "Africa/Nairobi",
- "hasZone1970Location": true
+ "Id": "Africa/Addis_Ababa",
+ "IsAlias": true,
+ "AliasOf": "Africa/Nairobi",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Asmara",
- "isAlias": true,
- "aliasOf": "Africa/Nairobi",
- "hasZone1970Location": true
+ "Id": "Africa/Asmara",
+ "IsAlias": true,
+ "AliasOf": "Africa/Nairobi",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Dar_es_Salaam",
- "isAlias": true,
- "aliasOf": "Africa/Nairobi",
- "hasZone1970Location": true
+ "Id": "Africa/Dar_es_Salaam",
+ "IsAlias": true,
+ "AliasOf": "Africa/Nairobi",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Djibouti",
- "isAlias": true,
- "aliasOf": "Africa/Nairobi",
- "hasZone1970Location": true
+ "Id": "Africa/Djibouti",
+ "IsAlias": true,
+ "AliasOf": "Africa/Nairobi",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Kampala",
- "isAlias": true,
- "aliasOf": "Africa/Nairobi",
- "hasZone1970Location": true
+ "Id": "Africa/Kampala",
+ "IsAlias": true,
+ "AliasOf": "Africa/Nairobi",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Mogadishu",
- "isAlias": true,
- "aliasOf": "Africa/Nairobi",
- "hasZone1970Location": true
+ "Id": "Africa/Mogadishu",
+ "IsAlias": true,
+ "AliasOf": "Africa/Nairobi",
+ "HasZone1970Location": true
},
{
- "id": "Indian/Antananarivo",
- "isAlias": true,
- "aliasOf": "Africa/Nairobi",
- "hasZone1970Location": true
+ "Id": "Indian/Antananarivo",
+ "IsAlias": true,
+ "AliasOf": "Africa/Nairobi",
+ "HasZone1970Location": true
},
{
- "id": "Indian/Comoro",
- "isAlias": true,
- "aliasOf": "Africa/Nairobi",
- "hasZone1970Location": true
+ "Id": "Indian/Comoro",
+ "IsAlias": true,
+ "AliasOf": "Africa/Nairobi",
+ "HasZone1970Location": true
},
{
- "id": "Indian/Mayotte",
- "isAlias": true,
- "aliasOf": "Africa/Nairobi",
- "hasZone1970Location": true
+ "Id": "Indian/Mayotte",
+ "IsAlias": true,
+ "AliasOf": "Africa/Nairobi",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Blantyre",
- "isAlias": true,
- "aliasOf": "Africa/Maputo",
- "hasZone1970Location": true
+ "Id": "Africa/Blantyre",
+ "IsAlias": true,
+ "AliasOf": "Africa/Maputo",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Bujumbura",
- "isAlias": true,
- "aliasOf": "Africa/Maputo",
- "hasZone1970Location": true
+ "Id": "Africa/Bujumbura",
+ "IsAlias": true,
+ "AliasOf": "Africa/Maputo",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Gaborone",
- "isAlias": true,
- "aliasOf": "Africa/Maputo",
- "hasZone1970Location": true
+ "Id": "Africa/Gaborone",
+ "IsAlias": true,
+ "AliasOf": "Africa/Maputo",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Harare",
- "isAlias": true,
- "aliasOf": "Africa/Maputo",
- "hasZone1970Location": true
+ "Id": "Africa/Harare",
+ "IsAlias": true,
+ "AliasOf": "Africa/Maputo",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Kigali",
- "isAlias": true,
- "aliasOf": "Africa/Maputo",
- "hasZone1970Location": true
+ "Id": "Africa/Kigali",
+ "IsAlias": true,
+ "AliasOf": "Africa/Maputo",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Lubumbashi",
- "isAlias": true,
- "aliasOf": "Africa/Maputo",
- "hasZone1970Location": true
+ "Id": "Africa/Lubumbashi",
+ "IsAlias": true,
+ "AliasOf": "Africa/Maputo",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Lusaka",
- "isAlias": true,
- "aliasOf": "Africa/Maputo",
- "hasZone1970Location": true
+ "Id": "Africa/Lusaka",
+ "IsAlias": true,
+ "AliasOf": "Africa/Maputo",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Bangui",
- "isAlias": true,
- "aliasOf": "Africa/Lagos",
- "hasZone1970Location": true
+ "Id": "Africa/Bangui",
+ "IsAlias": true,
+ "AliasOf": "Africa/Lagos",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Brazzaville",
- "isAlias": true,
- "aliasOf": "Africa/Lagos",
- "hasZone1970Location": true
+ "Id": "Africa/Brazzaville",
+ "IsAlias": true,
+ "AliasOf": "Africa/Lagos",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Douala",
- "isAlias": true,
- "aliasOf": "Africa/Lagos",
- "hasZone1970Location": true
+ "Id": "Africa/Douala",
+ "IsAlias": true,
+ "AliasOf": "Africa/Lagos",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Kinshasa",
- "isAlias": true,
- "aliasOf": "Africa/Lagos",
- "hasZone1970Location": true
+ "Id": "Africa/Kinshasa",
+ "IsAlias": true,
+ "AliasOf": "Africa/Lagos",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Libreville",
- "isAlias": true,
- "aliasOf": "Africa/Lagos",
- "hasZone1970Location": true
+ "Id": "Africa/Libreville",
+ "IsAlias": true,
+ "AliasOf": "Africa/Lagos",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Luanda",
- "isAlias": true,
- "aliasOf": "Africa/Lagos",
- "hasZone1970Location": true
+ "Id": "Africa/Luanda",
+ "IsAlias": true,
+ "AliasOf": "Africa/Lagos",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Malabo",
- "isAlias": true,
- "aliasOf": "Africa/Lagos",
- "hasZone1970Location": true
+ "Id": "Africa/Malabo",
+ "IsAlias": true,
+ "AliasOf": "Africa/Lagos",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Niamey",
- "isAlias": true,
- "aliasOf": "Africa/Lagos",
- "hasZone1970Location": true
+ "Id": "Africa/Niamey",
+ "IsAlias": true,
+ "AliasOf": "Africa/Lagos",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Porto-Novo",
- "isAlias": true,
- "aliasOf": "Africa/Lagos",
- "hasZone1970Location": true
+ "Id": "Africa/Porto-Novo",
+ "IsAlias": true,
+ "AliasOf": "Africa/Lagos",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Maseru",
- "isAlias": true,
- "aliasOf": "Africa/Johannesburg",
- "hasZone1970Location": true
+ "Id": "Africa/Maseru",
+ "IsAlias": true,
+ "AliasOf": "Africa/Johannesburg",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Mbabane",
- "isAlias": true,
- "aliasOf": "Africa/Johannesburg",
- "hasZone1970Location": true
+ "Id": "Africa/Mbabane",
+ "IsAlias": true,
+ "AliasOf": "Africa/Johannesburg",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Juba",
- "isAlias": true,
- "aliasOf": "Africa/Khartoum",
- "hasZone1970Location": true
+ "Id": "Africa/Juba",
+ "IsAlias": true,
+ "AliasOf": "Africa/Khartoum",
+ "HasZone1970Location": true
},
{
- "id": "Europe/Nicosia",
- "isAlias": true,
- "aliasOf": "Asia/Nicosia",
- "hasZone1970Location": true
+ "Id": "Europe/Nicosia",
+ "IsAlias": true,
+ "AliasOf": "Asia/Nicosia",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Bahrain",
- "isAlias": true,
- "aliasOf": "Asia/Qatar",
- "hasZone1970Location": true
+ "Id": "Asia/Bahrain",
+ "IsAlias": true,
+ "AliasOf": "Asia/Qatar",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Aden",
- "isAlias": true,
- "aliasOf": "Asia/Riyadh",
- "hasZone1970Location": true
+ "Id": "Asia/Aden",
+ "IsAlias": true,
+ "AliasOf": "Asia/Riyadh",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Kuwait",
- "isAlias": true,
- "aliasOf": "Asia/Riyadh",
- "hasZone1970Location": true
+ "Id": "Asia/Kuwait",
+ "IsAlias": true,
+ "AliasOf": "Asia/Riyadh",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Phnom_Penh",
- "isAlias": true,
- "aliasOf": "Asia/Bangkok",
- "hasZone1970Location": true
+ "Id": "Asia/Phnom_Penh",
+ "IsAlias": true,
+ "AliasOf": "Asia/Bangkok",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Vientiane",
- "isAlias": true,
- "aliasOf": "Asia/Bangkok",
- "hasZone1970Location": true
+ "Id": "Asia/Vientiane",
+ "IsAlias": true,
+ "AliasOf": "Asia/Bangkok",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Muscat",
- "isAlias": true,
- "aliasOf": "Asia/Dubai",
- "hasZone1970Location": true
+ "Id": "Asia/Muscat",
+ "IsAlias": true,
+ "AliasOf": "Asia/Dubai",
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Saipan",
- "isAlias": true,
- "aliasOf": "Pacific/Guam",
- "hasZone1970Location": true
+ "Id": "Pacific/Saipan",
+ "IsAlias": true,
+ "AliasOf": "Pacific/Guam",
+ "HasZone1970Location": true
},
{
- "id": "Antarctica/McMurdo",
- "isAlias": true,
- "aliasOf": "Pacific/Auckland",
- "hasZone1970Location": true
+ "Id": "Antarctica/McMurdo",
+ "IsAlias": true,
+ "AliasOf": "Pacific/Auckland",
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Midway",
- "isAlias": true,
- "aliasOf": "Pacific/Pago_Pago",
- "hasZone1970Location": true
+ "Id": "Pacific/Midway",
+ "IsAlias": true,
+ "AliasOf": "Pacific/Pago_Pago",
+ "HasZone1970Location": true
},
{
- "id": "Europe/Jersey",
- "isAlias": true,
- "aliasOf": "Europe/London",
- "hasZone1970Location": true
+ "Id": "Europe/Jersey",
+ "IsAlias": true,
+ "AliasOf": "Europe/London",
+ "HasZone1970Location": true
},
{
- "id": "Europe/Guernsey",
- "isAlias": true,
- "aliasOf": "Europe/London",
- "hasZone1970Location": true
+ "Id": "Europe/Guernsey",
+ "IsAlias": true,
+ "AliasOf": "Europe/London",
+ "HasZone1970Location": true
},
{
- "id": "Europe/Isle_of_Man",
- "isAlias": true,
- "aliasOf": "Europe/London",
- "hasZone1970Location": true
+ "Id": "Europe/Isle_of_Man",
+ "IsAlias": true,
+ "AliasOf": "Europe/London",
+ "HasZone1970Location": true
},
{
- "id": "Europe/Mariehamn",
- "isAlias": true,
- "aliasOf": "Europe/Helsinki",
- "hasZone1970Location": true
+ "Id": "Europe/Mariehamn",
+ "IsAlias": true,
+ "AliasOf": "Europe/Helsinki",
+ "HasZone1970Location": true
},
{
- "id": "Europe/Busingen",
- "isAlias": true,
- "aliasOf": "Europe/Zurich",
- "hasZone1970Location": true
+ "Id": "Europe/Busingen",
+ "IsAlias": true,
+ "AliasOf": "Europe/Zurich",
+ "HasZone1970Location": true
},
{
- "id": "Europe/Vatican",
- "isAlias": true,
- "aliasOf": "Europe/Rome",
- "hasZone1970Location": true
+ "Id": "Europe/Vatican",
+ "IsAlias": true,
+ "AliasOf": "Europe/Rome",
+ "HasZone1970Location": true
},
{
- "id": "Europe/San_Marino",
- "isAlias": true,
- "aliasOf": "Europe/Rome",
- "hasZone1970Location": true
+ "Id": "Europe/San_Marino",
+ "IsAlias": true,
+ "AliasOf": "Europe/Rome",
+ "HasZone1970Location": true
},
{
- "id": "Europe/Vaduz",
- "isAlias": true,
- "aliasOf": "Europe/Zurich",
- "hasZone1970Location": true
+ "Id": "Europe/Vaduz",
+ "IsAlias": true,
+ "AliasOf": "Europe/Zurich",
+ "HasZone1970Location": true
},
{
- "id": "Arctic/Longyearbyen",
- "isAlias": true,
- "aliasOf": "Europe/Oslo",
- "hasZone1970Location": true
+ "Id": "Arctic/Longyearbyen",
+ "IsAlias": true,
+ "AliasOf": "Europe/Oslo",
+ "HasZone1970Location": true
},
{
- "id": "Europe/Ljubljana",
- "isAlias": true,
- "aliasOf": "Europe/Belgrade",
- "hasZone1970Location": true
+ "Id": "Europe/Ljubljana",
+ "IsAlias": true,
+ "AliasOf": "Europe/Belgrade",
+ "HasZone1970Location": true
},
{
- "id": "Europe/Podgorica",
- "isAlias": true,
- "aliasOf": "Europe/Belgrade",
- "hasZone1970Location": true
+ "Id": "Europe/Podgorica",
+ "IsAlias": true,
+ "AliasOf": "Europe/Belgrade",
+ "HasZone1970Location": true
},
{
- "id": "Europe/Sarajevo",
- "isAlias": true,
- "aliasOf": "Europe/Belgrade",
- "hasZone1970Location": true
+ "Id": "Europe/Sarajevo",
+ "IsAlias": true,
+ "AliasOf": "Europe/Belgrade",
+ "HasZone1970Location": true
},
{
- "id": "Europe/Skopje",
- "isAlias": true,
- "aliasOf": "Europe/Belgrade",
- "hasZone1970Location": true
+ "Id": "Europe/Skopje",
+ "IsAlias": true,
+ "AliasOf": "Europe/Belgrade",
+ "HasZone1970Location": true
},
{
- "id": "Europe/Zagreb",
- "isAlias": true,
- "aliasOf": "Europe/Belgrade",
- "hasZone1970Location": true
+ "Id": "Europe/Zagreb",
+ "IsAlias": true,
+ "AliasOf": "Europe/Belgrade",
+ "HasZone1970Location": true
},
{
- "id": "Europe/Bratislava",
- "isAlias": true,
- "aliasOf": "Europe/Prague",
- "hasZone1970Location": true
+ "Id": "Europe/Bratislava",
+ "IsAlias": true,
+ "AliasOf": "Europe/Prague",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Istanbul",
- "isAlias": true,
- "aliasOf": "Europe/Istanbul",
- "hasZone1970Location": true
+ "Id": "Asia/Istanbul",
+ "IsAlias": true,
+ "AliasOf": "Europe/Istanbul",
+ "HasZone1970Location": true
},
{
- "id": "America/Cayman",
- "isAlias": true,
- "aliasOf": "America/Panama",
- "hasZone1970Location": true
+ "Id": "America/Cayman",
+ "IsAlias": true,
+ "AliasOf": "America/Panama",
+ "HasZone1970Location": true
},
{
- "id": "America/Aruba",
- "isAlias": true,
- "aliasOf": "America/Curacao",
- "hasZone1970Location": true
+ "Id": "America/Aruba",
+ "IsAlias": true,
+ "AliasOf": "America/Curacao",
+ "HasZone1970Location": true
},
{
- "id": "America/Lower_Princes",
- "isAlias": true,
- "aliasOf": "America/Curacao",
- "hasZone1970Location": true
+ "Id": "America/Lower_Princes",
+ "IsAlias": true,
+ "AliasOf": "America/Curacao",
+ "HasZone1970Location": true
},
{
- "id": "America/Kralendijk",
- "isAlias": true,
- "aliasOf": "America/Curacao",
- "hasZone1970Location": true
+ "Id": "America/Kralendijk",
+ "IsAlias": true,
+ "AliasOf": "America/Curacao",
+ "HasZone1970Location": true
},
{
- "id": "America/Anguilla",
- "isAlias": true,
- "aliasOf": "America/Port_of_Spain",
- "hasZone1970Location": true
+ "Id": "America/Anguilla",
+ "IsAlias": true,
+ "AliasOf": "America/Port_of_Spain",
+ "HasZone1970Location": true
},
{
- "id": "America/Antigua",
- "isAlias": true,
- "aliasOf": "America/Port_of_Spain",
- "hasZone1970Location": true
+ "Id": "America/Antigua",
+ "IsAlias": true,
+ "AliasOf": "America/Port_of_Spain",
+ "HasZone1970Location": true
},
{
- "id": "America/Dominica",
- "isAlias": true,
- "aliasOf": "America/Port_of_Spain",
- "hasZone1970Location": true
+ "Id": "America/Dominica",
+ "IsAlias": true,
+ "AliasOf": "America/Port_of_Spain",
+ "HasZone1970Location": true
},
{
- "id": "America/Grenada",
- "isAlias": true,
- "aliasOf": "America/Port_of_Spain",
- "hasZone1970Location": true
+ "Id": "America/Grenada",
+ "IsAlias": true,
+ "AliasOf": "America/Port_of_Spain",
+ "HasZone1970Location": true
},
{
- "id": "America/Guadeloupe",
- "isAlias": true,
- "aliasOf": "America/Port_of_Spain",
- "hasZone1970Location": true
+ "Id": "America/Guadeloupe",
+ "IsAlias": true,
+ "AliasOf": "America/Port_of_Spain",
+ "HasZone1970Location": true
},
{
- "id": "America/Marigot",
- "isAlias": true,
- "aliasOf": "America/Port_of_Spain",
- "hasZone1970Location": true
+ "Id": "America/Marigot",
+ "IsAlias": true,
+ "AliasOf": "America/Port_of_Spain",
+ "HasZone1970Location": true
},
{
- "id": "America/Montserrat",
- "isAlias": true,
- "aliasOf": "America/Port_of_Spain",
- "hasZone1970Location": true
+ "Id": "America/Montserrat",
+ "IsAlias": true,
+ "AliasOf": "America/Port_of_Spain",
+ "HasZone1970Location": true
},
{
- "id": "America/St_Barthelemy",
- "isAlias": true,
- "aliasOf": "America/Port_of_Spain",
- "hasZone1970Location": true
+ "Id": "America/St_Barthelemy",
+ "IsAlias": true,
+ "AliasOf": "America/Port_of_Spain",
+ "HasZone1970Location": true
},
{
- "id": "America/St_Kitts",
- "isAlias": true,
- "aliasOf": "America/Port_of_Spain",
- "hasZone1970Location": true
+ "Id": "America/St_Kitts",
+ "IsAlias": true,
+ "AliasOf": "America/Port_of_Spain",
+ "HasZone1970Location": true
},
{
- "id": "America/St_Lucia",
- "isAlias": true,
- "aliasOf": "America/Port_of_Spain",
- "hasZone1970Location": true
+ "Id": "America/St_Lucia",
+ "IsAlias": true,
+ "AliasOf": "America/Port_of_Spain",
+ "HasZone1970Location": true
},
{
- "id": "America/St_Thomas",
- "isAlias": true,
- "aliasOf": "America/Port_of_Spain",
- "hasZone1970Location": true
+ "Id": "America/St_Thomas",
+ "IsAlias": true,
+ "AliasOf": "America/Port_of_Spain",
+ "HasZone1970Location": true
},
{
- "id": "America/St_Vincent",
- "isAlias": true,
- "aliasOf": "America/Port_of_Spain",
- "hasZone1970Location": true
+ "Id": "America/St_Vincent",
+ "IsAlias": true,
+ "AliasOf": "America/Port_of_Spain",
+ "HasZone1970Location": true
},
{
- "id": "America/Tortola",
- "isAlias": true,
- "aliasOf": "America/Port_of_Spain",
- "hasZone1970Location": true
+ "Id": "America/Tortola",
+ "IsAlias": true,
+ "AliasOf": "America/Port_of_Spain",
+ "HasZone1970Location": true
},
{
- "id": "US/Pacific-New",
- "isAlias": true,
- "aliasOf": "America/Los_Angeles",
- "hasZone1970Location": true
+ "Id": "US/Pacific-New",
+ "IsAlias": true,
+ "AliasOf": "America/Los_Angeles",
+ "HasZone1970Location": true
},
{
- "id": "GMT",
- "isAlias": true,
- "aliasOf": "Etc/GMT",
- "hasZone1970Location": false
+ "Id": "GMT",
+ "IsAlias": true,
+ "AliasOf": "Etc/GMT",
+ "HasZone1970Location": false
},
{
- "id": "Etc/Universal",
- "isAlias": true,
- "aliasOf": "Etc/UTC",
- "hasZone1970Location": false
+ "Id": "Etc/Universal",
+ "IsAlias": true,
+ "AliasOf": "Etc/UTC",
+ "HasZone1970Location": false
},
{
- "id": "Etc/Zulu",
- "isAlias": true,
- "aliasOf": "Etc/UTC",
- "hasZone1970Location": false
+ "Id": "Etc/Zulu",
+ "IsAlias": true,
+ "AliasOf": "Etc/UTC",
+ "HasZone1970Location": false
},
{
- "id": "Etc/Greenwich",
- "isAlias": true,
- "aliasOf": "Etc/GMT",
- "hasZone1970Location": false
+ "Id": "Etc/Greenwich",
+ "IsAlias": true,
+ "AliasOf": "Etc/GMT",
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT-0",
- "isAlias": true,
- "aliasOf": "Etc/GMT",
- "hasZone1970Location": false
+ "Id": "Etc/GMT-0",
+ "IsAlias": true,
+ "AliasOf": "Etc/GMT",
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT+0",
- "isAlias": true,
- "aliasOf": "Etc/GMT",
- "hasZone1970Location": false
+ "Id": "Etc/GMT+0",
+ "IsAlias": true,
+ "AliasOf": "Etc/GMT",
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT0",
- "isAlias": true,
- "aliasOf": "Etc/GMT",
- "hasZone1970Location": false
+ "Id": "Etc/GMT0",
+ "IsAlias": true,
+ "AliasOf": "Etc/GMT",
+ "HasZone1970Location": false
},
{
- "id": "Africa/Asmera",
- "isAlias": true,
- "aliasOf": "Africa/Nairobi",
- "hasZone1970Location": true
+ "Id": "Africa/Asmera",
+ "IsAlias": true,
+ "AliasOf": "Africa/Nairobi",
+ "HasZone1970Location": true
},
{
- "id": "Africa/Timbuktu",
- "isAlias": true,
- "aliasOf": "Africa/Abidjan",
- "hasZone1970Location": true
+ "Id": "Africa/Timbuktu",
+ "IsAlias": true,
+ "AliasOf": "Africa/Abidjan",
+ "HasZone1970Location": true
},
{
- "id": "America/Argentina/ComodRivadavia",
- "isAlias": true,
- "aliasOf": "America/Argentina/Catamarca",
- "hasZone1970Location": true
+ "Id": "America/Argentina/ComodRivadavia",
+ "IsAlias": true,
+ "AliasOf": "America/Argentina/Catamarca",
+ "HasZone1970Location": true
},
{
- "id": "America/Atka",
- "isAlias": true,
- "aliasOf": "America/Adak",
- "hasZone1970Location": true
+ "Id": "America/Atka",
+ "IsAlias": true,
+ "AliasOf": "America/Adak",
+ "HasZone1970Location": true
},
{
- "id": "America/Buenos_Aires",
- "isAlias": true,
- "aliasOf": "America/Argentina/Buenos_Aires",
- "hasZone1970Location": true
+ "Id": "America/Buenos_Aires",
+ "IsAlias": true,
+ "AliasOf": "America/Argentina/Buenos_Aires",
+ "HasZone1970Location": true
},
{
- "id": "America/Catamarca",
- "isAlias": true,
- "aliasOf": "America/Argentina/Catamarca",
- "hasZone1970Location": true
+ "Id": "America/Catamarca",
+ "IsAlias": true,
+ "AliasOf": "America/Argentina/Catamarca",
+ "HasZone1970Location": true
},
{
- "id": "America/Coral_Harbour",
- "isAlias": true,
- "aliasOf": "America/Atikokan",
- "hasZone1970Location": true
+ "Id": "America/Coral_Harbour",
+ "IsAlias": true,
+ "AliasOf": "America/Atikokan",
+ "HasZone1970Location": true
},
{
- "id": "America/Cordoba",
- "isAlias": true,
- "aliasOf": "America/Argentina/Cordoba",
- "hasZone1970Location": true
+ "Id": "America/Cordoba",
+ "IsAlias": true,
+ "AliasOf": "America/Argentina/Cordoba",
+ "HasZone1970Location": true
},
{
- "id": "America/Ensenada",
- "isAlias": true,
- "aliasOf": "America/Tijuana",
- "hasZone1970Location": true
+ "Id": "America/Ensenada",
+ "IsAlias": true,
+ "AliasOf": "America/Tijuana",
+ "HasZone1970Location": true
},
{
- "id": "America/Fort_Wayne",
- "isAlias": true,
- "aliasOf": "America/Indiana/Indianapolis",
- "hasZone1970Location": true
+ "Id": "America/Fort_Wayne",
+ "IsAlias": true,
+ "AliasOf": "America/Indiana/Indianapolis",
+ "HasZone1970Location": true
},
{
- "id": "America/Indianapolis",
- "isAlias": true,
- "aliasOf": "America/Indiana/Indianapolis",
- "hasZone1970Location": true
+ "Id": "America/Indianapolis",
+ "IsAlias": true,
+ "AliasOf": "America/Indiana/Indianapolis",
+ "HasZone1970Location": true
},
{
- "id": "America/Jujuy",
- "isAlias": true,
- "aliasOf": "America/Argentina/Jujuy",
- "hasZone1970Location": true
+ "Id": "America/Jujuy",
+ "IsAlias": true,
+ "AliasOf": "America/Argentina/Jujuy",
+ "HasZone1970Location": true
},
{
- "id": "America/Knox_IN",
- "isAlias": true,
- "aliasOf": "America/Indiana/Knox",
- "hasZone1970Location": true
+ "Id": "America/Knox_IN",
+ "IsAlias": true,
+ "AliasOf": "America/Indiana/Knox",
+ "HasZone1970Location": true
},
{
- "id": "America/Louisville",
- "isAlias": true,
- "aliasOf": "America/Kentucky/Louisville",
- "hasZone1970Location": true
+ "Id": "America/Louisville",
+ "IsAlias": true,
+ "AliasOf": "America/Kentucky/Louisville",
+ "HasZone1970Location": true
},
{
- "id": "America/Mendoza",
- "isAlias": true,
- "aliasOf": "America/Argentina/Mendoza",
- "hasZone1970Location": true
+ "Id": "America/Mendoza",
+ "IsAlias": true,
+ "AliasOf": "America/Argentina/Mendoza",
+ "HasZone1970Location": true
},
{
- "id": "America/Montreal",
- "isAlias": true,
- "aliasOf": "America/Toronto",
- "hasZone1970Location": true
+ "Id": "America/Montreal",
+ "IsAlias": true,
+ "AliasOf": "America/Toronto",
+ "HasZone1970Location": true
},
{
- "id": "America/Porto_Acre",
- "isAlias": true,
- "aliasOf": "America/Rio_Branco",
- "hasZone1970Location": true
+ "Id": "America/Porto_Acre",
+ "IsAlias": true,
+ "AliasOf": "America/Rio_Branco",
+ "HasZone1970Location": true
},
{
- "id": "America/Rosario",
- "isAlias": true,
- "aliasOf": "America/Argentina/Cordoba",
- "hasZone1970Location": true
+ "Id": "America/Rosario",
+ "IsAlias": true,
+ "AliasOf": "America/Argentina/Cordoba",
+ "HasZone1970Location": true
},
{
- "id": "America/Santa_Isabel",
- "isAlias": true,
- "aliasOf": "America/Tijuana",
- "hasZone1970Location": true
+ "Id": "America/Santa_Isabel",
+ "IsAlias": true,
+ "AliasOf": "America/Tijuana",
+ "HasZone1970Location": true
},
{
- "id": "America/Shiprock",
- "isAlias": true,
- "aliasOf": "America/Denver",
- "hasZone1970Location": true
+ "Id": "America/Shiprock",
+ "IsAlias": true,
+ "AliasOf": "America/Denver",
+ "HasZone1970Location": true
},
{
- "id": "America/Virgin",
- "isAlias": true,
- "aliasOf": "America/Port_of_Spain",
- "hasZone1970Location": true
+ "Id": "America/Virgin",
+ "IsAlias": true,
+ "AliasOf": "America/Port_of_Spain",
+ "HasZone1970Location": true
},
{
- "id": "Antarctica/South_Pole",
- "isAlias": true,
- "aliasOf": "Pacific/Auckland",
- "hasZone1970Location": true
+ "Id": "Antarctica/South_Pole",
+ "IsAlias": true,
+ "AliasOf": "Pacific/Auckland",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Ashkhabad",
- "isAlias": true,
- "aliasOf": "Asia/Ashgabat",
- "hasZone1970Location": true
+ "Id": "Asia/Ashkhabad",
+ "IsAlias": true,
+ "AliasOf": "Asia/Ashgabat",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Calcutta",
- "isAlias": true,
- "aliasOf": "Asia/Kolkata",
- "hasZone1970Location": true
+ "Id": "Asia/Calcutta",
+ "IsAlias": true,
+ "AliasOf": "Asia/Kolkata",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Chongqing",
- "isAlias": true,
- "aliasOf": "Asia/Shanghai",
- "hasZone1970Location": true
+ "Id": "Asia/Chongqing",
+ "IsAlias": true,
+ "AliasOf": "Asia/Shanghai",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Chungking",
- "isAlias": true,
- "aliasOf": "Asia/Shanghai",
- "hasZone1970Location": true
+ "Id": "Asia/Chungking",
+ "IsAlias": true,
+ "AliasOf": "Asia/Shanghai",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Dacca",
- "isAlias": true,
- "aliasOf": "Asia/Dhaka",
- "hasZone1970Location": true
+ "Id": "Asia/Dacca",
+ "IsAlias": true,
+ "AliasOf": "Asia/Dhaka",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Harbin",
- "isAlias": true,
- "aliasOf": "Asia/Shanghai",
- "hasZone1970Location": true
+ "Id": "Asia/Harbin",
+ "IsAlias": true,
+ "AliasOf": "Asia/Shanghai",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Kashgar",
- "isAlias": true,
- "aliasOf": "Asia/Urumqi",
- "hasZone1970Location": true
+ "Id": "Asia/Kashgar",
+ "IsAlias": true,
+ "AliasOf": "Asia/Urumqi",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Katmandu",
- "isAlias": true,
- "aliasOf": "Asia/Kathmandu",
- "hasZone1970Location": true
+ "Id": "Asia/Katmandu",
+ "IsAlias": true,
+ "AliasOf": "Asia/Kathmandu",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Macao",
- "isAlias": true,
- "aliasOf": "Asia/Macau",
- "hasZone1970Location": true
+ "Id": "Asia/Macao",
+ "IsAlias": true,
+ "AliasOf": "Asia/Macau",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Rangoon",
- "isAlias": true,
- "aliasOf": "Asia/Yangon",
- "hasZone1970Location": true
+ "Id": "Asia/Rangoon",
+ "IsAlias": true,
+ "AliasOf": "Asia/Yangon",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Saigon",
- "isAlias": true,
- "aliasOf": "Asia/Ho_Chi_Minh",
- "hasZone1970Location": true
+ "Id": "Asia/Saigon",
+ "IsAlias": true,
+ "AliasOf": "Asia/Ho_Chi_Minh",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Tel_Aviv",
- "isAlias": true,
- "aliasOf": "Asia/Jerusalem",
- "hasZone1970Location": true
+ "Id": "Asia/Tel_Aviv",
+ "IsAlias": true,
+ "AliasOf": "Asia/Jerusalem",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Thimbu",
- "isAlias": true,
- "aliasOf": "Asia/Thimphu",
- "hasZone1970Location": true
+ "Id": "Asia/Thimbu",
+ "IsAlias": true,
+ "AliasOf": "Asia/Thimphu",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Ujung_Pandang",
- "isAlias": true,
- "aliasOf": "Asia/Makassar",
- "hasZone1970Location": true
+ "Id": "Asia/Ujung_Pandang",
+ "IsAlias": true,
+ "AliasOf": "Asia/Makassar",
+ "HasZone1970Location": true
},
{
- "id": "Asia/Ulan_Bator",
- "isAlias": true,
- "aliasOf": "Asia/Ulaanbaatar",
- "hasZone1970Location": true
+ "Id": "Asia/Ulan_Bator",
+ "IsAlias": true,
+ "AliasOf": "Asia/Ulaanbaatar",
+ "HasZone1970Location": true
},
{
- "id": "Atlantic/Faeroe",
- "isAlias": true,
- "aliasOf": "Atlantic/Faroe",
- "hasZone1970Location": true
+ "Id": "Atlantic/Faeroe",
+ "IsAlias": true,
+ "AliasOf": "Atlantic/Faroe",
+ "HasZone1970Location": true
},
{
- "id": "Atlantic/Jan_Mayen",
- "isAlias": true,
- "aliasOf": "Europe/Oslo",
- "hasZone1970Location": true
+ "Id": "Atlantic/Jan_Mayen",
+ "IsAlias": true,
+ "AliasOf": "Europe/Oslo",
+ "HasZone1970Location": true
},
{
- "id": "Australia/ACT",
- "isAlias": true,
- "aliasOf": "Australia/Sydney",
- "hasZone1970Location": true
+ "Id": "Australia/ACT",
+ "IsAlias": true,
+ "AliasOf": "Australia/Sydney",
+ "HasZone1970Location": true
},
{
- "id": "Australia/Canberra",
- "isAlias": true,
- "aliasOf": "Australia/Sydney",
- "hasZone1970Location": true
+ "Id": "Australia/Canberra",
+ "IsAlias": true,
+ "AliasOf": "Australia/Sydney",
+ "HasZone1970Location": true
},
{
- "id": "Australia/LHI",
- "isAlias": true,
- "aliasOf": "Australia/Lord_Howe",
- "hasZone1970Location": true
+ "Id": "Australia/LHI",
+ "IsAlias": true,
+ "AliasOf": "Australia/Lord_Howe",
+ "HasZone1970Location": true
},
{
- "id": "Australia/NSW",
- "isAlias": true,
- "aliasOf": "Australia/Sydney",
- "hasZone1970Location": true
+ "Id": "Australia/NSW",
+ "IsAlias": true,
+ "AliasOf": "Australia/Sydney",
+ "HasZone1970Location": true
},
{
- "id": "Australia/North",
- "isAlias": true,
- "aliasOf": "Australia/Darwin",
- "hasZone1970Location": true
+ "Id": "Australia/North",
+ "IsAlias": true,
+ "AliasOf": "Australia/Darwin",
+ "HasZone1970Location": true
},
{
- "id": "Australia/Queensland",
- "isAlias": true,
- "aliasOf": "Australia/Brisbane",
- "hasZone1970Location": true
+ "Id": "Australia/Queensland",
+ "IsAlias": true,
+ "AliasOf": "Australia/Brisbane",
+ "HasZone1970Location": true
},
{
- "id": "Australia/South",
- "isAlias": true,
- "aliasOf": "Australia/Adelaide",
- "hasZone1970Location": true
+ "Id": "Australia/South",
+ "IsAlias": true,
+ "AliasOf": "Australia/Adelaide",
+ "HasZone1970Location": true
},
{
- "id": "Australia/Tasmania",
- "isAlias": true,
- "aliasOf": "Australia/Hobart",
- "hasZone1970Location": true
+ "Id": "Australia/Tasmania",
+ "IsAlias": true,
+ "AliasOf": "Australia/Hobart",
+ "HasZone1970Location": true
},
{
- "id": "Australia/Victoria",
- "isAlias": true,
- "aliasOf": "Australia/Melbourne",
- "hasZone1970Location": true
+ "Id": "Australia/Victoria",
+ "IsAlias": true,
+ "AliasOf": "Australia/Melbourne",
+ "HasZone1970Location": true
},
{
- "id": "Australia/West",
- "isAlias": true,
- "aliasOf": "Australia/Perth",
- "hasZone1970Location": true
+ "Id": "Australia/West",
+ "IsAlias": true,
+ "AliasOf": "Australia/Perth",
+ "HasZone1970Location": true
},
{
- "id": "Australia/Yancowinna",
- "isAlias": true,
- "aliasOf": "Australia/Broken_Hill",
- "hasZone1970Location": true
+ "Id": "Australia/Yancowinna",
+ "IsAlias": true,
+ "AliasOf": "Australia/Broken_Hill",
+ "HasZone1970Location": true
},
{
- "id": "Brazil/Acre",
- "isAlias": true,
- "aliasOf": "America/Rio_Branco",
- "hasZone1970Location": true
+ "Id": "Brazil/Acre",
+ "IsAlias": true,
+ "AliasOf": "America/Rio_Branco",
+ "HasZone1970Location": true
},
{
- "id": "Brazil/DeNoronha",
- "isAlias": true,
- "aliasOf": "America/Noronha",
- "hasZone1970Location": true
+ "Id": "Brazil/DeNoronha",
+ "IsAlias": true,
+ "AliasOf": "America/Noronha",
+ "HasZone1970Location": true
},
{
- "id": "Brazil/East",
- "isAlias": true,
- "aliasOf": "America/Sao_Paulo",
- "hasZone1970Location": true
+ "Id": "Brazil/East",
+ "IsAlias": true,
+ "AliasOf": "America/Sao_Paulo",
+ "HasZone1970Location": true
},
{
- "id": "Brazil/West",
- "isAlias": true,
- "aliasOf": "America/Manaus",
- "hasZone1970Location": true
+ "Id": "Brazil/West",
+ "IsAlias": true,
+ "AliasOf": "America/Manaus",
+ "HasZone1970Location": true
},
{
- "id": "Canada/Atlantic",
- "isAlias": true,
- "aliasOf": "America/Halifax",
- "hasZone1970Location": true
+ "Id": "Canada/Atlantic",
+ "IsAlias": true,
+ "AliasOf": "America/Halifax",
+ "HasZone1970Location": true
},
{
- "id": "Canada/Central",
- "isAlias": true,
- "aliasOf": "America/Winnipeg",
- "hasZone1970Location": true
+ "Id": "Canada/Central",
+ "IsAlias": true,
+ "AliasOf": "America/Winnipeg",
+ "HasZone1970Location": true
},
{
- "id": "Canada/East-Saskatchewan",
- "isAlias": true,
- "aliasOf": "America/Regina",
- "hasZone1970Location": true
+ "Id": "Canada/East-Saskatchewan",
+ "IsAlias": true,
+ "AliasOf": "America/Regina",
+ "HasZone1970Location": true
},
{
- "id": "Canada/Eastern",
- "isAlias": true,
- "aliasOf": "America/Toronto",
- "hasZone1970Location": true
+ "Id": "Canada/Eastern",
+ "IsAlias": true,
+ "AliasOf": "America/Toronto",
+ "HasZone1970Location": true
},
{
- "id": "Canada/Mountain",
- "isAlias": true,
- "aliasOf": "America/Edmonton",
- "hasZone1970Location": true
+ "Id": "Canada/Mountain",
+ "IsAlias": true,
+ "AliasOf": "America/Edmonton",
+ "HasZone1970Location": true
},
{
- "id": "Canada/Newfoundland",
- "isAlias": true,
- "aliasOf": "America/St_Johns",
- "hasZone1970Location": true
+ "Id": "Canada/Newfoundland",
+ "IsAlias": true,
+ "AliasOf": "America/St_Johns",
+ "HasZone1970Location": true
},
{
- "id": "Canada/Pacific",
- "isAlias": true,
- "aliasOf": "America/Vancouver",
- "hasZone1970Location": true
+ "Id": "Canada/Pacific",
+ "IsAlias": true,
+ "AliasOf": "America/Vancouver",
+ "HasZone1970Location": true
},
{
- "id": "Canada/Saskatchewan",
- "isAlias": true,
- "aliasOf": "America/Regina",
- "hasZone1970Location": true
+ "Id": "Canada/Saskatchewan",
+ "IsAlias": true,
+ "AliasOf": "America/Regina",
+ "HasZone1970Location": true
},
{
- "id": "Canada/Yukon",
- "isAlias": true,
- "aliasOf": "America/Whitehorse",
- "hasZone1970Location": true
+ "Id": "Canada/Yukon",
+ "IsAlias": true,
+ "AliasOf": "America/Whitehorse",
+ "HasZone1970Location": true
},
{
- "id": "Chile/Continental",
- "isAlias": true,
- "aliasOf": "America/Santiago",
- "hasZone1970Location": true
+ "Id": "Chile/Continental",
+ "IsAlias": true,
+ "AliasOf": "America/Santiago",
+ "HasZone1970Location": true
},
{
- "id": "Chile/EasterIsland",
- "isAlias": true,
- "aliasOf": "Pacific/Easter",
- "hasZone1970Location": true
+ "Id": "Chile/EasterIsland",
+ "IsAlias": true,
+ "AliasOf": "Pacific/Easter",
+ "HasZone1970Location": true
},
{
- "id": "Cuba",
- "isAlias": true,
- "aliasOf": "America/Havana",
- "hasZone1970Location": true
+ "Id": "Cuba",
+ "IsAlias": true,
+ "AliasOf": "America/Havana",
+ "HasZone1970Location": true
},
{
- "id": "Egypt",
- "isAlias": true,
- "aliasOf": "Africa/Cairo",
- "hasZone1970Location": true
+ "Id": "Egypt",
+ "IsAlias": true,
+ "AliasOf": "Africa/Cairo",
+ "HasZone1970Location": true
},
{
- "id": "Eire",
- "isAlias": true,
- "aliasOf": "Europe/Dublin",
- "hasZone1970Location": true
+ "Id": "Eire",
+ "IsAlias": true,
+ "AliasOf": "Europe/Dublin",
+ "HasZone1970Location": true
},
{
- "id": "Europe/Belfast",
- "isAlias": true,
- "aliasOf": "Europe/London",
- "hasZone1970Location": true
+ "Id": "Europe/Belfast",
+ "IsAlias": true,
+ "AliasOf": "Europe/London",
+ "HasZone1970Location": true
},
{
- "id": "Europe/Tiraspol",
- "isAlias": true,
- "aliasOf": "Europe/Chisinau",
- "hasZone1970Location": true
+ "Id": "Europe/Tiraspol",
+ "IsAlias": true,
+ "AliasOf": "Europe/Chisinau",
+ "HasZone1970Location": true
},
{
- "id": "GB",
- "isAlias": true,
- "aliasOf": "Europe/London",
- "hasZone1970Location": true
+ "Id": "GB",
+ "IsAlias": true,
+ "AliasOf": "Europe/London",
+ "HasZone1970Location": true
},
{
- "id": "GB-Eire",
- "isAlias": true,
- "aliasOf": "Europe/London",
- "hasZone1970Location": true
+ "Id": "GB-Eire",
+ "IsAlias": true,
+ "AliasOf": "Europe/London",
+ "HasZone1970Location": true
},
{
- "id": "GMT+0",
- "isAlias": true,
- "aliasOf": "Etc/GMT",
- "hasZone1970Location": false
+ "Id": "GMT+0",
+ "IsAlias": true,
+ "AliasOf": "Etc/GMT",
+ "HasZone1970Location": false
},
{
- "id": "GMT-0",
- "isAlias": true,
- "aliasOf": "Etc/GMT",
- "hasZone1970Location": false
+ "Id": "GMT-0",
+ "IsAlias": true,
+ "AliasOf": "Etc/GMT",
+ "HasZone1970Location": false
},
{
- "id": "GMT0",
- "isAlias": true,
- "aliasOf": "Etc/GMT",
- "hasZone1970Location": false
+ "Id": "GMT0",
+ "IsAlias": true,
+ "AliasOf": "Etc/GMT",
+ "HasZone1970Location": false
},
{
- "id": "Greenwich",
- "isAlias": true,
- "aliasOf": "Etc/GMT",
- "hasZone1970Location": false
+ "Id": "Greenwich",
+ "IsAlias": true,
+ "AliasOf": "Etc/GMT",
+ "HasZone1970Location": false
},
{
- "id": "Hongkong",
- "isAlias": true,
- "aliasOf": "Asia/Hong_Kong",
- "hasZone1970Location": true
+ "Id": "Hongkong",
+ "IsAlias": true,
+ "AliasOf": "Asia/Hong_Kong",
+ "HasZone1970Location": true
},
{
- "id": "Iceland",
- "isAlias": true,
- "aliasOf": "Atlantic/Reykjavik",
- "hasZone1970Location": true
+ "Id": "Iceland",
+ "IsAlias": true,
+ "AliasOf": "Atlantic/Reykjavik",
+ "HasZone1970Location": true
},
{
- "id": "Iran",
- "isAlias": true,
- "aliasOf": "Asia/Tehran",
- "hasZone1970Location": true
+ "Id": "Iran",
+ "IsAlias": true,
+ "AliasOf": "Asia/Tehran",
+ "HasZone1970Location": true
},
{
- "id": "Israel",
- "isAlias": true,
- "aliasOf": "Asia/Jerusalem",
- "hasZone1970Location": true
+ "Id": "Israel",
+ "IsAlias": true,
+ "AliasOf": "Asia/Jerusalem",
+ "HasZone1970Location": true
},
{
- "id": "Jamaica",
- "isAlias": true,
- "aliasOf": "America/Jamaica",
- "hasZone1970Location": true
+ "Id": "Jamaica",
+ "IsAlias": true,
+ "AliasOf": "America/Jamaica",
+ "HasZone1970Location": true
},
{
- "id": "Japan",
- "isAlias": true,
- "aliasOf": "Asia/Tokyo",
- "hasZone1970Location": true
+ "Id": "Japan",
+ "IsAlias": true,
+ "AliasOf": "Asia/Tokyo",
+ "HasZone1970Location": true
},
{
- "id": "Kwajalein",
- "isAlias": true,
- "aliasOf": "Pacific/Kwajalein",
- "hasZone1970Location": true
+ "Id": "Kwajalein",
+ "IsAlias": true,
+ "AliasOf": "Pacific/Kwajalein",
+ "HasZone1970Location": true
},
{
- "id": "Libya",
- "isAlias": true,
- "aliasOf": "Africa/Tripoli",
- "hasZone1970Location": true
+ "Id": "Libya",
+ "IsAlias": true,
+ "AliasOf": "Africa/Tripoli",
+ "HasZone1970Location": true
},
{
- "id": "Mexico/BajaNorte",
- "isAlias": true,
- "aliasOf": "America/Tijuana",
- "hasZone1970Location": true
+ "Id": "Mexico/BajaNorte",
+ "IsAlias": true,
+ "AliasOf": "America/Tijuana",
+ "HasZone1970Location": true
},
{
- "id": "Mexico/BajaSur",
- "isAlias": true,
- "aliasOf": "America/Mazatlan",
- "hasZone1970Location": true
+ "Id": "Mexico/BajaSur",
+ "IsAlias": true,
+ "AliasOf": "America/Mazatlan",
+ "HasZone1970Location": true
},
{
- "id": "Mexico/General",
- "isAlias": true,
- "aliasOf": "America/Mexico_City",
- "hasZone1970Location": true
+ "Id": "Mexico/General",
+ "IsAlias": true,
+ "AliasOf": "America/Mexico_City",
+ "HasZone1970Location": true
},
{
- "id": "NZ",
- "isAlias": true,
- "aliasOf": "Pacific/Auckland",
- "hasZone1970Location": true
+ "Id": "NZ",
+ "IsAlias": true,
+ "AliasOf": "Pacific/Auckland",
+ "HasZone1970Location": true
},
{
- "id": "NZ-CHAT",
- "isAlias": true,
- "aliasOf": "Pacific/Chatham",
- "hasZone1970Location": true
+ "Id": "NZ-CHAT",
+ "IsAlias": true,
+ "AliasOf": "Pacific/Chatham",
+ "HasZone1970Location": true
},
{
- "id": "Navajo",
- "isAlias": true,
- "aliasOf": "America/Denver",
- "hasZone1970Location": true
+ "Id": "Navajo",
+ "IsAlias": true,
+ "AliasOf": "America/Denver",
+ "HasZone1970Location": true
},
{
- "id": "PRC",
- "isAlias": true,
- "aliasOf": "Asia/Shanghai",
- "hasZone1970Location": true
+ "Id": "PRC",
+ "IsAlias": true,
+ "AliasOf": "Asia/Shanghai",
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Johnston",
- "isAlias": true,
- "aliasOf": "Pacific/Honolulu",
- "hasZone1970Location": true
+ "Id": "Pacific/Johnston",
+ "IsAlias": true,
+ "AliasOf": "Pacific/Honolulu",
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Ponape",
- "isAlias": true,
- "aliasOf": "Pacific/Pohnpei",
- "hasZone1970Location": true
+ "Id": "Pacific/Ponape",
+ "IsAlias": true,
+ "AliasOf": "Pacific/Pohnpei",
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Samoa",
- "isAlias": true,
- "aliasOf": "Pacific/Pago_Pago",
- "hasZone1970Location": true
+ "Id": "Pacific/Samoa",
+ "IsAlias": true,
+ "AliasOf": "Pacific/Pago_Pago",
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Truk",
- "isAlias": true,
- "aliasOf": "Pacific/Chuuk",
- "hasZone1970Location": true
+ "Id": "Pacific/Truk",
+ "IsAlias": true,
+ "AliasOf": "Pacific/Chuuk",
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Yap",
- "isAlias": true,
- "aliasOf": "Pacific/Chuuk",
- "hasZone1970Location": true
+ "Id": "Pacific/Yap",
+ "IsAlias": true,
+ "AliasOf": "Pacific/Chuuk",
+ "HasZone1970Location": true
},
{
- "id": "Poland",
- "isAlias": true,
- "aliasOf": "Europe/Warsaw",
- "hasZone1970Location": true
+ "Id": "Poland",
+ "IsAlias": true,
+ "AliasOf": "Europe/Warsaw",
+ "HasZone1970Location": true
},
{
- "id": "Portugal",
- "isAlias": true,
- "aliasOf": "Europe/Lisbon",
- "hasZone1970Location": true
+ "Id": "Portugal",
+ "IsAlias": true,
+ "AliasOf": "Europe/Lisbon",
+ "HasZone1970Location": true
},
{
- "id": "ROC",
- "isAlias": true,
- "aliasOf": "Asia/Taipei",
- "hasZone1970Location": true
+ "Id": "ROC",
+ "IsAlias": true,
+ "AliasOf": "Asia/Taipei",
+ "HasZone1970Location": true
},
{
- "id": "ROK",
- "isAlias": true,
- "aliasOf": "Asia/Seoul",
- "hasZone1970Location": true
+ "Id": "ROK",
+ "IsAlias": true,
+ "AliasOf": "Asia/Seoul",
+ "HasZone1970Location": true
},
{
- "id": "Singapore",
- "isAlias": true,
- "aliasOf": "Asia/Singapore",
- "hasZone1970Location": true
+ "Id": "Singapore",
+ "IsAlias": true,
+ "AliasOf": "Asia/Singapore",
+ "HasZone1970Location": true
},
{
- "id": "Turkey",
- "isAlias": true,
- "aliasOf": "Europe/Istanbul",
- "hasZone1970Location": true
+ "Id": "Turkey",
+ "IsAlias": true,
+ "AliasOf": "Europe/Istanbul",
+ "HasZone1970Location": true
},
{
- "id": "UCT",
- "isAlias": true,
- "aliasOf": "Etc/UCT",
- "hasZone1970Location": false
+ "Id": "UCT",
+ "IsAlias": true,
+ "AliasOf": "Etc/UCT",
+ "HasZone1970Location": false
},
{
- "id": "US/Alaska",
- "isAlias": true,
- "aliasOf": "America/Anchorage",
- "hasZone1970Location": true
+ "Id": "US/Alaska",
+ "IsAlias": true,
+ "AliasOf": "America/Anchorage",
+ "HasZone1970Location": true
},
{
- "id": "US/Aleutian",
- "isAlias": true,
- "aliasOf": "America/Adak",
- "hasZone1970Location": true
+ "Id": "US/Aleutian",
+ "IsAlias": true,
+ "AliasOf": "America/Adak",
+ "HasZone1970Location": true
},
{
- "id": "US/Arizona",
- "isAlias": true,
- "aliasOf": "America/Phoenix",
- "hasZone1970Location": true
+ "Id": "US/Arizona",
+ "IsAlias": true,
+ "AliasOf": "America/Phoenix",
+ "HasZone1970Location": true
},
{
- "id": "US/Central",
- "isAlias": true,
- "aliasOf": "America/Chicago",
- "hasZone1970Location": true
+ "Id": "US/Central",
+ "IsAlias": true,
+ "AliasOf": "America/Chicago",
+ "HasZone1970Location": true
},
{
- "id": "US/East-Indiana",
- "isAlias": true,
- "aliasOf": "America/Indiana/Indianapolis",
- "hasZone1970Location": true
+ "Id": "US/East-Indiana",
+ "IsAlias": true,
+ "AliasOf": "America/Indiana/Indianapolis",
+ "HasZone1970Location": true
},
{
- "id": "US/Eastern",
- "isAlias": true,
- "aliasOf": "America/New_York",
- "hasZone1970Location": true
+ "Id": "US/Eastern",
+ "IsAlias": true,
+ "AliasOf": "America/New_York",
+ "HasZone1970Location": true
},
{
- "id": "US/Hawaii",
- "isAlias": true,
- "aliasOf": "Pacific/Honolulu",
- "hasZone1970Location": true
+ "Id": "US/Hawaii",
+ "IsAlias": true,
+ "AliasOf": "Pacific/Honolulu",
+ "HasZone1970Location": true
},
{
- "id": "US/Indiana-Starke",
- "isAlias": true,
- "aliasOf": "America/Indiana/Knox",
- "hasZone1970Location": true
+ "Id": "US/Indiana-Starke",
+ "IsAlias": true,
+ "AliasOf": "America/Indiana/Knox",
+ "HasZone1970Location": true
},
{
- "id": "US/Michigan",
- "isAlias": true,
- "aliasOf": "America/Detroit",
- "hasZone1970Location": true
+ "Id": "US/Michigan",
+ "IsAlias": true,
+ "AliasOf": "America/Detroit",
+ "HasZone1970Location": true
},
{
- "id": "US/Mountain",
- "isAlias": true,
- "aliasOf": "America/Denver",
- "hasZone1970Location": true
+ "Id": "US/Mountain",
+ "IsAlias": true,
+ "AliasOf": "America/Denver",
+ "HasZone1970Location": true
},
{
- "id": "US/Pacific",
- "isAlias": true,
- "aliasOf": "America/Los_Angeles",
- "hasZone1970Location": true
+ "Id": "US/Pacific",
+ "IsAlias": true,
+ "AliasOf": "America/Los_Angeles",
+ "HasZone1970Location": true
},
{
- "id": "US/Samoa",
- "isAlias": true,
- "aliasOf": "Pacific/Pago_Pago",
- "hasZone1970Location": true
+ "Id": "US/Samoa",
+ "IsAlias": true,
+ "AliasOf": "Pacific/Pago_Pago",
+ "HasZone1970Location": true
},
{
- "id": "UTC",
- "isAlias": true,
- "aliasOf": "Etc/UTC",
- "hasZone1970Location": false
+ "Id": "UTC",
+ "IsAlias": true,
+ "AliasOf": "Etc/UTC",
+ "HasZone1970Location": false
},
{
- "id": "Universal",
- "isAlias": true,
- "aliasOf": "Etc/UTC",
- "hasZone1970Location": false
+ "Id": "Universal",
+ "IsAlias": true,
+ "AliasOf": "Etc/UTC",
+ "HasZone1970Location": false
},
{
- "id": "W-SU",
- "isAlias": true,
- "aliasOf": "Europe/Moscow",
- "hasZone1970Location": true
+ "Id": "W-SU",
+ "IsAlias": true,
+ "AliasOf": "Europe/Moscow",
+ "HasZone1970Location": true
},
{
- "id": "Zulu",
- "isAlias": true,
- "aliasOf": "Etc/UTC",
- "hasZone1970Location": false
+ "Id": "Zulu",
+ "IsAlias": true,
+ "AliasOf": "Etc/UTC",
+ "HasZone1970Location": false
},
{
- "id": "Africa/Abidjan",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Africa/Abidjan",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Africa/Accra",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Africa/Accra",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Africa/Algiers",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Africa/Algiers",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Africa/Bissau",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Africa/Bissau",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Africa/Cairo",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Africa/Cairo",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Africa/Casablanca",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Africa/Casablanca",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Africa/Ceuta",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Africa/Ceuta",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Africa/El_Aaiun",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Africa/El_Aaiun",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Africa/Johannesburg",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Africa/Johannesburg",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Africa/Khartoum",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Africa/Khartoum",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Africa/Lagos",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Africa/Lagos",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Africa/Maputo",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Africa/Maputo",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Africa/Monrovia",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Africa/Monrovia",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Africa/Nairobi",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Africa/Nairobi",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Africa/Ndjamena",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Africa/Ndjamena",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Africa/Tripoli",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Africa/Tripoli",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Africa/Tunis",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Africa/Tunis",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Africa/Windhoek",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Africa/Windhoek",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Adak",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Adak",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Anchorage",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Anchorage",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Araguaina",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Araguaina",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Argentina/Buenos_Aires",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Argentina/Buenos_Aires",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Argentina/Catamarca",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Argentina/Catamarca",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Argentina/Cordoba",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Argentina/Cordoba",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Argentina/Jujuy",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Argentina/Jujuy",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Argentina/La_Rioja",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Argentina/La_Rioja",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Argentina/Mendoza",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Argentina/Mendoza",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Argentina/Rio_Gallegos",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Argentina/Rio_Gallegos",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Argentina/Salta",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Argentina/Salta",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Argentina/San_Juan",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Argentina/San_Juan",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Argentina/San_Luis",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Argentina/San_Luis",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Argentina/Tucuman",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Argentina/Tucuman",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Argentina/Ushuaia",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Argentina/Ushuaia",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Asuncion",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Asuncion",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Atikokan",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Atikokan",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Bahia",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Bahia",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Bahia_Banderas",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Bahia_Banderas",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Barbados",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Barbados",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Belem",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Belem",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Belize",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Belize",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Blanc-Sablon",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Blanc-Sablon",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Boa_Vista",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Boa_Vista",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Bogota",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Bogota",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Boise",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Boise",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Cambridge_Bay",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Cambridge_Bay",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Campo_Grande",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Campo_Grande",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Cancun",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Cancun",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Caracas",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Caracas",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Cayenne",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Cayenne",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Chicago",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Chicago",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Chihuahua",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Chihuahua",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Costa_Rica",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Costa_Rica",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Creston",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Creston",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Cuiaba",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Cuiaba",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Curacao",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Curacao",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Danmarkshavn",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Danmarkshavn",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Dawson",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Dawson",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Dawson_Creek",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Dawson_Creek",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Denver",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Denver",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Detroit",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Detroit",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Edmonton",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Edmonton",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Eirunepe",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Eirunepe",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/El_Salvador",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/El_Salvador",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Fort_Nelson",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Fort_Nelson",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Fortaleza",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Fortaleza",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Glace_Bay",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Glace_Bay",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Godthab",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Godthab",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Goose_Bay",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Goose_Bay",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Grand_Turk",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Grand_Turk",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Guatemala",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Guatemala",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Guayaquil",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Guayaquil",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Guyana",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Guyana",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Halifax",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Halifax",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Havana",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Havana",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Hermosillo",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Hermosillo",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Indiana/Indianapolis",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Indiana/Indianapolis",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Indiana/Knox",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Indiana/Knox",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Indiana/Marengo",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Indiana/Marengo",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Indiana/Petersburg",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Indiana/Petersburg",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Indiana/Tell_City",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Indiana/Tell_City",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Indiana/Vevay",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Indiana/Vevay",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Indiana/Vincennes",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Indiana/Vincennes",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Indiana/Winamac",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Indiana/Winamac",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Inuvik",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Inuvik",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Iqaluit",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Iqaluit",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Jamaica",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Jamaica",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Juneau",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Juneau",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Kentucky/Louisville",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Kentucky/Louisville",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Kentucky/Monticello",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Kentucky/Monticello",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/La_Paz",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/La_Paz",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Lima",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Lima",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Los_Angeles",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Los_Angeles",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Maceio",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Maceio",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Managua",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Managua",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Manaus",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Manaus",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Martinique",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Martinique",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Matamoros",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Matamoros",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Mazatlan",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Mazatlan",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Menominee",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Menominee",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Merida",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Merida",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Metlakatla",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Metlakatla",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Mexico_City",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Mexico_City",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Miquelon",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Miquelon",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Moncton",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Moncton",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Monterrey",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Monterrey",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Montevideo",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Montevideo",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Nassau",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Nassau",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/New_York",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/New_York",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Nipigon",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Nipigon",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Nome",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Nome",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Noronha",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Noronha",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/North_Dakota/Beulah",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/North_Dakota/Beulah",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/North_Dakota/Center",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/North_Dakota/Center",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/North_Dakota/New_Salem",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/North_Dakota/New_Salem",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Ojinaga",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Ojinaga",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Panama",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Panama",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Pangnirtung",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Pangnirtung",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Paramaribo",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Paramaribo",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Phoenix",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Phoenix",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Port-au-Prince",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Port-au-Prince",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Port_of_Spain",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Port_of_Spain",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Porto_Velho",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Porto_Velho",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Puerto_Rico",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Puerto_Rico",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Punta_Arenas",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Punta_Arenas",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Rainy_River",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Rainy_River",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Rankin_Inlet",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Rankin_Inlet",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Recife",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Recife",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Regina",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Regina",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Resolute",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Resolute",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Rio_Branco",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Rio_Branco",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Santarem",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Santarem",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Santiago",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Santiago",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Santo_Domingo",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Santo_Domingo",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Sao_Paulo",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Sao_Paulo",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Scoresbysund",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Scoresbysund",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Sitka",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Sitka",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/St_Johns",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/St_Johns",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Swift_Current",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Swift_Current",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Tegucigalpa",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Tegucigalpa",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Thule",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Thule",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Thunder_Bay",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Thunder_Bay",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Tijuana",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Tijuana",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Toronto",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Toronto",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Vancouver",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Vancouver",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Whitehorse",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Whitehorse",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Winnipeg",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Winnipeg",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Yakutat",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Yakutat",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "America/Yellowknife",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Yellowknife",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Antarctica/Casey",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Antarctica/Casey",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Antarctica/Davis",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Antarctica/Davis",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Antarctica/DumontDUrville",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Antarctica/DumontDUrville",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Antarctica/Macquarie",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Antarctica/Macquarie",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Antarctica/Mawson",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Antarctica/Mawson",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Antarctica/Palmer",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Antarctica/Palmer",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Antarctica/Rothera",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Antarctica/Rothera",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Antarctica/Syowa",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Antarctica/Syowa",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Antarctica/Troll",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Antarctica/Troll",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Antarctica/Vostok",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Antarctica/Vostok",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Almaty",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Almaty",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Amman",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Amman",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Anadyr",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Anadyr",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Aqtau",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Aqtau",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Aqtobe",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Aqtobe",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Ashgabat",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Ashgabat",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Atyrau",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Atyrau",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Baghdad",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Baghdad",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Baku",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Baku",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Bangkok",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Bangkok",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Barnaul",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Barnaul",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Beirut",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Beirut",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Bishkek",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Bishkek",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Brunei",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Brunei",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Chita",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Chita",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Choibalsan",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Choibalsan",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Colombo",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Colombo",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Damascus",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Damascus",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Dhaka",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Dhaka",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Dili",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Dili",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Dubai",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Dubai",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Dushanbe",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Dushanbe",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Famagusta",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Famagusta",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Gaza",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Gaza",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Hebron",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Hebron",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Ho_Chi_Minh",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Ho_Chi_Minh",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Hong_Kong",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Hong_Kong",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Hovd",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Hovd",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Irkutsk",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Irkutsk",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Jakarta",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Jakarta",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Jayapura",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Jayapura",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Jerusalem",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Jerusalem",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Kabul",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Kabul",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Kamchatka",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Kamchatka",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Karachi",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Karachi",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Kathmandu",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Kathmandu",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Khandyga",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Khandyga",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Kolkata",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Kolkata",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Krasnoyarsk",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Krasnoyarsk",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Kuala_Lumpur",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Kuala_Lumpur",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Kuching",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Kuching",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Macau",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Macau",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Magadan",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Magadan",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Makassar",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Makassar",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Manila",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Manila",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Nicosia",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Nicosia",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Novokuznetsk",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Novokuznetsk",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Novosibirsk",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Novosibirsk",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Omsk",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Omsk",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Oral",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Oral",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Pontianak",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Pontianak",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Pyongyang",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Pyongyang",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Qatar",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Qatar",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Qyzylorda",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Qyzylorda",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Riyadh",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Riyadh",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Sakhalin",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Sakhalin",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Samarkand",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Samarkand",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Seoul",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Seoul",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Shanghai",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Shanghai",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Singapore",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Singapore",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Srednekolymsk",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Srednekolymsk",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Taipei",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Taipei",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Tashkent",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Tashkent",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Tbilisi",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Tbilisi",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Tehran",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Tehran",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Thimphu",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Thimphu",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Tokyo",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Tokyo",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Tomsk",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Tomsk",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Ulaanbaatar",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Ulaanbaatar",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Urumqi",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Urumqi",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Ust-Nera",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Ust-Nera",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Vladivostok",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Vladivostok",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Yakutsk",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Yakutsk",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Yangon",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Yangon",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Yekaterinburg",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Yekaterinburg",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Asia/Yerevan",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Asia/Yerevan",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Atlantic/Azores",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Atlantic/Azores",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Atlantic/Bermuda",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Atlantic/Bermuda",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Atlantic/Canary",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Atlantic/Canary",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Atlantic/Cape_Verde",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Atlantic/Cape_Verde",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Atlantic/Faroe",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Atlantic/Faroe",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Atlantic/Madeira",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Atlantic/Madeira",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Atlantic/Reykjavik",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Atlantic/Reykjavik",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Atlantic/South_Georgia",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Atlantic/South_Georgia",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Atlantic/Stanley",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Atlantic/Stanley",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Australia/Adelaide",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Australia/Adelaide",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Australia/Brisbane",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Australia/Brisbane",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Australia/Broken_Hill",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Australia/Broken_Hill",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Australia/Currie",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Australia/Currie",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Australia/Darwin",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Australia/Darwin",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Australia/Eucla",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Australia/Eucla",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Australia/Hobart",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Australia/Hobart",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Australia/Lindeman",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Australia/Lindeman",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Australia/Lord_Howe",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Australia/Lord_Howe",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Australia/Melbourne",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Australia/Melbourne",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Australia/Perth",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Australia/Perth",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Australia/Sydney",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Australia/Sydney",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "CET",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "CET",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "CST6CDT",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "CST6CDT",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "EET",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "EET",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "EST",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "EST",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "EST5EDT",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "EST5EDT",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT+1",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT+1",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT+10",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT+10",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT+11",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT+11",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT+12",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT+12",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT+2",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT+2",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT+3",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT+3",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT+4",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT+4",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT+5",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT+5",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT+6",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT+6",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT+7",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT+7",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT+8",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT+8",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT+9",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT+9",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT-1",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT-1",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT-10",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT-10",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT-11",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT-11",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT-12",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT-12",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT-13",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT-13",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT-14",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT-14",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT-2",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT-2",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT-3",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT-3",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT-4",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT-4",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT-5",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT-5",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT-6",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT-6",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT-7",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT-7",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT-8",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT-8",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/GMT-9",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/GMT-9",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/UCT",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/UCT",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Etc/UTC",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "Etc/UTC",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Europe/Amsterdam",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Amsterdam",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Andorra",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Andorra",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Astrakhan",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Astrakhan",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Athens",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Athens",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Belgrade",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Belgrade",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Berlin",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Berlin",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Brussels",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Brussels",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Bucharest",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Bucharest",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Budapest",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Budapest",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Chisinau",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Chisinau",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Copenhagen",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Copenhagen",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Dublin",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Dublin",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Gibraltar",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Gibraltar",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Helsinki",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Helsinki",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Istanbul",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Istanbul",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Kaliningrad",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Kaliningrad",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Kiev",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Kiev",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Kirov",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Kirov",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Lisbon",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Lisbon",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/London",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/London",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Luxembourg",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Luxembourg",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Madrid",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Madrid",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Malta",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Malta",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Minsk",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Minsk",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Monaco",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Monaco",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Moscow",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Moscow",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Oslo",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Oslo",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Paris",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Paris",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Prague",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Prague",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Riga",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Riga",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Rome",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Rome",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Samara",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Samara",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Saratov",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Saratov",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Simferopol",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Simferopol",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Sofia",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Sofia",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Stockholm",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Stockholm",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Tallinn",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Tallinn",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Tirane",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Tirane",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Ulyanovsk",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Ulyanovsk",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Uzhgorod",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Uzhgorod",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Vienna",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Vienna",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Vilnius",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Vilnius",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Volgograd",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Volgograd",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Warsaw",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Warsaw",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Zaporozhye",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Zaporozhye",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Europe/Zurich",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Europe/Zurich",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "HST",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "HST",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Indian/Chagos",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Indian/Chagos",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Indian/Christmas",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Indian/Christmas",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Indian/Cocos",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Indian/Cocos",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Indian/Kerguelen",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Indian/Kerguelen",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Indian/Mahe",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Indian/Mahe",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Indian/Maldives",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Indian/Maldives",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Indian/Mauritius",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Indian/Mauritius",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Indian/Reunion",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Indian/Reunion",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "MET",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "MET",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "MST",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "MST",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "MST7MDT",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "MST7MDT",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "PST8PDT",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "PST8PDT",
+ "IsAlias": false,
+ "HasZone1970Location": false
},
{
- "id": "Pacific/Apia",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Apia",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Auckland",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Auckland",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Bougainville",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Bougainville",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Chatham",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Chatham",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Chuuk",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Chuuk",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Easter",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Easter",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Efate",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Efate",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Enderbury",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Enderbury",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Fakaofo",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Fakaofo",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Fiji",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Fiji",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Funafuti",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Funafuti",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Galapagos",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Galapagos",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Gambier",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Gambier",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Guadalcanal",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Guadalcanal",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Guam",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Guam",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Honolulu",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Honolulu",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Kiritimati",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Kiritimati",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Kosrae",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Kosrae",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Kwajalein",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Kwajalein",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Majuro",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Majuro",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Marquesas",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Marquesas",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Nauru",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Nauru",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Niue",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Niue",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Norfolk",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Norfolk",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Noumea",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Noumea",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Pago_Pago",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Pago_Pago",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Palau",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Palau",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Pitcairn",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Pitcairn",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Pohnpei",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Pohnpei",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Port_Moresby",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Port_Moresby",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Rarotonga",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Rarotonga",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Tahiti",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Tahiti",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Tarawa",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Tarawa",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Tongatapu",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Tongatapu",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Wake",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Wake",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "Pacific/Wallis",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "Pacific/Wallis",
+ "IsAlias": false,
+ "HasZone1970Location": true
},
{
- "id": "WET",
- "isAlias": false,
- "hasZone1970Location": false
+ "Id": "WET",
+ "IsAlias": false,
+ "HasZone1970Location": false
}
]
}
diff --git a/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneIANAVersion.json b/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneIANAVersion.json
index a86486af9616..6895b5db0840 100644
--- a/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneIANAVersion.json
+++ b/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneIANAVersion.json
@@ -6,7 +6,7 @@
"responses": {
"200": {
"body": {
- "version": "2017b"
+ "Version": "2017b"
}
}
}
diff --git a/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneWindowsToIANA.json b/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneWindowsToIANA.json
index 5d19b87b7ce0..b1aa68335ccf 100644
--- a/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneWindowsToIANA.json
+++ b/specification/maps/data-plane/Timezone/preview/1.0/examples/GetTimezoneWindowsToIANA.json
@@ -8,9 +8,9 @@
"200": {
"body": [
{
- "id": "America/Los_Angeles",
- "isAlias": false,
- "hasZone1970Location": true
+ "Id": "America/Los_Angeles",
+ "IsAlias": false,
+ "HasZone1970Location": true
}
]
}
diff --git a/specification/maps/data-plane/Timezone/preview/1.0/timezone.json b/specification/maps/data-plane/Timezone/preview/1.0/timezone.json
index 33c7c81f7322..7412e9901b4b 100644
--- a/specification/maps/data-plane/Timezone/preview/1.0/timezone.json
+++ b/specification/maps/data-plane/Timezone/preview/1.0/timezone.json
@@ -18,15 +18,21 @@
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
"https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "AzureKey": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
+ "in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
"in": "header"
}
},
@@ -37,7 +43,10 @@
]
},
{
- "AzureKey": []
+ "SharedKey": []
+ },
+ {
+ "SasToken": []
}
],
"responses": {},
@@ -103,6 +112,7 @@
},
"TimezoneTransitionsFrom": {
"name": "transitionsFrom",
+ "x-ms-client-name": "daylightSavingsTimeFrom",
"in": "query",
"description": "Alternatively, use alias \"tf\". The start date from which daylight savings time (DST) transitions are requested, only applies when \"options\" = all or \"options\" = transitions.",
"type": "string",
@@ -111,6 +121,7 @@
},
"TimezoneTransitionsYears": {
"name": "transitionsYears",
+ "x-ms-client-name": "daylightSavingsTimeLastingYears",
"in": "query",
"description": "Alternatively, use alias \"ty\". The number of years from \"transitionsFrom\" for which DST transitions are requested, only applies when \"options\" = all or \"options\" = transitions.",
"type": "integer",
@@ -121,9 +132,9 @@
"/timezone/byId/{format}": {
"get": {
"description": "__Time Zone by Id__\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns current, historical, and future time zone information for the specified IANA time zone ID.",
- "operationId": "GetTimezoneByID",
+ "operationId": "Timezone_GetTimezoneByID",
"x-ms-examples": {
- "GetTimezoneByID": {
+ "Successfully retrieve timezone by ID": {
"$ref": "./examples/GetTimezoneByID.json"
}
},
@@ -154,6 +165,7 @@
},
{
"name": "query",
+ "x-ms-client-name": "timezoneId",
"in": "query",
"description": "The IANA time zone ID.",
"required": true,
@@ -164,7 +176,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/TimezoneByIdResult"
+ "$ref": "#/definitions/TimezoneResult"
}
},
"default": {
@@ -176,9 +188,9 @@
"/timezone/byCoordinates/{format}": {
"get": {
"description": "__Time Zone by Coordinates__\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns current, historical, and future time zone information for a specified latitude-longitude pair. In addition, the API provides sunset and sunrise times for a given location.",
- "operationId": "GetTimezoneByCoordinates",
+ "operationId": "Timezone_GetTimezoneByCoordinates",
"x-ms-examples": {
- "GetTimezoneByCoordinates": {
+ "Successfully retrieve timezone by coordinates": {
"$ref": "./examples/GetTimezoneByCoordinates.json"
}
},
@@ -210,16 +222,24 @@
{
"name": "query",
"in": "query",
- "description": "Coordinates of the point for which time zone information is requested. The applicable query is specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".",
+ "description": "Coordinates of the point for which time zone information is requested. This parameter is a list of coordinates, containing a pair of coordinate(lat, long). When this endpoint is called directly, coordinates are passed in as a single string containing coordinates, separated by commas.",
"required": true,
- "type": "string"
+ "x-ms-client-name": "coordinates",
+ "type": "array",
+ "collectionFormat": "csv",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/TimezoneByCoordinatesResult"
+ "$ref": "#/definitions/TimezoneResult"
}
},
"default": {
@@ -230,10 +250,11 @@
},
"/timezone/enumWindows/{format}": {
"get": {
- "description": "__Enumerate Windows Time Zones__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns a full list of Windows Time Zone IDs.",
- "operationId": "GetTimezoneEnumWindows",
+ "description": "__Windows Time Zones__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns a full list of Windows Time Zone IDs.",
+ "operationId": "Timezone_GetTimezoneEnumWindows",
+ "x-ms-client-name": "GetWindowsTimezoneIds",
"x-ms-examples": {
- "GetTimezoneEnumWindows": {
+ "Successfully retrieve Windows timezone Ids": {
"$ref": "./examples/GetTimezoneEnumWindows.json"
}
},
@@ -263,10 +284,11 @@
},
"/timezone/enumIana/{format}": {
"get": {
- "description": "__Enumerate IANA Time Zones__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns a full list of IANA time zone IDs. Updates to the IANA service will be reflected in the system within one day.",
- "operationId": "GetTimezoneEnumIANA",
+ "description": "__IANA Time Zones__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns a full list of IANA time zone IDs. Updates to the IANA service will be reflected in the system within one day.",
+ "operationId": "Timezone_GetTimezoneEnumIANA",
+ "x-ms-client-name": "GetIANATimezoneIds",
"x-ms-examples": {
- "GetTimezoneEnumIANA": {
+ "Successfully retrieve Iana timezone Ids": {
"$ref": "./examples/GetTimezoneEnumIANA.json"
}
},
@@ -296,10 +318,11 @@
},
"/timezone/ianaVersion/{format}": {
"get": {
- "description": "__Time Zone IANA Version__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns the current IANA version number.",
- "operationId": "GetTimezoneIANAVersion",
+ "description": "__Time Zone IANA Version__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns the current IANA version number as Metadata.",
+ "operationId": "Timezone_GetTimezoneIANAVersion",
+ "x-ms-client-name": "GetIANAVersion",
"x-ms-examples": {
- "GetTimezoneIANAVersion": {
+ "Successfully retrieve Iana version metadata": {
"$ref": "./examples/GetTimezoneIANAVersion.json"
}
},
@@ -330,9 +353,10 @@
"/timezone/windowsToIana/{format}": {
"get": {
"description": "__Windows to IANA Time Zone__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nThis API returns a corresponding IANA ID, given a valid Windows Time Zone ID. Multiple IANA IDs may be returned for a single Windows ID. It is possible to narrow these results by adding an optional territory parameter.",
- "operationId": "GetTimezoneWindowsToIANA",
+ "operationId": "Timezone_GetTimezoneWindowsToIANA",
+ "x-ms-client-name": "ConvertWindowsTimezoneToIANA",
"x-ms-examples": {
- "GetTimezoneWindowsToIANA": {
+ "Successfully retrieve corresponding timezone Iana": {
"$ref": "./examples/GetTimezoneWindowsToIANA.json"
}
},
@@ -349,6 +373,7 @@
{
"name": "query",
"in": "query",
+ "x-ms-client-name": "windowsTimezoneId",
"description": "The Windows time zone ID.",
"required": true,
"type": "string"
@@ -356,6 +381,7 @@
{
"name": "territory",
"in": "query",
+ "x-ms-client-name": "windowsTerritoryCode",
"description": "Windows Time Zone territory code.",
"type": "string"
}
@@ -424,8 +450,8 @@
}
}
},
- "TimezoneByIdResult": {
- "description": "This object is returned from a successful Timezone By ID call",
+ "TimezoneResult": {
+ "description": "This object is returned from a successful Timezone By ID call or By Coordinates call",
"type": "object",
"properties": {
"Version": {
@@ -440,27 +466,7 @@
"format": "date-time"
},
"TimeZones": {
- "$ref": "#/definitions/TimeZonesById"
- }
- }
- },
- "TimezoneByCoordinatesResult": {
- "description": "This object is returned from a successful Timezone By Coordinates call",
- "type": "object",
- "properties": {
- "Version": {
- "description": "Version property",
- "type": "string",
- "readOnly": true
- },
- "ReferenceUtcTimestamp": {
- "description": "Reference Utc Timestamp property",
- "type": "string",
- "readOnly": true,
- "format": "date-time"
- },
- "TimeZones": {
- "$ref": "#/definitions/TimeZonesByCoordinates"
+ "$ref": "#/definitions/TimezoneIds"
}
}
},
@@ -468,10 +474,10 @@
"description": "This object is returned from a successful Timezone Enum Windows call",
"type": "array",
"items": {
- "$ref": "#/definitions/TimezoneEnumWindow"
+ "$ref": "#/definitions/TimezoneWindows"
}
},
- "TimezoneEnumWindow": {
+ "TimezoneWindows": {
"type": "object",
"properties": {
"WindowsId": {
@@ -505,7 +511,7 @@
"description": "This object is returned from a successful Timezone IANA Version call",
"type": "object",
"properties": {
- "version": {
+ "Version": {
"description": "Version property",
"type": "string",
"readOnly": true
@@ -522,89 +528,37 @@
"IanaId": {
"type": "object",
"properties": {
- "id": {
+ "Id": {
"description": "Id property",
"type": "string",
"readOnly": true
},
- "isAlias": {
+ "IsAlias": {
"description": "IsAlias property",
"type": "boolean",
"readOnly": true
},
- "aliasOf": {
+ "AliasOf": {
"description": "AliasOf property",
"type": "string",
"readOnly": true
},
- "hasZone1970Location": {
- "description": "HasZone1970Location property",
+ "HasZone1970Location": {
+ "description": "This attribute returns `True` if the IanaId has any country/zone associated with it.",
"type": "boolean",
"readOnly": true
}
}
},
- "TimeZonesById": {
- "description": "TimeZoneById array",
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/TimezoneById"
- }
- },
- "TimeZonesByCoordinates": {
- "description": "TimeZoneByCoordinates array",
+ "TimezoneIds": {
+ "description": "TimeZoneId array",
"type": "array",
"readOnly": true,
"items": {
- "$ref": "#/definitions/TimeZoneByCoordinates"
- }
- },
- "TimezoneById": {
- "type": "object",
- "properties": {
- "Id": {
- "description": "Id property",
- "type": "string",
- "readOnly": true
- },
- "Aliases": {
- "description": "An array of time zone ID aliases. Only returned when [options]=*zoneinfo* or *all*.\n\nNote: may be null.",
- "type": "array",
- "readOnly": true,
- "items": {
- "type": "string",
- "readOnly": true
- }
- },
- "Countries": {
- "description": "An array of country records. Only returned when [options]=*zoneinfo* or *all*.",
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/CountryRecord"
- }
- },
- "Names": {
- "$ref": "#/definitions/TimezoneNames"
- },
- "ReferenceTime": {
- "$ref": "#/definitions/ReferenceTimeById"
- },
- "RepresentativePoint": {
- "$ref": "#/definitions/RepresentativePoint"
- },
- "TimeTransitions": {
- "description": "Time zone DST transitions from [transitionsFrom] until timestamp + 1 year.",
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/TimeTransition"
- }
- }
+ "$ref": "#/definitions/TimezoneId"
}
},
- "TimeZoneByCoordinates": {
+ "TimezoneId": {
"type": "object",
"properties": {
"Id": {
@@ -633,7 +587,7 @@
"$ref": "#/definitions/TimezoneNames"
},
"ReferenceTime": {
- "$ref": "#/definitions/ReferenceTimeByCoordinates"
+ "$ref": "#/definitions/ReferenceTime"
},
"RepresentativePoint": {
"$ref": "#/definitions/RepresentativePoint"
@@ -674,44 +628,7 @@
}
}
},
- "ReferenceTimeById": {
- "description": "Details in effect at the local time.",
- "type": "object",
- "readOnly": true,
- "properties": {
- "Tag": {
- "description": "Time zone name in effect at the reference timestamp (i.e. PST or PDT depending whether Daylight Savings Time is in effect).",
- "type": "string",
- "readOnly": true
- },
- "StandardOffset": {
- "description": "UTC offset in effect at the `ReferenceUTCTimestamp`.",
- "type": "string",
- "readOnly": true
- },
- "DaylightSavings": {
- "description": "Time saving in minutes in effect at the `ReferenceUTCTimestamp`.",
- "type": "string",
- "readOnly": true
- },
- "WallTime": {
- "description": "Current wall time at the given time zone as shown in the `Tag` property.",
- "type": "string",
- "readOnly": true
- },
- "PosixTzValidYear": {
- "description": "The year this POSIX string is valid for. Note: A POSIX string will only be valid in the given year.",
- "type": "integer",
- "readOnly": true
- },
- "PosixTz": {
- "description": "POSIX string used to set the time zone environment variable.",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "ReferenceTimeByCoordinates": {
+ "ReferenceTime": {
"description": "Details in effect at the local time.",
"type": "object",
"readOnly": true,
@@ -747,13 +664,15 @@
"readOnly": true
},
"Sunrise": {
- "description": "Sunrise at the given time zone as shown in the `Tag` property.",
+ "description": "Sunrise at the given time zone as shown in the `Tag` property. The sunrise is described in the ISO8601 format. (Only be populated if the call is byCoordinates)",
"type": "string",
+ "format": "date-time",
"readOnly": true
},
"Sunset": {
- "description": "Sunset at the given time zone as shown in the `Tag` property.",
+ "description": "Sunset at the given time zone as shown in the `Tag` property. The sunset is described in the ISO8601 format.(Only be populated if the call is byCoordinates)",
"type": "string",
+ "format": "date-time",
"readOnly": true
}
}
diff --git a/specification/maps/data-plane/Timezone/readme.python.md b/specification/maps/data-plane/Timezone/readme.python.md
index 627dbb2e2847..76a3fb593f33 100644
--- a/specification/maps/data-plane/Timezone/readme.python.md
+++ b/specification/maps/data-plane/Timezone/readme.python.md
@@ -14,9 +14,9 @@ clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
no-namespace-folders: true
-output-folder: $(python-sdks-folder)/maps/azure-maps-timezone/azure/maps/timezone
+output-folder: $(python-sdks-folder)/maps/azure-maps-timezone/azure/maps/timezone/_generated
```
``` yaml $(python) && $(python-mode) == 'create'
basic-setup-py: true
-output-folder: $(python-sdks-folder)/maps/azure-maps-timezone
+output-folder: $(python-sdks-folder)/maps/azure-maps-timezone/
```
diff --git a/specification/maps/data-plane/Traffic/preview/1.0/traffic.json b/specification/maps/data-plane/Traffic/preview/1.0/traffic.json
index d87505a6d072..5dc97f7255c3 100644
--- a/specification/maps/data-plane/Traffic/preview/1.0/traffic.json
+++ b/specification/maps/data-plane/Traffic/preview/1.0/traffic.json
@@ -18,15 +18,21 @@
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
"https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "AzureKey": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
+ "in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
"in": "header"
}
},
@@ -37,7 +43,10 @@
]
},
{
- "AzureKey": []
+ "SharedKey": []
+ },
+ {
+ "SasToken": []
}
],
"responses": {},
@@ -100,9 +109,9 @@
"/traffic/flow/tile/{format}": {
"get": {
"description": "__Traffic Flow Tile__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThe Azure Flow Tile API serves 256 x 256 pixel tiles showing traffic flow. All tiles use the same grid system. Because the traffic tiles use transparent images, they can be layered on top of map tiles to create a compound display. The Flow tiles use colors to indicate either the speed of traffic on different road segments, or the difference between that speed and the free-flow speed on the road segment in question.",
- "operationId": "GetTrafficFlowTile",
+ "operationId": "Traffic_GetTrafficFlowTile",
"x-ms-examples": {
- "GetTrafficFlowTile": {
+ "Request tile depicting the traffic flow": {
"$ref": "./examples/GetTrafficFlowTile.json"
}
},
@@ -201,9 +210,9 @@
"/traffic/flow/segment/{format}": {
"get": {
"description": "__Traffic Flow Segment__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThis service provides information about the speeds and travel times of the road fragment closest to the given coordinates. It is designed to work alongside the Flow layer of the Render Service to support clickable flow data visualizations. With this API, the client side can connect any place in the map with flow data on the closest road and present it to the user.",
- "operationId": "GetTrafficFlowSegment",
+ "operationId": "Traffic_GetTrafficFlowSegment",
"x-ms-examples": {
- "GetTrafficFlowSegment": {
+ "Request traffic flow segment information": {
"$ref": "./examples/GetTrafficFlowSegment.json"
}
},
@@ -239,9 +248,17 @@
{
"name": "query",
"in": "query",
- "description": "Coordinates of the point close to the road segment. They have to be comma-separated and calculated using EPSG4326 projection.",
+ "description": "Coordinates of the point close to the road segment. This parameter is a list of four coordinates, containing two coordinate pairs (lat, long, lat, long), and calculated using EPSG4326 projection. When this endpoint is called directly, coordinates are passed in as a single string containing four coordinates, separated by commas.",
"required": true,
- "type": "string"
+ "x-ms-client-name": "coordinates",
+ "type": "array",
+ "collectionFormat": "csv",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
},
{
"name": "unit",
@@ -287,7 +304,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/TrafficFlowSegmentResult"
+ "$ref": "#/definitions/TrafficFlowSegmentData"
}
},
"default": {
@@ -299,9 +316,9 @@
"/traffic/incident/tile/{format}": {
"get": {
"description": "__Traffic Incident Tile__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThis service serves 256 x 256 pixel tiles showing traffic incidents. All tiles use the same grid system. Because the traffic tiles use transparent images, they can be layered on top of map tiles to create a compound display. Traffic tiles render graphics to indicate traffic on the roads in the specified area.",
- "operationId": "GetTrafficIncidentTile",
+ "operationId": "Traffic_GetTrafficIncidentTile",
"x-ms-examples": {
- "GetTrafficIncidentTile": {
+ "Request a tile depicting a traffic incident": {
"$ref": "./examples/GetTrafficIncidentTile.json"
}
},
@@ -341,7 +358,7 @@
},
{
"value": "s3",
- "description": "Creates plain lines with certain degree of glow."
+ "description": "Creates plain lines with certain degree of glow, different from the s2 style."
},
{
"value": "night",
@@ -398,9 +415,9 @@
"/traffic/incident/detail/{format}": {
"get": {
"description": "__Traffic Incident Detail__ \n\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThis API provides information on traffic incidents inside a given bounding box, based on the current Traffic Model ID. The Traffic Model ID is available to grant synchronization of data between calls and API's. The Traffic Model ID is a key value for determining the currency of traffic incidents. It is updated every minute, and is valid for two minutes before it times out. It is used in rendering [incident tiles](https://docs.microsoft.com/en-us/rest/api/maps/traffic/gettrafficincidenttile). It can be obtained from the [Viewport API](https://docs.microsoft.com/en-us/rest/api/maps/traffic/gettrafficincidentviewport).",
- "operationId": "GetTrafficIncidentDetail",
+ "operationId": "Traffic_GetTrafficIncidentDetail",
"x-ms-examples": {
- "GetTrafficIncidentDetail": {
+ "Request information about a traffic incident": {
"$ref": "./examples/GetTrafficIncidentDetail.json"
}
},
@@ -427,7 +444,7 @@
"night"
],
"x-ms-enum": {
- "name": "TrafficIncidentDetailStyle",
+ "name": "IncidentDetailStyle",
"modelAsString": true,
"values": [
{
@@ -440,7 +457,7 @@
},
{
"value": "s3",
- "description": "Creates plain lines with certain degree of glow."
+ "description": "Creates plain lines with certain degree of glow, different than the s2 style."
},
{
"value": "night",
@@ -454,7 +471,14 @@
"in": "query",
"description": "The `boundingbox` is represented by two value pairs describing it's corners (first pair for lower left corner and second for upper right). The pairs can either be specified using any of the `projection`'s specified below (e.g., _minY,minX,maxY,maxX_) or by two latitude-longitude pairs (e.g., _minLat,minLon,maxLat,maxLon_).
NOTE: If latitude/longitude pairs are used, then the `projection` parameter must be set to \"EPSG4326\".",
"required": true,
- "type": "string"
+ "type": "array",
+ "items": {
+ "type": "number",
+ "format": "double"
+ },
+ "minItems": 4,
+ "maxItems": 4,
+ "collectionFormat": "csv"
},
{
"name": "boundingZoom",
@@ -544,7 +568,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/TrafficIncidentDetailResult"
+ "$ref": "#/definitions/TrafficIncidentDetail"
}
},
"default": {
@@ -556,9 +580,9 @@
"/traffic/incident/viewport/{format}": {
"get": {
"description": "__Traffic Incident Viewport__\n\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThis API returns legal and technical information for the viewport described in the request. It should be called by client applications whenever the viewport changes (for instance, through zooming, panning, going to a location, or displaying a route). The request should contain the bounding box and zoom level of the viewport whose information is needed. The return will contain map version information, as well as the current Traffic Model ID and copyright IDs. The Traffic Model ID returned by the Viewport Description is used by other APIs to retrieve last traffic information for further processing.",
- "operationId": "GetTrafficIncidentViewport",
+ "operationId": "Traffic_GetTrafficIncidentViewport",
"x-ms-examples": {
- "GetTrafficIncidentViewport": {
+ "Request traffic incident information for the selected viewport": {
"$ref": "./examples/GetTrafficIncidentViewport.json"
}
},
@@ -575,9 +599,16 @@
{
"name": "boundingbox",
"in": "query",
- "description": "Bounding box of the map viewport in [EPSG900913](http://docs.openlayers.org/library/spherical_mercator.html) projection. The `boundingbox` is represented by two value pairs describing it's corners (first pair for lower left corner and second for upper right). All values should be separated by commas (e.g., _minY,minX,maxY,maxX_). The maximum size of the bounding box that can be passed is dependent on the requested zoom level. The width and height cannot exceed 4092 pixels when rendered on the given zoom level.
NOTE: Bounding boxes that cross the 180° meridian require special treatment. For such boxes, the eastern _maxX_ value will be negative, and thus less than the _minX_ value west of the 180° meridian. To address that, the value 40075016.6855874 should be added to the true _maxX_ value before it is passed in the request.",
+ "description": "Bounding box of the map viewport in [EPSG900913](http://docs.openlayers.org/library/spherical_mercator.html) projection. The `boundingbox` is represented by two value pairs describing it's corners (first pair for lower left corner and second for upper right). When this endpoint is called directly, all values should be separated by commas (e.g., _minY,minX,maxY,maxX_). The maximum size of the bounding box that can be passed is dependent on the requested zoom level. The width and height cannot exceed 4092 pixels when rendered on the given zoom level.
NOTE: Bounding boxes that cross the 180° meridian require special treatment. For such boxes, the eastern _maxX_ value will be negative, and thus less than the _minX_ value west of the 180° meridian. To address that, the value 40075016.6855874 should be added to the true _maxX_ value before it is passed in the request.",
"required": true,
- "type": "string"
+ "type": "array",
+ "collectionFormat": "csv",
+ "minItems": 4,
+ "maxItems": 4,
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
},
{
"name": "boundingzoom",
@@ -592,9 +623,16 @@
{
"name": "overviewbox",
"in": "query",
- "description": "Bounding box of the overview map in [EPSG900913](http://docs.openlayers.org/library/spherical_mercator.html) projection.
Used in case the overview box/mini map has different copyright data than the main map. If there is no mini map, the same coordinates as `boundingBox` is used.",
+ "description": "Bounding box of the overview map in [EPSG900913](http://docs.openlayers.org/library/spherical_mercator.html) projection.
Used in case the overview box/mini map has different copyright data than the main map. If there is no mini map, the same coordinates as `boundingBox` is used. When this endpoint is called directly, coordinates are passed in as a single string containing four coordinates, separated by commas.",
"required": true,
- "type": "string"
+ "type": "array",
+ "collectionFormat": "csv",
+ "minItems": 4,
+ "maxItems": 4,
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
},
{
"name": "overviewzoom",
@@ -618,7 +656,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/TrafficIncidentViewportResult"
+ "$ref": "#/definitions/TrafficIncidentViewport"
}
},
"default": {
@@ -629,7 +667,7 @@
}
},
"definitions": {
- "TrafficFlowSegmentResult": {
+ "TrafficFlowSegmentData": {
"description": "This object is returned from a successful Traffic Flow Segment call",
"type": "object",
"properties": {
@@ -641,6 +679,7 @@
"frc": {
"description": "Functional Road Class. This indicates the road type:\n 0: Motorway, freeway or other major road.\n 1: Major road, less important than a motorway.\n 2: Other major road.\n 3: Secondary road.\n 4: Local connecting road.\n 5: Local road of high importance.\n 6: Local road.",
"type": "string",
+ "x-ms-client-name": "functionalRoadClass",
"readOnly": true
},
"currentSpeed": {
@@ -656,13 +695,13 @@
"readOnly": true
},
"currentTravelTime": {
- "description": "Current travel time in seconds based on fused real-time measurements between the defined locations in the specified direction.",
+ "description": "Current travel time in seconds, across this traffic segment, based on fused real-time measurements between the defined locations in the specified direction.",
"type": "integer",
"format": "int32",
"readOnly": true
},
"freeFlowTravelTime": {
- "description": "The travel time in seconds which would be expected under ideal free flow conditions.",
+ "description": "The travel time in seconds, across this traffic segment, which would be expected under ideal free flow conditions.",
"type": "integer",
"format": "int32",
"readOnly": true
@@ -679,9 +718,10 @@
"coordinate": {
"description": "Coordinate array",
"type": "array",
+ "x-ms-client-name": "coordinates",
"readOnly": true,
"items": {
- "$ref": "../../../Common/preview/1.0/common.json#/definitions/CoordinatesPair"
+ "$ref": "../../../Common/preview/1.0/common.json#/definitions/LatLongPair"
}
}
}
@@ -692,15 +732,16 @@
"readOnly": true
},
"openlr": {
- "description": "OpenLR code for segment",
- "type": "number",
- "readOnly": true
+ "description": "OpenLR code for segment. See [OpenLR](https://en.wikipedia.org/wiki/OpenLR) for more information on the use of Open LR codes.",
+ "type": "string",
+ "readOnly": true,
+ "x-ms-client-name": "openLrCode"
}
}
}
}
},
- "TrafficIncidentDetailResult": {
+ "TrafficIncidentDetail": {
"description": "This object is returned from a successful Traffic incident Detail call",
"type": "object",
"properties": {
@@ -710,7 +751,7 @@
"readOnly": true,
"properties": {
"@id": {
- "description": "ID of the traffic incident",
+ "description": "ID of the traffic model for this incident",
"type": "string",
"readOnly": true
},
@@ -718,15 +759,16 @@
"description": "A single traffic incident, or a cluster of traffic incidents",
"type": "array",
"readOnly": true,
+ "x-ms-client-name": "pointsOfInterest",
"items": {
- "$ref": "#/definitions/TrafficIncidentPoi"
+ "$ref": "#/definitions/TrafficIncidentPointOfInterest"
}
}
}
}
}
},
- "TrafficIncidentPoi": {
+ "TrafficIncidentPointOfInterest": {
"type": "object",
"readOnly": true,
"properties": {
@@ -739,111 +781,241 @@
"description": "The point where an icon of the cluster or raw incident should be drawn, expressed in the requested projection. This is affected by traffic style, zoom level and road type",
"type": "object",
"readOnly": true,
- "properties": {
- "x": {
- "description": "x coordinate",
- "type": "number",
- "readOnly": true
- },
- "y": {
- "description": "y coordinate",
- "type": "number",
- "readOnly": true
- }
- }
+ "x-ms-client-name": "point",
+ "$ref": "#/definitions/Point"
},
"ic": {
"description": "The icon category associated with this incident. Values are numbers in the range 0-13, with the following meanings -- 0: Unknown, 1: Accident, 2: Fog, 3: Dangerous Conditions, 4: Rain, 5: Ice, 6: Jam, 7: Lane Closed, 8: Road Closed, 9: Road Works, 10: Wind, 11: Flooding, 12: Detour, 13: Cluster",
"type": "integer",
"format": "int32",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-client-name": "iconCategory",
+ "enum": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14
+ ],
+ "x-ms-enum": {
+ "name": "IconCategory",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "0",
+ "name": "Unknown",
+ "description": "Unknown"
+ },
+ {
+ "value": "1",
+ "name": "Accident",
+ "description": "Accident"
+ },
+ {
+ "value": "2",
+ "name": "Fog",
+ "description": "Fog"
+ },
+ {
+ "value": "3",
+ "name": "Dangerous Conditions",
+ "description": "Dangerous Conditions"
+ },
+ {
+ "value": "4",
+ "name": "Rain",
+ "description": "Rain"
+ },
+ {
+ "value": "5",
+ "name": "Ice",
+ "description": "Ice"
+ },
+ {
+ "value": "6",
+ "name": "Jam",
+ "description": "Jam"
+ },
+ {
+ "value": "7",
+ "name": "Lane Closed",
+ "description": "Lane Closed"
+ },
+ {
+ "value": "8",
+ "name": "Road Closed",
+ "description": "Road Closed"
+ },
+ {
+ "value": "9",
+ "name": "Road Works",
+ "description": "Road Works"
+ },
+ {
+ "value": "10",
+ "name": "Wind",
+ "description": "Wind"
+ },
+ {
+ "value": "11",
+ "name": "Flooding",
+ "description": "Flooding"
+ },
+ {
+ "value": "12",
+ "name": "Detour",
+ "description": "Detour"
+ },
+ {
+ "value": "13",
+ "name": "Cluster",
+ "description": "Cluster: Returned if a cluster contains incidents with different icon categories."
+ },
+ {
+ "value": "14",
+ "name": "Broken Down Vehicle",
+ "description": "Broken Down Vehicle"
+ }
+ ]
+ }
},
"ty": {
"description": "The magnitude of delay associated with incident. These values correspond to incident colors in the traffic tiles",
"type": "integer",
"format": "int32",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-client-name": "magnitudeOfDelay",
+ "enum": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4
+ ],
+ "x-ms-enum": {
+ "name": "DelayMagnitude",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "0",
+ "name": "Unknown",
+ "description": "Unknown"
+ },
+ {
+ "value": "1",
+ "name": "Minor",
+ "description": "Minor"
+ },
+ {
+ "value": "2",
+ "name": "Moderate",
+ "description": "Moderate"
+ },
+ {
+ "value": "3",
+ "name": "Major",
+ "description": "Major"
+ },
+ {
+ "value": "4",
+ "name": "Indefinite",
+ "description": "Indefinite (used for road closures and other indefinite delays)"
+ }
+ ]
+ }
},
"cbl": {
"description": "Bottom left coordinate of the cluster in the projection of the request",
"type": "object",
"readOnly": true,
- "properties": {
- "x": {
- "description": "x coordinate",
- "type": "number",
- "readOnly": true
- },
- "y": {
- "description": "y coordinate",
- "type": "number",
- "readOnly": true
- }
- }
+ "x-ms-client-name": "bottomLeftCoordinate",
+ "$ref": "#/definitions/Point"
},
"ctr": {
"description": "Top right coordinate of the cluster in the projection of the request",
"type": "object",
"readOnly": true,
- "properties": {
- "x": {
- "description": "x coordinate",
- "type": "number",
- "readOnly": true
- },
- "y": {
- "description": "y coordinate",
- "type": "number",
- "readOnly": true
- }
- }
+ "x-ms-client-name": "topLeftCoordinate",
+ "$ref": "#/definitions/Point"
},
"cs": {
"description": "Cluster size: the number of incidents in the cluster",
"type": "integer",
"format": "int32",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-client-name": "clusterSize"
},
"l": {
"description": "Length of the incident in meters",
"type": "integer",
"format": "int32",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-client-name": "lengthInMeters"
},
"r": {
"description": "The road number(s) affected by the incident. Multiple road numbers will delimited by slashes",
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-client-name": "roadNumbers"
+ },
+ "sd": {
+ "description": "Start date of the incident, if available. The date is described in the ISO8601 format.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "x-ms-client-name": "startDate"
+ },
+ "ed": {
+ "description": "Estimated end date of the incident, if available. The date is described in the ISO8601 format.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "x-ms-client-name": "endDate"
},
"dl": {
"description": "Delay caused by the incident in seconds (except in road closures)",
"type": "integer",
"format": "int32",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-client-name": "delayInSeconds"
},
"t": {
"description": "To: the name of the intersection or location where the traffic due to the incident ends",
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-client-name": "trafficEndLocation"
},
"f": {
"description": "From: the name of the intersection or location where the traffic due to the incident starts",
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-client-name": "trafficStartLocation"
},
"d": {
"description": "Description of the incident in the language requested",
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-client-name": "description"
},
"c": {
"description": "Cause of the incident, where available, in the language requested",
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-client-name": "cause"
}
}
},
- "TrafficIncidentViewportResult": {
+ "TrafficIncidentViewport": {
"description": "This object is returned from a successful Traffic Incident Viewport call",
"type": "object",
"properties": {
@@ -853,41 +1025,62 @@
"readOnly": true,
"properties": {
"trafficState": {
- "description": "Traffic State array",
- "type": "object",
- "readOnly": true,
- "properties": {
- "@trafficAge": {
- "description": "@Traffic Age property",
- "type": "integer",
- "format": "int32",
- "readOnly": true
- },
- "@trafficModelId": {
- "description": "@Traffic Model Id property",
- "type": "string",
- "readOnly": true
- }
- }
+ "$ref": "#/definitions/TrafficState"
},
"copyrightIds": {
- "description": "Copyright Ids property",
+ "x-ms-client-name": "copyrightInformation",
+ "description": "When the copyright parameter value is true, this contains the full text of the copyright information that must be displayed with the tiles in the viewport",
"type": "string",
"readOnly": true
},
"@version": {
- "description": "@Version property",
+ "description": "Indicates the software version used to generate the information. For use with support queries.",
"type": "string",
"readOnly": true
},
"@maps": {
- "description": "@maps property",
+ "description": "Indicates the data provider's internal names for the map data used in the viewport. For use with support queries.",
"type": "string",
"readOnly": true
}
}
}
}
+ },
+ "TrafficState": {
+ "description": "Traffic State information",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "@trafficAge": {
+ "description": "The elapsed time (in seconds) from the Traffic Model ID creation.",
+ "type": "integer",
+ "format": "int32",
+ "readOnly": true
+ },
+ "@trafficModelId": {
+ "description": "The unique ID called Traffic Model ID is used in calls to Traffic Incident services. It allows to obtain information from particular traffic updates. Traffic Model ID is updated every minute, and is valid for two minutes before it times out.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Point": {
+ "description": "Generic representation of a point with coordinates (x, y) in the Cartesian plane.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "x": {
+ "description": "x coordinate",
+ "type": "number",
+ "readOnly": true
+ },
+ "y": {
+ "description": "y coordinate",
+ "type": "number",
+ "readOnly": true
+ }
+ }
}
}
}
diff --git a/specification/maps/data-plane/Traffic/readme.python.md b/specification/maps/data-plane/Traffic/readme.python.md
index c633df954c2e..02dfd111814a 100644
--- a/specification/maps/data-plane/Traffic/readme.python.md
+++ b/specification/maps/data-plane/Traffic/readme.python.md
@@ -14,9 +14,9 @@ clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
no-namespace-folders: true
-output-folder: $(python-sdks-folder)/maps/azure-maps-traffic/azure/maps/traffic
+output-folder: $(python-sdks-folder)/maps/azure-maps-traffic/azure/maps/traffic/_generated
```
``` yaml $(python) && $(python-mode) == 'create'
basic-setup-py: true
-output-folder: $(python-sdks-folder)/maps/azure-maps-traffic
+output-folder: $(python-sdks-folder)/maps/azure-maps-traffic/
```
diff --git a/specification/maps/data-plane/Weather/preview/1.0/examples/GetCurrentConditions.json b/specification/maps/data-plane/Weather/preview/1.0/examples/GetCurrentConditions.json
index b5ad98d74336..20022b386b34 100644
--- a/specification/maps/data-plane/Weather/preview/1.0/examples/GetCurrentConditions.json
+++ b/specification/maps/data-plane/Weather/preview/1.0/examples/GetCurrentConditions.json
@@ -76,7 +76,7 @@
"localizedDescription": "Steady",
"code": "S"
},
- "past24HourTemperatureDeparture": {
+ "pastTwentyFourHourTemperatureDeparture": {
"value": 1.8,
"unit": "C",
"unitType": 17
@@ -102,39 +102,39 @@
"unit": "mm",
"unitType": 3
},
- "past3Hours": {
+ "pastThreeHours": {
"value": 0.8,
"unit": "mm",
"unitType": 3
},
- "past6Hours": {
+ "pastSixHours": {
"value": 0.8,
"unit": "mm",
"unitType": 3
},
- "past9Hours": {
+ "pastNineHours": {
"value": 0.8,
"unit": "mm",
"unitType": 3
},
- "past12Hours": {
+ "pastTwelveHours": {
"value": 0.8,
"unit": "mm",
"unitType": 3
},
- "past18Hours": {
+ "pastEighteenHours": {
"value": 0.8,
"unit": "mm",
"unitType": 3
},
- "past24Hours": {
+ "pastTwentyFourHours": {
"value": 0.8,
"unit": "mm",
"unitType": 3
}
},
"temperatureSummary": {
- "past6Hours": {
+ "pastSixHours": {
"minimum": {
"value": 8.3,
"unit": "C",
@@ -146,7 +146,7 @@
"unitType": 17
}
},
- "past12Hours": {
+ "pastTwelveHours": {
"minimum": {
"value": 5.9,
"unit": "C",
@@ -158,7 +158,7 @@
"unitType": 17
}
},
- "past24Hours": {
+ "pastTwentyFourHours": {
"minimum": {
"value": 5.9,
"unit": "C",
diff --git a/specification/maps/data-plane/Weather/preview/1.0/examples/GetMinuteForecast.json b/specification/maps/data-plane/Weather/preview/1.0/examples/GetMinuteForecast.json
index 04c7409c4043..54cab45b8247 100644
--- a/specification/maps/data-plane/Weather/preview/1.0/examples/GetMinuteForecast.json
+++ b/specification/maps/data-plane/Weather/preview/1.0/examples/GetMinuteForecast.json
@@ -54,7 +54,7 @@
"blue": 39,
"hex": "#23BE27"
},
- "precipitationType": "rain",
+ "precipitationType": "Rain",
"iconCode": 12,
"cloudCover": 100
},
@@ -76,7 +76,7 @@
"blue": 39,
"hex": "#23BE27"
},
- "precipitationType": "rain",
+ "precipitationType": "Rain",
"iconCode": 12,
"cloudCover": 100
},
diff --git a/specification/maps/data-plane/Weather/preview/1.0/examples/GetQuarterDayForecast.json b/specification/maps/data-plane/Weather/preview/1.0/examples/GetQuarterDayForecast.json
index 4aeb40dd930e..5e2d732561a9 100644
--- a/specification/maps/data-plane/Weather/preview/1.0/examples/GetQuarterDayForecast.json
+++ b/specification/maps/data-plane/Weather/preview/1.0/examples/GetQuarterDayForecast.json
@@ -10,7 +10,7 @@
"body": {
"forecasts": [
{
- "date": "2019-11-14T00:00:00",
+ "date": "2019-11-14T00:00:00-08:00",
"effectiveDate": "2019-11-14T07:00:00-08:00",
"quarter": 0,
"iconCode": 12,
@@ -101,7 +101,7 @@
}
},
{
- "date": "2019-11-14T00:00:00",
+ "date": "2019-11-14T00:00:00-08:00",
"effectiveDate": "2019-11-14T13:00:00-08:00",
"quarter": 1,
"iconCode": 12,
@@ -192,7 +192,7 @@
}
},
{
- "date": "2019-11-14T00:00:00",
+ "date": "2019-11-14T00:00:00-08:00",
"effectiveDate": "2019-11-14T19:00:00-08:00",
"quarter": 2,
"iconCode": 7,
@@ -281,7 +281,7 @@
}
},
{
- "date": "2019-11-14T00:00:00",
+ "date": "2019-11-14T00:00:00-08:00",
"effectiveDate": "2019-11-15T01:00:00-08:00",
"quarter": 3,
"iconCode": 12,
diff --git a/specification/maps/data-plane/Weather/preview/1.0/weather.json b/specification/maps/data-plane/Weather/preview/1.0/weather.json
index dab27658e75e..1e63f3b770fe 100644
--- a/specification/maps/data-plane/Weather/preview/1.0/weather.json
+++ b/specification/maps/data-plane/Weather/preview/1.0/weather.json
@@ -17,15 +17,21 @@
"type": "oauth2",
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"flow": "implicit",
- "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.",
+ "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure role-based access](https://docs.microsoft.com/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure role-based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built-in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios, we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Notes\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* \nThe `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* \nThe Azure role-based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n* \nUsage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently, Azure Active Directory [v1.0 or v2.0](https://docs.microsoft.com/azure/active-directory/develop/azure-ad-endpoint-comparison) supports Work, School, and Guests but does not support Personal accounts.",
"scopes": {
"https://atlas.microsoft.com/.default": "https://atlas.microsoft.com/.default"
}
},
- "AzureKey": {
+ "SharedKey": {
"type": "apiKey",
- "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
+ "description": "This is a shared key that is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for.\n\n For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.",
"name": "subscription-key",
+ "in": "query"
+ },
+ "SasToken": {
+ "type": "apiKey",
+ "description": "This is a shared access signature token is created from the List SAS operation on the [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.\n\n With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.\n\n For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.",
+ "name": "SAS Token",
"in": "header"
}
},
@@ -36,12 +42,15 @@
]
},
{
- "AzureKey": []
+ "SharedKey": []
+ },
+ {
+ "SasToken": []
}
],
"responses": {},
"parameters": {
- "WeatherApiVersion": {
+ "ApiVersion": {
"name": "api-version",
"description": "Version number of Azure Maps API.",
"type": "string",
@@ -50,13 +59,6 @@
"default": "1.0",
"x-ms-parameter-location": "client"
},
- "WeatherLanguage": {
- "name": "language",
- "description": "Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used. Default value is en-us. \n\nPlease refer to [Supported languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.",
- "type": "string",
- "in": "query",
- "x-ms-parameter-location": "method"
- },
"WeatherDataUnit": {
"name": "unit",
"description": "Specifies to return the data in either metric units or imperial units. Default value is metric.",
@@ -87,9 +89,9 @@
"/weather/forecast/hourly/{format}": {
"get": {
"description": "**Get Hourly Forecast**\n\n**Applies to**: S0 and S1 pricing tiers.\n\n\nRequest detailed weather forecast by the hour for the next 1, 12, 24 (1 day), 72 (3 days), 120 (5 days), and 240 hours (10 days) for the given the given coordinate location. The API returns details such as temperature, humidity, wind, precipitation, and ultraviolet (UV) index.\n\nIn S0 you can request hourly forecast for the next 1, 12, 24 hours (1 day), and 72 hours (3 days). In S1 you can also request hourly forecast for the next 120 (5 days) and 240 hours (10 days).",
- "operationId": "GetHourlyForecast",
+ "operationId": "Weather_GetHourlyForecast",
"x-ms-examples": {
- "GetHourlyForecast": {
+ "Successfully retrieve detailed weather forecast by the hour": {
"$ref": "./examples/GetHourlyForecast.json"
}
},
@@ -98,17 +100,26 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
},
{
- "$ref": "#/parameters/WeatherApiVersion"
+ "$ref": "#/parameters/ApiVersion"
},
{
"$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat"
},
{
"name": "query",
- "description": "Coordinates of the location for which hourly forecast information is requested. The applicable query is specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".",
+ "x-ms-client-name": "coordinates",
"in": "query",
- "type": "string",
- "required": true
+ "description": "The applicable query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "array",
+ "collectionFormat": "csv",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
},
{
"$ref": "#/parameters/WeatherDataUnit"
@@ -120,7 +131,7 @@
"type": "integer"
},
{
- "$ref": "#/parameters/WeatherLanguage"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
}
],
"responses": {
@@ -139,9 +150,9 @@
"/weather/forecast/minute/{format}": {
"get": {
"description": "**Get Minute Forecast**\n \n \n**Applies to**: S1 pricing tier.\n\n\nGet Minute Forecast service returns minute-by-minute forecasts for a given location for the next 120 minutes. Users can request weather forecasts in the interval of 1, 5 and 15 minutes. The response will include details such as the type of precipitation (including rain, snow, or a mixture of both), start time, and precipitation intensity value (dBZ).",
- "operationId": "GetMinuteForecast",
+ "operationId": "Weather_GetMinuteForecast",
"x-ms-examples": {
- "GetMinuteForecast": {
+ "Successfully retrieve minute-by-minute forecasts for a given location": {
"$ref": "./examples/GetMinuteForecast.json"
}
},
@@ -150,17 +161,26 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
},
{
- "$ref": "#/parameters/WeatherApiVersion"
+ "$ref": "#/parameters/ApiVersion"
},
{
"$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat"
},
{
"name": "query",
- "description": "Coordinates of the location for which minute forecast information is requested. The applicable query is specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".",
+ "x-ms-client-name": "coordinates",
"in": "query",
- "type": "string",
- "required": true
+ "description": "The applicable query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "array",
+ "collectionFormat": "csv",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
},
{
"name": "interval",
@@ -169,7 +189,7 @@
"type": "integer"
},
{
- "$ref": "#/parameters/WeatherLanguage"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
}
],
"responses": {
@@ -188,9 +208,9 @@
"/weather/forecast/quarterDay/{format}": {
"get": {
"description": "**Get Quarter-Day Forecast**\n \n \n**Applies to**: S0 and S1 pricing tiers.\n\n\nService returns detailed weather forecast by quarter-day for the next 1, 5, 10, or 15 days for a given location. Response data is presented by quarters of the day - morning, afternoon, evening, and overnight. Details such as temperature, humidity, wind, precipitation, and UV index are returned.",
- "operationId": "GetQuarterDayForecast",
+ "operationId": "Weather_GetQuarterDayForecast",
"x-ms-examples": {
- "GetQuarterDayForecast": {
+ "Successfully retrieve detailed weather forecast by a given location": {
"$ref": "./examples/GetQuarterDayForecast.json"
}
},
@@ -199,17 +219,26 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
},
{
- "$ref": "#/parameters/WeatherApiVersion"
+ "$ref": "#/parameters/ApiVersion"
},
{
"$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat"
},
{
"name": "query",
- "description": "Coordinates of the location for which quarter-day forecast information is requested. The applicable query is specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".",
+ "x-ms-client-name": "coordinates",
"in": "query",
- "type": "string",
- "required": true
+ "description": "The applicable query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "array",
+ "collectionFormat": "csv",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
},
{
"$ref": "#/parameters/WeatherDataUnit"
@@ -221,7 +250,7 @@
"type": "integer"
},
{
- "$ref": "#/parameters/WeatherLanguage"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
}
],
"responses": {
@@ -240,9 +269,9 @@
"/weather/currentConditions/{format}": {
"get": {
"description": "**Get Current Conditions**\n \n \n**Applies to**: S0 and S1 pricing tiers.\n\n\nGet Current Conditions service returns detailed current weather conditions such as precipitation, temperature and wind for a given coordinate location. Also, observations from the past 6 or 24 hours for a particular location can be retrieved. The basic information returned with the response include details such as observation date and time, brief description of the weather conditions, weather icon, precipitation indicator flags, and temperature. Additional details such as RealFeel™ Temperature and UV index are also returned.",
- "operationId": "GetCurrentConditions",
+ "operationId": "Weather_GetCurrentConditions",
"x-ms-examples": {
- "GetCurrentConditions": {
+ "Successfully retrieve detailed current weather conditions for a given coordinate location": {
"$ref": "./examples/GetCurrentConditions.json"
}
},
@@ -251,17 +280,26 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
},
{
- "$ref": "#/parameters/WeatherApiVersion"
+ "$ref": "#/parameters/ApiVersion"
},
{
"$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat"
},
{
"name": "query",
- "description": "Coordinates of the location for which current conditions information is requested. The applicable query is specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".",
+ "x-ms-client-name": "coordinates",
"in": "query",
- "type": "string",
- "required": true
+ "description": "The applicable query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "array",
+ "collectionFormat": "csv",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
},
{
"$ref": "#/parameters/WeatherDataUnit"
@@ -279,7 +317,7 @@
"type": "integer"
},
{
- "$ref": "#/parameters/WeatherLanguage"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
}
],
"responses": {
@@ -298,9 +336,9 @@
"/weather/forecast/daily/{format}": {
"get": {
"description": "**Get Daily Forecast**\n \n \n**Applies to**: S0 and S1 pricing tiers.\n\n\nThe service returns detailed weather forecast such as temperature and wind by day for the next 1, 5, 10, 15, 25, or 45 days for a given coordinate location. The response include details such as temperature, wind, precipitation, air quality, and UV index.\n\nIn S0 you can request daily forecast for the next 1, 5, 10, and 15 days. In S1 you can also request daily forecast for the next 25 days, and 45 days.",
- "operationId": "GetDailyForecast",
+ "operationId": "Weather_GetDailyForecast",
"x-ms-examples": {
- "GetDailyForecast": {
+ "Successfully retrieve detailed daily weather forecast for a given coordinate location": {
"$ref": "./examples/GetDailyForecast.json"
}
},
@@ -309,17 +347,26 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
},
{
- "$ref": "#/parameters/WeatherApiVersion"
+ "$ref": "#/parameters/ApiVersion"
},
{
"$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat"
},
{
"name": "query",
- "description": "Coordinates of the location for which current conditions information is requested. The applicable query is specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".",
+ "x-ms-client-name": "coordinates",
"in": "query",
- "type": "string",
- "required": true
+ "description": "The applicable query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "array",
+ "collectionFormat": "csv",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
},
{
"$ref": "#/parameters/WeatherDataUnit"
@@ -331,7 +378,7 @@
"type": "integer"
},
{
- "$ref": "#/parameters/WeatherLanguage"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
}
],
"responses": {
@@ -350,9 +397,9 @@
"/weather/route/{format}": {
"get": {
"description": "**Get Weather along route**\n \n \n **Applies to**: S1 pricing tier.\n\n Weather along a route API returns hyper local (one kilometer or less), up-to-the-minute weather nowcasts, weather hazard assessments, and notifications along a route described as a sequence of waypoints. \n This includes a list of weather hazards affecting the waypoint or route, and the aggregated hazard index for each waypoint might be used to paint each portion of a route according to how safe it is for the driver. When submitting the waypoints, it is recommended to stay within, or close to, the distance that can be traveled within 120-mins or shortly after. Data is updated every five minutes. \n \n The service supplements Azure Maps [Route Service](https://docs.microsoft.com/rest/api/maps/route) that allows you to first request a route between an origin and a destination and use that as an input for Weather Along Route endpoint.\n \n In addition, the service supports scenarios to generate weather notifications for waypoints that experience an increase in intensity of a weather hazard. For example, if the vehicle is expected to begin experiencing heavy rain as it reaches a waypoint, a weather notification for heavy rain will be generated for that waypoint allowing the end product to display a heavy rain notification before the driver reaches that waypoint. \n The trigger for when to display the notification for a waypoint could be based, for example, on a [geofence](https://docs.microsoft.com/azure/azure-maps/tutorial-iot-hub-maps), or selectable distance to the waypoint.\n\n The API covers all regions of the planet except latitudes above Greenland and Antarctica.",
- "operationId": "GetWeatherAlongRoute",
+ "operationId": "Weather_GetWeatherAlongRoute",
"x-ms-examples": {
- "GetWeatherAlongRoute": {
+ "Successfully retrieve detailed weather casts along a route described as a sequence of waypoints": {
"$ref": "./examples/GetWeatherAlongRoute.json"
}
},
@@ -361,7 +408,7 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
},
{
- "$ref": "#/parameters/WeatherApiVersion"
+ "$ref": "#/parameters/ApiVersion"
},
{
"$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat"
@@ -374,7 +421,7 @@
"required": true
},
{
- "$ref": "#/parameters/WeatherLanguage"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
}
],
"responses": {
@@ -393,9 +440,9 @@
"/weather/severe/alerts/{format}": {
"get": {
"description": "**Get Severe Weather Alerts**\n\n**Applies to**: S0 and S1 pricing tiers.\n\nSevere weather phenomenon can significantly impact our everyday life and business operations. For example, severe weather conditions such as tropical storms, high winds or flooding can close roads and force logistics companies to reroute their fleet causing delays in reaching destinations and breaking the cold chain of refrigerated food products. Azure Maps Severe Weather Alerts API returns the severe weather alerts that are available worldwide from both official Government Meteorological Agencies and leading global to regional weather alert providers. The service can return details such as alert type, category, level and detailed description about the active severe alerts for the requested location, like hurricanes, thunderstorms, lightning, heat waves or forest fires.",
- "operationId": "GetSevereWeatherAlerts",
+ "operationId": "Weather_GetSevereWeatherAlerts",
"x-ms-examples": {
- "GetSevereWeatherAlerts": {
+ "Successfully retrieve severe weather alerts": {
"$ref": "./examples/GetSevereWeatherAlerts.json"
}
},
@@ -404,20 +451,29 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
},
{
- "$ref": "#/parameters/WeatherApiVersion"
+ "$ref": "#/parameters/ApiVersion"
},
{
"$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat"
},
{
"name": "query",
- "description": "Coordinates of the location for which severe weather alerts are requested. The applicable query is specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".",
+ "x-ms-client-name": "coordinates",
"in": "query",
- "type": "string",
- "required": true
+ "description": "The applicable query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "array",
+ "collectionFormat": "csv",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
},
{
- "$ref": "#/parameters/WeatherLanguage"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
},
{
"name": "details",
@@ -442,9 +498,9 @@
"/weather/indices/daily/{format}": {
"get": {
"description": "**Get Daily Indices**\n\n**Applies to**: S0 and S1 pricing tiers.\n\nThere may be times when you want to know if the weather conditions are optimal for a specific activity, for example, for outdoor construction, indoor activities, running or farming including soil moisture information. Azure Maps Indices API returns index values that will guide end users to plan future activities. For example, a health mobile application can notify users that today is good weather for running or for other outdoors activities like for playing golf, and retail stores can optimize their digital marketing campaigns based on predicted index values. The service returns in daily indices values for current and next 5, 10 and 15 days starting from current day.",
- "operationId": "GetDailyIndices",
+ "operationId": "Weather_GetDailyIndices",
"x-ms-examples": {
- "GetDailyIndices": {
+ "Successfully retrieve daily indices values from current day": {
"$ref": "./examples/GetDailyIndices.json"
}
},
@@ -453,20 +509,29 @@
"$ref": "../../../Common/preview/1.0/common.json#/parameters/ClientId"
},
{
- "$ref": "#/parameters/WeatherApiVersion"
+ "$ref": "#/parameters/ApiVersion"
},
{
"$ref": "../../../Common/preview/1.0/common.json#/parameters/JsonFormat"
},
{
"name": "query",
- "description": "Coordinates of the location for which daily indices are requested. The applicable query is specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".",
+ "x-ms-client-name": "coordinates",
"in": "query",
- "type": "string",
- "required": true
+ "description": "The applicable query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "type": "array",
+ "collectionFormat": "csv",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "number",
+ "format": "double"
+ }
},
{
- "$ref": "#/parameters/WeatherLanguage"
+ "$ref": "../../../Common/preview/1.0/common.json#/parameters/Language"
},
{
"name": "duration",
@@ -502,7 +567,454 @@
}
},
"definitions": {
+ "IconCode": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details.",
+ "enum": [
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44
+ ],
+ "x-ms-enum": {
+ "name": "IconCode",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": 1,
+ "name": "Sunny",
+ "description": "Sunny"
+ },
+ {
+ "value": 2,
+ "name": "MostlySunny",
+ "description": "Mostly Sunny"
+ },
+ {
+ "value": 3,
+ "name": "PartlySunny",
+ "description": "Partly Sunny"
+ },
+ {
+ "value": 4,
+ "name": "IntermittentClouds",
+ "description": "Intermittent Clouds"
+ },
+ {
+ "value": 5,
+ "name": "HazySunshine",
+ "description": "Hazy Sunshine"
+ },
+ {
+ "value": 6,
+ "name": "MostlyCloudy",
+ "description": "Mostly Cloudy"
+ },
+ {
+ "value": 7,
+ "name": "Cloudy",
+ "description": "Cloudy"
+ },
+ {
+ "value": 8,
+ "name": "Dreary",
+ "description": "Dreary (Overcast)"
+ },
+ {
+ "value": 11,
+ "name": "Fog",
+ "description": "Fog"
+ },
+ {
+ "value": 12,
+ "name": "Showers",
+ "description": "Showers"
+ },
+ {
+ "value": 13,
+ "name": "MostlyCloudyWithShowers",
+ "description": "Mostly Cloudy with Showers"
+ },
+ {
+ "value": 14,
+ "name": "PartlySunnyWithShowers",
+ "description": "Partly Sunny with Showers"
+ },
+ {
+ "value": 15,
+ "name": "Thunderstorms",
+ "description": "Thunderstorms"
+ },
+ {
+ "value": 16,
+ "name": "MostlyCloudyWithThunderstorms",
+ "description": "Mostly Cloudy with Thunderstorms"
+ },
+ {
+ "value": 17,
+ "name": "PartlySunnyWithThunderstorms",
+ "description": "Partly Sunny with Thunderstorms"
+ },
+ {
+ "value": 18,
+ "name": "Rain",
+ "description": "Rain"
+ },
+ {
+ "value": 19,
+ "name": "Flurries",
+ "description": "Flurries"
+ },
+ {
+ "value": 20,
+ "name": "MostlyCloudyWithFlurries",
+ "description": "Mostly Cloudy with Flurries"
+ },
+ {
+ "value": 21,
+ "name": "PartlySunnyWithFlurries",
+ "description": "Partly Sunny with Flurries"
+ },
+ {
+ "value": 22,
+ "name": "Snow",
+ "description": "Snow"
+ },
+ {
+ "value": 23,
+ "name": "MostlyCloudyWithSnow",
+ "description": "Mostly Cloudy with Snow"
+ },
+ {
+ "value": 24,
+ "name": "Ice",
+ "description": "Ice"
+ },
+ {
+ "value": 25,
+ "name": "Sleet",
+ "description": "Sleet"
+ },
+ {
+ "value": 26,
+ "name": "FreezingRain",
+ "description": "Freezing Rain"
+ },
+ {
+ "value": 29,
+ "name": "RainAndSnow",
+ "description": "Rain and Snow"
+ },
+ {
+ "value": 30,
+ "name": "Hot",
+ "description": "Hot"
+ },
+ {
+ "value": 31,
+ "name": "Cold",
+ "description": "Cold"
+ },
+ {
+ "value": 32,
+ "name": "Windy",
+ "description": "Windy"
+ },
+ {
+ "value": 33,
+ "name": "Clear",
+ "description": "Clear"
+ },
+ {
+ "value": 34,
+ "name": "Mostly Clear",
+ "description": "Mostly Clear"
+ },
+ {
+ "value": 35,
+ "name": "Partly Cloudy",
+ "description": "Partly Cloudy"
+ },
+ {
+ "value": 36,
+ "name": "IntermittentCloudsNight",
+ "description": "Intermittent Clouds (Night)"
+ },
+ {
+ "value": 37,
+ "name": "HazyMoonlight",
+ "description": "Hazy Moonlight"
+ },
+ {
+ "value": 38,
+ "name": "MostlyCloudyNight",
+ "description": "Mostly Cloudy (Night)"
+ },
+ {
+ "value": 39,
+ "name": "PartlyCloudyWithShowers",
+ "description": "Partly Cloudy with Showers"
+ },
+ {
+ "value": 40,
+ "name": "MostlyCloudyWithShowersNight",
+ "description": "Mostly Cloudy with Showers (Night)"
+ },
+ {
+ "value": 41,
+ "name": "Partly Cloudy with Thunderstorms",
+ "description": "Partly Cloudy with Thunderstorms"
+ },
+ {
+ "value": 42,
+ "name": "MostlyCloudyWithThunderstormsNight",
+ "description": "Mostly Cloudy with Thunderstorms (Night)"
+ },
+ {
+ "value": 43,
+ "name": "MostlyCloudyWithFlurriesNight",
+ "description": "Mostly Cloudy with Flurries (Night)"
+ },
+ {
+ "value": 44,
+ "name": "MostlyCloudyWithSnowNight",
+ "description": "Mostly Cloudy with Snow (Night)"
+ }
+ ]
+ }
+ },
+ "UnitType": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Numeric ID value associated with the type of unit being displayed. Can be used for unit translation. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details.",
+ "enum": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 31
+ ],
+ "x-ms-enum": {
+ "name": "UnitType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": 0,
+ "name": "Feet",
+ "description": "feet"
+ },
+ {
+ "value": 1,
+ "name": "Inches",
+ "description": "inches"
+ },
+ {
+ "value": 2,
+ "name": "Miles",
+ "description": "miles"
+ },
+ {
+ "value": 3,
+ "name": "Millimeter",
+ "description": "millimeter"
+ },
+ {
+ "value": 4,
+ "name": "Centimeter",
+ "description": "centimeter"
+ },
+ {
+ "value": 5,
+ "name": "Meter",
+ "description": "meter"
+ },
+ {
+ "value": 6,
+ "name": "Kilometer",
+ "description": "kilometer"
+ },
+ {
+ "value": 7,
+ "name": "KilometersPerHour",
+ "description": "kilometersPerHour"
+ },
+ {
+ "value": 8,
+ "name": "Knots",
+ "description": "knots"
+ },
+ {
+ "value": 9,
+ "name": "MilesPerHour",
+ "description": "milesPerHour"
+ },
+ {
+ "value": 10,
+ "name": "MetersPerSecond",
+ "description": "metersPerSecond"
+ },
+ {
+ "value": 11,
+ "name": "HectoPascals",
+ "description": "hectoPascals"
+ },
+ {
+ "value": 12,
+ "name": "InchesOfMercury",
+ "description": "inchesOfMercury"
+ },
+ {
+ "value": 13,
+ "name": "KiloPascals",
+ "description": "kiloPascals"
+ },
+ {
+ "value": 14,
+ "name": "Millibars",
+ "description": "millibars"
+ },
+ {
+ "value": 15,
+ "name": "MillimetersOfMercury",
+ "description": "millimetersOfMercury"
+ },
+ {
+ "value": 16,
+ "name": "PoundsPerSquareInch",
+ "description": "poundsPerSquareInch"
+ },
+ {
+ "value": 17,
+ "name": "Celsius",
+ "description": "celsius"
+ },
+ {
+ "value": 18,
+ "name": "Fahrenheit",
+ "description": "fahrenheit"
+ },
+ {
+ "value": 19,
+ "name": "Kelvin",
+ "description": "kelvin"
+ },
+ {
+ "value": 20,
+ "name": "Percent",
+ "description": "percent"
+ },
+ {
+ "value": 21,
+ "name": "Float",
+ "description": "float"
+ },
+ {
+ "value": 22,
+ "name": "Integer",
+ "description": "integer"
+ },
+ {
+ "value": 31,
+ "name": "MicrogramsPerCubicMeterOfAir",
+ "description": "MicrogramsPerCubicMeterOfAir"
+ }
+ ]
+ }
+ },
+ "PrecipitationType": {
+ "type": "string",
+ "description": "Specifies the type of precipitation (\"Rain\" \"Snow\" \"Ice\" or \"Mix\"). If dbz is zero, precipitationType is not present in the response.",
+ "enum": [
+ "Rain",
+ "Snow",
+ "Ice",
+ "Mix"
+ ],
+ "x-ms-enum": {
+ "name": "PrecipitationType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Rain",
+ "description": "Rain"
+ },
+ {
+ "value": "Snow",
+ "description": "Snow"
+ },
+ {
+ "value": "Ice",
+ "description": "Ice"
+ },
+ {
+ "value": "Mix",
+ "description": "Mix"
+ }
+ ]
+ }
+ },
"WeatherUnit": {
+ "x-ms-client-name": "WeatherValue",
"description": "Specific value of a given unit related to weather.",
"type": "object",
"properties": {
@@ -512,13 +1024,12 @@
"description": "Rounded value."
},
"unit": {
+ "x-ms-client-name": "unitLabel",
"type": "string",
"description": "Type of unit for the returned value."
},
"unitType": {
- "type": "integer",
- "format": "int32",
- "description": "Numeric ID value associated with the type of unit being displayed. Can be used for unit translation. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details."
+ "$ref": "#/definitions/UnitType"
}
}
},
@@ -545,6 +1056,7 @@
"description": "Wind direction in Azimuth degrees, starting at true North and continuing in clockwise direction. North is 0 degrees, east is 90 degrees, south is 180 degrees, west is 270 degrees. Possible values 0-359."
},
"localizedDescription": {
+ "x-ms-client-name": "description",
"type": "string",
"description": "Direction abbreviation in the specified language."
}
@@ -565,13 +1077,12 @@
"description": "Type of unit for the speed value."
},
"unitType": {
- "type": "integer",
- "format": "int32",
- "description": "Numeric ID value associated with the type of unit being displayed. Can be used for unit translation. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details."
+ "$ref": "#/definitions/UnitType"
}
}
},
"WeatherUnitRange": {
+ "x-ms-client-name": "WeatherValueRange",
"type": "object",
"description": "Returned temperature values.",
"properties": {
@@ -593,20 +1104,57 @@
"HazardIndex": {
"type": "integer",
"format": "int32",
- "description": "A severity/hazard index.\n * `0` - No hazard.\n * `1` - Be informed, be aware.\n * `2` - Pay attention, be prepared.\n * `3` - Take action.\n * `4` - Life threatening, emergency."
+ "description": "A severity/hazard index.\n * `0` - No hazard.\n * `1` - Be informed, be aware.\n * `2` - Pay attention, be prepared.\n * `3` - Take action.\n * `4` - Life threatening, emergency.",
+ "enum": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4
+ ],
+ "x-ms-enum": {
+ "name": "HazardIndex",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": 0,
+ "name": "NoHazard",
+ "description": "No hazard"
+ },
+ {
+ "value": 1,
+ "name": "Informed",
+ "description": "Be informed"
+ },
+ {
+ "value": 2,
+ "name": "PayAttention",
+ "description": "Pay attention"
+ },
+ {
+ "value": 3,
+ "name": "TakeAction",
+ "description": "Take action"
+ },
+ {
+ "value": 4,
+ "name": "Emergency",
+ "description": "Emergency"
+ }
+ ]
+ }
},
"HourlyForecast": {
"type": "object",
"properties": {
"date": {
+ "x-ms-client-name": "dateTime",
"type": "string",
"description": "Date and time of the forecast in ISO 8601 format, for example, 2019-10-27T19:39:57-08:00.",
"format": "date-time"
},
"iconCode": {
- "type": "integer",
- "format": "int32",
- "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details."
+ "$ref": "#/definitions/IconCode"
},
"iconPhrase": {
"type": "string",
@@ -654,6 +1202,7 @@
"description": "Visibility in specified unit. A measure of the distance at which an object or light can be clearly discerned."
},
"ceiling": {
+ "x-ms-client-name": "cloudCeiling",
"$ref": "#/definitions/WeatherUnit",
"description": "Cloud ceiling in specified unit. The ceiling is a measurement of the height of the base of the lowest clouds."
},
@@ -661,6 +1210,7 @@
"$ref": "#/definitions/UVIndex"
},
"uvIndexPhrase": {
+ "x-ms-client-name": "uvIndexDescription",
"type": "string",
"description": "Phrase associated with the `uvIndex`."
},
@@ -713,6 +1263,7 @@
"forecasts": {
"type": "array",
"description": "Forecast data for each returned hour.",
+ "readOnly": true,
"items": {
"$ref": "#/definitions/HourlyForecast"
}
@@ -727,10 +1278,12 @@
"description": "Summary phrase for the next 60 minutes. Phrase length is approximately 60 characters."
},
"shortPhrase": {
+ "x-ms-client-name": "shortDescription",
"type": "string",
"description": "Short summary phrase for the next 120 minutes. Phrase length is approximately 25 characters."
},
"briefPhrase": {
+ "x-ms-client-name": "briefDescription",
"type": "string",
"description": "Summary phrase for the next 120 minutes. Phrase length is approximately 60 characters."
},
@@ -739,9 +1292,7 @@
"description": "Long summary phrase for the next 120 minutes. Phrase length is 60+ characters."
},
"iconCode": {
- "type": "integer",
- "format": "int32",
- "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details."
+ "$ref": "#/definitions/IconCode"
}
},
"description": "Phrase summaries for the entire forecast period."
@@ -765,10 +1316,12 @@
"description": "The number of minutes for which the summary applies."
},
"shortPhrase": {
+ "x-ms-client-name": "shortDescription",
"type": "string",
"description": "Short summary phrase. Phrase length is approximately 25 characters."
},
"briefPhrase": {
+ "x-ms-client-name": "briefDescription",
"type": "string",
"description": "Brief summary phrase. Phrase length is approximately 60 characters."
},
@@ -777,9 +1330,7 @@
"description": "Long summary phrase. Phrase length is 60+ characters."
},
"iconCode": {
- "type": "integer",
- "format": "int32",
- "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details."
+ "$ref": "#/definitions/IconCode"
}
}
},
@@ -797,11 +1348,13 @@
"description": "The first minute for the interval."
},
"dbz": {
+ "x-ms-client-name": "decibelRelativeToZ",
"type": "number",
"format": "double",
"description": "A unit that represents forecasted precipitation intensity."
},
"shortPhrase": {
+ "x-ms-client-name": "shortDescription",
"type": "string",
"description": "A short phrase describing precipitation condition for the interval."
},
@@ -818,13 +1371,10 @@
"description": "The band color that maps to the precipitation type and threshold. If dbz is zero, not present in the response."
},
"precipitationType": {
- "type": "string",
- "description": "Specifies the type of precipitation (\"rain\" \"snow\" \"ice\" or \"mix\"). If dbz is zero, precipitationType is not present in the response."
+ "$ref": "#/definitions/PrecipitationType"
},
"iconCode": {
- "type": "integer",
- "format": "int32",
- "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details."
+ "$ref": "#/definitions/IconCode"
},
"cloudCover": {
"type": "integer",
@@ -837,9 +1387,11 @@
"type": "object",
"properties": {
"summary": {
+ "readOnly": true,
"$ref": "#/definitions/MinuteForecastSummary"
},
"intervalSummaries": {
+ "readOnly": true,
"type": "array",
"items": {
"$ref": "#/definitions/IntervalSummary"
@@ -849,6 +1401,7 @@
"intervals": {
"type": "array",
"description": "Forecast data for each interval in the forecast.",
+ "readOnly": true,
"items": {
"$ref": "#/definitions/ForecastInterval"
}
@@ -883,7 +1436,9 @@
"type": "object",
"properties": {
"date": {
+ "x-ms-client-name": "dateTime",
"type": "string",
+ "format": "date-time",
"description": "Date of the forecast as example, 2019-10-27T00:00:00"
},
"effectiveDate": {
@@ -907,27 +1462,29 @@
"values": [
{
"value": 0,
+ "name": "FirstQuarter",
"description": "7:00 am - 1:00 pm / 7:00- 13:00"
},
{
"value": 1,
+ "name": "SecondQuarter",
"description": "1:00 pm - 7:00 pm/ 13:00- 19:00"
},
{
"value": 2,
+ "name": "ThirdQuarter",
"description": "7:00 pm - 1:00 am/ 19:00 - 01:00"
},
{
"value": 3,
+ "name": "ForthQuarter",
"description": "1:00 am - 7:00 am/ 01:00 - 07:00"
}
]
}
},
"iconCode": {
- "type": "integer",
- "format": "int32",
- "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details."
+ "$ref": "#/definitions/IconCode"
},
"iconPhrase": {
"type": "string",
@@ -976,8 +1533,7 @@
"description": "Indicates the presence or absence of precipitation. True indicates the presence of precipitation, false indicates the absence of precipitation."
},
"precipitationType": {
- "type": "string",
- "description": "Specifies the type of precipitation (\"rain\" \"snow\" \"ice\" or \"mix\"). If dbz = zero, precipitationType is not present in the response."
+ "$ref": "#/definitions/PrecipitationType"
},
"precipitationIntensity": {
"type": "string",
@@ -1015,6 +1571,7 @@
"type": "object",
"properties": {
"forecasts": {
+ "readOnly": true,
"type": "array",
"description": "Forecast data for each quarter in the response.",
"items": {
@@ -1027,6 +1584,7 @@
"type": "object",
"properties": {
"results": {
+ "readOnly": true,
"description": "Detailed current weather conditions.",
"type": "array",
"items": {
@@ -1039,6 +1597,7 @@
"type": "object",
"properties": {
"localizedDescription": {
+ "x-ms-client-name": "description",
"type": "string",
"description": "Description of the pressure tendency in specified language"
},
@@ -1055,75 +1614,59 @@
"$ref": "#/definitions/WeatherUnit",
"description": "The amount of precipitation (liquid equivalent) that has fallen in the past hour."
},
- "past3Hours": {
+ "pastThreeHours": {
"$ref": "#/definitions/WeatherUnit",
"description": "The amount of precipitation (liquid equivalent) that has fallen in the past three hours."
},
- "past6Hours": {
+ "pastSixHours": {
"$ref": "#/definitions/WeatherUnit",
"description": "The amount of precipitation (liquid equivalent) that has fallen in the past six hours. Contains Metric and Imperial Values."
},
- "past9Hours": {
+ "pastNineHours": {
"$ref": "#/definitions/WeatherUnit",
"description": "The amount of precipitation (liquid equivalent) that has fallen in the past nine hours."
},
- "past12Hours": {
+ "pastTwelveHours": {
"$ref": "#/definitions/WeatherUnit",
"description": "The amount of precipitation (liquid equivalent) that has fallen in the past 12 hours."
},
- "past18Hours": {
+ "pastEighteenHours": {
"$ref": "#/definitions/WeatherUnit",
"description": "The amount of precipitation (liquid equivalent) that has fallen in the past 18 hours."
},
- "past24Hours": {
+ "pastTwentyFourHours": {
"$ref": "#/definitions/WeatherUnit",
"description": "The amount of precipitation (liquid equivalent) that has fallen in the past 24 hours."
}
}
},
+ "PastHoursTemperature": {
+ "type": "object",
+ "properties": {
+ "minimum": {
+ "$ref": "#/definitions/WeatherUnit",
+ "description": "minimum"
+ },
+ "maximum": {
+ "$ref": "#/definitions/WeatherUnit",
+ "description": "maximum"
+ }
+ },
+ "description": "Summary of temperature fluctuations over the number of past hours."
+ },
"TemperatureSummary": {
"type": "object",
"properties": {
- "past6Hours": {
- "type": "object",
- "properties": {
- "minimum": {
- "$ref": "#/definitions/WeatherUnit",
- "description": "minimum"
- },
- "maximum": {
- "$ref": "#/definitions/WeatherUnit",
- "description": "maximum"
- }
- },
+ "pastSixHours": {
+ "$ref": "#/definitions/PastHoursTemperature",
"description": "Summary of temperature fluctuations over the past 6 hours."
},
- "past12Hours": {
- "type": "object",
- "properties": {
- "minimum": {
- "$ref": "#/definitions/WeatherUnit",
- "description": "minimum"
- },
- "maximum": {
- "$ref": "#/definitions/WeatherUnit",
- "description": "maximum"
- }
- },
+ "pastTwelveHours": {
+ "$ref": "#/definitions/PastHoursTemperature",
"description": "Summary of temperature fluctuations over the past 12 hours."
},
- "past24Hours": {
- "type": "object",
- "properties": {
- "minimum": {
- "$ref": "#/definitions/WeatherUnit",
- "description": "minimum"
- },
- "maximum": {
- "$ref": "#/definitions/WeatherUnit",
- "description": "maximum"
- }
- },
+ "pastTwentyFourHours": {
+ "$ref": "#/definitions/PastHoursTemperature",
"description": "Summary of temperature fluctuations over the past 24 hours."
}
}
@@ -1137,19 +1680,19 @@
"description": "Date and time of the current observation displayed in ISO 8601 format, for example, 2019-10-27T19:39:57-08:00."
},
"phrase": {
+ "x-ms-client-name": "description",
"type": "string",
"description": "Phrase description of the current weather condition. Displayed in specified language."
},
"iconCode": {
- "type": "integer",
- "format": "int32",
- "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details."
+ "$ref": "#/definitions/IconCode"
},
"hasPrecipitation": {
"type": "boolean",
"description": "Indicates the presence or absence of precipitation. True indicates the presence of precipitation, false indicates the absence of precipitation."
},
"isDayTime": {
+ "x-ms-client-name": "isDaytime",
"type": "boolean",
"description": "Indicates the time of the day. True indicates 'day',', false indicates 'night."
},
@@ -1186,6 +1729,7 @@
"$ref": "#/definitions/UVIndex"
},
"uvIndexPhrase": {
+ "x-ms-client-name": "uvIndexDescription",
"type": "string",
"description": "Phrase associated with the `uvIndex`."
},
@@ -1203,6 +1747,7 @@
"description": "Percent representing cloud cover."
},
"ceiling": {
+ "x-ms-client-name": "cloudCeiling",
"$ref": "#/definitions/WeatherUnit",
"description": "Cloud ceiling in specified unit. The ceiling is a measurement of the height of the base of the lowest clouds."
},
@@ -1214,7 +1759,7 @@
"$ref": "#/definitions/PressureTendency",
"description": "Atmospheric pressure change."
},
- "past24HourTemperatureDeparture": {
+ "pastTwentyFourHourTemperatureDeparture": {
"$ref": "#/definitions/WeatherUnit",
"description": "Departure from the temperature observed 24 hours ago in specified unit."
},
@@ -1286,6 +1831,7 @@
"type": "object",
"properties": {
"name": {
+ "x-ms-client-name": "description",
"type": "string",
"description": "Name of the pollen or pollutant. For example, grass, mold, weed, air quality, tree and UV index."
},
@@ -1304,6 +1850,7 @@
"description": "Value associated with the air quality or pollution category. These values range from 1 to 6. 1 implying good conditions, 6 implying hazardous conditions."
},
"type": {
+ "x-ms-client-name": "airQualityType",
"type": "string",
"description": "Only exists for air quality. Examples include ozone and particle pollution."
}
@@ -1313,6 +1860,7 @@
"type": "object",
"properties": {
"date": {
+ "x-ms-client-name": "dateTime",
"type": "string",
"format": "date-time",
"description": "Date and time of the current observation displayed in ISO 8601 format, for example, 2019-10-27T19:39:57-08:00."
@@ -1335,23 +1883,27 @@
"description": "Hours of sun."
},
"degreeDaySummary": {
+ "x-ms-client-name": "meanTemperatureDeviation",
"$ref": "#/definitions/DegreeDaySummary",
- "description": "Summary of Heating Degree Day or Cooling Degree Day information"
+ "description": "Summary for mean temperature of Heating Degree Day or Cooling Degree Day information"
},
"airAndPollen": {
+ "x-ms-client-name": "airQuality",
"type": "array",
"items": {
"$ref": "#/definitions/AirAndPollen"
},
- "description": "airAndPollen"
+ "description": "Air quality"
},
"day": {
+ "x-ms-client-name": "daytimeForecast",
"$ref": "#/definitions/DayOrNight",
- "description": "Day"
+ "description": "Day forecast detail"
},
"night": {
+ "x-ms-client-name": "nighttimeForecast",
"$ref": "#/definitions/DayOrNight",
- "description": "Night"
+ "description": "Night forecast detail"
},
"sources": {
"description": "Source(s) of the forecast data.",
@@ -1366,10 +1918,12 @@
"type": "object",
"properties": {
"summary": {
+ "readOnly": true,
"$ref": "#/definitions/DailyForecastSummary"
},
"forecasts": {
"type": "array",
+ "readOnly": true,
"description": "Forecast data for each requested day.",
"items": {
"$ref": "#/definitions/DailyForecast"
@@ -1397,12 +1951,11 @@
}
},
"DayOrNight": {
+ "x-ms-client-name": "DailyForecastDetail",
"type": "object",
"properties": {
"iconCode": {
- "type": "integer",
- "format": "int32",
- "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details."
+ "$ref": "#/definitions/IconCode"
},
"iconPhrase": {
"type": "string",
@@ -1416,14 +1969,14 @@
"description": "Indicates the presence or absence of precipitation. True indicates the presence of precipitation, false indicates the absence of precipitation."
},
"precipitationType": {
- "type": "string",
- "description": "Specifies the type of precipitation (\"rain\" \"snow\" \"ice\" or \"mix\"). If dbz = zero, precipitationType is not present in the response."
+ "$ref": "#/definitions/PrecipitationType"
},
"precipitationIntensity": {
"type": "string",
"description": "Description of the intensity."
},
"shortPhrase": {
+ "x-ms-client-name": "shortDescription",
"type": "string",
"description": "Phrase description of the forecast in specified language. Azure Maps attempts to keep this phrase under 30 characters in length, but some languages/weather events may result in a longer phrase length, exceeding 30 characters."
},
@@ -1512,9 +2065,7 @@
"type": "object",
"properties": {
"iconCode": {
- "type": "integer",
- "format": "int32",
- "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details."
+ "$ref": "#/definitions/IconCode"
},
"hazards": {
"$ref": "#/definitions/WeatherHazards"
@@ -1526,9 +2077,11 @@
"description": "This object is returned from a successful Weather Along Route.",
"properties": {
"summary": {
+ "readOnly": true,
"$ref": "#/definitions/WeatherAlongRouteSummary"
},
"waypoints": {
+ "readOnly": true,
"type": "array",
"description": "Data for each waypoint returned in the same order as specified in the request.",
"items": {
@@ -1569,18 +2122,19 @@
}
},
"WeatherWaypoint": {
+ "x-ms-client-name": "WaypointForecast",
"type": "object",
"properties": {
"iconCode": {
- "type": "integer",
- "format": "int32",
- "description": "Numeric value representing an image that displays the `iconPhrase`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details."
+ "$ref": "#/definitions/IconCode"
},
"shortPhrase": {
+ "x-ms-client-name": "shortDescription",
"type": "string",
"description": "A displayable short phrase describing the forecasted conditions and precipitation intensity/type."
},
"isDayTime": {
+ "x-ms-client-name": "isDaytime",
"type": "boolean",
"description": "Indicates the time of the day. True indicates 'day',', false indicates 'night."
},
@@ -1630,6 +2184,7 @@
"$ref": "#/definitions/HazardIndex"
},
"hazardDetails": {
+ "x-ms-client-name": "details",
"type": "array",
"description": "Details of the weather hazards affecting the trip.",
"items": {
@@ -1649,6 +2204,7 @@
"description": "A unique identifier (non-displayable) for each type of hazard: LightRain, ModerateRain, HeavyRain, LightMix, ModerateMix, HeavyMix, LightSnow, ModerateSnow, HeavySnow, LightIce, ModerateIce, HeavyIce, Hail, LargeHail, SunGlare, SunGlareHigh, Lightning, SevereLightning, WindModerate, WindHigh, WindExtreme, FloodWarning, FlashFloodWarning, TornadoWarning, TsunamiWarning, SevereThunderstormWarning."
},
"shortPhrase": {
+ "x-ms-client-name": "shortDescription",
"type": "string",
"description": "A displayable short phrase describing the forecasted conditions and precipitation intensity/type."
}
@@ -1669,6 +2225,7 @@
"description": "A unique identifier (non-displayable) for each type of hazard: LightRain, ModerateRain, HeavyRain, LightMix, ModerateMix, HeavyMix, LightSnow, ModerateSnow, HeavySnow, LightIce, ModerateIce, HeavyIce, Hail, LargeHail, SunGlare, SunGlareHigh, Lightning, SevereLightning, WindModerate, WindHigh, WindExtreme, FloodWarning, FlashFloodWarning, TornadoWarning, TsunamiWarning, SevereThunderstormWarning."
},
"shortPhrase": {
+ "x-ms-client-name": "shortDescription",
"type": "string",
"description": "A displayable short phrase describing the forecasted conditions and precipitation intensity/type."
}
@@ -1679,6 +2236,7 @@
"description": "This object is returned from a successful Get Severe Weather Alerts call.",
"properties": {
"results": {
+ "readOnly": true,
"type": "array",
"items": {
"$ref": "#/definitions/SevereWeatherAlert"
@@ -1714,6 +2272,7 @@
"description": "Number signifying the importance or ranking order of the given alert within the country/region it has originated. A lower number signifies a higher priority. For example, 1 is the highest priority. The number varies by country/region and can change over time as each country/region evolves their alert systems."
},
"class": {
+ "x-ms-client-name": "classification",
"type": "string",
"description": "Classification of the alert. This field is not available for all countries and therefore not always returned."
},
@@ -1735,6 +2294,7 @@
"description": "A disclaimer regarding the source of the alert information. This field is not always available. For example, disclaimer may include details about the delays or potential issues related to the alarm."
},
"alertAreas": {
+ "x-ms-client-name": "alertDetails",
"type": "array",
"items": {
"$ref": "#/definitions/AlertArea"
@@ -1748,16 +2308,19 @@
"description": "Description of a severe weather alert.",
"properties": {
"localized": {
+ "x-ms-client-name": "description",
"type": "string",
"description": "Description of the alert in the specified language. By default English (en-US) is returned if the language parameter is not specified in the request."
},
"english": {
+ "x-ms-client-name": "status",
"type": "string",
"description": "Description of the alert in English (en-US)."
}
}
},
"AlertArea": {
+ "x-ms-client-name": "AlertDetails",
"type": "object",
"description": "Information about a severe weather alert issued within an affected area(s). If multiple alerts are active for the same location, the alerts will be returned in order of `priority` within the API response, with the highest priority alert being returned at the top of the response.",
"properties": {
@@ -1766,6 +2329,7 @@
"description": "The name of an area which is affected by the alert. The location that was requested falls under the alert area."
},
"summary": {
+ "x-ms-client-name": "description",
"type": "string",
"description": "Text summarizing the alert in the returned area."
},
@@ -1784,10 +2348,12 @@
"description": "The latest status of the alert in the current area."
},
"alertDetails": {
+ "x-ms-client-name": "details",
"type": "string",
"description": "Full details associated with the alert. Returned if `details`=True. This field is always returned in the language(s) of choice by the issuing provider and Azure Maps only returns what is created by the provider. Please note, some countries/regions may offer their native language and English. Language parameter won’t apply to this field."
},
"alertDetailsLanguageCode": {
+ "x-ms-client-name": "language",
"type": "string",
"description": "Language of the `alertDetails`. This field helps to point out that the language of the `alertDetails` may differ from the requested language parameter. Returned if `details`=True. Language code has been derived from the ISO 639-1 Alpha-2 codes."
}
@@ -1850,7 +2416,7 @@
},
{
"value": "Continue",
- "description": "\"Continue\" - the alert has been updated since its initial issuance, but no changes were made to `alertAreas`, `startTime`, `endTime`, or `class`."
+ "description": "\"Continue\" - the alert has been updated since its initial issuance, but no changes were made to `alertDetails`, `startTime`, `endTime`, or `class`."
},
{
"value": "Update",
@@ -1864,6 +2430,7 @@
"description": "This object is returned from a successful Get Daily Indices call.",
"properties": {
"results": {
+ "readOnly": true,
"type": "array",
"items": {
"$ref": "#/definitions/DailyIndex"
@@ -1896,6 +2463,7 @@
"description": "Index value. Ranges from 0.0 to 10.0. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details and to see the supported ranges."
},
"category": {
+ "x-ms-client-name": "categoryDescription",
"type": "string",
"description": "Textual description for `categoryValue` corresponding to the level that the index value falls under, for example \"Very Good\"."
},
@@ -1905,8 +2473,9 @@
"description": "Level that the index value falls under, represented by an integer. This value can be 1 through 5 and should be used in combination with the `ascending` flag because it can differ among indices. For example, the following values apply for Mosquito Activity: Low=1, Moderate=2, High=3, Very High=4, and Extreme=5."
},
"ascending": {
+ "x-ms-client-name": "isAscending",
"type": "boolean",
- "description": "Describes the direction of the `value` and `categoryValue`. For example, when `ascending`=True, the poorest index value is 0 and the best index value is 10. When `ascending`=True, the poorest index value is 10 and the best index value is 0."
+ "description": "Describes the direction of the `value` and `categoryValue`. For example, when set to `true`, the poorest index value is 0 and the best index value is 10. When set to `true`, the poorest index value is 10 and the best index value is 0."
},
"description": {
"type": "string",
diff --git a/specification/maps/data-plane/Weather/readme.python.md b/specification/maps/data-plane/Weather/readme.python.md
index cc6dc945e5ce..0e45dccebff3 100644
--- a/specification/maps/data-plane/Weather/readme.python.md
+++ b/specification/maps/data-plane/Weather/readme.python.md
@@ -14,9 +14,9 @@ clear-output-folder: true
```
``` yaml $(python) && $(python-mode) == 'update'
no-namespace-folders: true
-output-folder: $(python-sdks-folder)/maps/azure-maps-weather/azure/maps/weather
+output-folder: $(python-sdks-folder)/maps/azure-maps-weather/azure/maps/weather/_generated
```
``` yaml $(python) && $(python-mode) == 'create'
basic-setup-py: true
-output-folder: $(python-sdks-folder)/maps/azure-maps-weather
+output-folder: $(python-sdks-folder)/maps/azure-maps-weather/
```
diff --git a/specification/maps/data-plane/readme.md b/specification/maps/data-plane/readme.md
index cd93b9d99169..d53a1f4008a1 100644
--- a/specification/maps/data-plane/readme.md
+++ b/specification/maps/data-plane/readme.md
@@ -38,7 +38,7 @@ directive:
from: timezone.json
reason: It will break existing clients if we change the name
-```
+```
### Tag: package-preview-2.0
@@ -55,7 +55,6 @@ input-file:
- Microsoft.Maps/FeatureState/preview/2.0/featurestate.json
- Microsoft.Maps/Feedback/preview/1.0/feedback.json
- Microsoft.Maps/Geolocation/preview/1.0/geolocation.json
- - Microsoft.Maps/Mobility/preview/1.0/mobility.json
- Microsoft.Maps/Render/preview/1.0/render.json
- Microsoft.Maps/Render/preview/2.0/render.json
- Microsoft.Maps/Route/preview/1.0/route.json
@@ -73,23 +72,16 @@ These settings apply only when `--tag=package-1.0-preview` is specified on the c
``` yaml $(tag) == 'package-1.0-preview'
input-file:
- - Microsoft.Maps/Alias/preview/1.0/alias.json
- Microsoft.Maps/Data/preview/1.0/data.json
- - Microsoft.Maps/Dataset/preview/1.0/dataset.json
- Microsoft.Maps/DEM/preview/1.0/elevation.json
- - Microsoft.Maps/DwgConversion/preview/1.0/dwgconversion.json
- - Microsoft.Maps/FeatureState/preview/1.0/featurestate.json
- Microsoft.Maps/Feedback/preview/1.0/feedback.json
- Microsoft.Maps/Geolocation/preview/1.0/geolocation.json
- - Microsoft.Maps/Mobility/preview/1.0/mobility.json
- Microsoft.Maps/Render/preview/1.0/render.json
- Microsoft.Maps/Render/preview/2.0/render.json
- Microsoft.Maps/Route/preview/1.0/route.json
- Microsoft.Maps/Search/preview/1.0/search.json
- Microsoft.Maps/Spatial/preview/1.0/spatial.json
- - Microsoft.Maps/Tileset/preview/1.0/tileset.json
- Microsoft.Maps/Timezone/preview/1.0/timezone.json
- Microsoft.Maps/Traffic/preview/1.0/traffic.json
- Microsoft.Maps/Weather/preview/1.0/weather.json
- - Microsoft.Maps/WFS/preview/1.0/wfs.json
```
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/AccountListSAS.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/AccountListSAS.json
new file mode 100644
index 000000000000..4362316f66af
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/AccountListSAS.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "MapsAccountSasParameters": {
+ "signingKey": "primaryKey",
+ "principalId": "e917f87b-324d-4728-98ed-e31d311a7d65",
+ "regions": [
+ "eastus"
+ ],
+ "maxRatePerSecond": 500,
+ "start": "2017-05-24T10:42:03.1567373Z",
+ "expiry": "2017-05-24T11:42:03.1567373Z"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "accountSasToken": "accountSasToken"
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateAccount.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateAccount.json
new file mode 100644
index 000000000000..0e7f62a205f5
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateAccount.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "MapsAccount": {
+ "location": "eastus",
+ "sku": {
+ "name": "S0"
+ },
+ "kind": "Gen1",
+ "tags": {
+ "test": "true"
+ },
+ "properties": {
+ "disableLocalAuth": false,
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "kind": "Gen1",
+ "location": "eastus",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": false,
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "kind": "Gen1",
+ "location": "eastus",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": false,
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateAccountGen2.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateAccountGen2.json
new file mode 100644
index 000000000000..9de8816b76e0
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateAccountGen2.json
@@ -0,0 +1,111 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "MapsAccount": {
+ "location": "eastus",
+ "sku": {
+ "name": "G2"
+ },
+ "kind": "Gen2",
+ "tags": {
+ "test": "true"
+ },
+ "properties": {
+ "disableLocalAuth": true,
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "kind": "Gen2",
+ "location": "eastus",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "sku": {
+ "name": "G2",
+ "tier": "Standard"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": true,
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "kind": "Gen2",
+ "location": "eastus",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "sku": {
+ "name": "G2",
+ "tier": "Standard"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": true,
+ "cors": {
+ "corsRules": [
+ {
+ "allowedOrigins": [
+ "http://www.contoso.com",
+ "http://www.fabrikam.com"
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateAccountManagedIdentity.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateAccountManagedIdentity.json
new file mode 100644
index 000000000000..f817c604f0f2
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateAccountManagedIdentity.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "MapsAccount": {
+ "location": "eastus",
+ "sku": {
+ "name": "G2"
+ },
+ "kind": "Gen2",
+ "tags": {
+ "test": "true"
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": {}
+ }
+ },
+ "properties": {
+ "disableLocalAuth": false,
+ "linkedResources": [
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/mystorageacc",
+ "uniqueName": "myBatchStorageAccount"
+ },
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/mystorageacc",
+ "uniqueName": "myBlobDataSource"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "kind": "Gen2",
+ "location": "eastus",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "sku": {
+ "name": "G2",
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "77f72dac-e0aa-484e-9acd-e5e7075310ef",
+ "tenantId": "06006684-60c1-4954-a20c-ffd8fbea7276",
+ "userAssignedIdentities": {
+ "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": {
+ "clientId": "b602d315-01b5-4265-af23-859edc4f2431",
+ "principalId": "ac287332-364a-41d9-a567-9ad86b9fc299"
+ }
+ }
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": true,
+ "linkedResources": [
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/mystorageacc",
+ "uniqueName": "myBatchStorageAccount"
+ },
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/mystorageacc",
+ "uniqueName": "myBlobDataSource"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "kind": "Gen2",
+ "location": "eastus",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "sku": {
+ "name": "G2",
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "77f72dac-e0aa-484e-9acd-e5e7075310ef",
+ "tenantId": "06006684-60c1-4954-a20c-ffd8fbea7276",
+ "userAssignedIdentities": {
+ "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": {
+ "clientId": "b602d315-01b5-4265-af23-859edc4f2431",
+ "principalId": "ac287332-364a-41d9-a567-9ad86b9fc299"
+ }
+ }
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": true,
+ "linkedResources": [
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/mystorageacc",
+ "uniqueName": "myBatchStorageAccount"
+ },
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Storage/accounts/mystorageacc",
+ "uniqueName": "myBlobDataSource"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateMapsCreator.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateMapsCreator.json
new file mode 100644
index 000000000000..123f1b65c686
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/CreateMapsCreator.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "creatorName": "myCreator",
+ "CreatorResource": {
+ "location": "eastus2",
+ "tags": {
+ "test": "true"
+ },
+ "properties": {
+ "storageUnits": 5
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator",
+ "name": "myCreator",
+ "type": "Microsoft.Maps/accounts/creators",
+ "location": "eastus2",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": null,
+ "properties": {
+ "provisioningState": "Created",
+ "storageUnits": 5
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator",
+ "name": "myCreator",
+ "type": "Microsoft.Maps/accounts/creators",
+ "location": "eastus2",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": null,
+ "properties": {
+ "provisioningState": "Created",
+ "storageUnits": 5
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/DeleteAccount.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/DeleteAccount.json
new file mode 100644
index 000000000000..fae9b0b0e13a
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/DeleteAccount.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/DeleteMapsCreator.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/DeleteMapsCreator.json
new file mode 100644
index 000000000000..abd8f63ac1e7
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/DeleteMapsCreator.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "creatorName": "myCreator"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetAccount.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetAccount.json
new file mode 100644
index 000000000000..209f4b5f976e
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetAccount.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "location": "global",
+ "kind": "Gen1",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "tags": {
+ "test": "true"
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "properties": {
+ "uniqueId": "string",
+ "disableLocalAuth": false,
+ "provisioningState": "Succeeded",
+ "linkedResources": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetMapsCreator.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetMapsCreator.json
new file mode 100644
index 000000000000..2f506329d3a9
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetMapsCreator.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "creatorName": "myCreator"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator",
+ "name": "myCreator",
+ "type": "Microsoft.Maps/accounts/creators",
+ "location": "unitedstates",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": null,
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageUnits": 5
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetOperations.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetOperations.json
new file mode 100644
index 000000000000..88173a13a82e
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetOperations.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Maps/register/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Register the provider",
+ "description": "Register the provider"
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Create or update a Maps Account.",
+ "description": "Create or update a Maps Account."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Get a Maps Account.",
+ "description": "Get a Maps Account."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Delete a Maps Account.",
+ "description": "Delete a Maps Account."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/listKeys/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "List keys",
+ "description": "List Maps Account keys"
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/regenerateKey/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Generate new primary or secondary key",
+ "description": "Generate new Maps Account primary or secondary key"
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/creators/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Creator",
+ "operation": "Create or update a Maps Creator.",
+ "description": "Create or update a Maps Creator."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/creators/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Creator",
+ "operation": "Get a Maps Creator.",
+ "description": "Get a Maps Creator."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/creators/delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Creator",
+ "operation": "Delete a Maps Creator.",
+ "description": "Delete a Maps Creator."
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetOperationsSubscription.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetOperationsSubscription.json
new file mode 100644
index 000000000000..a61f9c98529e
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/GetOperationsSubscription.json
@@ -0,0 +1,105 @@
+{
+ "parameters": {
+ "api-version": "2021-02-01",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Maps/register/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Register the provider",
+ "description": "Register the provider"
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Create or update a Maps Account.",
+ "description": "Create or update a Maps Account."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Get a Maps Account.",
+ "description": "Get a Maps Account."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Delete a Maps Account.",
+ "description": "Delete a Maps Account."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/listKeys/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "List keys",
+ "description": "List Maps Account keys"
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/regenerateKey/action",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Maps Account",
+ "operation": "Generate new primary or secondary key",
+ "description": "Generate new Maps Account primary or secondary key"
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/creators/write",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Creator",
+ "operation": "Create or update a Maps Creator.",
+ "description": "Create or update a Maps Creator."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/creators/read",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Creator",
+ "operation": "Get a Maps Creator.",
+ "description": "Get a Maps Creator."
+ }
+ },
+ {
+ "name": "Microsoft.Maps/accounts/creators/delete",
+ "isDataAction": false,
+ "display": {
+ "provider": "Microsoft Maps",
+ "resource": "Creator",
+ "operation": "Delete a Maps Creator.",
+ "description": "Delete a Maps Creator."
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListAccountsByResourceGroup.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListAccountsByResourceGroup.json
new file mode 100644
index 000000000000..c85b2d489f2b
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListAccountsByResourceGroup.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2020-02-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount2",
+ "name": "myMapsAccount2",
+ "type": "Microsoft.Maps/accounts",
+ "location": "global",
+ "kind": "Gen1",
+ "tags": {
+ "test": "true"
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": false
+ }
+ },
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "location": "global",
+ "kind": "Gen2",
+ "tags": {
+ "test": "true"
+ },
+ "sku": {
+ "name": "G2",
+ "tier": "Standard"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c592",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": true
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListAccountsBySubscription.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListAccountsBySubscription.json
new file mode 100644
index 000000000000..87e84c921c88
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListAccountsBySubscription.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount2",
+ "name": "myMapsAccount2",
+ "type": "Microsoft.Maps/accounts",
+ "location": "global",
+ "kind": "Gen1",
+ "tags": {
+ "test": "true"
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": false
+ }
+ },
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "location": "global",
+ "kind": "Gen2",
+ "tags": {
+ "test": "true"
+ },
+ "sku": {
+ "name": "G2",
+ "tier": "Standard"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c592",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": true
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListKeys.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListKeys.json
new file mode 100644
index 000000000000..4b2d2aed9845
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListKeys.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "primaryKeyLastUpdated": "2021-07-02T01:01:01.1075056Z",
+ "secondaryKey": "",
+ "secondaryKeyLastUpdated": "2021-07-02T01:01:01.1075056Z"
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListMapsCreatorsByAccount.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListMapsCreatorsByAccount.json
new file mode 100644
index 000000000000..dcbc929a3102
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/ListMapsCreatorsByAccount.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator",
+ "name": "myCreator",
+ "type": "Microsoft.Maps/accounts/creators",
+ "location": "unitedstates",
+ "tags": {
+ "test": "true"
+ },
+ "systemData": null,
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageUnits": 5
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/RegenerateKey.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/RegenerateKey.json
new file mode 100644
index 000000000000..6a4f8a96989d
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/RegenerateKey.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "keySpecification": {
+ "keyType": "primary"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "",
+ "primaryKeyLastUpdated": "2021-07-02T01:01:01.1075056Z",
+ "secondaryKey": "",
+ "secondaryKeyLastUpdated": "2021-07-02T01:01:01.1075056Z"
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccount.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccount.json
new file mode 100644
index 000000000000..119c47245e34
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccount.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "MapsAccountUpdateParameters": {
+ "tags": {
+ "specialTag": "true"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "location": "global",
+ "kind": "Gen1",
+ "tags": {
+ "specialTag": "true"
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": false
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccountGen1.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccountGen1.json
new file mode 100644
index 000000000000..871fe35b996a
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccountGen1.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "MapsAccountUpdateParameters": {
+ "kind": "Gen1",
+ "sku": {
+ "name": "S1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "location": "global",
+ "kind": "Gen1",
+ "sku": {
+ "name": "S1",
+ "tier": "Standard"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": false,
+ "linkedResources": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccountGen2.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccountGen2.json
new file mode 100644
index 000000000000..266813268435
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccountGen2.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "MapsAccountUpdateParameters": {
+ "kind": "Gen2",
+ "sku": {
+ "name": "G2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "location": "global",
+ "kind": "Gen2",
+ "sku": {
+ "name": "G2",
+ "tier": "Standard"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": false,
+ "linkedResources": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccountManagedIdentity.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccountManagedIdentity.json
new file mode 100644
index 000000000000..be6169390967
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateAccountManagedIdentity.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "MapsAccountUpdateParameters": {
+ "kind": "Gen2",
+ "sku": {
+ "name": "G2"
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": {}
+ }
+ },
+ "properties": {
+ "linkedResources": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/accounts/{storageName}",
+ "uniqueName": "myBatchStorageAccount"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount",
+ "name": "myMapsAccount",
+ "type": "Microsoft.Maps/accounts",
+ "location": "eastus",
+ "kind": "Gen2",
+ "sku": {
+ "name": "G2",
+ "tier": "Standard"
+ },
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "Application",
+ "createdAt": "2021-07-02T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "Application",
+ "lastModifiedAt": "2021-07-02T01:01:01.1075056Z"
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "principalId": "77f72dac-e0aa-484e-9acd-e5e7075310ef",
+ "tenantId": "06006684-60c1-4954-a20c-ffd8fbea7276",
+ "userAssignedIdentities": {
+ "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identityName": {
+ "clientId": "b602d315-01b5-4265-af23-859edc4f2431",
+ "principalId": "ac287332-364a-41d9-a567-9ad86b9fc299"
+ }
+ }
+ },
+ "properties": {
+ "uniqueId": "b2e763e6-d6f3-4858-9e2b-7cf8df85c593",
+ "provisioningState": "Succeeded",
+ "disableLocalAuth": false,
+ "linkedResources": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/accounts/{storageName}",
+ "uniqueName": "myBatchStorageAccount"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateMapsCreator.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateMapsCreator.json
new file mode 100644
index 000000000000..c25a0d18cb4b
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/examples/UpdateMapsCreator.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2021-12-01-preview",
+ "subscriptionId": "21a9967a-e8a9-4656-a70b-96ff1c4d05a0",
+ "resourceGroupName": "myResourceGroup",
+ "accountName": "myMapsAccount",
+ "creatorName": "myCreator",
+ "CreatorUpdateParameters": {
+ "tags": {
+ "specialTag": "true"
+ },
+ "properties": {
+ "storageUnits": 10
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/21a9967a-e8a9-4656-a70b-96ff1c4d05a0/resourceGroups/myResourceGroup/providers/Microsoft.Maps/accounts/myMapsAccount/creators/myCreator",
+ "name": "myCreator",
+ "type": "Microsoft.Maps/accounts/creators",
+ "location": "unitedstates",
+ "tags": {
+ "specialTag": "true"
+ },
+ "systemData": null,
+ "properties": {
+ "provisioningState": "Succeeded",
+ "storageUnits": 10
+ }
+ }
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/maps-management.json b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/maps-management.json
new file mode 100644
index 000000000000..b7e9f4e9862f
--- /dev/null
+++ b/specification/maps/resource-manager/Microsoft.Maps/preview/2021-12-01-preview/maps-management.json
@@ -0,0 +1,1438 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Maps Resource Provider",
+ "description": "Resource Provider",
+ "version": "2021-12-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}": {
+ "put": {
+ "tags": [
+ "Accounts"
+ ],
+ "description": "Create or update a Maps Account. A Maps Account holds the keys which allow access to the Maps REST APIs.",
+ "operationId": "Accounts_CreateOrUpdate",
+ "x-ms-examples": {
+ "Create Gen1 Account": {
+ "$ref": "./examples/CreateAccount.json"
+ },
+ "Create Gen2 Account": {
+ "$ref": "./examples/CreateAccountGen2.json"
+ },
+ "Create Account with Managed Identities": {
+ "$ref": "./examples/CreateAccountManagedIdentity.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "MapsAccount",
+ "in": "body",
+ "description": "The new or updated parameters for the Maps Account.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MapsAccount"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Account was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/MapsAccount"
+ }
+ },
+ "201": {
+ "description": "The Account was successfully created.",
+ "schema": {
+ "$ref": "#/definitions/MapsAccount"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Accounts"
+ ],
+ "description": "Updates a Maps Account. Only a subset of the parameters may be updated after creation, such as Sku, Tags, Properties.",
+ "operationId": "Accounts_Update",
+ "x-ms-examples": {
+ "Update Account Tags": {
+ "$ref": "./examples/UpdateAccount.json"
+ },
+ "Update to Gen2 Account": {
+ "$ref": "./examples/UpdateAccountGen2.json"
+ },
+ "Update to Gen1 Account": {
+ "$ref": "./examples/UpdateAccountGen1.json"
+ },
+ "Update Account Managed Identities": {
+ "$ref": "./examples/UpdateAccountManagedIdentity.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "MapsAccountUpdateParameters",
+ "in": "body",
+ "description": "The updated parameters for the Maps Account.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MapsAccountUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Account was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/MapsAccount"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Accounts"
+ ],
+ "description": "Delete a Maps Account.",
+ "operationId": "Accounts_Delete",
+ "x-ms-examples": {
+ "DeleteAccount": {
+ "$ref": "./examples/DeleteAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Account was deleted successfully."
+ },
+ "204": {
+ "description": "The specified Account was not found. Nothing was deleted."
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "description": "Get a Maps Account.",
+ "operationId": "Accounts_Get",
+ "x-ms-examples": {
+ "GetAccount": {
+ "$ref": "./examples/GetAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/MapsAccount"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts": {
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "description": "Get all Maps Accounts in a Resource Group",
+ "operationId": "Accounts_ListByResourceGroup",
+ "x-ms-examples": {
+ "List Accounts By Resource Group": {
+ "$ref": "./examples/ListAccountsByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/MapsAccounts"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Maps/accounts": {
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "description": "Get all Maps Accounts in a Subscription",
+ "operationId": "Accounts_ListBySubscription",
+ "x-ms-examples": {
+ "List Accounts By Subscription": {
+ "$ref": "./examples/ListAccountsBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/MapsAccounts"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/listSas": {
+ "post": {
+ "tags": [
+ "Accounts"
+ ],
+ "description": "Create and list an account shared access signature token. Use this SAS token for authentication to Azure Maps REST APIs through various Azure Maps SDKs. As prerequisite to create a SAS Token. \n\nPrerequisites:\n1. Create or have an existing User Assigned Managed Identity in the same Azure region as the account. \n2. Create or update an Azure Map account with the same Azure region as the User Assigned Managed Identity is placed.",
+ "operationId": "Accounts_ListSas",
+ "x-ms-examples": {
+ "List Account Sas": {
+ "$ref": "./examples/AccountListSAS.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "MapsAccountSasParameters",
+ "in": "body",
+ "description": "The updated parameters for the Maps Account.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AccountSasParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/MapsAccountSasToken"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/listKeys": {
+ "post": {
+ "tags": [
+ "Accounts"
+ ],
+ "description": "Get the keys to use with the Maps APIs. A key is used to authenticate and authorize access to the Maps REST APIs. Only one key is needed at a time; two are given to provide seamless key regeneration.",
+ "operationId": "Accounts_ListKeys",
+ "x-ms-examples": {
+ "List Keys": {
+ "$ref": "./examples/ListKeys.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/MapsAccountKeys"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/regenerateKey": {
+ "post": {
+ "tags": [
+ "Accounts"
+ ],
+ "description": "Regenerate either the primary or secondary key for use with the Maps APIs. The old key will stop working immediately.",
+ "operationId": "Accounts_RegenerateKeys",
+ "x-ms-examples": {
+ "Regenerate Key": {
+ "$ref": "./examples/RegenerateKey.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "name": "keySpecification",
+ "in": "body",
+ "required": true,
+ "description": "Which key to regenerate: primary or secondary.",
+ "schema": {
+ "$ref": "#/definitions/MapsKeySpecification"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/MapsAccountKeys"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Maps/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "List operations available for the Maps Resource Provider",
+ "operationId": "Maps_ListOperations",
+ "x-ms-examples": {
+ "Get Operations": {
+ "$ref": "./examples/GetOperations.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/MapsOperations"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Maps/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "List operations available for the Maps Resource Provider",
+ "operationId": "Maps_ListSubscriptionOperations",
+ "x-ms-examples": {
+ "Get Operations by Subscription": {
+ "$ref": "./examples/GetOperationsSubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/MapsOperations"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/creators": {
+ "get": {
+ "tags": [
+ "Creators"
+ ],
+ "description": "Get all Creator instances for an Azure Maps Account",
+ "operationId": "Creators_ListByAccount",
+ "x-ms-examples": {
+ "List Creator Resources By Account": {
+ "$ref": "./examples/ListMapsCreatorsByAccount.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/CreatorList"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Maps/accounts/{accountName}/creators/{creatorName}": {
+ "put": {
+ "tags": [
+ "Creators"
+ ],
+ "description": "Create or update a Maps Creator resource. Creator resource will manage Azure resources required to populate a custom set of mapping data. It requires an account to exist before it can be created.",
+ "operationId": "Creators_CreateOrUpdate",
+ "x-ms-examples": {
+ "Create Creator Resource": {
+ "$ref": "./examples/CreateMapsCreator.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CreatorNameParameter"
+ },
+ {
+ "name": "CreatorResource",
+ "in": "body",
+ "description": "The new or updated parameters for the Creator resource.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Creator"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Creator is updated with the provided properties.",
+ "schema": {
+ "$ref": "#/definitions/Creator"
+ }
+ },
+ "201": {
+ "description": "The Creator will be created asynchronously. The Creator will be ready to use once the provisioningState property changed to 'Succeeded' through creators Get API.",
+ "schema": {
+ "$ref": "#/definitions/Creator"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Creators"
+ ],
+ "description": "Updates the Maps Creator resource. Only a subset of the parameters may be updated after creation, such as Tags.",
+ "operationId": "Creators_Update",
+ "x-ms-examples": {
+ "Update Creator Resource": {
+ "$ref": "./examples/UpdateMapsCreator.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CreatorNameParameter"
+ },
+ {
+ "name": "CreatorUpdateParameters",
+ "in": "body",
+ "description": "The update parameters for Maps Creator.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CreatorUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Maps Creator was successfully updated.",
+ "schema": {
+ "$ref": "#/definitions/Creator"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Creators"
+ ],
+ "description": "Delete a Maps Creator resource.",
+ "operationId": "Creators_Delete",
+ "x-ms-examples": {
+ "Delete Creator Resource": {
+ "$ref": "./examples/DeleteMapsCreator.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CreatorNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Maps Creator will be deleted."
+ },
+ "204": {
+ "description": "The specified Maps Creator resource was not found. Nothing was deleted."
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Creators"
+ ],
+ "description": "Get a Maps Creator resource.",
+ "operationId": "Creators_Get",
+ "x-ms-examples": {
+ "Get Creator Resource": {
+ "$ref": "./examples/GetMapsCreator.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CreatorNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful.",
+ "schema": {
+ "$ref": "#/definitions/Creator"
+ }
+ },
+ "default": {
+ "description": "An unexpected error occurred.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "AccountNameParameter": {
+ "name": "accountName",
+ "in": "path",
+ "description": "The name of the Maps Account.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "PrivateAtlasNameParameter": {
+ "name": "privateAtlasName",
+ "in": "path",
+ "description": "The name of the Private Atlas instance.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "CreatorNameParameter": {
+ "name": "creatorName",
+ "in": "path",
+ "description": "The name of the Maps Creator instance.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "definitions": {
+ "Creator": {
+ "description": "An Azure resource which represents Maps Creator product and provides ability to manage private location data.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "The Creator resource properties.",
+ "$ref": "#/definitions/CreatorProperties"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "x-ms-azure-resource": true
+ },
+ "MapsAccount": {
+ "description": "An Azure resource which represents access to a suite of Maps REST APIs.",
+ "type": "object",
+ "properties": {
+ "sku": {
+ "description": "The SKU of this account.",
+ "$ref": "#/definitions/Sku"
+ },
+ "kind": {
+ "description": "Get or Set Kind property.",
+ "$ref": "#/definitions/Kind"
+ },
+ "systemData": {
+ "readOnly": true,
+ "description": "The system meta data relating to this resource.",
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData"
+ },
+ "identity": {
+ "type": "object",
+ "$ref": "#/definitions/ManagedServiceIdentity",
+ "description": "Sets the identity property for maps account."
+ },
+ "properties": {
+ "description": "The map account properties.",
+ "$ref": "#/definitions/MapsAccountProperties"
+ }
+ },
+ "required": [
+ "sku"
+ ],
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "x-ms-azure-resource": true
+ },
+ "MapsAccountUpdateParameters": {
+ "description": "Parameters used to update an existing Maps Account.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Gets or sets 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."
+ },
+ "kind": {
+ "description": "Get or Set Kind property.",
+ "$ref": "#/definitions/Kind"
+ },
+ "sku": {
+ "description": "The SKU of this account.",
+ "$ref": "#/definitions/Sku"
+ },
+ "identity": {
+ "type": "object",
+ "$ref": "#/definitions/ManagedServiceIdentity",
+ "description": "Sets the identity property for maps account."
+ },
+ "properties": {
+ "description": "The map account properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/MapsAccountProperties"
+ }
+ }
+ },
+ "CreatorUpdateParameters": {
+ "description": "Parameters used to update an existing Creator resource.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Gets or sets 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."
+ },
+ "properties": {
+ "description": "Creator resource properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/CreatorProperties"
+ }
+ }
+ },
+ "MapsAccounts": {
+ "description": "A list of Maps Accounts.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "a Maps Account.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/MapsAccount"
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "CreatorList": {
+ "description": "A list of Creator resources.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "a Creator account.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Creator"
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "Kind": {
+ "description": "The Kind of the Maps Account.",
+ "type": "string",
+ "default": "Gen1",
+ "enum": [
+ "Gen1",
+ "Gen2"
+ ],
+ "x-ms-enum": {
+ "name": "kind",
+ "modelAsString": true
+ }
+ },
+ "Sku": {
+ "description": "The SKU of the Maps Account.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the SKU, in standard format (such as S0).",
+ "type": "string",
+ "enum": [
+ "S0",
+ "S1",
+ "G2"
+ ],
+ "x-ms-enum": {
+ "name": "name",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets the sku tier. This is based on the SKU name."
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "MapsKeySpecification": {
+ "description": "Whether the operation refers to the primary or secondary key.",
+ "type": "object",
+ "required": [
+ "keyType"
+ ],
+ "properties": {
+ "keyType": {
+ "type": "string",
+ "enum": [
+ "primary",
+ "secondary"
+ ],
+ "x-ms-enum": {
+ "name": "KeyType",
+ "modelAsString": true
+ },
+ "description": "Whether the operation refers to the primary or secondary key."
+ }
+ }
+ },
+ "MapsAccountKeys": {
+ "description": "The set of keys which can be used to access the Maps REST APIs. Two keys are provided for key rotation without interruption.",
+ "type": "object",
+ "properties": {
+ "primaryKeyLastUpdated": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The last updated date and time of the primary key."
+ },
+ "primaryKey": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The primary key for accessing the Maps REST APIs."
+ },
+ "secondaryKey": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The secondary key for accessing the Maps REST APIs."
+ },
+ "secondaryKeyLastUpdated": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The last updated date and time of the secondary key."
+ }
+ }
+ },
+ "AccountSasParameters": {
+ "description": "Parameters used to create an account Shared Access Signature (SAS) token. The REST API access control is provided by Azure Maps Role Based Access (RBAC) identity and access.",
+ "type": "object",
+ "properties": {
+ "signingKey": {
+ "type": "string",
+ "description": "The Map account key to use for signing.",
+ "enum": [
+ "primaryKey",
+ "secondaryKey"
+ ],
+ "x-ms-enum": {
+ "name": "SigningKey",
+ "modelAsString": true
+ }
+ },
+ "principalId": {
+ "description": "The principal Id also known as the object Id of a User Assigned Managed Identity currently assigned to the Map Account. To assign a Managed Identity of the account, use operation Create or Update an assign a User Assigned Identity resource Id.",
+ "type": "string"
+ },
+ "regions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Optional, allows control of which region locations are permitted access to Azure Maps REST APIs with the SAS token. Example: \"eastus\", \"westus2\". Omitting this parameter will allow all region locations to be accessible."
+ },
+ "maxRatePerSecond": {
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 500,
+ "default": 500,
+ "format": "int32",
+ "exclusiveMinimum": true,
+ "description": "Required parameter which represents the desired maximum request per second to allowed for the given SAS token. This does not guarantee perfect accuracy in measurements but provides application safe guards of abuse with eventual enforcement."
+ },
+ "start": {
+ "description": "The date time offset of when the token validity begins. For example \"2017-05-24T10:42:03.1567373Z\".",
+ "type": "string"
+ },
+ "expiry": {
+ "description": "The date time offset of when the token validity expires. For example \"2017-05-24T10:42:03.1567373Z\"",
+ "type": "string"
+ }
+ },
+ "required": [
+ "signingKey",
+ "principalId",
+ "maxRatePerSecond",
+ "start",
+ "expiry"
+ ]
+ },
+ "MapsAccountSasToken": {
+ "description": "A new Sas token which can be used to access the Maps REST APIs and is controlled by the specified Managed identity permissions on Azure (IAM) Role Based Access Control.",
+ "type": "object",
+ "properties": {
+ "accountSasToken": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The shared access signature access token."
+ }
+ }
+ },
+ "ManagedServiceIdentity": {
+ "description": "Identity for the resource.",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal ID of resource identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant ID of resource."
+ },
+ "type": {
+ "type": "string",
+ "description": "The identity type.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "description": "The list of user 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}'.",
+ "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."
+ }
+ }
+ }
+ }
+ }
+ },
+ "MapsOperations": {
+ "description": "The set of operations available for Maps.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "An operation available for Maps.",
+ "type": "array",
+ "readOnly": true,
+ "uniqueItems": false,
+ "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": {
+ "x-ms-client-flatten": true,
+ "$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": "Properties of operation, include metric specifications.",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ServiceSpecification",
+ "description": "One property of operation, include metric specifications."
+ }
+ }
+ },
+ "ServiceSpecification": {
+ "description": "One property of operation, include metric specifications.",
+ "type": "object",
+ "properties": {
+ "metricSpecifications": {
+ "description": "Metric specifications of operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricSpecification"
+ }
+ }
+ }
+ },
+ "MetricSpecification": {
+ "description": "Metric specification of operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of metric specification."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of metric specification."
+ },
+ "displayDescription": {
+ "type": "string",
+ "description": "Display description of metric specification."
+ },
+ "unit": {
+ "type": "string",
+ "description": "Unit could be Count."
+ },
+ "dimensions": {
+ "description": "Dimensions of map account.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ }
+ },
+ "aggregationType": {
+ "type": "string",
+ "description": "Aggregation type could be Average."
+ },
+ "fillGapWithZero": {
+ "type": "boolean",
+ "description": "The property to decide fill gap with zero or not."
+ },
+ "category": {
+ "type": "string",
+ "description": "The category this metric specification belong to, could be Capacity."
+ },
+ "resourceIdDimensionNameOverride": {
+ "type": "string",
+ "description": "Account Resource Id."
+ },
+ "sourceMdmAccount": {
+ "type": "string",
+ "description": "Source metrics account."
+ },
+ "internalMetricName": {
+ "type": "string",
+ "description": "Internal metric name."
+ }
+ }
+ },
+ "Dimension": {
+ "description": "Dimension of map account, for example API Category, Api Name, Result Type, and Response Code.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Display name of dimension."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of dimension."
+ },
+ "internalName": {
+ "type": "string",
+ "description": "Internal name of the dimension."
+ },
+ "internalMetricName": {
+ "type": "string",
+ "description": "Internal metric name of the dimension."
+ },
+ "sourceMdmNamespace": {
+ "type": "string",
+ "description": "Source Mdm Namespace of the dimension."
+ },
+ "toBeExportedToShoebox": {
+ "type": "boolean",
+ "description": "Flag to indicate exporting to Azure Monitor."
+ }
+ }
+ },
+ "MapsAccountProperties": {
+ "description": "Additional Map account properties",
+ "type": "object",
+ "properties": {
+ "uniqueId": {
+ "description": "A unique identifier for the maps account",
+ "type": "string",
+ "readOnly": true
+ },
+ "disableLocalAuth": {
+ "description": "Allows toggle functionality on Azure Policy to disable Azure Maps local authentication support. This will disable Shared Keys authentication from any usage.",
+ "type": "boolean",
+ "default": false
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "The provisioning state of the Map account resource.",
+ "readOnly": true
+ },
+ "linkedResources": {
+ "type": "array",
+ "$ref": "#/definitions/LinkedResources",
+ "description": "Sets the resources to be used for Managed Identities based operations for the Map account resource."
+ },
+ "cors": {
+ "$ref": "#/definitions/CorsRules",
+ "description": "Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service."
+ }
+ }
+ },
+ "LinkedResources": {
+ "type": "array",
+ "maxItems": 10,
+ "items": {
+ "$ref": "#/definitions/LinkedResource"
+ },
+ "description": "The array of associated resources to the Map account. Linked resource in the array cannot individually update, you must update all linked resources in the array together. These resources may be used on operations on the Azure Maps REST API. Access is controlled by the Map Account Managed Identity(s) permissions to those resource(s)."
+ },
+ "LinkedResource": {
+ "type": "object",
+ "properties": {
+ "uniqueName": {
+ "type": "string",
+ "description": "A provided name which uniquely identifies the linked resource."
+ },
+ "id": {
+ "type": "string",
+ "description": "ARM resource id in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/accounts/{storageName}'."
+ }
+ },
+ "required": [
+ "uniqueName",
+ "id"
+ ],
+ "description": "Linked resource is reference to a resource deployed in an Azure subscription, add the linked resource `uniqueName` value as an optional parameter for operations on Azure Maps Geospatial REST APIs."
+ },
+ "CorsRules": {
+ "type": "object",
+ "properties": {
+ "corsRules": {
+ "type": "array",
+ "maxItems": 5,
+ "items": {
+ "description": "Specifies a CORS rule for the Map Account.",
+ "$ref": "#/definitions/CorsRule"
+ },
+ "description": "The list of CORS rules. You can include up to five CorsRule elements in the request. "
+ }
+ },
+ "description": "Sets the CORS rules. You can include up to five CorsRule elements in the request. "
+ },
+ "CorsRule": {
+ "type": "object",
+ "properties": {
+ "allowedOrigins": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Required if CorsRule element is present. A list of origin domains that will be allowed via CORS, or \"*\" to allow all domains"
+ }
+ },
+ "required": [
+ "allowedOrigins"
+ ],
+ "description": "Specifies a CORS rule for the Map Account."
+ },
+ "CreatorProperties": {
+ "description": "Creator resource properties",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "The state of the resource provisioning, terminal states: Succeeded, Failed, Canceled",
+ "type": "string",
+ "readOnly": true
+ },
+ "storageUnits": {
+ "description": "The storage units to be allocated. Integer values from 1 to 100, inclusive.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 100
+ }
+ },
+ "required": [
+ "storageUnits"
+ ]
+ }
+ }
+}
diff --git a/specification/maps/resource-manager/readme.md b/specification/maps/resource-manager/readme.md
index dd4f68353760..0760169b6b01 100644
--- a/specification/maps/resource-manager/readme.md
+++ b/specification/maps/resource-manager/readme.md
@@ -28,18 +28,27 @@ These are the global settings for the Maps API.
title: AzureMapsManagementClient
description: Azure Maps
openapi-type: arm
-tag: package-preview-2021-07
+tag: package-preview-2021-12
```
+### Tag: package-preview-2021-12
+
+These settings apply only when `--tag=package-preview-2021-12` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2021-12'
+input-file:
+ - Microsoft.Maps/preview/2021-12-01-preview/maps-management.json
+```
### Tag: package-preview-2021-07
These settings apply only when `--tag=package-preview-2021-07` is specified on the command line.
-```yaml $(tag) == 'package-preview-2021-07'
+``` yaml $(tag) == 'package-preview-2021-07'
input-file:
- Microsoft.Maps/preview/2021-07-01-preview/maps-management.json
```
+
### Tag: package-2021-02
These settings apply only when `--tag=package-2021-02` is specified on the command line.
@@ -206,6 +215,7 @@ directive:
- suppress: R3006
where:
- $.definitions.MapsAccount.properties
+ - $.definitions.Creator.properties
reason:
- Currently systemData is not allowed.
- suppress: R3010
diff --git a/specification/marketplacecatalog/data-plane/Microsoft.Marketplace/stable/2021-10-01/examples/PublicOffers_Get.json b/specification/marketplacecatalog/data-plane/Microsoft.Marketplace/stable/2021-10-01/examples/PublicOffers_Get.json
new file mode 100644
index 000000000000..45d7cd8eb156
--- /dev/null
+++ b/specification/marketplacecatalog/data-plane/Microsoft.Marketplace/stable/2021-10-01/examples/PublicOffers_Get.json
@@ -0,0 +1,138 @@
+{
+ "parameters": {
+ "id": "Microsoft.ResourceGroup",
+ "api-version": "2021-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "language": "en",
+ "displayName": "Resource group",
+ "hasStandardContractAmendments": false,
+ "publisherId": "Microsoft",
+ "publisherDisplayName": "Microsoft",
+ "offerId": "ResourceGroup",
+ "legacyId": "Microsoft.ResourceGroup",
+ "summary": "Manage and deploy resources in an application together",
+ "longSummary": "Manage and deploy resources in an application together",
+ "description": "